@next2d/player 1.14.7 → 1.14.8

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 (415) hide show
  1. package/@types/next2d.d.ts +4 -0
  2. package/@types/window.d.ts +74 -0
  3. package/README.ja.md +8 -7
  4. package/README.md +17 -12
  5. package/dist/interface/AjaxEventImpl.d.ts +5 -0
  6. package/dist/interface/AjaxEventImpl.js +1 -0
  7. package/dist/interface/AjaxOptionImpl.d.ts +13 -0
  8. package/dist/interface/AjaxOptionImpl.js +1 -0
  9. package/dist/interface/AttachmentImpl.d.ts +11 -0
  10. package/dist/interface/AttachmentImpl.js +1 -0
  11. package/dist/interface/BitmapDataChannelImpl.d.ts +1 -0
  12. package/dist/interface/BitmapDataChannelImpl.js +1 -0
  13. package/dist/interface/BitmapDrawObjectImpl.d.ts +6 -0
  14. package/dist/interface/BitmapDrawObjectImpl.js +1 -0
  15. package/dist/interface/BitmapFilterTypeImpl.d.ts +1 -0
  16. package/dist/interface/BitmapFilterTypeImpl.js +1 -0
  17. package/dist/interface/BlendModeImpl.d.ts +1 -0
  18. package/dist/interface/BlendModeImpl.js +1 -0
  19. package/dist/interface/BoundsImpl.d.ts +6 -0
  20. package/dist/interface/BoundsImpl.js +1 -0
  21. package/dist/interface/Character.d.ts +2 -0
  22. package/dist/interface/Character.js +1 -0
  23. package/dist/interface/CharacterImpl.d.ts +2 -0
  24. package/dist/interface/CharacterImpl.js +1 -0
  25. package/dist/interface/ClassNameMap.d.ts +4 -0
  26. package/dist/interface/ClassNameMap.js +1 -0
  27. package/dist/interface/ClipObjectImpl.d.ts +14 -0
  28. package/dist/interface/ClipObjectImpl.js +1 -0
  29. package/dist/interface/ColorStopImpl.d.ts +7 -0
  30. package/dist/interface/ColorStopImpl.js +1 -0
  31. package/dist/interface/DictionaryTagImpl.d.ts +7 -0
  32. package/dist/interface/DictionaryTagImpl.js +1 -0
  33. package/dist/interface/DisplacementMapFilterModeImpl.d.ts +1 -0
  34. package/dist/interface/DisplacementMapFilterModeImpl.js +1 -0
  35. package/dist/interface/DisplayImpl.d.ts +28 -0
  36. package/dist/interface/DisplayImpl.js +1 -0
  37. package/dist/interface/DisplayObjectImpl.d.ts +2 -0
  38. package/dist/interface/DisplayObjectImpl.js +1 -0
  39. package/dist/interface/DragRulesImpl.d.ts +7 -0
  40. package/dist/interface/DragRulesImpl.js +1 -0
  41. package/dist/interface/DropTargetImpl.d.ts +2 -0
  42. package/dist/interface/DropTargetImpl.js +1 -0
  43. package/dist/interface/EventDispatcherImpl.d.ts +2 -0
  44. package/dist/interface/EventDispatcherImpl.js +1 -0
  45. package/dist/interface/EventListenerImpl.d.ts +6 -0
  46. package/dist/interface/EventListenerImpl.js +1 -0
  47. package/dist/interface/EventsImpl.d.ts +20 -0
  48. package/dist/interface/EventsImpl.js +1 -0
  49. package/dist/interface/FillMeshImpl.d.ts +5 -0
  50. package/dist/interface/FillMeshImpl.js +1 -0
  51. package/dist/interface/FilterArrayImpl.d.ts +10 -0
  52. package/dist/interface/FilterArrayImpl.js +1 -0
  53. package/dist/interface/FilterQualityImpl.d.ts +1 -0
  54. package/dist/interface/FilterQualityImpl.js +1 -0
  55. package/dist/interface/FiltersImpl.d.ts +20 -0
  56. package/dist/interface/FiltersImpl.js +1 -0
  57. package/dist/interface/GeomImpl.d.ts +12 -0
  58. package/dist/interface/GeomImpl.js +1 -0
  59. package/dist/interface/GradientTypeImpl.d.ts +3 -0
  60. package/dist/interface/GradientTypeImpl.js +1 -0
  61. package/dist/interface/GraphicsParentImpl.d.ts +2 -0
  62. package/dist/interface/GraphicsParentImpl.js +1 -0
  63. package/dist/interface/GridImpl.d.ts +6 -0
  64. package/dist/interface/GridImpl.js +1 -0
  65. package/dist/interface/ImageTypeImpl.d.ts +1 -0
  66. package/dist/interface/ImageTypeImpl.js +1 -0
  67. package/dist/interface/IndexRangeImpl.d.ts +4 -0
  68. package/dist/interface/IndexRangeImpl.js +1 -0
  69. package/dist/interface/LoaderInfoDataImpl.d.ts +7 -0
  70. package/dist/interface/LoaderInfoDataImpl.js +1 -0
  71. package/dist/interface/LoopConfigImpl.d.ts +8 -0
  72. package/dist/interface/LoopConfigImpl.js +1 -0
  73. package/dist/interface/LoopTypeImpl.d.ts +1 -0
  74. package/dist/interface/LoopTypeImpl.js +1 -0
  75. package/dist/interface/MediaImpl.d.ts +10 -0
  76. package/dist/interface/MediaImpl.js +1 -0
  77. package/dist/interface/MovieClipActionObjectImpl.d.ts +5 -0
  78. package/dist/interface/MovieClipActionObjectImpl.js +1 -0
  79. package/dist/interface/MovieClipCharacterImpl.d.ts +18 -0
  80. package/dist/interface/MovieClipCharacterImpl.js +1 -0
  81. package/dist/interface/MovieClipLabelObjectImpl.d.ts +4 -0
  82. package/dist/interface/MovieClipLabelObjectImpl.js +1 -0
  83. package/dist/interface/MovieClipSoundObjectImpl.d.ts +5 -0
  84. package/dist/interface/MovieClipSoundObjectImpl.js +1 -0
  85. package/dist/interface/NetImpl.d.ts +6 -0
  86. package/dist/interface/NetImpl.js +1 -0
  87. package/dist/interface/NoCodeDataImpl.d.ts +7 -0
  88. package/dist/interface/NoCodeDataImpl.js +1 -0
  89. package/dist/interface/NoCodeDataZlibImpl.d.ts +4 -0
  90. package/dist/interface/NoCodeDataZlibImpl.js +1 -0
  91. package/dist/interface/ParentImpl.d.ts +2 -0
  92. package/dist/interface/ParentImpl.js +1 -0
  93. package/dist/interface/PlaceObjectImpl.d.ts +12 -0
  94. package/dist/interface/PlaceObjectImpl.js +1 -0
  95. package/dist/interface/PlayerHitObjectImpl.d.ts +7 -0
  96. package/dist/interface/PlayerHitObjectImpl.js +1 -0
  97. package/dist/interface/PlayerModeImpl.d.ts +1 -0
  98. package/dist/interface/PlayerModeImpl.js +1 -0
  99. package/dist/interface/PlayerOptionsImpl.d.ts +8 -0
  100. package/dist/interface/PlayerOptionsImpl.js +1 -0
  101. package/dist/interface/PointImpl.d.ts +4 -0
  102. package/dist/interface/PointImpl.js +1 -0
  103. package/dist/interface/PreObjectImpl.d.ts +23 -0
  104. package/dist/interface/PreObjectImpl.js +1 -0
  105. package/dist/interface/PropertyContainerMessageImpl.d.ts +6 -0
  106. package/dist/interface/PropertyContainerMessageImpl.js +1 -0
  107. package/dist/interface/PropertyMessageImpl.d.ts +41 -0
  108. package/dist/interface/PropertyMessageImpl.js +1 -0
  109. package/dist/interface/PropertyMessageMapImpl.d.ts +2 -0
  110. package/dist/interface/PropertyMessageMapImpl.js +1 -0
  111. package/dist/interface/PropertyShapeMessageImpl.d.ts +6 -0
  112. package/dist/interface/PropertyShapeMessageImpl.js +1 -0
  113. package/dist/interface/PropertyTextMessageImpl.d.ts +25 -0
  114. package/dist/interface/PropertyTextMessageImpl.js +1 -0
  115. package/dist/interface/PropertyVideoMessageImpl.d.ts +5 -0
  116. package/dist/interface/PropertyVideoMessageImpl.js +1 -0
  117. package/dist/interface/RGBAImpl.d.ts +6 -0
  118. package/dist/interface/RGBAImpl.js +1 -0
  119. package/dist/interface/RenderDisplayObjectImpl.d.ts +2 -0
  120. package/dist/interface/RenderDisplayObjectImpl.js +1 -0
  121. package/dist/interface/ShapeCharacterImpl.d.ts +14 -0
  122. package/dist/interface/ShapeCharacterImpl.js +1 -0
  123. package/dist/interface/SoundCharacterImpl.d.ts +5 -0
  124. package/dist/interface/SoundCharacterImpl.js +1 -0
  125. package/dist/interface/SoundTagImpl.d.ts +6 -0
  126. package/dist/interface/SoundTagImpl.js +1 -0
  127. package/dist/interface/SpriteImpl.d.ts +2 -0
  128. package/dist/interface/SpriteImpl.js +1 -0
  129. package/dist/interface/StageDataImpl.d.ts +6 -0
  130. package/dist/interface/StageDataImpl.js +1 -0
  131. package/dist/interface/StageQualityImpl.d.ts +1 -0
  132. package/dist/interface/StageQualityImpl.js +1 -0
  133. package/dist/interface/StrokeMethImpl.d.ts +4 -0
  134. package/dist/interface/StrokeMethImpl.js +1 -0
  135. package/dist/interface/StrokeTypeImpl.d.ts +2 -0
  136. package/dist/interface/StrokeTypeImpl.js +1 -0
  137. package/dist/interface/SurfaceFilterImpl.d.ts +6 -0
  138. package/dist/interface/SurfaceFilterImpl.js +1 -0
  139. package/dist/interface/TextBreakObjectImpl.d.ts +9 -0
  140. package/dist/interface/TextBreakObjectImpl.js +1 -0
  141. package/dist/interface/TextCharacterImpl.d.ts +27 -0
  142. package/dist/interface/TextCharacterImpl.js +1 -0
  143. package/dist/interface/TextDataImpl.d.ts +2 -0
  144. package/dist/interface/TextDataImpl.js +1 -0
  145. package/dist/interface/TextFieldAutoSizeImpl.d.ts +1 -0
  146. package/dist/interface/TextFieldAutoSizeImpl.js +1 -0
  147. package/dist/interface/TextFieldTypeImpl.d.ts +1 -0
  148. package/dist/interface/TextFieldTypeImpl.js +1 -0
  149. package/dist/interface/TextFormatAlignImpl.d.ts +1 -0
  150. package/dist/interface/TextFormatAlignImpl.js +1 -0
  151. package/dist/interface/TextFormatImpl.d.ts +16 -0
  152. package/dist/interface/TextFormatImpl.js +1 -0
  153. package/dist/interface/TextFormatVerticalAlignImpl.d.ts +1 -0
  154. package/dist/interface/TextFormatVerticalAlignImpl.js +1 -0
  155. package/dist/interface/TextImageObjectImpl.d.ts +11 -0
  156. package/dist/interface/TextImageObjectImpl.js +1 -0
  157. package/dist/interface/TextImpl.d.ts +6 -0
  158. package/dist/interface/TextImpl.js +1 -0
  159. package/dist/interface/TextModeImpl.d.ts +1 -0
  160. package/dist/interface/TextModeImpl.js +1 -0
  161. package/dist/interface/TextObjectImpl.d.ts +7 -0
  162. package/dist/interface/TextObjectImpl.js +1 -0
  163. package/dist/interface/TextObjectModeImpl.d.ts +1 -0
  164. package/dist/interface/TextObjectModeImpl.js +1 -0
  165. package/dist/interface/TextStringObjectImpl.d.ts +7 -0
  166. package/dist/interface/TextStringObjectImpl.js +1 -0
  167. package/dist/interface/UIImpl.d.ts +8 -0
  168. package/dist/interface/UIImpl.js +1 -0
  169. package/dist/interface/URLLoaderDataFormatImpl.d.ts +1 -0
  170. package/dist/interface/URLLoaderDataFormatImpl.js +1 -0
  171. package/dist/interface/URLRequestMethodImpl.d.ts +1 -0
  172. package/dist/interface/URLRequestMethodImpl.js +1 -0
  173. package/dist/interface/UniformDataImpl.d.ts +5 -0
  174. package/dist/interface/UniformDataImpl.js +1 -0
  175. package/dist/interface/UnzipQueueImpl.d.ts +6 -0
  176. package/dist/interface/UnzipQueueImpl.js +1 -0
  177. package/dist/interface/VerticesImpl.d.ts +1 -0
  178. package/dist/interface/VerticesImpl.js +1 -0
  179. package/dist/interface/VideoCharacterImpl.d.ts +12 -0
  180. package/dist/interface/VideoCharacterImpl.js +1 -0
  181. package/dist/player/index.d.ts +1 -0
  182. package/dist/player/index.js +40 -0
  183. package/dist/player/next2d/display/BitmapData.d.ts +143 -0
  184. package/dist/player/next2d/display/BitmapData.js +390 -0
  185. package/dist/player/next2d/display/BlendMode.d.ts +204 -0
  186. package/dist/player/next2d/display/BlendMode.js +240 -0
  187. package/dist/player/next2d/display/DisplayObject.d.ts +571 -0
  188. package/dist/player/next2d/display/DisplayObject.js +1733 -0
  189. package/dist/player/next2d/display/DisplayObjectContainer.d.ts +351 -0
  190. package/dist/player/next2d/display/DisplayObjectContainer.js +1765 -0
  191. package/dist/player/next2d/display/FrameLabel.d.ts +98 -0
  192. package/dist/player/next2d/display/FrameLabel.js +122 -0
  193. package/dist/player/next2d/display/Graphics.d.ts +577 -0
  194. package/dist/player/next2d/display/Graphics.js +2193 -0
  195. package/dist/player/next2d/display/GraphicsBitmapFill.d.ts +49 -0
  196. package/dist/player/next2d/display/GraphicsBitmapFill.js +90 -0
  197. package/dist/player/next2d/display/GraphicsGradientFill.d.ts +66 -0
  198. package/dist/player/next2d/display/GraphicsGradientFill.js +162 -0
  199. package/dist/player/next2d/display/InteractiveObject.d.ts +32 -0
  200. package/dist/player/next2d/display/InteractiveObject.js +44 -0
  201. package/dist/player/next2d/display/Loader.d.ts +131 -0
  202. package/dist/player/next2d/display/Loader.js +324 -0
  203. package/dist/player/next2d/display/LoaderInfo.d.ts +122 -0
  204. package/dist/player/next2d/display/LoaderInfo.js +191 -0
  205. package/dist/player/next2d/display/LoopConfig.d.ts +108 -0
  206. package/dist/player/next2d/display/LoopConfig.js +160 -0
  207. package/dist/player/next2d/display/LoopType.d.ts +104 -0
  208. package/dist/player/next2d/display/LoopType.js +122 -0
  209. package/dist/player/next2d/display/MovieClip.d.ts +312 -0
  210. package/dist/player/next2d/display/MovieClip.js +959 -0
  211. package/dist/player/next2d/display/Shape.d.ts +167 -0
  212. package/dist/player/next2d/display/Shape.js +514 -0
  213. package/dist/player/next2d/display/Sprite.d.ts +174 -0
  214. package/dist/player/next2d/display/Sprite.js +288 -0
  215. package/dist/player/next2d/display/Stage.d.ts +164 -0
  216. package/dist/player/next2d/display/Stage.js +255 -0
  217. package/dist/player/next2d/events/Event.d.ts +424 -0
  218. package/dist/player/next2d/events/Event.js +569 -0
  219. package/dist/player/next2d/events/EventDispatcher.d.ts +138 -0
  220. package/dist/player/next2d/events/EventDispatcher.js +624 -0
  221. package/dist/player/next2d/events/EventPhase.d.ts +80 -0
  222. package/dist/player/next2d/events/EventPhase.js +94 -0
  223. package/dist/player/next2d/events/FocusEvent.d.ts +89 -0
  224. package/dist/player/next2d/events/FocusEvent.js +103 -0
  225. package/dist/player/next2d/events/HTTPStatusEvent.d.ts +107 -0
  226. package/dist/player/next2d/events/HTTPStatusEvent.js +142 -0
  227. package/dist/player/next2d/events/IOErrorEvent.d.ts +82 -0
  228. package/dist/player/next2d/events/IOErrorEvent.js +102 -0
  229. package/dist/player/next2d/events/MouseEvent.d.ts +163 -0
  230. package/dist/player/next2d/events/MouseEvent.js +207 -0
  231. package/dist/player/next2d/events/ProgressEvent.d.ts +97 -0
  232. package/dist/player/next2d/events/ProgressEvent.js +125 -0
  233. package/dist/player/next2d/events/VideoEvent.d.ts +145 -0
  234. package/dist/player/next2d/events/VideoEvent.js +183 -0
  235. package/dist/player/next2d/filters/BevelFilter.d.ts +254 -0
  236. package/dist/player/next2d/filters/BevelFilter.js +501 -0
  237. package/dist/player/next2d/filters/BitmapFilter.d.ts +75 -0
  238. package/dist/player/next2d/filters/BitmapFilter.js +96 -0
  239. package/dist/player/next2d/filters/BlurFilter.d.ts +150 -0
  240. package/dist/player/next2d/filters/BlurFilter.js +373 -0
  241. package/dist/player/next2d/filters/ColorMatrixFilter.d.ts +116 -0
  242. package/dist/player/next2d/filters/ColorMatrixFilter.js +180 -0
  243. package/dist/player/next2d/filters/ConvolutionFilter.d.ts +210 -0
  244. package/dist/player/next2d/filters/ConvolutionFilter.js +375 -0
  245. package/dist/player/next2d/filters/DisplacementMapFilter.d.ts +212 -0
  246. package/dist/player/next2d/filters/DisplacementMapFilter.js +381 -0
  247. package/dist/player/next2d/filters/DropShadowFilter.d.ts +240 -0
  248. package/dist/player/next2d/filters/DropShadowFilter.js +470 -0
  249. package/dist/player/next2d/filters/GlowFilter.d.ts +204 -0
  250. package/dist/player/next2d/filters/GlowFilter.js +362 -0
  251. package/dist/player/next2d/filters/GradientBevelFilter.d.ts +243 -0
  252. package/dist/player/next2d/filters/GradientBevelFilter.js +483 -0
  253. package/dist/player/next2d/filters/GradientGlowFilter.d.ts +243 -0
  254. package/dist/player/next2d/filters/GradientGlowFilter.js +473 -0
  255. package/dist/player/next2d/geom/ColorTransform.d.ts +201 -0
  256. package/dist/player/next2d/geom/ColorTransform.js +279 -0
  257. package/dist/player/next2d/geom/Matrix.d.ts +299 -0
  258. package/dist/player/next2d/geom/Matrix.js +455 -0
  259. package/dist/player/next2d/geom/Point.d.ts +213 -0
  260. package/dist/player/next2d/geom/Point.js +276 -0
  261. package/dist/player/next2d/geom/Rectangle.d.ts +364 -0
  262. package/dist/player/next2d/geom/Rectangle.js +517 -0
  263. package/dist/player/next2d/geom/Transform.d.ts +213 -0
  264. package/dist/player/next2d/geom/Transform.js +497 -0
  265. package/dist/player/next2d/media/Sound.d.ts +208 -0
  266. package/dist/player/next2d/media/Sound.js +515 -0
  267. package/dist/player/next2d/media/SoundMixer.d.ts +68 -0
  268. package/dist/player/next2d/media/SoundMixer.js +115 -0
  269. package/dist/player/next2d/media/SoundTransform.d.ts +80 -0
  270. package/dist/player/next2d/media/SoundTransform.js +113 -0
  271. package/dist/player/next2d/media/Video.d.ts +329 -0
  272. package/dist/player/next2d/media/Video.js +871 -0
  273. package/dist/player/next2d/net/URLRequest.d.ts +143 -0
  274. package/dist/player/next2d/net/URLRequest.js +239 -0
  275. package/dist/player/next2d/net/URLRequestHeader.d.ts +82 -0
  276. package/dist/player/next2d/net/URLRequestHeader.js +107 -0
  277. package/dist/player/next2d/text/TextField.d.ts +642 -0
  278. package/dist/player/next2d/text/TextField.js +2707 -0
  279. package/dist/player/next2d/text/TextFormat.d.ts +250 -0
  280. package/dist/player/next2d/text/TextFormat.js +473 -0
  281. package/dist/player/next2d/ui/Easing.d.ts +359 -0
  282. package/dist/player/next2d/ui/Easing.js +481 -0
  283. package/dist/player/next2d/ui/Job.d.ts +155 -0
  284. package/dist/player/next2d/ui/Job.js +344 -0
  285. package/dist/player/next2d/ui/Tween.d.ts +62 -0
  286. package/dist/player/next2d/ui/Tween.js +72 -0
  287. package/dist/player/packages/Display.d.ts +3 -0
  288. package/dist/player/packages/Display.js +36 -0
  289. package/dist/player/packages/Events.d.ts +3 -0
  290. package/dist/player/packages/Events.js +28 -0
  291. package/dist/player/packages/Filters.d.ts +3 -0
  292. package/dist/player/packages/Filters.js +28 -0
  293. package/dist/player/packages/Geom.d.ts +3 -0
  294. package/dist/player/packages/Geom.js +20 -0
  295. package/dist/player/packages/Media.d.ts +3 -0
  296. package/dist/player/packages/Media.js +18 -0
  297. package/dist/player/packages/Net.d.ts +3 -0
  298. package/dist/player/packages/Net.js +14 -0
  299. package/dist/player/packages/Text.d.ts +3 -0
  300. package/dist/player/packages/Text.js +14 -0
  301. package/dist/player/packages/UI.d.ts +3 -0
  302. package/dist/player/packages/UI.js +16 -0
  303. package/dist/player/player/Next2D.d.ts +71 -0
  304. package/dist/player/player/Next2D.js +206 -0
  305. package/dist/player/player/Player.d.ts +334 -0
  306. package/dist/player/player/Player.js +1912 -0
  307. package/dist/player/util/CacheStore.d.ts +115 -0
  308. package/dist/player/util/CacheStore.js +280 -0
  309. package/dist/player/util/Global.d.ts +23 -0
  310. package/dist/player/util/Global.js +67 -0
  311. package/dist/player/util/RenderUtil.d.ts +472 -0
  312. package/dist/player/util/RenderUtil.js +686 -0
  313. package/dist/player/util/Shortcut.d.ts +28 -0
  314. package/dist/player/util/Shortcut.js +28 -0
  315. package/dist/player/util/Util.d.ts +337 -0
  316. package/dist/player/util/Util.js +841 -0
  317. package/dist/renderer/RenderDisplayObject.d.ts +129 -0
  318. package/dist/renderer/RenderDisplayObject.js +567 -0
  319. package/dist/renderer/RenderDisplayObjectContainer.d.ts +70 -0
  320. package/dist/renderer/RenderDisplayObjectContainer.js +670 -0
  321. package/dist/renderer/RenderGlobal.d.ts +76 -0
  322. package/dist/renderer/RenderGlobal.js +88 -0
  323. package/dist/renderer/RenderGraphics.d.ts +90 -0
  324. package/dist/renderer/RenderGraphics.js +597 -0
  325. package/dist/renderer/RenderPlayer.d.ts +164 -0
  326. package/dist/renderer/RenderPlayer.js +421 -0
  327. package/dist/renderer/RenderShape.d.ts +32 -0
  328. package/dist/renderer/RenderShape.js +104 -0
  329. package/dist/renderer/RenderTextField.d.ts +119 -0
  330. package/dist/renderer/RenderTextField.js +709 -0
  331. package/dist/renderer/RenderVideo.d.ts +59 -0
  332. package/dist/renderer/RenderVideo.js +272 -0
  333. package/dist/webgl/BezierConverter.d.ts +59 -0
  334. package/dist/webgl/BezierConverter.js +107 -0
  335. package/dist/webgl/CanvasGradientToWebGL.d.ts +94 -0
  336. package/dist/webgl/CanvasGradientToWebGL.js +187 -0
  337. package/dist/webgl/CanvasPatternToWebGL.d.ts +39 -0
  338. package/dist/webgl/CanvasPatternToWebGL.js +70 -0
  339. package/dist/webgl/CanvasToWebGLContext.d.ts +596 -0
  340. package/dist/webgl/CanvasToWebGLContext.js +1453 -0
  341. package/dist/webgl/CanvasToWebGLContextBlend.d.ts +97 -0
  342. package/dist/webgl/CanvasToWebGLContextBlend.js +303 -0
  343. package/dist/webgl/CanvasToWebGLContextGrid.d.ts +74 -0
  344. package/dist/webgl/CanvasToWebGLContextGrid.js +314 -0
  345. package/dist/webgl/CanvasToWebGLContextMask.d.ts +113 -0
  346. package/dist/webgl/CanvasToWebGLContextMask.js +443 -0
  347. package/dist/webgl/CanvasToWebGLContextPath.d.ts +111 -0
  348. package/dist/webgl/CanvasToWebGLContextPath.js +213 -0
  349. package/dist/webgl/CanvasToWebGLContextStyle.d.ts +77 -0
  350. package/dist/webgl/CanvasToWebGLContextStyle.js +145 -0
  351. package/dist/webgl/ColorBufferPool.d.ts +58 -0
  352. package/dist/webgl/ColorBufferPool.js +137 -0
  353. package/dist/webgl/FrameBufferManager.d.ts +135 -0
  354. package/dist/webgl/FrameBufferManager.js +367 -0
  355. package/dist/webgl/StencilBufferPool.d.ts +56 -0
  356. package/dist/webgl/StencilBufferPool.js +147 -0
  357. package/dist/webgl/TextureManager.d.ts +130 -0
  358. package/dist/webgl/TextureManager.js +303 -0
  359. package/dist/webgl/VertexArrayObjectManager.d.ts +95 -0
  360. package/dist/webgl/VertexArrayObjectManager.js +289 -0
  361. package/dist/webgl/WebGLFillMeshGenerator.d.ts +31 -0
  362. package/dist/webgl/WebGLFillMeshGenerator.js +104 -0
  363. package/dist/webgl/WebGLStrokeMeshGenerator.d.ts +182 -0
  364. package/dist/webgl/WebGLStrokeMeshGenerator.js +510 -0
  365. package/dist/webgl/shader/CanvasToWebGLShader.d.ts +85 -0
  366. package/dist/webgl/shader/CanvasToWebGLShader.js +196 -0
  367. package/dist/webgl/shader/CanvasToWebGLShaderList.d.ts +70 -0
  368. package/dist/webgl/shader/CanvasToWebGLShaderList.js +115 -0
  369. package/dist/webgl/shader/GradientLUTGenerator.d.ts +36 -0
  370. package/dist/webgl/shader/GradientLUTGenerator.js +129 -0
  371. package/dist/webgl/shader/WebGLShaderUniform.d.ts +52 -0
  372. package/dist/webgl/shader/WebGLShaderUniform.js +168 -0
  373. package/dist/webgl/shader/fragment/FragmentShaderLibrary.d.ts +18 -0
  374. package/dist/webgl/shader/fragment/FragmentShaderLibrary.js +35 -0
  375. package/dist/webgl/shader/fragment/FragmentShaderSource.d.ts +29 -0
  376. package/dist/webgl/shader/fragment/FragmentShaderSource.js +99 -0
  377. package/dist/webgl/shader/fragment/FragmentShaderSourceBlend.d.ts +67 -0
  378. package/dist/webgl/shader/fragment/FragmentShaderSourceBlend.js +319 -0
  379. package/dist/webgl/shader/fragment/FragmentShaderSourceGradient.d.ts +44 -0
  380. package/dist/webgl/shader/fragment/FragmentShaderSourceGradient.js +114 -0
  381. package/dist/webgl/shader/fragment/FragmentShaderSourceGradientLUT.d.ts +14 -0
  382. package/dist/webgl/shader/fragment/FragmentShaderSourceGradientLUT.js +58 -0
  383. package/dist/webgl/shader/fragment/FragmentShaderSourceTexture.d.ts +12 -0
  384. package/dist/webgl/shader/fragment/FragmentShaderSourceTexture.js +36 -0
  385. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.d.ts +12 -0
  386. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.js +42 -0
  387. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.d.ts +11 -0
  388. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.js +35 -0
  389. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.d.ts +16 -0
  390. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.js +80 -0
  391. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.d.ts +15 -0
  392. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.js +106 -0
  393. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceFilter.d.ts +112 -0
  394. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceFilter.js +275 -0
  395. package/dist/webgl/shader/variants/BlendShaderVariantCollection.d.ts +99 -0
  396. package/dist/webgl/shader/variants/BlendShaderVariantCollection.js +242 -0
  397. package/dist/webgl/shader/variants/FilterShaderVariantCollection.d.ts +150 -0
  398. package/dist/webgl/shader/variants/FilterShaderVariantCollection.js +398 -0
  399. package/dist/webgl/shader/variants/GradientLUTShaderVariantCollection.d.ts +49 -0
  400. package/dist/webgl/shader/variants/GradientLUTShaderVariantCollection.js +110 -0
  401. package/dist/webgl/shader/variants/GradientShapeShaderVariantCollection.d.ts +61 -0
  402. package/dist/webgl/shader/variants/GradientShapeShaderVariantCollection.js +199 -0
  403. package/dist/webgl/shader/variants/ShapeShaderVariantCollection.d.ts +117 -0
  404. package/dist/webgl/shader/variants/ShapeShaderVariantCollection.js +430 -0
  405. package/dist/webgl/shader/vertex/VertexShaderLibrary.d.ts +18 -0
  406. package/dist/webgl/shader/vertex/VertexShaderLibrary.js +75 -0
  407. package/dist/webgl/shader/vertex/VertexShaderSource.d.ts +23 -0
  408. package/dist/webgl/shader/vertex/VertexShaderSource.js +92 -0
  409. package/dist/webgl/shader/vertex/VertexShaderSourceFill.d.ts +45 -0
  410. package/dist/webgl/shader/vertex/VertexShaderSourceFill.js +112 -0
  411. package/dist/webgl/shader/vertex/VertexShaderSourceStroke.d.ts +27 -0
  412. package/dist/webgl/shader/vertex/VertexShaderSourceStroke.js +149 -0
  413. package/package.json +31 -25
  414. package/SECURITY.md +0 -3
  415. package/next2d.js +0 -7
@@ -0,0 +1,959 @@
1
+ import { Sprite } from "./Sprite";
2
+ import { FrameLabel } from "./FrameLabel";
3
+ import { Sound } from "../media/Sound";
4
+ import { Event } from "../events/Event";
5
+ import { $setCurrentLoaderInfo } from "../../util/Global";
6
+ import { $currentPlayer, $rendererWorker } from "../../util/Util";
7
+ import { $Array, $getArray, $getMap, $isNaN, $Math } from "../../util/RenderUtil";
8
+ /**
9
+ * MovieClip クラスは、Sprite、DisplayObjectContainer、InteractiveObject、DisplayObject
10
+ * および EventDispatcher クラスを継承します。
11
+ * MovieClip オブジェクトには、Sprite オブジェクトとは違ってタイムラインがあります。
12
+ * タイムラインの再生ヘッドが停止されても、その MovieClip オブジェクトの子 MovieClip オブジェクトの再生ヘッドは停止しません。
13
+ *
14
+ * The MovieClip class inherits from the following classes: Sprite, DisplayObjectContainer,
15
+ * InteractiveObject, DisplayObject, and EventDispatcher.
16
+ * Unlike the Sprite object, a MovieClip object has a timeline.
17
+ * When the playback head of the timeline is stopped,
18
+ * the playback head of the child MovieClip object of that MovieClip object will not be stopped.
19
+ *
20
+ * @class
21
+ * @memberOf next2d.display
22
+ * @extends Sprite
23
+ */
24
+ export class MovieClip extends Sprite {
25
+ _$labels;
26
+ _$currentFrame;
27
+ _$stopFlag;
28
+ _$canAction;
29
+ _$childRemove;
30
+ _$canSound;
31
+ _$actionProcess;
32
+ _$actions;
33
+ _$frameCache;
34
+ _$sounds;
35
+ _$actionOffset;
36
+ _$actionLimit;
37
+ _$totalFrames;
38
+ _$isPlaying;
39
+ _$loopConfig;
40
+ _$tweenFrame;
41
+ /**
42
+ * @constructor
43
+ * @public
44
+ */
45
+ constructor() {
46
+ super();
47
+ /**
48
+ * @type {boolean}
49
+ * @default false
50
+ * @private
51
+ */
52
+ this._$stopFlag = false;
53
+ /**
54
+ * @type {boolean}
55
+ * @default true
56
+ * @private
57
+ */
58
+ this._$canAction = true;
59
+ /**
60
+ * @type {boolean}
61
+ * @default false
62
+ * @private
63
+ */
64
+ this._$childRemove = false;
65
+ /**
66
+ * @type {boolean}
67
+ * @default true
68
+ * @private
69
+ */
70
+ this._$canSound = true;
71
+ /**
72
+ * @type {boolean}
73
+ * @default false
74
+ * @private
75
+ */
76
+ this._$actionProcess = false;
77
+ /**
78
+ * @type {Map}
79
+ * @private
80
+ */
81
+ this._$actions = $getMap();
82
+ /**
83
+ * @type {Map}
84
+ * @private
85
+ */
86
+ this._$frameCache = $getMap();
87
+ /**
88
+ * @type {Map}
89
+ * @default null
90
+ * @private
91
+ */
92
+ this._$labels = null;
93
+ /**
94
+ * @type {Map}
95
+ * @private
96
+ */
97
+ this._$sounds = $getMap();
98
+ /**
99
+ * @type {number}
100
+ * @default 0
101
+ * @private
102
+ */
103
+ this._$actionOffset = 0;
104
+ /**
105
+ * @type {number}
106
+ * @default 0
107
+ * @private
108
+ */
109
+ this._$actionLimit = 0;
110
+ /**
111
+ * @type {number}
112
+ * @default 1
113
+ * @private
114
+ */
115
+ this._$currentFrame = 1;
116
+ /**
117
+ * @type {number}
118
+ * @default 1
119
+ * @private
120
+ */
121
+ this._$totalFrames = 1;
122
+ /**
123
+ * @type {boolean}
124
+ * @default false
125
+ * @private
126
+ */
127
+ this._$isPlaying = false;
128
+ /**
129
+ * @type {LoopConfig}
130
+ * @default null
131
+ * @private
132
+ */
133
+ this._$loopConfig = null;
134
+ /**
135
+ * @type {number}
136
+ * @default 0
137
+ * @private
138
+ */
139
+ this._$tweenFrame = 0;
140
+ }
141
+ /**
142
+ * @description 指定されたクラスのストリングを返します。
143
+ * Returns the string representation of the specified class.
144
+ *
145
+ * @return {string}
146
+ * @default [class MovieClip]
147
+ * @method
148
+ * @static
149
+ */
150
+ static toString() {
151
+ return "[class MovieClip]";
152
+ }
153
+ /**
154
+ * @description 指定されたクラスの空間名を返します。
155
+ * Returns the space name of the specified class.
156
+ *
157
+ * @return {string}
158
+ * @default next2d.display.MovieClip
159
+ * @const
160
+ * @static
161
+ */
162
+ static get namespace() {
163
+ return "next2d.display.MovieClip";
164
+ }
165
+ /**
166
+ * @description 指定されたオブジェクトのストリングを返します。
167
+ * Returns the string representation of the specified object.
168
+ *
169
+ * @return {string}
170
+ * @default [object MovieClip]
171
+ * @method
172
+ * @public
173
+ */
174
+ toString() {
175
+ return "[object MovieClip]";
176
+ }
177
+ /**
178
+ * @description 指定されたオブジェクトの空間名を返します。
179
+ * Returns the space name of the specified object.
180
+ *
181
+ * @return {string}
182
+ * @default next2d.display.MovieClip
183
+ * @const
184
+ * @public
185
+ */
186
+ get namespace() {
187
+ return "next2d.display.MovieClip";
188
+ }
189
+ /**
190
+ * @description MovieClip インスタンスのタイムライン内の再生ヘッドが置かれているフレームの番号を示します。
191
+ * Specifies the number of the frame in which the playhead is located
192
+ * in the timeline of the MovieClip instance.
193
+ *
194
+ * @member {number}
195
+ * @default 1
196
+ * @readonly
197
+ * @public
198
+ */
199
+ get currentFrame() {
200
+ return this._$currentFrame;
201
+ }
202
+ /**
203
+ * @description MovieClip インスタンスのタイムライン内の現在のフレームにあるラベルです。
204
+ * The label at the current frame in the timeline of the MovieClip instance.
205
+ *
206
+ * @member {FrameLabel|null}
207
+ * @readonly
208
+ * @public
209
+ */
210
+ get currentFrameLabel() {
211
+ if (!this._$labels) {
212
+ return null;
213
+ }
214
+ const frame = this._$currentFrame;
215
+ if (!this._$labels.has(frame)) {
216
+ return null;
217
+ }
218
+ return this._$labels.get(frame) || null;
219
+ }
220
+ /**
221
+ * @description 現在のシーンの FrameLabel オブジェクトの配列を返します。
222
+ * Returns an array of FrameLabel objects from the current scene.
223
+ *
224
+ * @member {array|null}
225
+ * @readonly
226
+ * @public
227
+ */
228
+ get currentLabels() {
229
+ return !this._$labels || !this._$labels.size
230
+ ? null
231
+ : $Array.from(this._$labels.values());
232
+ }
233
+ /**
234
+ * @description ムービークリップが現在再生されているかどうかを示すブール値です。
235
+ * A Boolean value that indicates whether a movie clip is curently playing.
236
+ *
237
+ * @member {boolean}
238
+ * @default false
239
+ * @readonly
240
+ * @public
241
+ */
242
+ get isPlaying() {
243
+ return this._$isPlaying;
244
+ }
245
+ /**
246
+ * @description MovieClip インスタンス内のフレーム総数です。
247
+ * The total number of frames in the MovieClip instance.
248
+ *
249
+ * @member {number}
250
+ * @default 1
251
+ * @readonly
252
+ * @public
253
+ */
254
+ get totalFrames() {
255
+ return this._$totalFrames;
256
+ }
257
+ /**
258
+ * @description MovieClipのフレームヘッダーの移動方法の設定オブジェクトを返します。
259
+ * Returns a configuration object for how MovieClip's frame headers are moved.
260
+ *
261
+ * @member {object}
262
+ * @default null
263
+ * @public
264
+ */
265
+ get loopConfig() {
266
+ if (this._$loopConfig) {
267
+ return this._$loopConfig;
268
+ }
269
+ const place = this._$getPlaceObject();
270
+ if (!place || !place.loop) {
271
+ return null;
272
+ }
273
+ if (this._$tweenFrame) {
274
+ this._$changePlace = this._$tweenFrame !== this._$parent._$currentFrame;
275
+ this._$tweenFrame = 0;
276
+ }
277
+ if (place.loop.tweenFrame) {
278
+ this._$tweenFrame = place.loop.tweenFrame;
279
+ }
280
+ return place.loop;
281
+ }
282
+ set loopConfig(loop_config) {
283
+ this._$loopConfig = loop_config;
284
+ if (loop_config) {
285
+ loop_config.frame = this._$startFrame;
286
+ this._$loopConfig = loop_config;
287
+ this._$currentFrame = this._$getLoopFrame(loop_config);
288
+ }
289
+ }
290
+ /**
291
+ * @description 指定されたフレームで SWF ファイルの再生を開始します。
292
+ * Starts playing the SWF file at the specified frame.
293
+ *
294
+ * @param {number|string} frame
295
+ * @return {void}
296
+ * @method
297
+ * @public
298
+ */
299
+ gotoAndPlay(frame) {
300
+ this.play();
301
+ this._$goToFrame(frame);
302
+ }
303
+ /**
304
+ * @description このムービークリップの指定されたフレームに再生ヘッドを送り、そこで停止させます。
305
+ * Brings the playhead to the specified frame
306
+ * of the movie clip and stops it there.
307
+ *
308
+ * @param {number|string} frame
309
+ * @return {void}
310
+ * @method
311
+ * @public
312
+ */
313
+ gotoAndStop(frame) {
314
+ this.stop();
315
+ this._$goToFrame(frame);
316
+ }
317
+ /**
318
+ * @description 次のフレームに再生ヘッドを送り、停止します。
319
+ * Sends the playhead to the next frame and stops it.
320
+ *
321
+ * @return {void}
322
+ * @method
323
+ * @public
324
+ */
325
+ nextFrame() {
326
+ this.stop();
327
+ if (this._$totalFrames > this._$currentFrame) {
328
+ this._$goToFrame(this._$currentFrame + 1);
329
+ }
330
+ }
331
+ /**
332
+ * @description ムービークリップのタイムライン内で再生ヘッドを移動します。
333
+ * Moves the playhead in the timeline of the movie clip.
334
+ *
335
+ * @return {void}
336
+ * @method
337
+ * @public
338
+ */
339
+ play() {
340
+ this._$stopFlag = false;
341
+ this._$isPlaying = true;
342
+ this._$updateState();
343
+ }
344
+ /**
345
+ * @description 直前のフレームに再生ヘッドを戻し、停止します。
346
+ * Sends the playhead to the previous frame and stops it.
347
+ *
348
+ * @return {void}
349
+ * @method
350
+ * @public
351
+ */
352
+ prevFrame() {
353
+ const frame = this._$currentFrame - 1;
354
+ if (frame) {
355
+ this.stop();
356
+ this._$goToFrame(frame);
357
+ }
358
+ }
359
+ /**
360
+ * @description ムービークリップ内の再生ヘッドを停止します。
361
+ * Stops the playhead in the movie clip.
362
+ *
363
+ * @return {void}
364
+ * @method
365
+ * @public
366
+ */
367
+ stop() {
368
+ this._$stopFlag = true;
369
+ this._$isPlaying = false;
370
+ }
371
+ /**
372
+ * @description タイムラインに対して動的にLabelを追加できます。
373
+ * Labels can be added dynamically to the timeline.
374
+ *
375
+ * @example <caption>Example1 usage of addFrameLabel.</caption>
376
+ * // case 1
377
+ * const {MovieClip, FrameLabel} = next2d.display;
378
+ * const movieClip = new MovieClip();
379
+ * movieClip.addFrameLabel(new FrameLabel(1, "start"));
380
+ *
381
+ * @param {FrameLabel} frame_label
382
+ * @return {void}
383
+ * @public
384
+ */
385
+ addFrameLabel(frame_label) {
386
+ if (!this._$labels) {
387
+ this._$labels = $getMap();
388
+ }
389
+ this._$labels.set(frame_label.frame, frame_label);
390
+ }
391
+ /**
392
+ * @description 指定のフレームのアクションを追加できます
393
+ * You can add an action for a given frame.
394
+ *
395
+ * @example <caption>Example1 usage of addFrameScript.</caption>
396
+ * // case 1
397
+ * const {MovieClip} = next2d.display;
398
+ * const movieClip = new MovieClip();
399
+ * movieClip.addFrameScript(1 , function ()
400
+ * {
401
+ * this.stop();
402
+ * });
403
+ *
404
+ * @example <caption>Example3 usage of addFrameScript.</caption>
405
+ * // case 2
406
+ * const {MovieClip} = next2d.display;
407
+ * const movieClip = new MovieClip();
408
+ * movieClip.addFrameScript(1, method_1, 2, method_2, 10, method_10);
409
+ *
410
+ * @return {void}
411
+ * @method
412
+ * @public
413
+ */
414
+ addFrameScript(...args) {
415
+ for (let idx = 0; idx < args.length; idx += 2) {
416
+ const value = args[idx];
417
+ let frame = +value;
418
+ if ($isNaN(frame)) {
419
+ frame = this._$getFrameForLabel(`${value}`);
420
+ }
421
+ const script = args[idx + 1];
422
+ if (script && frame && this._$totalFrames >= frame) {
423
+ this._$addAction(frame, script);
424
+ }
425
+ // end action add
426
+ if (frame === this._$currentFrame) {
427
+ // set action position
428
+ const player = $currentPlayer();
429
+ player._$actionOffset = player._$actions.length;
430
+ // execute action stack
431
+ this._$canAction = true;
432
+ this._$setAction();
433
+ // adjustment
434
+ if (player._$actionOffset !== player._$actions.length) {
435
+ // marge
436
+ const actions = player._$actions.splice(0, player._$actionOffset);
437
+ player._$actions.push(...player._$actions, ...actions);
438
+ // reset
439
+ player._$actionOffset = 0;
440
+ }
441
+ }
442
+ }
443
+ }
444
+ /**
445
+ * @param {string} name
446
+ * @return {number}
447
+ * @private
448
+ */
449
+ _$getFrameForLabel(name) {
450
+ if (!this._$labels) {
451
+ return 0;
452
+ }
453
+ for (const [frame, frameLabel] of this._$labels) {
454
+ if (frameLabel.name === name) {
455
+ return frame;
456
+ }
457
+ }
458
+ return 0;
459
+ }
460
+ /**
461
+ * @param {number} frame
462
+ * @param {function} script
463
+ * @return {void}
464
+ * @method
465
+ * @private
466
+ */
467
+ _$addAction(frame, script) {
468
+ if (frame) {
469
+ if (!this._$actions.has(frame)) {
470
+ this._$actions.set(frame, $getArray());
471
+ }
472
+ const actions = this._$actions.get(frame);
473
+ if (actions) {
474
+ actions.push(script);
475
+ }
476
+ }
477
+ }
478
+ /**
479
+ * @return {void}
480
+ * @private
481
+ */
482
+ _$setAction() {
483
+ // added event
484
+ this._$executeAddedEvent();
485
+ if (this._$canAction) {
486
+ const frame = this._$currentFrame;
487
+ // frame label event
488
+ if (this._$labels && this._$labels.has(frame)) {
489
+ const frameLabel = this._$labels.get(frame);
490
+ if (frameLabel && frameLabel.willTrigger(Event.FRAME_LABEL)) {
491
+ frameLabel.dispatchEvent(new Event(Event.FRAME_LABEL));
492
+ }
493
+ }
494
+ // add action queue
495
+ if (this._$actions.size && this._$actions.has(frame)) {
496
+ const player = $currentPlayer();
497
+ const index = player._$actions.indexOf(this);
498
+ if (index === -1) {
499
+ player._$actions.push(this);
500
+ }
501
+ }
502
+ }
503
+ }
504
+ /**
505
+ * @param {number|string} value
506
+ * @return {void}
507
+ * @private
508
+ */
509
+ _$goToFrame(value) {
510
+ let frame = +value;
511
+ if ($isNaN(frame)) {
512
+ frame = this._$getFrameForLabel(`${value}`);
513
+ }
514
+ if (frame < 1) {
515
+ frame = 1;
516
+ }
517
+ // over
518
+ if (frame > this._$totalFrames) {
519
+ this._$currentFrame = this._$totalFrames;
520
+ this._$clearChildren();
521
+ // flag off
522
+ this._$canAction = false;
523
+ this._$wait = false;
524
+ return;
525
+ }
526
+ const player = $currentPlayer();
527
+ switch (true) {
528
+ case frame !== this._$currentFrame:
529
+ {
530
+ // flag off
531
+ this._$wait = false;
532
+ const currentFrame = this._$currentFrame;
533
+ if (this._$actionProcess) {
534
+ this._$frameCache.set("nextFrame", frame);
535
+ this._$frameCache.set("stopFlag", this._$stopFlag);
536
+ this._$frameCache.set("isPlaying", this._$isPlaying);
537
+ }
538
+ // setup
539
+ this._$currentFrame = frame;
540
+ this._$clearChildren();
541
+ // set action position
542
+ player._$actionOffset = player._$actions.length;
543
+ const position = player._$actionOffset
544
+ ? player._$actions.indexOf(this)
545
+ : -1;
546
+ this._$canAction = true;
547
+ this._$prepareActions();
548
+ // adjustment
549
+ if (player._$actionOffset
550
+ && player._$actionOffset !== player._$actions.length) {
551
+ // marge
552
+ const actions = player._$actions.splice(0, player._$actionOffset);
553
+ player._$actions.push(...player._$actions, ...actions);
554
+ // reset
555
+ player._$actionOffset = 0;
556
+ }
557
+ if (!this._$actionProcess && (position > -1 || !player._$actionOffset)) {
558
+ while (player._$actions.length) {
559
+ if (player._$actions.length === position) {
560
+ break;
561
+ }
562
+ // target object
563
+ const mc = player._$actions.pop();
564
+ if (!mc) {
565
+ continue;
566
+ }
567
+ mc._$canAction = false;
568
+ mc._$actionOffset = 0;
569
+ mc._$actionLimit = 0;
570
+ if (mc._$actionProcess && mc._$frameCache.size) {
571
+ mc._$currentFrame = mc._$frameCache.get("nextFrame");
572
+ mc._$clearChildren();
573
+ mc._$stopFlag = mc._$frameCache.get("stopFlag");
574
+ mc._$isPlaying = mc._$frameCache.get("isPlaying");
575
+ mc._$frameCache.clear();
576
+ }
577
+ const frame = mc._$currentFrame;
578
+ if (!mc._$actions.has(frame)) {
579
+ continue;
580
+ }
581
+ const actions = mc._$actions.get(frame);
582
+ if (!actions) {
583
+ continue;
584
+ }
585
+ for (let idx = 0; idx < actions.length; ++idx) {
586
+ try {
587
+ $setCurrentLoaderInfo(mc._$loaderInfo);
588
+ actions[idx].apply(mc);
589
+ }
590
+ catch (e) {
591
+ mc.stop();
592
+ }
593
+ }
594
+ }
595
+ }
596
+ if (this._$actionProcess) {
597
+ this._$currentFrame = currentFrame;
598
+ this._$clearChildren();
599
+ }
600
+ }
601
+ break;
602
+ case !this._$actionProcess && player._$actions.indexOf(this) > -1:
603
+ {
604
+ if (!this._$actionLimit) {
605
+ break;
606
+ }
607
+ // flag off
608
+ this._$wait = false;
609
+ const myActions = player._$actions.splice(this._$actionOffset, this._$actionLimit);
610
+ while (myActions.length) {
611
+ const mc = myActions.pop();
612
+ if (!mc) {
613
+ continue;
614
+ }
615
+ // target reset
616
+ mc._$canAction = false;
617
+ mc._$actionOffset = 0;
618
+ mc._$actionLimit = 0;
619
+ const frame = mc._$currentFrame;
620
+ if (!mc._$actions.has(frame)) {
621
+ continue;
622
+ }
623
+ const actions = mc._$actions.get(frame);
624
+ if (!actions) {
625
+ continue;
626
+ }
627
+ for (let idx = 0; idx < actions.length; ++idx) {
628
+ try {
629
+ $setCurrentLoaderInfo(mc._$loaderInfo);
630
+ // @ts-ignore
631
+ actions[idx].apply(mc);
632
+ }
633
+ catch (e) {
634
+ mc.stop();
635
+ }
636
+ }
637
+ }
638
+ }
639
+ break;
640
+ default:
641
+ break;
642
+ }
643
+ $setCurrentLoaderInfo(null);
644
+ // set sound
645
+ if (this._$canSound && this._$sounds.size
646
+ && this._$sounds.has(this._$currentFrame)
647
+ && !player._$sounds.has(this._$instanceId)) {
648
+ player._$sounds.set(this._$instanceId, this);
649
+ }
650
+ }
651
+ /**
652
+ * @return {void}
653
+ * @method
654
+ * @private
655
+ */
656
+ _$prepareActions() {
657
+ // draw flag
658
+ this._$wait = false;
659
+ const children = this._$needsChildren
660
+ ? this._$getChildren()
661
+ : this._$children;
662
+ for (let idx = children.length - 1; idx > -1; --idx) {
663
+ children[idx]._$prepareActions();
664
+ }
665
+ this._$setAction();
666
+ }
667
+ /**
668
+ * @return {boolean}
669
+ * @method
670
+ * @private
671
+ */
672
+ _$nextFrame() {
673
+ let isNext = this._$needsChildren;
674
+ switch (true) {
675
+ case this._$wait:
676
+ isNext = true;
677
+ this._$wait = false;
678
+ break;
679
+ case this._$stopFlag:
680
+ case this._$totalFrames === 1:
681
+ break;
682
+ default:
683
+ {
684
+ isNext = true;
685
+ // action on
686
+ this._$canAction = true;
687
+ // sound on
688
+ this._$canSound = true;
689
+ const loopConfig = this.loopConfig;
690
+ if (!loopConfig) {
691
+ // next frame point
692
+ ++this._$currentFrame;
693
+ if (this._$currentFrame > this._$totalFrames) {
694
+ this._$currentFrame = 1;
695
+ }
696
+ }
697
+ else {
698
+ const totalFrames = loopConfig.end
699
+ ? loopConfig.end
700
+ : this._$totalFrames;
701
+ switch (loopConfig.type) {
702
+ case 0: // REPEAT
703
+ if (this._$changePlace) {
704
+ this._$currentFrame = loopConfig.start;
705
+ }
706
+ else {
707
+ ++this._$currentFrame;
708
+ if (this._$currentFrame > totalFrames) {
709
+ this._$currentFrame = loopConfig.start;
710
+ }
711
+ }
712
+ break;
713
+ case 1: // NO_REPEAT
714
+ if (this._$changePlace) {
715
+ this._$currentFrame = loopConfig.start;
716
+ }
717
+ else {
718
+ ++this._$currentFrame;
719
+ if (this._$currentFrame > totalFrames) {
720
+ this._$currentFrame = totalFrames;
721
+ isNext = false;
722
+ // action on
723
+ this._$canAction = false;
724
+ // sound on
725
+ this._$canSound = false;
726
+ }
727
+ }
728
+ break;
729
+ case 2: // FIXED
730
+ if (this._$changePlace) {
731
+ this._$currentFrame = loopConfig.start;
732
+ }
733
+ else {
734
+ isNext = false;
735
+ // action on
736
+ this._$canAction = false;
737
+ // sound on
738
+ this._$canSound = false;
739
+ }
740
+ break;
741
+ case 3: // NO_REPEAT_REVERSAL
742
+ if (this._$changePlace) {
743
+ this._$currentFrame = totalFrames;
744
+ }
745
+ else {
746
+ --this._$currentFrame;
747
+ if (loopConfig.start > this._$currentFrame) {
748
+ this._$currentFrame = loopConfig.start;
749
+ isNext = false;
750
+ // action on
751
+ this._$canAction = false;
752
+ // sound on
753
+ this._$canSound = false;
754
+ }
755
+ }
756
+ break;
757
+ case 4: // REPEAT_REVERSAL
758
+ if (this._$changePlace) {
759
+ this._$currentFrame = totalFrames;
760
+ }
761
+ else {
762
+ --this._$currentFrame;
763
+ if (loopConfig.start > this._$currentFrame) {
764
+ this._$currentFrame = totalFrames;
765
+ }
766
+ }
767
+ break;
768
+ }
769
+ }
770
+ // clear
771
+ if (isNext) {
772
+ this._$clearChildren();
773
+ }
774
+ // set sound
775
+ if (this._$canSound && this._$sounds.size
776
+ && this._$sounds.has(this._$currentFrame)) {
777
+ const player = $currentPlayer();
778
+ if (!player._$sounds.has(this._$instanceId)) {
779
+ player._$sounds.set(this._$instanceId, this);
780
+ }
781
+ }
782
+ }
783
+ break;
784
+ }
785
+ const children = this._$needsChildren
786
+ ? this._$getChildren()
787
+ : this._$children;
788
+ for (let idx = children.length - 1; idx > -1; --idx) {
789
+ const child = children[idx];
790
+ if (!child._$isNext) {
791
+ continue;
792
+ }
793
+ if (isNext) {
794
+ child._$nextFrame();
795
+ }
796
+ else {
797
+ isNext = child._$nextFrame();
798
+ }
799
+ }
800
+ // frame action
801
+ this._$setAction();
802
+ this._$isNext = isNext;
803
+ if (!this._$posted && $rendererWorker) {
804
+ this._$postProperty();
805
+ }
806
+ return this._$isNext;
807
+ }
808
+ /**
809
+ * @param {LoopConfig} loop_config
810
+ * @return {number}
811
+ * @method
812
+ * @private
813
+ */
814
+ _$getLoopFrame(loop_config) {
815
+ const parent = this._$parent;
816
+ const length = parent._$currentFrame - loop_config.frame;
817
+ let frame = 1;
818
+ switch (loop_config.type) {
819
+ case 0: // REPEAT
820
+ {
821
+ const totalFrame = loop_config.end
822
+ ? loop_config.end
823
+ : this._$totalFrames;
824
+ frame = loop_config.start;
825
+ for (let idx = 0; idx < length; ++idx) {
826
+ ++frame;
827
+ if (frame > totalFrame) {
828
+ frame = loop_config.start;
829
+ }
830
+ }
831
+ }
832
+ break;
833
+ case 1: // NO_REPEAT
834
+ {
835
+ const totalFrame = loop_config.end
836
+ ? loop_config.end
837
+ : this._$totalFrames;
838
+ frame = $Math.min(totalFrame, loop_config.start + length);
839
+ }
840
+ break;
841
+ case 2: // FIXED
842
+ frame = loop_config.start;
843
+ break;
844
+ case 3: // NO_REPEAT_REVERSAL
845
+ frame = loop_config.end
846
+ ? loop_config.end
847
+ : this._$totalFrames;
848
+ frame = $Math.max(loop_config.start, frame - length);
849
+ break;
850
+ case 4: // REPEAT_REVERSAL
851
+ {
852
+ const totalFrame = loop_config.end
853
+ ? loop_config.end
854
+ : this._$totalFrames;
855
+ frame = totalFrame;
856
+ for (let idx = 0; idx < length; ++idx) {
857
+ --frame;
858
+ if (loop_config.start > frame) {
859
+ frame = totalFrame;
860
+ }
861
+ }
862
+ }
863
+ break;
864
+ }
865
+ return frame;
866
+ }
867
+ /**
868
+ * @param {object} character
869
+ * @return {void}
870
+ * @method
871
+ * @private
872
+ */
873
+ _$buildCharacter(character) {
874
+ if (character.sounds) {
875
+ for (let idx = 0; idx < character.sounds.length; ++idx) {
876
+ const object = character.sounds[idx];
877
+ const sounds = $getArray();
878
+ for (let idx = 0; idx < object.sound.length; ++idx) {
879
+ const sound = new Sound();
880
+ sound._$build(object.sound[idx], this);
881
+ sounds.push(sound);
882
+ }
883
+ this._$sounds.set(object.frame, sounds);
884
+ }
885
+ }
886
+ if (character.actions) {
887
+ for (let idx = 0; idx < character.actions.length; ++idx) {
888
+ const object = character.actions[idx];
889
+ if (!object.script) {
890
+ object.script = Function(object.action);
891
+ }
892
+ this._$addAction(object.frame, object.script);
893
+ }
894
+ }
895
+ if (character.labels) {
896
+ for (let idx = 0; idx < character.labels.length; ++idx) {
897
+ const label = character.labels[idx];
898
+ this.addFrameLabel(new FrameLabel(label.name, label.frame));
899
+ }
900
+ }
901
+ this._$totalFrames = character.totalFrame || 1;
902
+ }
903
+ /**
904
+ * @return {object}
905
+ * @method
906
+ * @private
907
+ */
908
+ _$sync() {
909
+ const character = super._$sync();
910
+ if (character) {
911
+ this._$buildCharacter(character);
912
+ }
913
+ return character;
914
+ }
915
+ /**
916
+ * @param {object} tag
917
+ * @param {DisplayObjectContainer} parent
918
+ * @return {object}
919
+ * @method
920
+ * @private
921
+ */
922
+ _$build(tag, parent) {
923
+ const character = super._$build(tag, parent);
924
+ this._$buildCharacter(character);
925
+ return character;
926
+ }
927
+ /**
928
+ * @return {void}
929
+ * @method
930
+ * @private
931
+ */
932
+ _$soundPlay() {
933
+ if (!this._$sounds.has(this._$currentFrame)) {
934
+ return;
935
+ }
936
+ const sounds = this._$sounds.get(this._$currentFrame);
937
+ if (sounds.length) {
938
+ // set SoundTransform
939
+ let soundTransform = this._$soundTransform;
940
+ let parent = this._$parent;
941
+ while (parent) {
942
+ if (parent._$soundTransform) {
943
+ soundTransform = parent._$soundTransform;
944
+ }
945
+ parent = parent._$parent;
946
+ }
947
+ // play sound
948
+ for (let idx = 0; idx < sounds.length; ++idx) {
949
+ const sound = sounds[idx];
950
+ if (soundTransform) {
951
+ sound.loopCount = soundTransform.loop ? 0xffffff : 0;
952
+ sound.volume = soundTransform.volume;
953
+ }
954
+ sound.play();
955
+ }
956
+ }
957
+ this._$canSound = false;
958
+ }
959
+ }