@next2d/player 1.14.19 → 1.14.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/index.js +3 -3
  2. package/package.json +31 -6
  3. package/interface/AjaxEventImpl.d.ts +0 -5
  4. package/interface/AjaxEventImpl.js +0 -1
  5. package/interface/AjaxOptionImpl.d.ts +0 -13
  6. package/interface/AjaxOptionImpl.js +0 -1
  7. package/interface/AttachmentImpl.d.ts +0 -11
  8. package/interface/AttachmentImpl.js +0 -1
  9. package/interface/BitmapDataChannelImpl.d.ts +0 -1
  10. package/interface/BitmapDataChannelImpl.js +0 -1
  11. package/interface/BitmapDrawObjectImpl.d.ts +0 -6
  12. package/interface/BitmapDrawObjectImpl.js +0 -1
  13. package/interface/BitmapFilterTypeImpl.d.ts +0 -1
  14. package/interface/BitmapFilterTypeImpl.js +0 -1
  15. package/interface/BlendModeImpl.d.ts +0 -1
  16. package/interface/BlendModeImpl.js +0 -1
  17. package/interface/BoundsImpl.d.ts +0 -6
  18. package/interface/BoundsImpl.js +0 -1
  19. package/interface/Character.d.ts +0 -2
  20. package/interface/Character.js +0 -1
  21. package/interface/CharacterImpl.d.ts +0 -2
  22. package/interface/CharacterImpl.js +0 -1
  23. package/interface/ClipObjectImpl.d.ts +0 -14
  24. package/interface/ClipObjectImpl.js +0 -1
  25. package/interface/ColorStopImpl.d.ts +0 -7
  26. package/interface/ColorStopImpl.js +0 -1
  27. package/interface/DictionaryTagImpl.d.ts +0 -7
  28. package/interface/DictionaryTagImpl.js +0 -1
  29. package/interface/DisplacementMapFilterModeImpl.d.ts +0 -1
  30. package/interface/DisplacementMapFilterModeImpl.js +0 -1
  31. package/interface/DisplayImpl.d.ts +0 -28
  32. package/interface/DisplayImpl.js +0 -1
  33. package/interface/DisplayObjectImpl.d.ts +0 -2
  34. package/interface/DisplayObjectImpl.js +0 -1
  35. package/interface/DragRulesImpl.d.ts +0 -7
  36. package/interface/DragRulesImpl.js +0 -1
  37. package/interface/DropTargetImpl.d.ts +0 -2
  38. package/interface/DropTargetImpl.js +0 -1
  39. package/interface/EventDispatcherImpl.d.ts +0 -2
  40. package/interface/EventDispatcherImpl.js +0 -1
  41. package/interface/EventListenerImpl.d.ts +0 -6
  42. package/interface/EventListenerImpl.js +0 -1
  43. package/interface/EventsImpl.d.ts +0 -20
  44. package/interface/EventsImpl.js +0 -1
  45. package/interface/FillMeshImpl.d.ts +0 -5
  46. package/interface/FillMeshImpl.js +0 -1
  47. package/interface/FilterArrayImpl.d.ts +0 -10
  48. package/interface/FilterArrayImpl.js +0 -1
  49. package/interface/FilterQualityImpl.d.ts +0 -1
  50. package/interface/FilterQualityImpl.js +0 -1
  51. package/interface/FiltersImpl.d.ts +0 -20
  52. package/interface/FiltersImpl.js +0 -1
  53. package/interface/GeomImpl.d.ts +0 -12
  54. package/interface/GeomImpl.js +0 -1
  55. package/interface/GradientTypeImpl.d.ts +0 -3
  56. package/interface/GradientTypeImpl.js +0 -1
  57. package/interface/GraphicsParentImpl.d.ts +0 -2
  58. package/interface/GraphicsParentImpl.js +0 -1
  59. package/interface/GridImpl.d.ts +0 -6
  60. package/interface/GridImpl.js +0 -1
  61. package/interface/ImageTypeImpl.d.ts +0 -1
  62. package/interface/ImageTypeImpl.js +0 -1
  63. package/interface/IndexRangeImpl.d.ts +0 -4
  64. package/interface/IndexRangeImpl.js +0 -1
  65. package/interface/LoaderInfoDataImpl.d.ts +0 -7
  66. package/interface/LoaderInfoDataImpl.js +0 -1
  67. package/interface/LoopConfigImpl.d.ts +0 -8
  68. package/interface/LoopConfigImpl.js +0 -1
  69. package/interface/LoopTypeImpl.d.ts +0 -1
  70. package/interface/LoopTypeImpl.js +0 -1
  71. package/interface/MediaImpl.d.ts +0 -10
  72. package/interface/MediaImpl.js +0 -1
  73. package/interface/MovieClipActionObjectImpl.d.ts +0 -5
  74. package/interface/MovieClipActionObjectImpl.js +0 -1
  75. package/interface/MovieClipCharacterImpl.d.ts +0 -18
  76. package/interface/MovieClipCharacterImpl.js +0 -1
  77. package/interface/MovieClipLabelObjectImpl.d.ts +0 -4
  78. package/interface/MovieClipLabelObjectImpl.js +0 -1
  79. package/interface/MovieClipSoundObjectImpl.d.ts +0 -5
  80. package/interface/MovieClipSoundObjectImpl.js +0 -1
  81. package/interface/NetImpl.d.ts +0 -6
  82. package/interface/NetImpl.js +0 -1
  83. package/interface/NoCodeDataImpl.d.ts +0 -7
  84. package/interface/NoCodeDataImpl.js +0 -1
  85. package/interface/NoCodeDataZlibImpl.d.ts +0 -4
  86. package/interface/NoCodeDataZlibImpl.js +0 -1
  87. package/interface/ParentImpl.d.ts +0 -2
  88. package/interface/ParentImpl.js +0 -1
  89. package/interface/PlaceObjectImpl.d.ts +0 -12
  90. package/interface/PlaceObjectImpl.js +0 -1
  91. package/interface/PlayerHitObjectImpl.d.ts +0 -7
  92. package/interface/PlayerHitObjectImpl.js +0 -1
  93. package/interface/PlayerModeImpl.d.ts +0 -1
  94. package/interface/PlayerModeImpl.js +0 -1
  95. package/interface/PlayerOptionsImpl.d.ts +0 -8
  96. package/interface/PlayerOptionsImpl.js +0 -1
  97. package/interface/PointImpl.d.ts +0 -4
  98. package/interface/PointImpl.js +0 -1
  99. package/interface/PreObjectImpl.d.ts +0 -23
  100. package/interface/PreObjectImpl.js +0 -1
  101. package/interface/PropertyBitmapDataMessageImpl.d.ts +0 -8
  102. package/interface/PropertyBitmapDataMessageImpl.js +0 -1
  103. package/interface/PropertyContainerMessageImpl.d.ts +0 -6
  104. package/interface/PropertyContainerMessageImpl.js +0 -1
  105. package/interface/PropertyMessageImpl.d.ts +0 -41
  106. package/interface/PropertyMessageImpl.js +0 -1
  107. package/interface/PropertyMessageMapImpl.d.ts +0 -2
  108. package/interface/PropertyMessageMapImpl.js +0 -1
  109. package/interface/PropertyShapeMessageImpl.d.ts +0 -6
  110. package/interface/PropertyShapeMessageImpl.js +0 -1
  111. package/interface/PropertyTextMessageImpl.d.ts +0 -25
  112. package/interface/PropertyTextMessageImpl.js +0 -1
  113. package/interface/PropertyVideoMessageImpl.d.ts +0 -5
  114. package/interface/PropertyVideoMessageImpl.js +0 -1
  115. package/interface/RGBAImpl.d.ts +0 -6
  116. package/interface/RGBAImpl.js +0 -1
  117. package/interface/ShapeCharacterImpl.d.ts +0 -14
  118. package/interface/ShapeCharacterImpl.js +0 -1
  119. package/interface/SoundCharacterImpl.d.ts +0 -5
  120. package/interface/SoundCharacterImpl.js +0 -1
  121. package/interface/SoundTagImpl.d.ts +0 -6
  122. package/interface/SoundTagImpl.js +0 -1
  123. package/interface/SpriteImpl.d.ts +0 -2
  124. package/interface/SpriteImpl.js +0 -1
  125. package/interface/StageDataImpl.d.ts +0 -6
  126. package/interface/StageDataImpl.js +0 -1
  127. package/interface/StageQualityImpl.d.ts +0 -1
  128. package/interface/StageQualityImpl.js +0 -1
  129. package/interface/StrokeMethImpl.d.ts +0 -4
  130. package/interface/StrokeMethImpl.js +0 -1
  131. package/interface/StrokeTypeImpl.d.ts +0 -2
  132. package/interface/StrokeTypeImpl.js +0 -1
  133. package/interface/SurfaceFilterImpl.d.ts +0 -6
  134. package/interface/SurfaceFilterImpl.js +0 -1
  135. package/interface/TextBreakObjectImpl.d.ts +0 -9
  136. package/interface/TextBreakObjectImpl.js +0 -1
  137. package/interface/TextCharacterImpl.d.ts +0 -27
  138. package/interface/TextCharacterImpl.js +0 -1
  139. package/interface/TextDataImpl.d.ts +0 -2
  140. package/interface/TextDataImpl.js +0 -1
  141. package/interface/TextFieldAutoSizeImpl.d.ts +0 -1
  142. package/interface/TextFieldAutoSizeImpl.js +0 -1
  143. package/interface/TextFieldTypeImpl.d.ts +0 -1
  144. package/interface/TextFieldTypeImpl.js +0 -1
  145. package/interface/TextFormatAlignImpl.d.ts +0 -1
  146. package/interface/TextFormatAlignImpl.js +0 -1
  147. package/interface/TextFormatVerticalAlignImpl.d.ts +0 -1
  148. package/interface/TextFormatVerticalAlignImpl.js +0 -1
  149. package/interface/TextImageObjectImpl.d.ts +0 -11
  150. package/interface/TextImageObjectImpl.js +0 -1
  151. package/interface/TextImpl.d.ts +0 -6
  152. package/interface/TextImpl.js +0 -1
  153. package/interface/TextObjectImpl.d.ts +0 -7
  154. package/interface/TextObjectImpl.js +0 -1
  155. package/interface/TextObjectModeImpl.d.ts +0 -1
  156. package/interface/TextObjectModeImpl.js +0 -1
  157. package/interface/TextStringObjectImpl.d.ts +0 -7
  158. package/interface/TextStringObjectImpl.js +0 -1
  159. package/interface/UIImpl.d.ts +0 -8
  160. package/interface/UIImpl.js +0 -1
  161. package/interface/URLLoaderDataFormatImpl.d.ts +0 -1
  162. package/interface/URLLoaderDataFormatImpl.js +0 -1
  163. package/interface/URLRequestMethodImpl.d.ts +0 -1
  164. package/interface/URLRequestMethodImpl.js +0 -1
  165. package/interface/UniformDataImpl.d.ts +0 -5
  166. package/interface/UniformDataImpl.js +0 -1
  167. package/interface/UnzipQueueImpl.d.ts +0 -6
  168. package/interface/UnzipQueueImpl.js +0 -1
  169. package/interface/VerticesImpl.d.ts +0 -1
  170. package/interface/VerticesImpl.js +0 -1
  171. package/interface/VideoCharacterImpl.d.ts +0 -12
  172. package/interface/VideoCharacterImpl.js +0 -1
  173. package/next2d/display/BitmapData.d.ts +0 -143
  174. package/next2d/display/BitmapData.js +0 -387
  175. package/next2d/display/BlendMode.d.ts +0 -204
  176. package/next2d/display/BlendMode.js +0 -240
  177. package/next2d/display/DisplayObject.d.ts +0 -565
  178. package/next2d/display/DisplayObject.js +0 -1670
  179. package/next2d/display/DisplayObjectContainer.d.ts +0 -351
  180. package/next2d/display/DisplayObjectContainer.js +0 -1776
  181. package/next2d/display/FrameLabel.d.ts +0 -98
  182. package/next2d/display/FrameLabel.js +0 -120
  183. package/next2d/display/Graphics.d.ts +0 -577
  184. package/next2d/display/Graphics.js +0 -2161
  185. package/next2d/display/GraphicsBitmapFill.d.ts +0 -49
  186. package/next2d/display/GraphicsBitmapFill.js +0 -86
  187. package/next2d/display/GraphicsGradientFill.d.ts +0 -66
  188. package/next2d/display/GraphicsGradientFill.js +0 -157
  189. package/next2d/display/InteractiveObject.d.ts +0 -32
  190. package/next2d/display/InteractiveObject.js +0 -43
  191. package/next2d/display/Loader.d.ts +0 -131
  192. package/next2d/display/Loader.js +0 -321
  193. package/next2d/display/LoaderInfo.d.ts +0 -122
  194. package/next2d/display/LoaderInfo.js +0 -184
  195. package/next2d/display/LoopConfig.d.ts +0 -108
  196. package/next2d/display/LoopConfig.js +0 -156
  197. package/next2d/display/LoopType.d.ts +0 -104
  198. package/next2d/display/LoopType.js +0 -122
  199. package/next2d/display/MovieClip.d.ts +0 -314
  200. package/next2d/display/MovieClip.js +0 -941
  201. package/next2d/display/Shape.d.ts +0 -169
  202. package/next2d/display/Shape.js +0 -509
  203. package/next2d/display/Sprite.d.ts +0 -175
  204. package/next2d/display/Sprite.js +0 -280
  205. package/next2d/display/Stage.d.ts +0 -164
  206. package/next2d/display/Stage.js +0 -251
  207. package/next2d/events/Event.d.ts +0 -424
  208. package/next2d/events/Event.js +0 -560
  209. package/next2d/events/EventDispatcher.d.ts +0 -138
  210. package/next2d/events/EventDispatcher.js +0 -623
  211. package/next2d/events/EventPhase.d.ts +0 -80
  212. package/next2d/events/EventPhase.js +0 -94
  213. package/next2d/events/FocusEvent.d.ts +0 -89
  214. package/next2d/events/FocusEvent.js +0 -103
  215. package/next2d/events/HTTPStatusEvent.d.ts +0 -107
  216. package/next2d/events/HTTPStatusEvent.js +0 -139
  217. package/next2d/events/IOErrorEvent.d.ts +0 -82
  218. package/next2d/events/IOErrorEvent.js +0 -101
  219. package/next2d/events/MouseEvent.d.ts +0 -163
  220. package/next2d/events/MouseEvent.js +0 -207
  221. package/next2d/events/ProgressEvent.d.ts +0 -97
  222. package/next2d/events/ProgressEvent.js +0 -123
  223. package/next2d/events/VideoEvent.d.ts +0 -145
  224. package/next2d/events/VideoEvent.js +0 -181
  225. package/next2d/filters/BevelFilter.d.ts +0 -254
  226. package/next2d/filters/BevelFilter.js +0 -491
  227. package/next2d/filters/BitmapFilter.d.ts +0 -75
  228. package/next2d/filters/BitmapFilter.js +0 -95
  229. package/next2d/filters/BlurFilter.d.ts +0 -150
  230. package/next2d/filters/BlurFilter.js +0 -370
  231. package/next2d/filters/ColorMatrixFilter.d.ts +0 -116
  232. package/next2d/filters/ColorMatrixFilter.js +0 -179
  233. package/next2d/filters/ConvolutionFilter.d.ts +0 -210
  234. package/next2d/filters/ConvolutionFilter.js +0 -366
  235. package/next2d/filters/DisplacementMapFilter.d.ts +0 -212
  236. package/next2d/filters/DisplacementMapFilter.js +0 -372
  237. package/next2d/filters/DropShadowFilter.d.ts +0 -240
  238. package/next2d/filters/DropShadowFilter.js +0 -461
  239. package/next2d/filters/GlowFilter.d.ts +0 -204
  240. package/next2d/filters/GlowFilter.js +0 -356
  241. package/next2d/filters/GradientBevelFilter.d.ts +0 -243
  242. package/next2d/filters/GradientBevelFilter.js +0 -474
  243. package/next2d/filters/GradientGlowFilter.d.ts +0 -243
  244. package/next2d/filters/GradientGlowFilter.js +0 -464
  245. package/next2d/geom/ColorTransform.d.ts +0 -201
  246. package/next2d/geom/ColorTransform.js +0 -278
  247. package/next2d/geom/Matrix.d.ts +0 -299
  248. package/next2d/geom/Matrix.js +0 -454
  249. package/next2d/geom/Point.d.ts +0 -213
  250. package/next2d/geom/Point.js +0 -274
  251. package/next2d/geom/Rectangle.d.ts +0 -364
  252. package/next2d/geom/Rectangle.js +0 -513
  253. package/next2d/geom/Transform.d.ts +0 -213
  254. package/next2d/geom/Transform.js +0 -492
  255. package/next2d/media/Sound.d.ts +0 -208
  256. package/next2d/media/Sound.js +0 -504
  257. package/next2d/media/SoundMixer.d.ts +0 -68
  258. package/next2d/media/SoundMixer.js +0 -115
  259. package/next2d/media/SoundTransform.d.ts +0 -80
  260. package/next2d/media/SoundTransform.js +0 -111
  261. package/next2d/media/Video.d.ts +0 -331
  262. package/next2d/media/Video.js +0 -856
  263. package/next2d/net/URLRequest.d.ts +0 -143
  264. package/next2d/net/URLRequest.js +0 -232
  265. package/next2d/net/URLRequestHeader.d.ts +0 -82
  266. package/next2d/net/URLRequestHeader.js +0 -105
  267. package/next2d/text/TextField.d.ts +0 -644
  268. package/next2d/text/TextField.js +0 -2662
  269. package/next2d/text/TextFormat.d.ts +0 -250
  270. package/next2d/text/TextFormat.js +0 -460
  271. package/next2d/ui/Easing.d.ts +0 -359
  272. package/next2d/ui/Easing.js +0 -481
  273. package/next2d/ui/Job.d.ts +0 -155
  274. package/next2d/ui/Job.js +0 -333
  275. package/next2d/ui/Tween.d.ts +0 -62
  276. package/next2d/ui/Tween.js +0 -72
  277. package/packages/Display.d.ts +0 -3
  278. package/packages/Display.js +0 -36
  279. package/packages/Events.d.ts +0 -3
  280. package/packages/Events.js +0 -28
  281. package/packages/Filters.d.ts +0 -3
  282. package/packages/Filters.js +0 -28
  283. package/packages/Geom.d.ts +0 -3
  284. package/packages/Geom.js +0 -20
  285. package/packages/Media.d.ts +0 -3
  286. package/packages/Media.js +0 -18
  287. package/packages/Net.d.ts +0 -3
  288. package/packages/Net.js +0 -14
  289. package/packages/Text.d.ts +0 -3
  290. package/packages/Text.js +0 -14
  291. package/packages/UI.d.ts +0 -3
  292. package/packages/UI.js +0 -16
  293. package/player/Next2D.d.ts +0 -70
  294. package/player/Next2D.js +0 -192
  295. package/player/Player.d.ts +0 -334
  296. package/player/Player.js +0 -1863
  297. package/util/CacheStore.d.ts +0 -115
  298. package/util/CacheStore.js +0 -276
  299. package/util/Global.d.ts +0 -23
  300. package/util/Global.js +0 -67
  301. package/util/RenderUtil.d.ts +0 -472
  302. package/util/RenderUtil.js +0 -686
  303. package/util/Shortcut.d.ts +0 -28
  304. package/util/Shortcut.js +0 -28
  305. package/util/Util.d.ts +0 -334
  306. package/util/Util.js +0 -844
  307. package/webgl/BezierConverter.d.ts +0 -59
  308. package/webgl/BezierConverter.js +0 -106
  309. package/webgl/CanvasGradientToWebGL.d.ts +0 -94
  310. package/webgl/CanvasGradientToWebGL.js +0 -181
  311. package/webgl/CanvasPatternToWebGL.d.ts +0 -39
  312. package/webgl/CanvasPatternToWebGL.js +0 -66
  313. package/webgl/CanvasToWebGLContext.d.ts +0 -596
  314. package/webgl/CanvasToWebGLContext.js +0 -1421
  315. package/webgl/CanvasToWebGLContextBlend.d.ts +0 -97
  316. package/webgl/CanvasToWebGLContextBlend.js +0 -299
  317. package/webgl/CanvasToWebGLContextGrid.d.ts +0 -74
  318. package/webgl/CanvasToWebGLContextGrid.js +0 -283
  319. package/webgl/CanvasToWebGLContextMask.d.ts +0 -113
  320. package/webgl/CanvasToWebGLContextMask.js +0 -436
  321. package/webgl/CanvasToWebGLContextPath.d.ts +0 -111
  322. package/webgl/CanvasToWebGLContextPath.js +0 -210
  323. package/webgl/CanvasToWebGLContextStyle.d.ts +0 -77
  324. package/webgl/CanvasToWebGLContextStyle.js +0 -139
  325. package/webgl/ColorBufferPool.d.ts +0 -58
  326. package/webgl/ColorBufferPool.js +0 -134
  327. package/webgl/FrameBufferManager.d.ts +0 -135
  328. package/webgl/FrameBufferManager.js +0 -358
  329. package/webgl/StencilBufferPool.d.ts +0 -56
  330. package/webgl/StencilBufferPool.js +0 -142
  331. package/webgl/TextureManager.d.ts +0 -130
  332. package/webgl/TextureManager.js +0 -296
  333. package/webgl/VertexArrayObjectManager.d.ts +0 -95
  334. package/webgl/VertexArrayObjectManager.js +0 -277
  335. package/webgl/WebGLFillMeshGenerator.d.ts +0 -31
  336. package/webgl/WebGLFillMeshGenerator.js +0 -101
  337. package/webgl/WebGLStrokeMeshGenerator.d.ts +0 -182
  338. package/webgl/WebGLStrokeMeshGenerator.js +0 -504
  339. package/webgl/shader/CanvasToWebGLShader.d.ts +0 -85
  340. package/webgl/shader/CanvasToWebGLShader.js +0 -192
  341. package/webgl/shader/CanvasToWebGLShaderList.d.ts +0 -70
  342. package/webgl/shader/CanvasToWebGLShaderList.js +0 -109
  343. package/webgl/shader/GradientLUTGenerator.d.ts +0 -36
  344. package/webgl/shader/GradientLUTGenerator.js +0 -123
  345. package/webgl/shader/WebGLShaderUniform.d.ts +0 -52
  346. package/webgl/shader/WebGLShaderUniform.js +0 -165
  347. package/webgl/shader/fragment/FragmentShaderLibrary.d.ts +0 -18
  348. package/webgl/shader/fragment/FragmentShaderLibrary.js +0 -35
  349. package/webgl/shader/fragment/FragmentShaderSource.d.ts +0 -29
  350. package/webgl/shader/fragment/FragmentShaderSource.js +0 -99
  351. package/webgl/shader/fragment/FragmentShaderSourceBlend.d.ts +0 -67
  352. package/webgl/shader/fragment/FragmentShaderSourceBlend.js +0 -319
  353. package/webgl/shader/fragment/FragmentShaderSourceGradient.d.ts +0 -44
  354. package/webgl/shader/fragment/FragmentShaderSourceGradient.js +0 -114
  355. package/webgl/shader/fragment/FragmentShaderSourceGradientLUT.d.ts +0 -14
  356. package/webgl/shader/fragment/FragmentShaderSourceGradientLUT.js +0 -58
  357. package/webgl/shader/fragment/FragmentShaderSourceTexture.d.ts +0 -12
  358. package/webgl/shader/fragment/FragmentShaderSourceTexture.js +0 -36
  359. package/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.d.ts +0 -12
  360. package/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.js +0 -42
  361. package/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.d.ts +0 -11
  362. package/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.js +0 -35
  363. package/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.d.ts +0 -16
  364. package/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.js +0 -80
  365. package/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.d.ts +0 -15
  366. package/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.js +0 -106
  367. package/webgl/shader/fragment/filter/FragmentShaderSourceFilter.d.ts +0 -112
  368. package/webgl/shader/fragment/filter/FragmentShaderSourceFilter.js +0 -275
  369. package/webgl/shader/variants/BlendShaderVariantCollection.d.ts +0 -99
  370. package/webgl/shader/variants/BlendShaderVariantCollection.js +0 -239
  371. package/webgl/shader/variants/FilterShaderVariantCollection.d.ts +0 -150
  372. package/webgl/shader/variants/FilterShaderVariantCollection.js +0 -395
  373. package/webgl/shader/variants/GradientLUTShaderVariantCollection.d.ts +0 -49
  374. package/webgl/shader/variants/GradientLUTShaderVariantCollection.js +0 -107
  375. package/webgl/shader/variants/GradientShapeShaderVariantCollection.d.ts +0 -61
  376. package/webgl/shader/variants/GradientShapeShaderVariantCollection.js +0 -196
  377. package/webgl/shader/variants/ShapeShaderVariantCollection.d.ts +0 -117
  378. package/webgl/shader/variants/ShapeShaderVariantCollection.js +0 -427
  379. package/webgl/shader/vertex/VertexShaderLibrary.d.ts +0 -18
  380. package/webgl/shader/vertex/VertexShaderLibrary.js +0 -75
  381. package/webgl/shader/vertex/VertexShaderSource.d.ts +0 -23
  382. package/webgl/shader/vertex/VertexShaderSource.js +0 -92
  383. package/webgl/shader/vertex/VertexShaderSourceFill.d.ts +0 -45
  384. package/webgl/shader/vertex/VertexShaderSourceFill.js +0 -112
  385. package/webgl/shader/vertex/VertexShaderSourceStroke.d.ts +0 -27
  386. package/webgl/shader/vertex/VertexShaderSourceStroke.js +0 -149
package/player/Player.js DELETED
@@ -1,1863 +0,0 @@
1
- import { Stage } from "../next2d/display/Stage";
2
- import { CacheStore } from "../util/CacheStore";
3
- import { Event as Next2DEvent } from "../next2d/events/Event";
4
- import { MouseEvent as Next2DMouseEvent } from "../next2d/events/MouseEvent";
5
- import { EventPhase } from "../next2d/events/EventPhase";
6
- import { CanvasToWebGLContext } from "../webgl/CanvasToWebGLContext";
7
- import { SoundMixer } from "../next2d/media/SoundMixer";
8
- import { $devicePixelRatio, $document, $window } from "../util/Shortcut";
9
- import { $rendererWorker, $PREFIX, $audioContext, $TOUCH_START, $TOUCH_MOVE, $TOUCH_END, $MOUSE_DOWN, $MOUSE_MOVE, $MOUSE_UP, $MOUSE_WHEEL, $DOUBLE_CLICK, $MOUSE_LEAVE, $loadAudioData, $MATRIX_HIT_ARRAY_IDENTITY, $hitContext, $isTouch, $dropTarget, $dragRules, $isSafari } from "../util/Util";
10
- import { $Math, $performance, $getArray, $getFloat32Array6, $getMap, $uintToRGBA, $toColorInt, $requestAnimationFrame, $cancelAnimationFrame, $poolArray, $COLOR_ARRAY_IDENTITY, $clamp } from "../util/RenderUtil";
11
- import { $getEvent, $setEvent, $setEventType, $doUpdated, $setCurrentLoaderInfo, $getEventType, $isUpdated } from "../util/Global";
12
- /**
13
- * 描画のイベントや設定やコントロールの管理クラス
14
- * Management classes for drawing events, settings and controls
15
- *
16
- * @class
17
- */
18
- export class Player {
19
- /**
20
- * @constructor
21
- * @public
22
- */
23
- constructor() {
24
- /**
25
- * @type {Stage}
26
- * @private
27
- */
28
- this._$stage = new Stage();
29
- this._$stage._$player = this;
30
- /**
31
- * @type {CacheStore}
32
- * @private
33
- */
34
- this._$cacheStore = new CacheStore();
35
- /**
36
- * @type {string}
37
- * @private
38
- */
39
- this._$mode = "loader";
40
- /**
41
- * @type {number}
42
- * @private
43
- */
44
- this._$actionOffset = 0;
45
- /**
46
- * @type {array}
47
- * @private
48
- */
49
- this._$actions = $getArray();
50
- /**
51
- * @type {array}
52
- * @public
53
- */
54
- this._$loaders = $getArray();
55
- /**
56
- * @type {Map}
57
- * @private
58
- */
59
- this._$sounds = $getMap();
60
- /**
61
- * @type {object}
62
- * @private
63
- */
64
- this._$hitObject = {
65
- "x": 0,
66
- "y": 0,
67
- "pointer": "",
68
- "hit": null
69
- };
70
- /**
71
- * @type {DisplayObject}
72
- * @default null
73
- * @private
74
- */
75
- this._$rollOverObject = null;
76
- /**
77
- * @type {DisplayObject}
78
- * @default null
79
- * @private
80
- */
81
- this._$mouseOverTarget = null;
82
- /**
83
- * @type {number}
84
- * @private
85
- */
86
- this._$ratio = $devicePixelRatio;
87
- /**
88
- * @type {boolean}
89
- * @default true
90
- * @private
91
- */
92
- this._$stopFlag = true;
93
- /**
94
- * @type {number}
95
- * @default 0
96
- * @private
97
- */
98
- this._$startTime = 0;
99
- /**
100
- * @type {number}
101
- * @default 16
102
- * @private
103
- */
104
- this._$fps = 16;
105
- /**
106
- * @type {boolean}
107
- * @default false
108
- * @private
109
- */
110
- this._$isLoad = false;
111
- /**
112
- * @type {number}
113
- * @default 0
114
- * @private
115
- */
116
- this._$loadStatus = 0;
117
- /**
118
- * @type {number}
119
- * @default 0
120
- * @private
121
- */
122
- this._$width = 0;
123
- /**
124
- * @type {number}
125
- * @default 0
126
- * @private
127
- */
128
- this._$height = 0;
129
- /**
130
- * @type {number}
131
- * @default 0
132
- * @private
133
- */
134
- this._$baseWidth = 0;
135
- /**
136
- * @type {number}
137
- * @default 0
138
- * @private
139
- */
140
- this._$baseHeight = 0;
141
- /**
142
- * @type {number}
143
- * @default 1
144
- * @private
145
- */
146
- this._$scale = 1;
147
- /**
148
- * @type {Float32Array}
149
- * @private
150
- */
151
- this._$matrix = $getFloat32Array6(1, 0, 0, 1, 0, 0); // fixed size 6
152
- /**
153
- * @type {number}
154
- * @default 0
155
- * @private
156
- */
157
- this._$tx = 0;
158
- /**
159
- * @type {number}
160
- * @default 0
161
- * @private
162
- */
163
- this._$ty = 0;
164
- /**
165
- * @type {string}
166
- * @default up
167
- * @private
168
- */
169
- this._$state = "up";
170
- /**
171
- * @type {boolean}
172
- * @default false
173
- * @private
174
- */
175
- this._$hitTestStart = false;
176
- /**
177
- * @type {number}
178
- * @default -1
179
- * @private
180
- */
181
- this._$stageX = -1;
182
- /**
183
- * @type {number}
184
- * @default -1
185
- * @private
186
- */
187
- this._$stageY = -1;
188
- /**
189
- * @type {number}
190
- * @default 0
191
- * @private
192
- */
193
- this._$deltaX = 0;
194
- /**
195
- * @type {number}
196
- * @default 0
197
- * @private
198
- */
199
- this._$deltaY = 0;
200
- /**
201
- * @type {Map}
202
- * @private
203
- */
204
- this._$broadcastEvents = $getMap();
205
- /**
206
- * @type {number}
207
- * @default 0
208
- * @private
209
- */
210
- this._$optionWidth = 0;
211
- /**
212
- * @type {number}
213
- * @default 0
214
- * @private
215
- */
216
- this._$optionHeight = 0;
217
- /**
218
- * @type {string}
219
- * @default ""
220
- * @private
221
- */
222
- this._$tagId = "";
223
- /**
224
- * @type {string}
225
- * @default "transparent"
226
- * @private
227
- */
228
- this._$bgColor = "transparent";
229
- /**
230
- * @type {string}
231
- * @default ""
232
- * @private
233
- */
234
- this._$base = "";
235
- /**
236
- * @type {boolean}
237
- * @default false
238
- * @private
239
- */
240
- this._$fullScreen = false;
241
- /**
242
- * @type {string}
243
- * @default high
244
- * @private
245
- */
246
- this._$quality = "high";
247
- /**
248
- * @type {array}
249
- * @private
250
- */
251
- this._$sources = $getArray();
252
- /**
253
- * @type {array}
254
- * @private
255
- */
256
- this._$videos = $getArray();
257
- /**
258
- * @type {TextField}
259
- * @default null
260
- * @private
261
- */
262
- this._$textField = null;
263
- /**
264
- * @type {number}
265
- * @default 0
266
- * @private
267
- */
268
- this._$touchY = 0;
269
- /**
270
- * @type {number}
271
- * @default -1
272
- * @private
273
- */
274
- this._$timerId = -1;
275
- /**
276
- * @type {number}
277
- * @default -1
278
- * @private
279
- */
280
- this._$loadId = -1;
281
- /**
282
- * @type {CanvasToWebGLContext}
283
- * @default null
284
- * @private
285
- */
286
- this._$context = null;
287
- /**
288
- * @type {AttachmentImpl}
289
- * @default null
290
- * @private
291
- */
292
- this._$attachment = null;
293
- /**
294
- * @type {DisplayObject}
295
- * @default null
296
- * @private
297
- */
298
- this._$clickTarget = null;
299
- /**
300
- * @type {boolean}
301
- * @default false
302
- * @private
303
- */
304
- this._$actionProcess = false;
305
- /**
306
- * @type {HTMLCanvasElement}
307
- * @private
308
- */
309
- this._$canvas = $document.createElement("canvas");
310
- }
311
- /**
312
- * @return {number}
313
- * @default 1
314
- * @const
315
- * @static
316
- */
317
- static get LOAD_START() {
318
- return 1;
319
- }
320
- /**
321
- * @return {number}
322
- * @default 2
323
- * @const
324
- * @static
325
- */
326
- static get LOAD_END() {
327
- return 2;
328
- }
329
- /**
330
- * @type {HTMLCanvasElement}
331
- * @readonly
332
- * @public
333
- */
334
- get canvas() {
335
- return this._$canvas;
336
- }
337
- /**
338
- * @return {Map}
339
- * @readonly
340
- * @public
341
- */
342
- get broadcastEvents() {
343
- return this._$broadcastEvents;
344
- }
345
- /**
346
- * @member {CacheStore}
347
- * @return {CacheStore}
348
- * @readonly
349
- * @public
350
- */
351
- get cacheStore() {
352
- return this._$cacheStore;
353
- }
354
- /**
355
- * @member {CanvasToWebGLContext|null}
356
- * @default null
357
- * @public
358
- */
359
- get context() {
360
- return this._$context;
361
- }
362
- set context(context) {
363
- this._$context = context;
364
- }
365
- /**
366
- * @member {string}
367
- * @default ""
368
- * @public
369
- */
370
- get base() {
371
- return this._$base;
372
- }
373
- set base(base) {
374
- if (base.indexOf("//") === -1) {
375
- const urls = base.split("/");
376
- if (urls[0] === "" || urls[0] === ".") {
377
- urls.shift();
378
- }
379
- urls.pop();
380
- this._$base = `${location.origin}/`;
381
- if (urls.length) {
382
- this._$base += `${urls.join("/")}/`;
383
- }
384
- }
385
- else {
386
- if (base.indexOf("?") === -1) {
387
- this._$base = base.slice(-1) === "/" ? base : `${base}/`;
388
- }
389
- else {
390
- const path = base.split("?")[0];
391
- this._$base = path.slice(-1) === "/" ? path : `${path}/`;
392
- }
393
- }
394
- }
395
- /**
396
- * @return {Stage}
397
- * @readonly
398
- * @public
399
- */
400
- get stage() {
401
- return this._$stage;
402
- }
403
- /**
404
- * @member {number}
405
- * @readonly
406
- * @public
407
- */
408
- get x() {
409
- return this._$tx;
410
- }
411
- /**
412
- * @member {number}
413
- * @readonly
414
- * @public
415
- */
416
- get y() {
417
- return this._$ty;
418
- }
419
- /**
420
- * @member {number}
421
- * @readonly
422
- * @public
423
- */
424
- get scaleX() {
425
- return this._$matrix[0];
426
- }
427
- /**
428
- * @member {number}
429
- * @readonly
430
- * @public
431
- */
432
- get scaleY() {
433
- return this._$matrix[3];
434
- }
435
- /**
436
- * @member {string}
437
- * @public
438
- */
439
- get mode() {
440
- return this._$mode;
441
- }
442
- set mode(mode) {
443
- this._$mode = mode;
444
- }
445
- /**
446
- * @return {string}
447
- * @readonly
448
- * @public
449
- */
450
- get contentElementId() {
451
- return $PREFIX;
452
- }
453
- /**
454
- * @member {number}
455
- * @public
456
- */
457
- get width() {
458
- return this._$baseWidth;
459
- }
460
- set width(width) {
461
- this._$baseWidth = width | 0;
462
- }
463
- /**
464
- * @member {number}
465
- * @public
466
- */
467
- get height() {
468
- return this._$baseHeight;
469
- }
470
- set height(height) {
471
- this._$baseHeight = height | 0;
472
- }
473
- /**
474
- * @member {string}
475
- * @public
476
- */
477
- get bgColor() {
478
- return this._$bgColor;
479
- }
480
- set bgColor(bg_color) {
481
- this._$bgColor = `${bg_color}`;
482
- }
483
- /**
484
- * @return {void}
485
- * @method
486
- * @public
487
- */
488
- play() {
489
- if (this._$stopFlag) {
490
- this._$stopFlag = false;
491
- if (this._$timerId > -1) {
492
- $cancelAnimationFrame(this._$timerId);
493
- }
494
- this._$startTime = $performance.now();
495
- const frameRate = this._$stage._$frameRate;
496
- this._$fps = 1000 / frameRate | 0;
497
- this._$timerId = $requestAnimationFrame((timestamp) => {
498
- this._$run(timestamp);
499
- });
500
- }
501
- }
502
- /**
503
- * @return {void}
504
- * @method
505
- * @public
506
- */
507
- stop() {
508
- if (this._$timerId > -1) {
509
- $cancelAnimationFrame(this._$timerId);
510
- }
511
- this._$stopFlag = true;
512
- this._$timerId = -1;
513
- SoundMixer.stopAll();
514
- this._$cacheStore.reset();
515
- if ($rendererWorker) {
516
- $rendererWorker.postMessage({
517
- "command": "stop"
518
- });
519
- }
520
- }
521
- /**
522
- * @param {string} id
523
- * @return {void}
524
- * @method
525
- * @public
526
- */
527
- removeCache(id) {
528
- this._$cacheStore.removeCache(id);
529
- if ($rendererWorker) {
530
- $rendererWorker.postMessage({
531
- "command": "removeCache",
532
- "id": id
533
- });
534
- }
535
- }
536
- /**
537
- * @param {object} [options=null]
538
- * @return {void}
539
- * @public
540
- */
541
- setOptions(options = null) {
542
- if (options) {
543
- this._$optionWidth = options.width || this._$optionWidth;
544
- this._$optionHeight = options.height || this._$optionHeight;
545
- this._$tagId = options.tagId || this._$tagId;
546
- this.base = options.base || this._$base;
547
- this._$bgColor = options.bgColor || this._$bgColor;
548
- this._$fullScreen = !!options.fullScreen;
549
- }
550
- }
551
- /**
552
- * @description NoCode Toolからのアクセスのみ
553
- * Access from NoCode Tool only
554
- *
555
- * @param {MouseEvent} [event = null]
556
- * @return {void}
557
- * @method
558
- * @private
559
- */
560
- _$loadWebAudio(event = null) {
561
- if (event) {
562
- // @ts-ignore
563
- this._$canvas.removeEventListener($MOUSE_UP, this._$loadWebAudio);
564
- }
565
- if (!$audioContext) {
566
- $loadAudioData();
567
- }
568
- }
569
- /**
570
- * @return {void}
571
- * @method
572
- * @private
573
- */
574
- _$updateLoadStatus() {
575
- if (this._$loadStatus === Player.LOAD_END) {
576
- if (this._$loadId > -1) {
577
- $cancelAnimationFrame(this._$loadId);
578
- }
579
- this._$loadId = -1;
580
- this._$loaded();
581
- return;
582
- }
583
- this._$loadId = $requestAnimationFrame(() => {
584
- this._$updateLoadStatus();
585
- });
586
- }
587
- /**
588
- * @return {void}
589
- * @method
590
- * @private
591
- */
592
- _$loaded() {
593
- const element = $document
594
- .getElementById(this.contentElementId);
595
- if (element) {
596
- // background color
597
- this._$setBackgroundColor(this._$bgColor);
598
- // DOM
599
- this._$deleteNode();
600
- // append canvas
601
- element.appendChild(this._$canvas);
602
- // stage init action
603
- this._$stage._$prepareActions();
604
- // constructed event
605
- if (this._$broadcastEvents.has(Next2DEvent.FRAME_CONSTRUCTED)) {
606
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.FRAME_CONSTRUCTED));
607
- }
608
- // frame1 action
609
- this._$doAction();
610
- // exit event
611
- if (this._$broadcastEvents.has(Next2DEvent.EXIT_FRAME)) {
612
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.EXIT_FRAME));
613
- }
614
- // loader events
615
- const length = this._$loaders.length;
616
- for (let idx = 0; idx < length; ++idx) {
617
- const loader = this._$loaders.shift();
618
- // init event
619
- if (loader.hasEventListener(Next2DEvent.INIT)) {
620
- loader.dispatchEvent(new Next2DEvent(Next2DEvent.INIT));
621
- }
622
- // complete event
623
- if (loader.hasEventListener(Next2DEvent.COMPLETE)) {
624
- loader.dispatchEvent(new Next2DEvent(Next2DEvent.COMPLETE));
625
- }
626
- }
627
- // activate event
628
- if (this._$broadcastEvents.has(Next2DEvent.ACTIVATE)) {
629
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.ACTIVATE));
630
- }
631
- // frame action
632
- this._$doAction();
633
- // render
634
- this._$draw();
635
- // start
636
- this.play();
637
- }
638
- }
639
- /**
640
- * @return {void}
641
- * @method
642
- * @private
643
- */
644
- _$initialize() {
645
- if ($document.readyState === "loading") {
646
- $window.addEventListener("DOMContentLoaded", () => {
647
- this._$initialize();
648
- });
649
- return;
650
- }
651
- const contentElementId = this.contentElementId;
652
- if (!this._$tagId) {
653
- $document
654
- .body
655
- .insertAdjacentHTML("beforeend", `<div id="${contentElementId}" tabindex="-1"></div>`);
656
- }
657
- else {
658
- const container = $document.getElementById(this._$tagId);
659
- if (!container) {
660
- alert("Not Found Tag ID:" + this._$tagId);
661
- return;
662
- }
663
- const div = $document.getElementById(contentElementId);
664
- if (!div) {
665
- const element = $document.createElement("div");
666
- element.id = contentElementId;
667
- element.tabIndex = -1;
668
- container.appendChild(element);
669
- }
670
- else {
671
- this._$deleteNode();
672
- }
673
- }
674
- const element = $document.getElementById(contentElementId);
675
- if (!element) {
676
- throw new Error("the content element is null.");
677
- }
678
- const parent = element.parentElement;
679
- if (parent) {
680
- this._$initStyle(element);
681
- this._$buildWait();
682
- const width = this._$optionWidth
683
- ? this._$optionWidth
684
- : parent.tagName === "BODY"
685
- ? $window.innerWidth
686
- : parent.offsetWidth;
687
- const height = this._$optionHeight
688
- ? this._$optionHeight
689
- : parent.tagName === "BODY"
690
- ? $window.innerHeight
691
- : parent.offsetHeight;
692
- // set center
693
- if (this._$mode === "loader" && width && height) {
694
- this._$baseWidth = width;
695
- this._$baseHeight = height;
696
- this._$resize();
697
- }
698
- }
699
- if (this._$mode === "loader") {
700
- this._$loadStatus = Player.LOAD_START;
701
- this._$updateLoadStatus();
702
- }
703
- else {
704
- this._$resize();
705
- this._$loaded();
706
- }
707
- }
708
- /**
709
- * @param {object} element
710
- * @returns {void}
711
- * @method
712
- * @private
713
- */
714
- _$initStyle(element) {
715
- const style = element.style;
716
- // set css
717
- style.position = "relative";
718
- style.top = "0";
719
- style.left = "0";
720
- style.backgroundColor = "transparent";
721
- style.overflow = "hidden";
722
- style.padding = "0";
723
- style.margin = "0";
724
- style.userSelect = "none";
725
- style.outline = "none";
726
- const width = this._$optionWidth;
727
- const height = this._$optionHeight;
728
- const parent = element.parentElement;
729
- if (!parent) {
730
- throw new Error("the parentElement is null.");
731
- }
732
- if (parent.tagName === "BODY") {
733
- style.width = width ? `${width}px` : `${window.innerWidth}px`;
734
- style.height = height ? `${height}px` : `${window.innerHeight}px`;
735
- return;
736
- }
737
- style.width = width ? `${width}px` : `${parent.offsetWidth}px`;
738
- style.height = height ? `${height}px` : `${parent.offsetHeight}px`;
739
- }
740
- /**
741
- * @return {void}
742
- * @method
743
- * @private
744
- */
745
- _$buildWait() {
746
- const element = $document
747
- .getElementById(this.contentElementId);
748
- if (element) {
749
- const loadingId = `${this.contentElementId}_loading`;
750
- element.innerHTML = `<style>
751
- #${loadingId} {
752
- position: absolute;
753
- top: 50%;
754
- left: 50%;
755
- margin: -24px 0 0 -24px;
756
- width: 50px;
757
- height: 50px;
758
- border-radius: 50px;
759
- border: 8px solid #dcdcdc;
760
- border-right-color: transparent;
761
- box-sizing: border-box;
762
- animation: ${loadingId} 0.8s infinite linear;
763
- }
764
- @keyframes ${loadingId} {
765
- 0% {
766
- transform: rotate(0deg);
767
- }
768
- 100% {
769
- transform: rotate(360deg);
770
- }
771
- }
772
- </style>`;
773
- const div = $document.createElement("div");
774
- div.id = loadingId;
775
- element.appendChild(div);
776
- }
777
- }
778
- /**
779
- * @returns {void}
780
- * @method
781
- * @private
782
- */
783
- _$deleteNode() {
784
- const element = $document.getElementById(this.contentElementId);
785
- if (element) {
786
- while (element.childNodes.length) {
787
- element.removeChild(element.childNodes[0]);
788
- }
789
- }
790
- }
791
- /**
792
- * @return {void}
793
- * @private
794
- */
795
- _$initializeCanvas() {
796
- // main canvas
797
- this._$canvas.width = 1;
798
- this._$canvas.height = 1;
799
- if ($rendererWorker) {
800
- $rendererWorker.postMessage({
801
- "command": "setStage",
802
- "instanceId": this._$stage._$instanceId
803
- });
804
- const offscreenCanvas = this
805
- ._$canvas
806
- .transferControlToOffscreen();
807
- $rendererWorker.postMessage({
808
- "command": "initialize",
809
- "canvas": offscreenCanvas,
810
- "samples": this._$getSamples(),
811
- "devicePixelRatio": $devicePixelRatio,
812
- "isSafari": $isSafari
813
- }, [offscreenCanvas]);
814
- }
815
- else {
816
- // create gl context
817
- const gl = this._$canvas.getContext("webgl2", {
818
- "stencil": true,
819
- "premultipliedAlpha": true,
820
- "antialias": false,
821
- "depth": false,
822
- "preserveDrawingBuffer": true
823
- });
824
- if (gl) {
825
- this._$context = new CanvasToWebGLContext(gl, this._$getSamples());
826
- this._$cacheStore.context = this._$context;
827
- }
828
- else {
829
- alert("WebGL setting is off. Please turn the setting on.");
830
- }
831
- }
832
- /**
833
- * @return {void}
834
- * @method
835
- * @private
836
- */
837
- const loadWebAudio = () => {
838
- this._$canvas.removeEventListener($MOUSE_UP, loadWebAudio);
839
- this._$canvas.removeEventListener($TOUCH_END, loadWebAudio);
840
- if (!$audioContext) {
841
- $loadAudioData();
842
- for (let idx = 0; idx < this._$videos.length; ++idx) {
843
- const video = this._$videos[idx];
844
- if (!video._$video) {
845
- continue;
846
- }
847
- video._$video.muted = false;
848
- }
849
- }
850
- };
851
- // @ts-ignore
852
- this._$canvas.addEventListener($TOUCH_END, loadWebAudio);
853
- // @ts-ignore
854
- this._$canvas.addEventListener($MOUSE_UP, loadWebAudio);
855
- // touch event
856
- this._$canvas.addEventListener($TOUCH_START, (event) => {
857
- $setEvent(event);
858
- $setEventType($TOUCH_START);
859
- // start position
860
- this._$touchY = event.changedTouches[0].pageY;
861
- this._$hitTest();
862
- });
863
- this._$canvas.addEventListener($TOUCH_MOVE, (event) => {
864
- $setEvent(event);
865
- $setEventType($TOUCH_MOVE);
866
- this._$hitTest();
867
- });
868
- this._$canvas.addEventListener($TOUCH_END, (event) => {
869
- $setEvent(event);
870
- $setEventType($TOUCH_END);
871
- this._$hitTest();
872
- });
873
- // mouse wheel
874
- this._$canvas.addEventListener($TOUCH_MOVE, (event) => {
875
- // update
876
- const pageY = event.changedTouches[0].pageY;
877
- this._$deltaY = this._$touchY - pageY;
878
- this._$touchY = pageY;
879
- $setEvent(event);
880
- $setEventType($TOUCH_MOVE);
881
- this._$hitTest();
882
- }, { "passive": false });
883
- // mouse event
884
- this._$canvas.addEventListener($MOUSE_DOWN, (event) => {
885
- $setEvent(event);
886
- $setEventType($MOUSE_DOWN);
887
- if (!event.button) {
888
- this._$hitTest();
889
- }
890
- });
891
- this._$canvas.addEventListener($DOUBLE_CLICK, (event) => {
892
- $setEvent(event);
893
- $setEventType($DOUBLE_CLICK);
894
- if (!event.button) {
895
- this._$hitTest();
896
- }
897
- });
898
- this._$canvas.addEventListener($MOUSE_LEAVE, (event) => {
899
- $setEvent(event);
900
- $setEventType($MOUSE_LEAVE);
901
- this._$hitTest();
902
- $setEvent(null);
903
- this._$stageX = -1;
904
- this._$stageY = -1;
905
- });
906
- this._$canvas.addEventListener($MOUSE_UP, (event) => {
907
- $setEvent(event);
908
- $setEventType($MOUSE_UP);
909
- if (!event.button) {
910
- this._$hitTest();
911
- }
912
- });
913
- this._$canvas.addEventListener($MOUSE_MOVE, (event) => {
914
- $setEvent(event);
915
- $setEventType($MOUSE_MOVE);
916
- this._$hitTest();
917
- });
918
- // mouse wheel
919
- this._$canvas.addEventListener($MOUSE_WHEEL, (event) => {
920
- if (!event.defaultPrevented) {
921
- $setEvent(event);
922
- $setEventType($MOUSE_WHEEL);
923
- this._$hitTest();
924
- }
925
- }, { "passive": false });
926
- // set css
927
- let style = "";
928
- style += "position: absolute;";
929
- style += "top: 0;";
930
- style += "left: 0;";
931
- style += "-webkit-tap-highlight-color: rgba(0,0,0,0);";
932
- style += "backface-visibility: hidden;";
933
- style += "transform-origin: 0 0;";
934
- if ($devicePixelRatio !== 1) {
935
- style += `transform: scale(${1 / $devicePixelRatio});`;
936
- }
937
- this._$canvas.setAttribute("style", style);
938
- }
939
- /**
940
- * @return {void}
941
- * @method
942
- * @private
943
- */
944
- _$resize() {
945
- const div = $document
946
- .getElementById(this.contentElementId);
947
- if (div) {
948
- // cache reset
949
- this._$stage._$doChanged();
950
- this._$cacheStore.reset();
951
- const parent = div.parentElement;
952
- if (!parent) {
953
- throw new Error("the parentElement is null.");
954
- }
955
- const innerWidth = this._$optionWidth
956
- ? this._$optionWidth
957
- : parent.tagName === "BODY"
958
- ? $window.innerWidth
959
- : parent.offsetWidth
960
- ? parent.offsetWidth
961
- : parseFloat(parent.style.width);
962
- const innerHeight = this._$optionHeight
963
- ? this._$optionHeight
964
- : parent.tagName === "BODY"
965
- ? $window.innerHeight
966
- : parent.offsetHeight
967
- ? parent.offsetHeight
968
- : parseFloat(parent.style.height);
969
- const screenWidth = parent.tagName === "BODY"
970
- ? $window.innerWidth
971
- : parent.offsetWidth;
972
- const scale = $Math.min(innerWidth / this._$baseWidth, innerHeight / this._$baseHeight);
973
- let width = this._$fullScreen
974
- ? innerWidth
975
- : this._$baseWidth * scale | 0;
976
- let height = this._$fullScreen
977
- ? innerHeight
978
- : this._$baseHeight * scale | 0;
979
- // div
980
- const style = div.style;
981
- style.width = `${width}px`;
982
- style.height = `${height}px`;
983
- style.top = "0";
984
- style.left = this._$fullScreen
985
- ? "0"
986
- : `${screenWidth / 2 - width / 2}px`;
987
- width *= $devicePixelRatio;
988
- height *= $devicePixelRatio;
989
- // params
990
- this._$scale = scale;
991
- this._$width = width;
992
- this._$height = height;
993
- const mScale = this._$scale * this._$ratio;
994
- this._$matrix[0] = mScale;
995
- this._$matrix[3] = mScale;
996
- if (this._$fullScreen) {
997
- this._$tx = (width -
998
- this._$baseWidth
999
- * scale
1000
- * $devicePixelRatio) / 2;
1001
- this._$ty = (height -
1002
- this._$baseHeight
1003
- * scale
1004
- * $devicePixelRatio) / 2;
1005
- this._$matrix[4] = this._$tx;
1006
- this._$matrix[5] = this._$ty;
1007
- }
1008
- // main canvas resize
1009
- this._$resizeCanvas(width, height, mScale, this._$tx, this._$ty);
1010
- if (this._$ratio > 1 && $devicePixelRatio > 1) {
1011
- this._$canvas.style.transform = `scale(${1 / this._$ratio})`;
1012
- }
1013
- if (div.children.length > 1) {
1014
- div.children[1].dispatchEvent(new Event(`${$PREFIX}_blur`));
1015
- }
1016
- }
1017
- }
1018
- /**
1019
- * @description 表示用のcanvasを更新
1020
- * Update canvas for display
1021
- *
1022
- * @param {string} [background_color=transparent]
1023
- * @return {void}
1024
- * @method
1025
- * @public
1026
- */
1027
- _$setBackgroundColor(background_color = "transparent") {
1028
- if ($rendererWorker) {
1029
- $rendererWorker.postMessage({
1030
- "command": "setBackgroundColor",
1031
- "backgroundColor": background_color
1032
- });
1033
- }
1034
- else {
1035
- const context = this._$context;
1036
- if (!context) {
1037
- return;
1038
- }
1039
- if (background_color === "transparent") {
1040
- context._$setColor(0, 0, 0, 0);
1041
- }
1042
- else {
1043
- const color = $uintToRGBA($toColorInt(background_color));
1044
- context._$setColor(color.R / 255, color.G / 255, color.B / 255, 1);
1045
- }
1046
- }
1047
- }
1048
- /**
1049
- * @param {number} width
1050
- * @param {number} height
1051
- * @param {number} scale
1052
- * @param {number} [tx = 0]
1053
- * @param {number} [ty = 0]
1054
- * @return {void}
1055
- * @method
1056
- * @private
1057
- */
1058
- _$resizeCanvas(width, height, scale, tx = 0, ty = 0) {
1059
- if ($rendererWorker) {
1060
- $rendererWorker.postMessage({
1061
- "command": "resize",
1062
- "width": width,
1063
- "height": height,
1064
- "scale": scale,
1065
- "tx": tx,
1066
- "ty": ty
1067
- });
1068
- }
1069
- else {
1070
- const context = this._$context;
1071
- if (!context) { // unit test
1072
- return;
1073
- }
1074
- this._$canvas.width = width;
1075
- this._$canvas.height = height;
1076
- context._$gl.viewport(0, 0, width, height);
1077
- const manager = context.frameBuffer;
1078
- if (this._$attachment) {
1079
- manager.unbind();
1080
- manager.releaseAttachment(this._$attachment, true);
1081
- }
1082
- this._$attachment = manager
1083
- .createCacheAttachment(width, height, false);
1084
- // update cache max size
1085
- context.setMaxSize(width, height);
1086
- }
1087
- }
1088
- /**
1089
- * @return {number}
1090
- * @method
1091
- * @private
1092
- */
1093
- _$getSamples() {
1094
- switch (this._$quality) {
1095
- case "high":
1096
- return 4;
1097
- case "medium":
1098
- return 2;
1099
- default:
1100
- return 0;
1101
- }
1102
- }
1103
- /**
1104
- * @param {Event} event
1105
- * @return {boolean}
1106
- * @method
1107
- * @private
1108
- */
1109
- _$dispatchEvent(event) {
1110
- if (this._$broadcastEvents.size
1111
- && this._$broadcastEvents.has(event.type)) {
1112
- // clone
1113
- const events = this
1114
- ._$broadcastEvents
1115
- .get(event.type)
1116
- .slice(0);
1117
- // start target
1118
- event.eventPhase = EventPhase.AT_TARGET;
1119
- for (let idx = 0; idx < events.length; ++idx) {
1120
- const obj = events[idx];
1121
- // event execute
1122
- event.currentTarget = obj.target;
1123
- event.listener = obj.listener;
1124
- obj.listener.call(null, event);
1125
- if (event._$stopImmediatePropagation) {
1126
- break;
1127
- }
1128
- }
1129
- $poolArray(events);
1130
- return true;
1131
- }
1132
- return false;
1133
- }
1134
- /**
1135
- * @param {number} timestamp
1136
- * @return {void}
1137
- * @method
1138
- * @private
1139
- */
1140
- _$run(timestamp = 0) {
1141
- if (this._$stopFlag) {
1142
- return;
1143
- }
1144
- // delay action
1145
- this._$doAction();
1146
- const delta = timestamp - this._$startTime;
1147
- if (delta > this._$fps) {
1148
- // update
1149
- this._$startTime = timestamp - delta % this._$fps;
1150
- // execute
1151
- this._$action();
1152
- // start sound
1153
- if (this._$sounds.size) {
1154
- for (const movieClip of this._$sounds.values()) {
1155
- movieClip._$soundPlay();
1156
- }
1157
- this._$sounds.clear();
1158
- }
1159
- // draw
1160
- this._$draw();
1161
- // draw event
1162
- if (!$isTouch
1163
- && !this._$hitTestStart
1164
- && this._$state === "up"
1165
- && this._$stageX > -1
1166
- && this._$stageY > -1
1167
- && $getEvent()) {
1168
- this._$pointerCheck();
1169
- }
1170
- }
1171
- else {
1172
- if (this._$videos.length && !$rendererWorker) {
1173
- this._$draw();
1174
- }
1175
- }
1176
- // next frame
1177
- this._$timerId = $requestAnimationFrame((timestamp) => {
1178
- this._$run(timestamp);
1179
- });
1180
- }
1181
- /**
1182
- * @return {void}
1183
- * @method
1184
- * @private
1185
- */
1186
- _$pointerCheck() {
1187
- const stageX = this._$stageX;
1188
- const stageY = this._$stageY;
1189
- // setup
1190
- this._$hitObject.x = stageX;
1191
- this._$hitObject.y = stageY;
1192
- this._$hitObject.pointer = "";
1193
- this._$hitObject.hit = null;
1194
- // reset
1195
- $hitContext.setTransform(1, 0, 0, 1, 0, 0);
1196
- $hitContext.beginPath();
1197
- // hit test
1198
- $MATRIX_HIT_ARRAY_IDENTITY[4] = this._$tx / this._$scale / $devicePixelRatio;
1199
- $MATRIX_HIT_ARRAY_IDENTITY[5] = this._$ty / this._$scale / $devicePixelRatio;
1200
- this._$stage._$mouseHit($hitContext, $MATRIX_HIT_ARRAY_IDENTITY, this._$hitObject, true);
1201
- // change state
1202
- // params
1203
- let instance = null;
1204
- let target = null;
1205
- let canPointerText = false;
1206
- let canPointer = false;
1207
- // execute
1208
- if (this._$hitObject.hit) {
1209
- instance = this._$hitObject.hit;
1210
- // (1) mouseOut
1211
- if (this._$mouseOverTarget
1212
- && this._$mouseOverTarget !== instance) {
1213
- const outInstance = this._$mouseOverTarget;
1214
- if (outInstance.willTrigger(Next2DMouseEvent.MOUSE_OUT)) {
1215
- outInstance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_OUT, true, false));
1216
- }
1217
- }
1218
- // rollOut and rollOver
1219
- if (this._$rollOverObject !== instance) {
1220
- let hitParent = null;
1221
- if (this._$rollOverObject) {
1222
- // (2) prev object rollOut
1223
- target = this._$rollOverObject;
1224
- if (target.willTrigger(Next2DMouseEvent.ROLL_OUT)) {
1225
- target.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OUT, false, false));
1226
- }
1227
- // rollOver flag instance
1228
- hitParent = target._$parent;
1229
- while (hitParent && hitParent._$root !== hitParent) {
1230
- if (hitParent === instance) {
1231
- break;
1232
- }
1233
- if (hitParent._$mouseEnabled
1234
- && hitParent._$outCheck(stageX, stageY)) {
1235
- let isUpperLayer = false;
1236
- let check = instance;
1237
- while (check && check._$root !== check) {
1238
- if (check !== hitParent) {
1239
- check = check._$parent;
1240
- continue;
1241
- }
1242
- isUpperLayer = true;
1243
- break;
1244
- }
1245
- if (!isUpperLayer && hitParent._$parent === instance._$parent
1246
- && hitParent._$index > instance._$index) {
1247
- isUpperLayer = true;
1248
- }
1249
- if (isUpperLayer) {
1250
- break;
1251
- }
1252
- }
1253
- if (hitParent.willTrigger(Next2DMouseEvent.ROLL_OUT)) {
1254
- hitParent.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OUT, false, false));
1255
- }
1256
- hitParent = hitParent._$parent;
1257
- }
1258
- }
1259
- // (3) current object rollOver
1260
- target = instance;
1261
- for (;;) {
1262
- if (target.willTrigger(Next2DMouseEvent.ROLL_OVER)) {
1263
- target.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OVER, false, false));
1264
- }
1265
- target = target._$parent;
1266
- if (!target || target === hitParent
1267
- || target.stage === target) {
1268
- break;
1269
- }
1270
- }
1271
- }
1272
- this._$rollOverObject = instance;
1273
- // (4) mouseOver
1274
- switch (true) {
1275
- case this._$mouseOverTarget === null:
1276
- case this._$mouseOverTarget !== instance:
1277
- if (instance && instance.willTrigger(Next2DMouseEvent.MOUSE_OVER)) {
1278
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_OVER, true, false));
1279
- }
1280
- // set target
1281
- this._$mouseOverTarget = instance;
1282
- break;
1283
- }
1284
- // click reset
1285
- if (this._$state === "up") {
1286
- this._$clickTarget = null;
1287
- }
1288
- // PC
1289
- if (!$isTouch && this._$state === "up") {
1290
- target = instance;
1291
- while (target && target.root !== target) {
1292
- if ("_$text" in target) {
1293
- if (target.type === "input") {
1294
- canPointerText = true;
1295
- break;
1296
- }
1297
- }
1298
- if ("buttonMode" in target && target.buttonMode) {
1299
- canPointer = true;
1300
- break;
1301
- }
1302
- target = target._$parent;
1303
- }
1304
- }
1305
- }
1306
- else {
1307
- // (1) mouseOut
1308
- if (this._$mouseOverTarget) {
1309
- instance = this._$mouseOverTarget;
1310
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_OUT)) {
1311
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_OUT, true, false));
1312
- }
1313
- }
1314
- // (2) rollOut
1315
- if (this._$rollOverObject) {
1316
- target = this._$rollOverObject;
1317
- // parent target
1318
- while (target && target.root !== target) {
1319
- if (target.willTrigger(Next2DMouseEvent.ROLL_OUT)) {
1320
- target.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OUT, false, false));
1321
- }
1322
- target = target._$parent;
1323
- }
1324
- }
1325
- // reset
1326
- this._$rollOverObject = null;
1327
- this._$mouseOverTarget = null;
1328
- }
1329
- // change cursor
1330
- switch (true) {
1331
- case canPointerText:
1332
- this._$canvas.style.cursor = "text";
1333
- break;
1334
- case canPointer:
1335
- this._$canvas.style.cursor = "pointer";
1336
- break;
1337
- case !$isTouch && this._$state === "up":
1338
- this._$canvas.style.cursor = "auto";
1339
- break;
1340
- }
1341
- if (this._$actions.length > 1) {
1342
- this._$doAction();
1343
- }
1344
- }
1345
- /**
1346
- * @return {void}
1347
- * @method
1348
- * @private
1349
- */
1350
- _$action() {
1351
- if (this._$stopFlag) {
1352
- return;
1353
- }
1354
- let loaders = null;
1355
- const length = this._$loaders.length;
1356
- if (length) {
1357
- // clone
1358
- loaders = this._$loaders.slice(0);
1359
- // array reset
1360
- this._$loaders.length = 0;
1361
- for (let idx = 0; idx < length; ++idx) {
1362
- const loader = loaders[idx];
1363
- // first action
1364
- if ("content" in loader) {
1365
- loader.content._$prepareActions();
1366
- }
1367
- }
1368
- }
1369
- // next frame
1370
- this._$stage._$nextFrame();
1371
- // enter frame event
1372
- if (this._$broadcastEvents.has(Next2DEvent.ENTER_FRAME)) {
1373
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.ENTER_FRAME));
1374
- }
1375
- // constructed event
1376
- if (this._$broadcastEvents.has(Next2DEvent.FRAME_CONSTRUCTED)) {
1377
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.FRAME_CONSTRUCTED));
1378
- }
1379
- // execute frame action
1380
- this._$doAction();
1381
- // exit event
1382
- if (this._$broadcastEvents.has(Next2DEvent.EXIT_FRAME)) {
1383
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.EXIT_FRAME));
1384
- }
1385
- // render event
1386
- if (this._$stage._$invalidate) {
1387
- // reset
1388
- this._$stage._$invalidate = false;
1389
- // execute render event
1390
- this._$dispatchEvent(new Next2DEvent(Next2DEvent.RENDER));
1391
- }
1392
- // loader events
1393
- if (loaders) {
1394
- for (let idx = 0; idx < loaders.length; ++idx) {
1395
- const loader = loaders[idx];
1396
- // init event
1397
- if (loader.hasEventListener(Next2DEvent.INIT)) {
1398
- loader.dispatchEvent(new Next2DEvent(Next2DEvent.INIT));
1399
- }
1400
- // complete event
1401
- if (loader.hasEventListener(Next2DEvent.COMPLETE)) {
1402
- loader.dispatchEvent(new Next2DEvent(Next2DEvent.COMPLETE));
1403
- }
1404
- }
1405
- // pool
1406
- $poolArray(loaders);
1407
- }
1408
- // execute frame action
1409
- this._$doAction();
1410
- }
1411
- /**
1412
- * @returns void
1413
- * @private
1414
- */
1415
- _$draw() {
1416
- if (!this._$width || !this._$height) {
1417
- return;
1418
- }
1419
- if ($rendererWorker) {
1420
- $rendererWorker.postMessage({
1421
- "command": "draw"
1422
- });
1423
- }
1424
- if (!this._$stage._$isUpdated()) {
1425
- return;
1426
- }
1427
- const context = this._$context;
1428
- if (!context) {
1429
- return;
1430
- }
1431
- context._$bind(this._$attachment);
1432
- // reset
1433
- context.reset();
1434
- context.setTransform(1, 0, 0, 1, 0, 0);
1435
- context.clearRect(0, 0, this._$width, this._$height);
1436
- context.beginPath();
1437
- this._$stage._$draw(context, this._$matrix, $COLOR_ARRAY_IDENTITY);
1438
- // stage end
1439
- this._$stage._$updated = false;
1440
- const manager = context.frameBuffer;
1441
- const texture = manager
1442
- .getTextureFromCurrentAttachment();
1443
- manager.unbind();
1444
- // reset and draw to main canvas
1445
- context.reset();
1446
- context.setTransform(1, 0, 0, 1, 0, 0);
1447
- context.clearRect(0, 0, this._$width, this._$height);
1448
- context.drawImage(texture, 0, 0, this._$width, this._$height);
1449
- // re bind
1450
- context._$bind(this._$attachment);
1451
- }
1452
- /**
1453
- * @return {void}
1454
- * @method
1455
- * @private
1456
- */
1457
- _$doAction() {
1458
- while (this._$actions.length) {
1459
- this._$actionProcess = true;
1460
- // target object
1461
- const mc = this._$actions.pop();
1462
- if (!mc) {
1463
- continue;
1464
- }
1465
- mc._$canAction = false;
1466
- mc._$actionOffset = 0;
1467
- mc._$actionLimit = 0;
1468
- const frame = mc._$currentFrame;
1469
- if (!mc._$actions.has(frame)) {
1470
- continue;
1471
- }
1472
- const actions = mc._$actions.get(frame);
1473
- if (!actions) {
1474
- continue;
1475
- }
1476
- mc._$actionProcess = true;
1477
- for (let idx = 0; idx < actions.length; ++idx) {
1478
- $setCurrentLoaderInfo(mc._$loaderInfo);
1479
- actions[idx].apply(mc);
1480
- }
1481
- mc._$actionProcess = false;
1482
- // adjustment
1483
- if (mc._$frameCache.size) {
1484
- mc._$currentFrame = mc._$frameCache.get("nextFrame");
1485
- mc._$clearChildren();
1486
- mc._$stopFlag = mc._$frameCache.get("stopFlag");
1487
- mc._$isPlaying = mc._$frameCache.get("isPlaying");
1488
- mc._$frameCache.clear();
1489
- }
1490
- }
1491
- this._$actionProcess = false;
1492
- $setCurrentLoaderInfo(null);
1493
- }
1494
- /**
1495
- * @return {void}
1496
- * @method
1497
- * @private
1498
- */
1499
- _$hitTest() {
1500
- if (this._$stopFlag) {
1501
- return;
1502
- }
1503
- // setup
1504
- const event = $getEvent();
1505
- if (!event) {
1506
- return;
1507
- }
1508
- // update flags
1509
- this._$hitTestStart = true;
1510
- $doUpdated(false);
1511
- // params
1512
- let instance = null;
1513
- let target = null;
1514
- let x = $window.scrollX;
1515
- let y = $window.scrollY;
1516
- const div = $document
1517
- .getElementById(this.contentElementId);
1518
- if (div) {
1519
- const rect = div.getBoundingClientRect();
1520
- x += rect.left;
1521
- y += rect.top;
1522
- }
1523
- let stageX = 0;
1524
- let stageY = 0;
1525
- if ("changedTouches" in event) {
1526
- const changedTouche = event.changedTouches[0];
1527
- stageX = changedTouche.pageX;
1528
- stageY = changedTouche.pageY;
1529
- }
1530
- else if ("pageX" in event) {
1531
- stageX = event.pageX;
1532
- stageY = event.pageY;
1533
- }
1534
- // drop point
1535
- stageX = (stageX - x) / this._$scale;
1536
- stageY = (stageY - y) / this._$scale;
1537
- // update
1538
- this._$stageX = stageX;
1539
- this._$stageY = stageY;
1540
- // setup
1541
- this._$hitObject.x = stageX;
1542
- this._$hitObject.y = stageY;
1543
- this._$hitObject.pointer = "";
1544
- this._$hitObject.hit = null;
1545
- // reset
1546
- $hitContext.setTransform(1, 0, 0, 1, 0, 0);
1547
- $hitContext.beginPath();
1548
- // hit test
1549
- $MATRIX_HIT_ARRAY_IDENTITY[4] = this._$tx / this._$scale / $devicePixelRatio;
1550
- $MATRIX_HIT_ARRAY_IDENTITY[5] = this._$ty / this._$scale / $devicePixelRatio;
1551
- this._$stage._$mouseHit($hitContext, $MATRIX_HIT_ARRAY_IDENTITY, this._$hitObject, true);
1552
- // stop event
1553
- if (this._$hitObject.hit) {
1554
- event.preventDefault();
1555
- }
1556
- // change state
1557
- let canPointerText = false;
1558
- let staticPointer = false;
1559
- let canPointer = false;
1560
- const eventType = $getEventType();
1561
- switch (eventType) {
1562
- case $TOUCH_MOVE:
1563
- case $MOUSE_MOVE:
1564
- if ($dropTarget) {
1565
- const point = $dropTarget._$dragMousePoint();
1566
- let dragX = point.x;
1567
- let dragY = point.y;
1568
- if (!$dragRules.lock) {
1569
- dragX += $dragRules.position.x;
1570
- dragY += $dragRules.position.y;
1571
- }
1572
- const bounds = $dragRules.bounds;
1573
- if (bounds) {
1574
- dragX = $clamp(dragX, bounds.left, bounds.right);
1575
- dragY = $clamp(dragY, bounds.top, bounds.bottom);
1576
- }
1577
- // set move xy
1578
- $dropTarget.x = dragX;
1579
- $dropTarget.y = dragY;
1580
- }
1581
- break;
1582
- case $TOUCH_START:
1583
- case $MOUSE_DOWN:
1584
- this._$state = "down";
1585
- canPointer = this._$canvas.style.cursor === "pointer";
1586
- staticPointer = true;
1587
- break;
1588
- case $TOUCH_END:
1589
- case $MOUSE_UP:
1590
- case $DOUBLE_CLICK:
1591
- this._$state = "up";
1592
- break;
1593
- }
1594
- // execute
1595
- switch (true) {
1596
- case this._$hitObject.hit === null:
1597
- case eventType === $MOUSE_LEAVE:
1598
- // (1) mouseOut
1599
- if (this._$mouseOverTarget) {
1600
- instance = this._$mouseOverTarget;
1601
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_OUT)) {
1602
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_OUT, true, false));
1603
- }
1604
- }
1605
- // (2) rollOut
1606
- if (this._$rollOverObject) {
1607
- target = this._$rollOverObject;
1608
- // parent target
1609
- while (target && target.root !== target) {
1610
- if (target.willTrigger(Next2DMouseEvent.ROLL_OUT)) {
1611
- target.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OUT, false, false));
1612
- }
1613
- target = target._$parent;
1614
- }
1615
- }
1616
- // reset
1617
- this._$rollOverObject = null;
1618
- this._$mouseOverTarget = null;
1619
- // stage event
1620
- switch (eventType) {
1621
- case $MOUSE_WHEEL:
1622
- if (this._$stage.hasEventListener(Next2DMouseEvent.MOUSE_WHEEL)) {
1623
- this._$stage.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_WHEEL, true, false));
1624
- }
1625
- break;
1626
- case $TOUCH_START:
1627
- case $MOUSE_DOWN:
1628
- if (this._$stage.hasEventListener(Next2DMouseEvent.MOUSE_DOWN)) {
1629
- this._$stage.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_DOWN, true, false));
1630
- }
1631
- // TextField focus out
1632
- if (this._$textField) {
1633
- this._$textField.focus = false;
1634
- this._$textField = null;
1635
- }
1636
- break;
1637
- case $TOUCH_END:
1638
- case $MOUSE_UP:
1639
- // TextField focus out
1640
- if (this._$textField) {
1641
- this._$textField.focus = false;
1642
- this._$textField = null;
1643
- }
1644
- if (this._$stage.hasEventListener(Next2DMouseEvent.CLICK)) {
1645
- this._$stage.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.CLICK, true, false));
1646
- }
1647
- if (this._$stage.hasEventListener(Next2DMouseEvent.MOUSE_UP)) {
1648
- this._$stage.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_UP, true, false));
1649
- }
1650
- break;
1651
- case $TOUCH_MOVE:
1652
- case $MOUSE_MOVE:
1653
- if (this._$stage.hasEventListener(Next2DMouseEvent.MOUSE_MOVE)) {
1654
- this._$stage.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_MOVE, true, false));
1655
- }
1656
- break;
1657
- case $DOUBLE_CLICK:
1658
- if (this._$stage.hasEventListener(Next2DMouseEvent.DOUBLE_CLICK)) {
1659
- this._$stage.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.DOUBLE_CLICK, true, false));
1660
- }
1661
- break;
1662
- }
1663
- break;
1664
- default:
1665
- instance = this._$hitObject.hit;
1666
- switch (eventType) {
1667
- // move event
1668
- case $TOUCH_MOVE:
1669
- case $MOUSE_MOVE:
1670
- // (1) mouseMove
1671
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_MOVE)) {
1672
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_MOVE, true, false));
1673
- }
1674
- // (2) mouseOut
1675
- if (this._$mouseOverTarget
1676
- && this._$mouseOverTarget !== instance) {
1677
- const outInstance = this._$mouseOverTarget;
1678
- if (outInstance.willTrigger(Next2DMouseEvent.MOUSE_OUT)) {
1679
- outInstance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_OUT, true, false));
1680
- }
1681
- }
1682
- // rollOut and rollOver
1683
- if (this._$rollOverObject !== instance) {
1684
- let hitParent = null;
1685
- if (this._$rollOverObject) {
1686
- // (3) prev object rollOut
1687
- target = this._$rollOverObject;
1688
- if (target.willTrigger(Next2DMouseEvent.ROLL_OUT)) {
1689
- target.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OUT, false, false));
1690
- }
1691
- // rollOver flag instance
1692
- hitParent = target._$parent;
1693
- while (hitParent && hitParent._$root !== hitParent) {
1694
- if (hitParent === instance) {
1695
- break;
1696
- }
1697
- if (hitParent._$mouseEnabled
1698
- && hitParent._$outCheck(stageX, stageY)) {
1699
- let isUpperLayer = false;
1700
- let check = instance;
1701
- while (check && check._$root !== check) {
1702
- if (check !== hitParent) {
1703
- check = check._$parent;
1704
- continue;
1705
- }
1706
- isUpperLayer = true;
1707
- break;
1708
- }
1709
- if (!isUpperLayer && hitParent._$parent === instance._$parent
1710
- && hitParent._$index > instance._$index) {
1711
- isUpperLayer = true;
1712
- }
1713
- if (isUpperLayer) {
1714
- break;
1715
- }
1716
- }
1717
- if (hitParent.willTrigger(Next2DMouseEvent.ROLL_OUT)) {
1718
- hitParent.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OUT, false, false));
1719
- }
1720
- hitParent = hitParent._$parent;
1721
- }
1722
- }
1723
- // (4) current object rollOver
1724
- target = instance;
1725
- for (;;) {
1726
- if (target.willTrigger(Next2DMouseEvent.ROLL_OVER)) {
1727
- target.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.ROLL_OVER, false, false));
1728
- }
1729
- target = target._$parent;
1730
- if (!target || target === hitParent
1731
- || target.stage === target) {
1732
- break;
1733
- }
1734
- }
1735
- }
1736
- this._$rollOverObject = instance;
1737
- // (5) mouseOver
1738
- switch (true) {
1739
- case this._$mouseOverTarget === null:
1740
- case this._$mouseOverTarget !== instance:
1741
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_OVER)) {
1742
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_OVER, true, false));
1743
- }
1744
- // set target
1745
- this._$mouseOverTarget = instance;
1746
- break;
1747
- }
1748
- // click reset
1749
- if (this._$state === "up") {
1750
- this._$clickTarget = null;
1751
- }
1752
- break;
1753
- // down event
1754
- case $TOUCH_START:
1755
- case $MOUSE_DOWN:
1756
- // TextField focus out
1757
- if (this._$textField
1758
- && instance !== this._$textField
1759
- && "_$text" in this._$textField) {
1760
- this._$textField.focus = false;
1761
- this._$textField = null;
1762
- }
1763
- // TextField focus out
1764
- if ("_$text" in instance) {
1765
- instance.focus = true;
1766
- this._$textField = instance;
1767
- }
1768
- // (3) mouseDown
1769
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_DOWN)) {
1770
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_DOWN, true, false));
1771
- }
1772
- // (4) click
1773
- this._$clickTarget = instance;
1774
- break;
1775
- // up event
1776
- case $TOUCH_END:
1777
- case $MOUSE_UP:
1778
- // TextField focus out
1779
- if (this._$textField
1780
- && instance !== this._$textField
1781
- && "_$text" in this._$textField) {
1782
- this._$textField.focus = false;
1783
- this._$textField = null;
1784
- }
1785
- // (1) mouseUp
1786
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_UP)) {
1787
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_UP, true, false));
1788
- }
1789
- // (2) click
1790
- if (this._$clickTarget === instance) {
1791
- if (instance.willTrigger(Next2DMouseEvent.CLICK)) {
1792
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.CLICK, true, false));
1793
- }
1794
- }
1795
- // reset
1796
- this._$clickTarget = null;
1797
- break;
1798
- case $MOUSE_WHEEL:
1799
- if (instance.willTrigger(Next2DMouseEvent.MOUSE_WHEEL)) {
1800
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.MOUSE_WHEEL));
1801
- }
1802
- if ("deltaY" in event && instance.scrollEnabled) {
1803
- // @ts-ignore
1804
- instance.scrollV += $clamp(event.deltaY, -1, 1, 0);
1805
- }
1806
- break;
1807
- case $DOUBLE_CLICK:
1808
- if (instance.willTrigger(Next2DMouseEvent.DOUBLE_CLICK)) {
1809
- instance.dispatchEvent(new Next2DMouseEvent(Next2DMouseEvent.DOUBLE_CLICK));
1810
- }
1811
- break;
1812
- default:
1813
- break;
1814
- }
1815
- // PC
1816
- if (!staticPointer) {
1817
- if (!$isTouch && this._$state === "up") {
1818
- target = instance;
1819
- while (target && target.root !== target) {
1820
- if ("_$text" in target) {
1821
- if (target.type === "input") {
1822
- canPointerText = true;
1823
- break;
1824
- }
1825
- }
1826
- else {
1827
- if (target._$buttonMode) {
1828
- canPointer = true;
1829
- break;
1830
- }
1831
- }
1832
- target = target._$parent;
1833
- }
1834
- }
1835
- }
1836
- break;
1837
- }
1838
- // change cursor
1839
- switch (true) {
1840
- case canPointerText:
1841
- this._$canvas.style.cursor = "text";
1842
- break;
1843
- case canPointer:
1844
- this._$canvas.style.cursor = "pointer";
1845
- break;
1846
- case !$isTouch && this._$state === "up":
1847
- this._$canvas.style.cursor = "auto";
1848
- break;
1849
- }
1850
- // execute action
1851
- if (!this._$actionProcess && this._$actions.length > 1) {
1852
- this._$doAction();
1853
- }
1854
- if ($isUpdated()) {
1855
- // action script
1856
- this._$stage._$prepareActions();
1857
- if (!this._$actionProcess) {
1858
- this._$doAction();
1859
- }
1860
- }
1861
- this._$hitTestStart = false;
1862
- }
1863
- }