@next2d/display 1.18.11 → 2.0.0

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 (405) hide show
  1. package/package.json +17 -28
  2. package/src/BitmapData/service/BitmapDataCanvasToBufferService.d.ts +10 -0
  3. package/src/BitmapData/service/BitmapDataCanvasToBufferService.js +22 -0
  4. package/src/BitmapData/service/BitmapDataImageToBufferService.d.ts +10 -0
  5. package/src/BitmapData/service/BitmapDataImageToBufferService.js +21 -0
  6. package/src/BitmapData.d.ts +71 -0
  7. package/src/BitmapData.js +133 -0
  8. package/{dist → src}/BlendMode.d.ts +4 -50
  9. package/{dist → src}/BlendMode.js +4 -58
  10. package/src/DisplayObject/service/DisplayObjectApplyChangesService.d.ts +11 -0
  11. package/src/DisplayObject/service/DisplayObjectApplyChangesService.js +16 -0
  12. package/src/DisplayObject/service/DisplayObjectBaseBuildService.d.ts +16 -0
  13. package/src/DisplayObject/service/DisplayObjectBaseBuildService.js +31 -0
  14. package/src/DisplayObject/service/DisplayObjectBlendToNumberService.d.ts +11 -0
  15. package/src/DisplayObject/service/DisplayObjectBlendToNumberService.js +45 -0
  16. package/src/DisplayObject/service/DisplayObjectBuildFilterService.d.ts +12 -0
  17. package/src/DisplayObject/service/DisplayObjectBuildFilterService.js +53 -0
  18. package/src/DisplayObject/service/DisplayObjectCalcBoundsMatrixService.d.ts +14 -0
  19. package/src/DisplayObject/service/DisplayObjectCalcBoundsMatrixService.js +31 -0
  20. package/src/DisplayObject/service/DisplayObjectDispatchAddedEventService.d.ts +11 -0
  21. package/src/DisplayObject/service/DisplayObjectDispatchAddedEventService.js +19 -0
  22. package/src/DisplayObject/service/DisplayObjectDispatchAddedToStageEventService.d.ts +11 -0
  23. package/src/DisplayObject/service/DisplayObjectDispatchAddedToStageEventService.js +21 -0
  24. package/src/DisplayObject/service/DisplayObjectDispatchRemovedEventService.d.ts +11 -0
  25. package/src/DisplayObject/service/DisplayObjectDispatchRemovedEventService.js +19 -0
  26. package/src/DisplayObject/service/DisplayObjectDispatchRemovedToStageEventService.d.ts +11 -0
  27. package/src/DisplayObject/service/DisplayObjectDispatchRemovedToStageEventService.js +27 -0
  28. package/src/DisplayObject/service/DisplayObjectGenerateHashService.d.ts +10 -0
  29. package/src/DisplayObject/service/DisplayObjectGenerateHashService.js +24 -0
  30. package/src/DisplayObject/service/DisplayObjectGetPlaceObjectService.d.ts +12 -0
  31. package/src/DisplayObject/service/DisplayObjectGetPlaceObjectService.js +41 -0
  32. package/src/DisplayObject/service/DisplayObjectGlobalToLocalService.d.ts +13 -0
  33. package/src/DisplayObject/service/DisplayObjectGlobalToLocalService.js +18 -0
  34. package/src/DisplayObject/service/DisplayObjectLocalToGlobalService.d.ts +13 -0
  35. package/src/DisplayObject/service/DisplayObjectLocalToGlobalService.js +17 -0
  36. package/src/DisplayObject/service/DisplayObjectRemoveService.d.ts +11 -0
  37. package/src/DisplayObject/service/DisplayObjectRemoveService.js +16 -0
  38. package/src/DisplayObject/usecase/DisplayObjectConcatenatedMatrixUseCase.d.ts +12 -0
  39. package/src/DisplayObject/usecase/DisplayObjectConcatenatedMatrixUseCase.js +25 -0
  40. package/src/DisplayObject/usecase/DisplayObjectGetAlphaUseCase.d.ts +11 -0
  41. package/src/DisplayObject/usecase/DisplayObjectGetAlphaUseCase.js +24 -0
  42. package/src/DisplayObject/usecase/DisplayObjectGetBlendModeUseCase.d.ts +12 -0
  43. package/src/DisplayObject/usecase/DisplayObjectGetBlendModeUseCase.js +19 -0
  44. package/src/DisplayObject/usecase/DisplayObjectGetBoundsUseCase.d.ts +13 -0
  45. package/src/DisplayObject/usecase/DisplayObjectGetBoundsUseCase.js +37 -0
  46. package/src/DisplayObject/usecase/DisplayObjectGetCalcBoundsUseCase.d.ts +11 -0
  47. package/src/DisplayObject/usecase/DisplayObjectGetCalcBoundsUseCase.js +28 -0
  48. package/src/DisplayObject/usecase/DisplayObjectGetColorTransformUseCase.d.ts +12 -0
  49. package/src/DisplayObject/usecase/DisplayObjectGetColorTransformUseCase.js +17 -0
  50. package/src/DisplayObject/usecase/DisplayObjectGetFiltersUseCase.d.ts +12 -0
  51. package/src/DisplayObject/usecase/DisplayObjectGetFiltersUseCase.js +25 -0
  52. package/src/DisplayObject/usecase/DisplayObjectGetHeightUseCase.d.ts +11 -0
  53. package/src/DisplayObject/usecase/DisplayObjectGetHeightUseCase.js +24 -0
  54. package/src/DisplayObject/usecase/DisplayObjectGetMatrixUseCase.d.ts +12 -0
  55. package/src/DisplayObject/usecase/DisplayObjectGetMatrixUseCase.js +17 -0
  56. package/src/DisplayObject/usecase/DisplayObjectGetRawBoundsUseCase.d.ts +11 -0
  57. package/src/DisplayObject/usecase/DisplayObjectGetRawBoundsUseCase.js +28 -0
  58. package/src/DisplayObject/usecase/DisplayObjectGetRawColorTransformUseCase.d.ts +11 -0
  59. package/src/DisplayObject/usecase/DisplayObjectGetRawColorTransformUseCase.js +25 -0
  60. package/src/DisplayObject/usecase/DisplayObjectGetRawMatrixUseCase.d.ts +12 -0
  61. package/src/DisplayObject/usecase/DisplayObjectGetRawMatrixUseCase.js +26 -0
  62. package/src/DisplayObject/usecase/DisplayObjectGetRotationUseCase.d.ts +11 -0
  63. package/src/DisplayObject/usecase/DisplayObjectGetRotationUseCase.js +23 -0
  64. package/src/DisplayObject/usecase/DisplayObjectGetScaleXUseCase.d.ts +11 -0
  65. package/src/DisplayObject/usecase/DisplayObjectGetScaleXUseCase.js +29 -0
  66. package/src/DisplayObject/usecase/DisplayObjectGetScaleYUseCase.d.ts +11 -0
  67. package/src/DisplayObject/usecase/DisplayObjectGetScaleYUseCase.js +29 -0
  68. package/src/DisplayObject/usecase/DisplayObjectGetWidthUseCase.d.ts +11 -0
  69. package/src/DisplayObject/usecase/DisplayObjectGetWidthUseCase.js +24 -0
  70. package/src/DisplayObject/usecase/DisplayObjectGetXUseCase.d.ts +11 -0
  71. package/src/DisplayObject/usecase/DisplayObjectGetXUseCase.js +16 -0
  72. package/src/DisplayObject/usecase/DisplayObjectGetYUseCase.d.ts +11 -0
  73. package/src/DisplayObject/usecase/DisplayObjectGetYUseCase.js +16 -0
  74. package/src/DisplayObject/usecase/DisplayObjectHitTestObjectUseCase.d.ts +10 -0
  75. package/src/DisplayObject/usecase/DisplayObjectHitTestObjectUseCase.js +35 -0
  76. package/src/DisplayObject/usecase/DisplayObjectHitTestPointUseCase.d.ts +14 -0
  77. package/src/DisplayObject/usecase/DisplayObjectHitTestPointUseCase.js +69 -0
  78. package/src/DisplayObject/usecase/DisplayObjectIsMaskReflectedInDisplayUseCase.d.ts +16 -0
  79. package/src/DisplayObject/usecase/DisplayObjectIsMaskReflectedInDisplayUseCase.js +59 -0
  80. package/src/DisplayObject/usecase/DisplayObjectSetAlphaUseCase.d.ts +12 -0
  81. package/src/DisplayObject/usecase/DisplayObjectSetAlphaUseCase.js +32 -0
  82. package/src/DisplayObject/usecase/DisplayObjectSetBlendModeUseCase.d.ts +13 -0
  83. package/src/DisplayObject/usecase/DisplayObjectSetBlendModeUseCase.js +18 -0
  84. package/src/DisplayObject/usecase/DisplayObjectSetFiltersUseCase.d.ts +13 -0
  85. package/src/DisplayObject/usecase/DisplayObjectSetFiltersUseCase.js +15 -0
  86. package/src/DisplayObject/usecase/DisplayObjectSetHeightUseCase.d.ts +12 -0
  87. package/src/DisplayObject/usecase/DisplayObjectSetHeightUseCase.js +30 -0
  88. package/src/DisplayObject/usecase/DisplayObjectSetRotationUseCase.d.ts +12 -0
  89. package/src/DisplayObject/usecase/DisplayObjectSetRotationUseCase.js +63 -0
  90. package/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.d.ts +12 -0
  91. package/src/DisplayObject/usecase/DisplayObjectSetScaleXUseCase.js +48 -0
  92. package/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.d.ts +12 -0
  93. package/src/DisplayObject/usecase/DisplayObjectSetScaleYUseCase.js +48 -0
  94. package/src/DisplayObject/usecase/DisplayObjectSetWidthUseCase.d.ts +12 -0
  95. package/src/DisplayObject/usecase/DisplayObjectSetWidthUseCase.js +30 -0
  96. package/src/DisplayObject/usecase/DisplayObjectSetXUseCase.d.ts +12 -0
  97. package/src/DisplayObject/usecase/DisplayObjectSetXUseCase.js +27 -0
  98. package/src/DisplayObject/usecase/DisplayObjectSetYUseCase.d.ts +12 -0
  99. package/src/DisplayObject/usecase/DisplayObjectSetYUseCase.js +27 -0
  100. package/src/DisplayObject.d.ts +706 -0
  101. package/src/DisplayObject.js +1094 -0
  102. package/src/DisplayObjectContainer/service/DisplayObjectContainerAddedToStageService.d.ts +11 -0
  103. package/src/DisplayObjectContainer/service/DisplayObjectContainerAddedToStageService.js +24 -0
  104. package/src/DisplayObjectContainer/service/DisplayObjectContainerAssignStageAndRootService.d.ts +11 -0
  105. package/src/DisplayObjectContainer/service/DisplayObjectContainerAssignStageAndRootService.js +26 -0
  106. package/src/DisplayObjectContainer/service/DisplayObjectContainerContainsService.d.ts +13 -0
  107. package/src/DisplayObjectContainer/service/DisplayObjectContainerContainsService.js +32 -0
  108. package/src/DisplayObjectContainer/service/DisplayObjectContainerGetChildAtService.d.ts +13 -0
  109. package/src/DisplayObjectContainer/service/DisplayObjectContainerGetChildAtService.js +14 -0
  110. package/src/DisplayObjectContainer/service/DisplayObjectContainerGetChildByNameService.d.ts +13 -0
  111. package/src/DisplayObjectContainer/service/DisplayObjectContainerGetChildByNameService.js +24 -0
  112. package/src/DisplayObjectContainer/service/DisplayObjectContainerRemovedToStageService.d.ts +12 -0
  113. package/src/DisplayObjectContainer/service/DisplayObjectContainerRemovedToStageService.js +24 -0
  114. package/src/DisplayObjectContainer/service/DisplayObjectContainerUnAssignStageAndRootService.d.ts +11 -0
  115. package/src/DisplayObjectContainer/service/DisplayObjectContainerUnAssignStageAndRootService.js +29 -0
  116. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerAddChildUseCase.d.ts +13 -0
  117. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerAddChildUseCase.js +53 -0
  118. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerAdvanceFrameUseCase.d.ts +11 -0
  119. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerAdvanceFrameUseCase.js +39 -0
  120. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerCalcBoundsMatrixUseCase.d.ts +11 -0
  121. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerCalcBoundsMatrixUseCase.js +62 -0
  122. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerGenerateClipQueueUseCase.d.ts +13 -0
  123. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerGenerateClipQueueUseCase.js +49 -0
  124. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerGenerateRenderQueueUseCase.d.ts +18 -0
  125. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerGenerateRenderQueueUseCase.js +163 -0
  126. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerMouseHitUseCase.d.ts +17 -0
  127. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerMouseHitUseCase.js +206 -0
  128. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerPrepareUseCase.d.ts +11 -0
  129. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerPrepareUseCase.js +32 -0
  130. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRawBoundsMatrixUseCase.d.ts +12 -0
  131. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRawBoundsMatrixUseCase.js +62 -0
  132. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRemoveChildAtUseCase.d.ts +12 -0
  133. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRemoveChildAtUseCase.js +19 -0
  134. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRemoveChildUseCase.d.ts +13 -0
  135. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRemoveChildUseCase.js +66 -0
  136. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRemoveChildrenUseCase.d.ts +12 -0
  137. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerRemoveChildrenUseCase.js +25 -0
  138. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerSetChildIndexUseCase.d.ts +14 -0
  139. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerSetChildIndexUseCase.js +22 -0
  140. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerSwapChildrenAtUseCase.d.ts +13 -0
  141. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerSwapChildrenAtUseCase.js +23 -0
  142. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerSwapChildrenUseCase.d.ts +14 -0
  143. package/src/DisplayObjectContainer/usecase/DisplayObjectContainerSwapChildrenUseCase.js +23 -0
  144. package/src/DisplayObjectContainer.d.ts +229 -0
  145. package/src/DisplayObjectContainer.js +317 -0
  146. package/src/DisplayObjectUtil.d.ts +288 -0
  147. package/src/DisplayObjectUtil.js +465 -0
  148. package/src/FrameLabel.d.ts +45 -0
  149. package/src/FrameLabel.js +59 -0
  150. package/src/Graphics/service/GraphicsCalcFillBoundsService.d.ts +13 -0
  151. package/src/Graphics/service/GraphicsCalcFillBoundsService.js +17 -0
  152. package/src/Graphics/service/GraphicsCalcLineBoundsService.d.ts +17 -0
  153. package/src/Graphics/service/GraphicsCalcLineBoundsService.js +58 -0
  154. package/src/Graphics/service/GraphicsDrawEllipseService.d.ts +15 -0
  155. package/src/Graphics/service/GraphicsDrawEllipseService.js +36 -0
  156. package/src/Graphics/service/GraphicsDrawRectService.d.ts +15 -0
  157. package/src/Graphics/service/GraphicsDrawRectService.js +28 -0
  158. package/src/Graphics/service/GraphicsDrawRoundRectService.d.ts +17 -0
  159. package/src/Graphics/service/GraphicsDrawRoundRectService.js +48 -0
  160. package/src/Graphics/service/GraphicsHitTestService.d.ts +13 -0
  161. package/src/Graphics/service/GraphicsHitTestService.js +73 -0
  162. package/src/Graphics/service/GraphicsMargePathService.d.ts +15 -0
  163. package/src/Graphics/service/GraphicsMargePathService.js +23 -0
  164. package/src/Graphics/service/GraphicsToNumberArrayService.d.ts +10 -0
  165. package/src/Graphics/service/GraphicsToNumberArrayService.js +242 -0
  166. package/src/Graphics/usecase/GraphicsCalcBoundsUseCase.d.ts +17 -0
  167. package/src/Graphics/usecase/GraphicsCalcBoundsUseCase.js +28 -0
  168. package/{dist → src}/Graphics.d.ts +240 -217
  169. package/src/Graphics.js +1224 -0
  170. package/{dist → src}/GraphicsBitmapFill.d.ts +4 -5
  171. package/{dist → src}/GraphicsBitmapFill.js +29 -6
  172. package/{dist → src}/GraphicsGradientFill.d.ts +12 -13
  173. package/{dist → src}/GraphicsGradientFill.js +68 -19
  174. package/src/InteractiveObject.d.ts +37 -0
  175. package/src/InteractiveObject.js +51 -0
  176. package/src/Loader/service/LoaderBuildService.d.ts +13 -0
  177. package/src/Loader/service/LoaderBuildService.js +46 -0
  178. package/src/Loader/service/LoaderLoadStartEventService.d.ts +12 -0
  179. package/src/Loader/service/LoaderLoadStartEventService.js +19 -0
  180. package/src/Loader/service/LoaderProgressEventService.d.ts +12 -0
  181. package/src/Loader/service/LoaderProgressEventService.js +16 -0
  182. package/src/Loader/usecase/LoaderLoadEndEventUseCase.d.ts +12 -0
  183. package/src/Loader/usecase/LoaderLoadEndEventUseCase.js +39 -0
  184. package/src/Loader/usecase/LoaderLoadJsonUseCase.d.ts +14 -0
  185. package/src/Loader/usecase/LoaderLoadJsonUseCase.js +33 -0
  186. package/src/Loader/usecase/LoaderLoadUseCase.d.ts +14 -0
  187. package/src/Loader/usecase/LoaderLoadUseCase.js +39 -0
  188. package/src/Loader/worker/ZlibInflateWorker.d.ts +2 -0
  189. package/src/Loader/worker/ZlibInflateWorker.js +20 -0
  190. package/src/Loader.d.ts +82 -0
  191. package/src/Loader.js +104 -0
  192. package/src/LoaderInfo.d.ts +68 -0
  193. package/src/LoaderInfo.js +96 -0
  194. package/src/LoopConfig.d.ts +61 -0
  195. package/src/LoopConfig.js +86 -0
  196. package/src/LoopType.d.ts +59 -0
  197. package/src/LoopType.js +69 -0
  198. package/src/MovieClip/service/MovieClipAddActionsService.d.ts +12 -0
  199. package/src/MovieClip/service/MovieClipAddActionsService.js +27 -0
  200. package/src/MovieClip/service/MovieClipAddFrameLabelService.d.ts +13 -0
  201. package/src/MovieClip/service/MovieClipAddFrameLabelService.js +16 -0
  202. package/src/MovieClip/service/MovieClipAddLabelsService.d.ts +13 -0
  203. package/src/MovieClip/service/MovieClipAddLabelsService.js +20 -0
  204. package/src/MovieClip/service/MovieClipBuildSoundsService.d.ts +15 -0
  205. package/src/MovieClip/service/MovieClipBuildSoundsService.js +47 -0
  206. package/src/MovieClip/service/MovieClipCurrentFrameLabelService.d.ts +12 -0
  207. package/src/MovieClip/service/MovieClipCurrentFrameLabelService.js +19 -0
  208. package/src/MovieClip/service/MovieClipCurrentLabelsService.d.ts +12 -0
  209. package/src/MovieClip/service/MovieClipCurrentLabelsService.js +14 -0
  210. package/src/MovieClip/service/MovieClipDispatchFrameLabelEventService.d.ts +13 -0
  211. package/src/MovieClip/service/MovieClipDispatchFrameLabelEventService.js +24 -0
  212. package/src/MovieClip/service/MovieClipGetChildrenService.d.ts +13 -0
  213. package/src/MovieClip/service/MovieClipGetChildrenService.js +133 -0
  214. package/src/MovieClip/service/MovieClipGetFrameForLabelService.d.ts +12 -0
  215. package/src/MovieClip/service/MovieClipGetFrameForLabelService.js +22 -0
  216. package/src/MovieClip/service/MovieClipSetActionService.d.ts +12 -0
  217. package/src/MovieClip/service/MovieClipSetActionService.js +21 -0
  218. package/src/MovieClip/service/MovieClipSetSoundsService.d.ts +13 -0
  219. package/src/MovieClip/service/MovieClipSetSoundsService.js +21 -0
  220. package/src/MovieClip/usecase/MovieClipAdvanceFrameUseCase.d.ts +11 -0
  221. package/src/MovieClip/usecase/MovieClipAdvanceFrameUseCase.js +36 -0
  222. package/src/MovieClip/usecase/MovieClipBuildDictionaryCharacterUseCase.d.ts +17 -0
  223. package/src/MovieClip/usecase/MovieClipBuildDictionaryCharacterUseCase.js +51 -0
  224. package/src/MovieClip/usecase/MovieClipBuildFromCharacterUseCase.d.ts +12 -0
  225. package/src/MovieClip/usecase/MovieClipBuildFromCharacterUseCase.js +33 -0
  226. package/src/MovieClip/usecase/MovieClipGoToFrameUseCase.d.ts +12 -0
  227. package/src/MovieClip/usecase/MovieClipGoToFrameUseCase.js +58 -0
  228. package/src/MovieClip/usecase/MovieClipGotoAndPlayUseCase.d.ts +12 -0
  229. package/src/MovieClip/usecase/MovieClipGotoAndPlayUseCase.js +15 -0
  230. package/src/MovieClip/usecase/MovieClipGotoAndStopUseCase.d.ts +12 -0
  231. package/src/MovieClip/usecase/MovieClipGotoAndStopUseCase.js +16 -0
  232. package/src/MovieClip/usecase/MovieClipNextFrameUseCase.d.ts +11 -0
  233. package/src/MovieClip/usecase/MovieClipNextFrameUseCase.js +17 -0
  234. package/src/MovieClip/usecase/MovieClipPrepareActionUseCase.d.ts +11 -0
  235. package/src/MovieClip/usecase/MovieClipPrepareActionUseCase.js +21 -0
  236. package/src/MovieClip/usecase/MovieClipPrepareSoundUseCase.d.ts +11 -0
  237. package/src/MovieClip/usecase/MovieClipPrepareSoundUseCase.js +18 -0
  238. package/src/MovieClip/usecase/MovieClipPrevFrameUseCase.d.ts +11 -0
  239. package/src/MovieClip/usecase/MovieClipPrevFrameUseCase.js +17 -0
  240. package/{dist → src}/MovieClip.d.ts +128 -167
  241. package/src/MovieClip.js +409 -0
  242. package/src/Shape/service/ShapeGetRawBoundsService.d.ts +10 -0
  243. package/src/Shape/service/ShapeGetRawBoundsService.js +13 -0
  244. package/src/Shape/usecase/ShapeBuildFromCharacterUseCase.d.ts +13 -0
  245. package/src/Shape/usecase/ShapeBuildFromCharacterUseCase.js +121 -0
  246. package/src/Shape/usecase/ShapeCalcBoundsMatrixUseCase.d.ts +12 -0
  247. package/src/Shape/usecase/ShapeCalcBoundsMatrixUseCase.js +30 -0
  248. package/src/Shape/usecase/ShapeClearBitmapBufferUseCase.d.ts +11 -0
  249. package/src/Shape/usecase/ShapeClearBitmapBufferUseCase.js +24 -0
  250. package/src/Shape/usecase/ShapeGenerateClipQueueUseCase.d.ts +12 -0
  251. package/src/Shape/usecase/ShapeGenerateClipQueueUseCase.js +30 -0
  252. package/src/Shape/usecase/ShapeGenerateRenderQueueUseCase.d.ts +17 -0
  253. package/src/Shape/usecase/ShapeGenerateRenderQueueUseCase.js +241 -0
  254. package/src/Shape/usecase/ShapeHitTestUseCase.d.ts +15 -0
  255. package/src/Shape/usecase/ShapeHitTestUseCase.js +34 -0
  256. package/src/Shape/usecase/ShapeLoadSrcUseCase.d.ts +12 -0
  257. package/src/Shape/usecase/ShapeLoadSrcUseCase.js +32 -0
  258. package/src/Shape/usecase/ShapeSetBitmapBufferUseCase.d.ts +14 -0
  259. package/src/Shape/usecase/ShapeSetBitmapBufferUseCase.js +22 -0
  260. package/src/Shape.d.ts +153 -0
  261. package/src/Shape.js +235 -0
  262. package/src/Sprite/service/SpriteStartDragService.d.ts +14 -0
  263. package/src/Sprite/service/SpriteStartDragService.js +22 -0
  264. package/src/Sprite/service/SpriteStopDragService.d.ts +11 -0
  265. package/src/Sprite/service/SpriteStopDragService.js +17 -0
  266. package/src/Sprite.d.ts +126 -0
  267. package/src/Sprite.js +192 -0
  268. package/src/Stage/service/StageExecuteFrameActionsService.d.ts +9 -0
  269. package/src/Stage/service/StageExecuteFrameActionsService.js +34 -0
  270. package/src/Stage/service/StageExecuteFrameSoundsService.d.ts +9 -0
  271. package/src/Stage/service/StageExecuteFrameSoundsService.js +35 -0
  272. package/src/Stage/usecase/StageGenerateRenderQueueUseCase.d.ts +18 -0
  273. package/src/Stage/usecase/StageGenerateRenderQueueUseCase.js +42 -0
  274. package/src/Stage/usecase/StageReadyUseCase.d.ts +11 -0
  275. package/src/Stage/usecase/StageReadyUseCase.js +20 -0
  276. package/src/Stage/usecase/StageTickerUseCase.d.ts +9 -0
  277. package/src/Stage/usecase/StageTickerUseCase.js +20 -0
  278. package/src/Stage.d.ts +161 -0
  279. package/src/Stage.js +240 -0
  280. package/src/TextField/service/TextFieldGetRawBoundsService.d.ts +10 -0
  281. package/src/TextField/service/TextFieldGetRawBoundsService.js +12 -0
  282. package/src/TextField/usecase/TextFieldCalcBoundsMatrixUseCase.d.ts +12 -0
  283. package/src/TextField/usecase/TextFieldCalcBoundsMatrixUseCase.js +30 -0
  284. package/src/TextField/usecase/TextFieldGenerateRenderQueueUseCase.d.ts +17 -0
  285. package/src/TextField/usecase/TextFieldGenerateRenderQueueUseCase.js +200 -0
  286. package/src/TextField/usecase/TextFieldHitTestUseCase.d.ts +15 -0
  287. package/src/TextField/usecase/TextFieldHitTestUseCase.js +36 -0
  288. package/src/Video/service/VideoGetRawBoundsService.d.ts +11 -0
  289. package/src/Video/service/VideoGetRawBoundsService.js +13 -0
  290. package/src/Video/usecase/VideoCalcBoundsMatrixUseCase.d.ts +12 -0
  291. package/src/Video/usecase/VideoCalcBoundsMatrixUseCase.js +30 -0
  292. package/src/Video/usecase/VideoGenerateRenderQueueUseCase.d.ts +18 -0
  293. package/src/Video/usecase/VideoGenerateRenderQueueUseCase.js +177 -0
  294. package/src/Video/usecase/VideoHitTestUseCase.d.ts +15 -0
  295. package/src/Video/usecase/VideoHitTestUseCase.js +37 -0
  296. package/{dist → src}/index.d.ts +0 -3
  297. package/{dist → src}/index.js +0 -3
  298. package/src/interface/IAjaxEvent.d.ts +5 -0
  299. package/src/interface/IAjaxEvent.js +1 -0
  300. package/src/interface/IAjaxOption.d.ts +13 -0
  301. package/src/interface/IAjaxOption.js +1 -0
  302. package/src/interface/IAnimationToolData.d.ts +8 -0
  303. package/src/interface/IAnimationToolData.js +1 -0
  304. package/src/interface/IAnimationToolDataZlib.d.ts +4 -0
  305. package/src/interface/IAnimationToolDataZlib.js +1 -0
  306. package/src/interface/IBlendMode.d.ts +1 -0
  307. package/src/interface/IBlendMode.js +1 -0
  308. package/src/interface/IBounds.d.ts +6 -0
  309. package/src/interface/IBounds.js +1 -0
  310. package/src/interface/ICapsStyle.d.ts +1 -0
  311. package/src/interface/ICapsStyle.js +1 -0
  312. package/src/interface/ICharacter.d.ts +5 -0
  313. package/src/interface/ICharacter.js +1 -0
  314. package/src/interface/IColorStop.d.ts +7 -0
  315. package/src/interface/IColorStop.js +1 -0
  316. package/src/interface/IDictionaryTag.d.ts +8 -0
  317. package/src/interface/IDictionaryTag.js +1 -0
  318. package/src/interface/IDisplayObject.d.ts +2 -0
  319. package/src/interface/IDisplayObject.js +1 -0
  320. package/src/interface/IFilterArray.d.ts +2 -0
  321. package/src/interface/IFilterArray.js +1 -0
  322. package/src/interface/IGradientType.d.ts +1 -0
  323. package/src/interface/IGradientType.js +1 -0
  324. package/src/interface/IGrid.d.ts +6 -0
  325. package/src/interface/IGrid.js +1 -0
  326. package/src/interface/IInterpolationMethod.d.ts +1 -0
  327. package/src/interface/IInterpolationMethod.js +1 -0
  328. package/src/interface/IJointStyle.d.ts +1 -0
  329. package/src/interface/IJointStyle.js +1 -0
  330. package/src/interface/ILoaderInfoData.d.ts +7 -0
  331. package/src/interface/ILoaderInfoData.js +1 -0
  332. package/src/interface/ILoopConfig.d.ts +8 -0
  333. package/src/interface/ILoopConfig.js +1 -0
  334. package/src/interface/ILoopType.d.ts +1 -0
  335. package/src/interface/ILoopType.js +1 -0
  336. package/src/interface/IMovieClipActionObject.d.ts +5 -0
  337. package/src/interface/IMovieClipActionObject.js +1 -0
  338. package/src/interface/IMovieClipCharacter.d.ts +17 -0
  339. package/src/interface/IMovieClipCharacter.js +1 -0
  340. package/src/interface/IMovieClipLabelObject.d.ts +4 -0
  341. package/src/interface/IMovieClipLabelObject.js +1 -0
  342. package/src/interface/IMovieClipSoundObject.d.ts +5 -0
  343. package/src/interface/IMovieClipSoundObject.js +1 -0
  344. package/src/interface/IParent.d.ts +2 -0
  345. package/src/interface/IParent.js +1 -0
  346. package/src/interface/IPlaceObject.d.ts +14 -0
  347. package/src/interface/IPlaceObject.js +1 -0
  348. package/src/interface/IPlayerHitObject.d.ts +7 -0
  349. package/src/interface/IPlayerHitObject.js +1 -0
  350. package/src/interface/IShapeCharacter.d.ts +14 -0
  351. package/src/interface/IShapeCharacter.js +1 -0
  352. package/src/interface/ISoundCharacter.d.ts +4 -0
  353. package/src/interface/ISoundCharacter.js +1 -0
  354. package/src/interface/ISoundTag.d.ts +6 -0
  355. package/src/interface/ISoundTag.js +1 -0
  356. package/src/interface/ISpreadMethod.d.ts +1 -0
  357. package/src/interface/ISpreadMethod.js +1 -0
  358. package/src/interface/ISprite.d.ts +2 -0
  359. package/src/interface/ISprite.js +1 -0
  360. package/src/interface/IStageData.d.ts +6 -0
  361. package/src/interface/IStageData.js +1 -0
  362. package/src/interface/ISurfaceFilter.d.ts +6 -0
  363. package/src/interface/ISurfaceFilter.js +1 -0
  364. package/src/interface/ITextFieldCharacter.d.ts +26 -0
  365. package/src/interface/ITextFieldCharacter.js +1 -0
  366. package/src/interface/ITextFieldType.d.ts +1 -0
  367. package/src/interface/ITextFieldType.js +1 -0
  368. package/src/interface/ITextFormatAlign.d.ts +1 -0
  369. package/src/interface/ITextFormatAlign.js +1 -0
  370. package/src/interface/IURLLoaderDataFormat.d.ts +1 -0
  371. package/src/interface/IURLLoaderDataFormat.js +1 -0
  372. package/src/interface/IURLRequestHeader.d.ts +4 -0
  373. package/src/interface/IURLRequestHeader.js +1 -0
  374. package/src/interface/IURLRequestMethod.d.ts +1 -0
  375. package/src/interface/IURLRequestMethod.js +1 -0
  376. package/src/interface/IVideoCharacter.d.ts +11 -0
  377. package/src/interface/IVideoCharacter.js +1 -0
  378. package/dist/BitmapData.d.ts +0 -151
  379. package/dist/BitmapData.js +0 -416
  380. package/dist/DisplayObject.d.ts +0 -563
  381. package/dist/DisplayObject.js +0 -1791
  382. package/dist/DisplayObjectContainer.d.ts +0 -346
  383. package/dist/DisplayObjectContainer.js +0 -1608
  384. package/dist/FrameLabel.d.ts +0 -98
  385. package/dist/FrameLabel.js +0 -120
  386. package/dist/Graphics.js +0 -2304
  387. package/dist/InteractiveObject.d.ts +0 -32
  388. package/dist/InteractiveObject.js +0 -43
  389. package/dist/Loader.d.ts +0 -140
  390. package/dist/Loader.js +0 -319
  391. package/dist/LoaderInfo.d.ts +0 -120
  392. package/dist/LoaderInfo.js +0 -184
  393. package/dist/LoopConfig.d.ts +0 -108
  394. package/dist/LoopConfig.js +0 -156
  395. package/dist/LoopType.d.ts +0 -104
  396. package/dist/LoopType.js +0 -122
  397. package/dist/MovieClip.js +0 -934
  398. package/dist/Shape.d.ts +0 -162
  399. package/dist/Shape.js +0 -517
  400. package/dist/Sprite.d.ts +0 -158
  401. package/dist/Sprite.js +0 -258
  402. package/dist/Stage.d.ts +0 -164
  403. package/dist/Stage.js +0 -252
  404. package/dist/TextField.d.ts +0 -656
  405. package/dist/TextField.js +0 -2807
@@ -1,1791 +0,0 @@
1
- import { Event as Next2DEvent, EventDispatcher } from "@next2d/events";
2
- import { Transform, Rectangle, Point } from "@next2d/geom";
3
- import { $getEvent, $getInstanceId, $currentMousePoint, $poolColorTransform, $rendererWorker, $poolMatrix, $hitContext, $variables, $blendToNumber } from "@next2d/util";
4
- import { $doUpdated, $clamp, $getArray, $boundsMatrix, $Math, $poolBoundsObject, $Infinity, $getBoundsObject, $isNaN, $Deg2Rad, $Number, $Rad2Deg, $SHORT_INT_MIN, $SHORT_INT_MAX, $MATRIX_ARRAY_IDENTITY, $multiplicationMatrix, $poolFloat32Array6, $getMap, $poolMap, $getFloat32Array6, $devicePixelRatio, $poolArray, $cacheStore } from "@next2d/share";
5
- /**
6
- * DisplayObject クラスは、表示リストに含めることのできるすべてのオブジェクトに関する基本クラスです。
7
- * DisplayObject クラス自体は、画面上でのコンテンツの描画のための API を含みません。
8
- * そのため、DisplayObject クラスのカスタムサブクラスを作成する場合は、
9
- * Shape、Sprite、Bitmap、TextField または MovieClip など、
10
- * 画面上にコンテンツを描画する API を持つサブクラスの 1 つを拡張する必要があります。
11
- *
12
- * The DisplayObject class is the base class for all objects that can be placed on the display list.
13
- * The DisplayObject class itself does not include any APIs for rendering content onscreen.
14
- * For that reason, if you want create a custom subclass of the DisplayObject class,
15
- * you will want to extend one of its subclasses that do have APIs for rendering content onscreen,
16
- * such as the Shape, Sprite, Bitmap, TextField, or MovieClip class.
17
- *
18
- * @class
19
- * @memberOf next2d.display
20
- * @extends EventDispatcher
21
- */
22
- export class DisplayObject extends EventDispatcher {
23
- /**
24
- * @constructor
25
- * @public
26
- */
27
- constructor() {
28
- super();
29
- /**
30
- * @type {number}
31
- * @private
32
- */
33
- this._$id = -1;
34
- /**
35
- * @type {number}
36
- * @private
37
- */
38
- this._$instanceId = $getInstanceId();
39
- /**
40
- * @type {number}
41
- * @private
42
- */
43
- this._$characterId = 0;
44
- /**
45
- * @type {boolean}
46
- * @default false
47
- * @private
48
- */
49
- this._$active = false;
50
- /**
51
- * @type {boolean}
52
- * @default false
53
- * @private
54
- */
55
- this._$isMask = false;
56
- /**
57
- * @type {boolean}
58
- * @default false
59
- * @private
60
- */
61
- this._$updated = true;
62
- /**
63
- * @type {boolean}
64
- * @default false
65
- * @private
66
- */
67
- this._$added = false;
68
- /**
69
- * @type {boolean}
70
- * @default false
71
- * @private
72
- */
73
- this._$addedStage = false;
74
- /**
75
- * @type {array|null}
76
- * @default null
77
- * @private
78
- */
79
- this._$filters = null;
80
- /**
81
- * @type {string|null}
82
- * @default null
83
- * @private
84
- */
85
- this._$blendMode = null;
86
- /**
87
- * @type {Sprite|null}
88
- * @default null
89
- * @private
90
- */
91
- this._$hitObject = null;
92
- /**
93
- * @type {boolean}
94
- * @default true
95
- * @private
96
- */
97
- this._$isNext = true;
98
- /**
99
- * @type {boolean}
100
- * @default false
101
- * @private
102
- */
103
- this._$created = false;
104
- /**
105
- * @type {boolean}
106
- * @default false
107
- * @private
108
- */
109
- this._$posted = false;
110
- /**
111
- * @type {Float32Array}
112
- * @default null
113
- * @private
114
- */
115
- this._$postArray = null;
116
- /**
117
- * @type {number}
118
- * @default 0
119
- * @private
120
- */
121
- this._$clipDepth = 0;
122
- /**
123
- * @type {string}
124
- * @default ""
125
- * @private
126
- */
127
- this._$name = "";
128
- /**
129
- * @type {boolean}
130
- * @default true
131
- * @private
132
- */
133
- this._$visible = true;
134
- /**
135
- * @type {DisplayObject|null}
136
- * @default null
137
- * @private
138
- */
139
- this._$mask = null;
140
- /**
141
- * @type {Rectangle|null}
142
- * @default null
143
- * @private
144
- */
145
- this._$scale9Grid = null;
146
- /**
147
- * @type {Sprite | null}
148
- * @default null
149
- * @private
150
- */
151
- this._$parent = null;
152
- /**
153
- * @type {Stage|null}
154
- * @default null
155
- * @private
156
- */
157
- this._$stage = null;
158
- /**
159
- * @type {Sprite|null}
160
- * @default null
161
- * @private
162
- */
163
- this._$root = null;
164
- /**
165
- * @type {number|null}
166
- * @default null
167
- * @private
168
- */
169
- this._$loaderInfo = null;
170
- /**
171
- * @type {number|null}
172
- * @default null
173
- * @private
174
- */
175
- this._$placeId = -1;
176
- /**
177
- * @type {number}
178
- * @default null
179
- * @private
180
- */
181
- this._$startFrame = 1;
182
- /**
183
- * @type {number}
184
- * @default 0
185
- * @private
186
- */
187
- this._$endFrame = 0;
188
- /**
189
- * @type {Transform}
190
- * @private
191
- */
192
- this._$transform = new Transform(this);
193
- /**
194
- * @type {Map}
195
- * @default null
196
- * @private
197
- */
198
- this._$variables = null;
199
- /**
200
- * @type {object}
201
- * @default null
202
- * @private
203
- */
204
- this._$placeObject = null;
205
- /**
206
- * @type {number}
207
- * @default -1
208
- * @private
209
- */
210
- this._$currentPlaceId = -1;
211
- /**
212
- * @type {boolean}
213
- * @default false
214
- * @private
215
- */
216
- this._$changePlace = false;
217
- /**
218
- * @type {number}
219
- * @default null
220
- * @private
221
- */
222
- this._$scaleX = null;
223
- /**
224
- * @type {number}
225
- * @default null
226
- * @private
227
- */
228
- this._$scaleY = null;
229
- /**
230
- * @type {number}
231
- * @default null
232
- * @private
233
- */
234
- this._$rotation = null;
235
- }
236
- /**
237
- * @description 指定されたオブジェクトのアルファ透明度値を示します。
238
- * 有効な値は 0.0(完全な透明)~ 1.0(完全な不透明)です。
239
- * デフォルト値は 1.0 です。alpha が 0.0 に設定されている表示オブジェクトは、
240
- * 表示されない場合でも、アクティブです。
241
- * Indicates the alpha transparency value of the object specified.
242
- * Valid values are 0.0 (fully transparent) to 1.0 (fully opaque).
243
- * The default value is 1.0. Display objects with alpha set to 0.0 are active,
244
- * even though they are invisible.
245
- *
246
- * @member {number}
247
- * @default 1
248
- * @public
249
- */
250
- get alpha() {
251
- const colorTransform = this
252
- ._$transform
253
- ._$rawColorTransform();
254
- return colorTransform[3] + colorTransform[7] / 255;
255
- }
256
- set alpha(alpha) {
257
- alpha = $clamp(alpha, 0, 1, 0);
258
- const transform = this._$transform;
259
- // clone
260
- if (!transform._$colorTransform) {
261
- const colorTransform = transform.colorTransform;
262
- colorTransform._$colorTransform[3] = alpha;
263
- colorTransform._$colorTransform[7] = 0;
264
- transform.colorTransform = colorTransform;
265
- $poolColorTransform(colorTransform);
266
- }
267
- else {
268
- const colorTransform = transform._$colorTransform;
269
- colorTransform._$colorTransform[3] = alpha;
270
- colorTransform._$colorTransform[7] = 0;
271
- this._$doChanged();
272
- $doUpdated();
273
- }
274
- }
275
- /**
276
- * @description 使用するブレンドモードを指定する BlendMode クラスの値です。
277
- * A value from the BlendMode class that specifies which blend mode to use.
278
- *
279
- * @member {string}
280
- * @default BlendMode.NORMAL
281
- * @public
282
- */
283
- get blendMode() {
284
- // use cache
285
- if (this._$blendMode) {
286
- return this._$blendMode;
287
- }
288
- const transform = this._$transform;
289
- if (transform._$blendMode) {
290
- // cache
291
- this._$blendMode = transform._$blendMode;
292
- return transform._$blendMode;
293
- }
294
- const placeObject = this._$placeObject || this._$getPlaceObject();
295
- if (placeObject && placeObject.blendMode) {
296
- // cache
297
- this._$blendMode = placeObject.blendMode;
298
- return placeObject.blendMode;
299
- }
300
- // cache
301
- this._$blendMode = "normal";
302
- return "normal";
303
- }
304
- set blendMode(blend_mode) {
305
- const transform = this._$transform;
306
- if (!transform._$blendMode) {
307
- transform._$transform(null, null, null, blend_mode);
308
- }
309
- else {
310
- transform._$blendMode = blend_mode;
311
- this._$doChanged();
312
- $doUpdated();
313
- }
314
- this._$blendMode = blend_mode;
315
- }
316
- /**
317
- * @description 表示オブジェクトに現在関連付けられている各フィルターオブジェクトが
318
- * 格納されているインデックス付きの配列です。
319
- * An indexed array that contains each filter object
320
- * currently associated with the display object.
321
- *
322
- * @member {array}
323
- * @default {array}
324
- * @public
325
- */
326
- get filters() {
327
- // use cache
328
- if (this._$filters) {
329
- const filters = $getArray();
330
- for (let idx = 0; idx < this._$filters.length; ++idx) {
331
- filters[idx] = this._$filters[idx].clone();
332
- }
333
- return filters;
334
- }
335
- const transform = this._$transform;
336
- if (transform._$filters) {
337
- const clone = $getArray();
338
- const filters = $getArray();
339
- for (let idx = 0; idx < transform._$filters.length; ++idx) {
340
- const filter = transform._$filters[idx];
341
- clone[idx] = filter.clone();
342
- filters[idx] = filter.clone();
343
- }
344
- // cache
345
- this._$filters = clone;
346
- return filters;
347
- }
348
- const placeObject = this._$placeObject || this._$getPlaceObject();
349
- if (placeObject && placeObject.surfaceFilterList) {
350
- // create filter
351
- if (!placeObject.filters) {
352
- placeObject.filters = transform
353
- ._$buildFilter(placeObject.surfaceFilterList);
354
- }
355
- const clone = $getArray();
356
- // @ts-ignore
357
- const filters = $getArray();
358
- for (let idx = 0; idx < placeObject.filters.length; ++idx) {
359
- const filter = placeObject.filters[idx];
360
- clone[idx] = filter.clone();
361
- filters[idx] = filter.clone();
362
- }
363
- // cache
364
- this._$filters = clone;
365
- return filters;
366
- }
367
- const filters = $getArray();
368
- // cache
369
- this._$filters = filters;
370
- return filters;
371
- }
372
- set filters(filters) {
373
- if (!filters) {
374
- filters = $getArray();
375
- }
376
- this._$transform._$transform(null, null, filters);
377
- this._$filters = filters;
378
- }
379
- /**
380
- * @description 表示オブジェクトの高さを示します(ピクセル単位)。
381
- * Indicates the height of the display object, in pixels.
382
- *
383
- * @member {number}
384
- * @public
385
- */
386
- get height() {
387
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
388
- ? this._$getBounds()
389
- : $getBoundsObject();
390
- const bounds = $boundsMatrix(baseBounds, this._$transform._$rawMatrix());
391
- $poolBoundsObject(baseBounds);
392
- const height = $Math.abs(bounds.yMax - bounds.yMin);
393
- // object pool
394
- $poolBoundsObject(bounds);
395
- switch (height) {
396
- case 0:
397
- case $Infinity:
398
- case -$Infinity:
399
- return 0;
400
- default:
401
- return +height.toFixed(2);
402
- }
403
- }
404
- set height(height) {
405
- height = +height;
406
- if (!$isNaN(height) && height > -1) {
407
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
408
- ? this._$getBounds()
409
- : $getBoundsObject();
410
- const rotation = this.rotation;
411
- const bounds = rotation
412
- ? $boundsMatrix(baseBounds, this._$transform._$rawMatrix())
413
- : baseBounds;
414
- if (rotation) {
415
- $poolBoundsObject(baseBounds);
416
- }
417
- const exHeight = $Math.abs(bounds.yMax - bounds.yMin);
418
- $poolBoundsObject(bounds);
419
- switch (exHeight) {
420
- case 0:
421
- case $Infinity:
422
- case -$Infinity:
423
- this.scaleY = 0;
424
- break;
425
- default:
426
- this.scaleY = height / exHeight;
427
- break;
428
- }
429
- }
430
- }
431
- /**
432
- * @description この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。
433
- * Returns a LoaderInfo object containing information
434
- * about loading the file to which this display object belongs.
435
- *
436
- * @member {LoaderInfo}
437
- * @default null
438
- * @readonly
439
- * @public
440
- */
441
- get loaderInfo() {
442
- return this._$loaderInfo;
443
- }
444
- /**
445
- * @description 呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
446
- * The calling display object is masked by the specified mask object.
447
- *
448
- * @member {DisplayObject|null}
449
- * @public
450
- */
451
- get mask() {
452
- return this._$mask;
453
- }
454
- set mask(mask) {
455
- if (mask === this._$mask) {
456
- return;
457
- }
458
- // reset
459
- if (this._$mask) {
460
- if ($rendererWorker && this._$mask.stage) {
461
- this._$mask._$removeWorkerInstance();
462
- }
463
- this._$mask._$isMask = false;
464
- this._$mask = null;
465
- }
466
- if (mask) {
467
- if ($rendererWorker
468
- && "_$createWorkerInstance" in mask
469
- && typeof mask._$createWorkerInstance === "function") {
470
- mask._$createWorkerInstance();
471
- }
472
- mask._$isMask = true;
473
- this._$mask = mask;
474
- }
475
- this._$doChanged();
476
- }
477
- /**
478
- * @description マウスまたはユーザー入力デバイスの x 軸の位置をピクセルで示します。
479
- * Indicates the x coordinate of the mouse or user input device position, in pixels.
480
- *
481
- * @member {number}
482
- * @default 0
483
- * @readonly
484
- * @public
485
- */
486
- get mouseX() {
487
- return $getEvent()
488
- ? this.globalToLocal($currentMousePoint()).x
489
- : 0;
490
- }
491
- /**
492
- * @description マウスまたはユーザー入力デバイスの y 軸の位置をピクセルで示します。
493
- * Indicates the y coordinate of the mouse or user input device position, in pixels.
494
- *
495
- * @member {number}
496
- * @default 0
497
- * @readonly
498
- * @public
499
- */
500
- get mouseY() {
501
- return $getEvent()
502
- ? this.globalToLocal($currentMousePoint()).y
503
- : 0;
504
- }
505
- /**
506
- * @description DisplayObject のインスタンス名を示します。
507
- * Indicates the instance name of the DisplayObject.
508
- *
509
- * @member {string}
510
- * @public
511
- */
512
- get name() {
513
- if (this._$name) {
514
- return this._$name;
515
- }
516
- return `instance${this._$instanceId}`;
517
- }
518
- set name(name) {
519
- this._$name = `${name}`;
520
- const parent = this._$parent;
521
- if (parent && parent._$names) {
522
- parent._$names.clear();
523
- const children = parent._$getChildren();
524
- for (let idx = 0; idx < children.length; ++idx) {
525
- const child = children[idx];
526
- if (child._$name) {
527
- parent._$names.set(child.name, child);
528
- }
529
- }
530
- }
531
- }
532
- /**
533
- * @description この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
534
- * Indicates the DisplayObjectContainer object that contains this display object.
535
- *
536
- * @member {DisplayObjectContainer | null}
537
- * @readonly
538
- * @public
539
- */
540
- get parent() {
541
- return this._$parent;
542
- }
543
- /**
544
- * @description 読み込まれた SWF ファイル内の表示オブジェクトの場合、
545
- * root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
546
- * For a display object in a loaded SWF file,
547
- * the root property is the top-most display object
548
- * in the portion of the display list's tree structure represented by that SWF file.
549
- *
550
- * @member {DisplayObject|null}
551
- * @readonly
552
- * @public
553
- */
554
- get root() {
555
- return this._$root;
556
- }
557
- /**
558
- * @description DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
559
- * Indicates the rotation of the DisplayObject instance,
560
- * in degrees, from its original orientation.
561
- *
562
- * @member {number}
563
- * @public
564
- */
565
- get rotation() {
566
- if (this._$rotation !== null) {
567
- return this._$rotation;
568
- }
569
- const matrix = this._$transform._$rawMatrix();
570
- return $Math.atan2(matrix[1], matrix[0]) * $Rad2Deg;
571
- }
572
- set rotation(rotation) {
573
- rotation = $clamp(rotation % 360, 0 - 360, 360, 0);
574
- if (this._$rotation === rotation) {
575
- return;
576
- }
577
- const transform = this._$transform;
578
- const hasMatrix = transform._$matrix !== null;
579
- const matrix = hasMatrix
580
- ? transform._$matrix
581
- : transform.matrix;
582
- const scaleX = $Math.sqrt(matrix.a * matrix.a + matrix.b * matrix.b);
583
- const scaleY = $Math.sqrt(matrix.c * matrix.c + matrix.d * matrix.d);
584
- if (rotation === 0) {
585
- matrix.a = scaleX;
586
- matrix.b = 0;
587
- matrix.c = 0;
588
- matrix.d = scaleY;
589
- }
590
- else {
591
- let radianX = $Math.atan2(matrix.b, matrix.a);
592
- let radianY = $Math.atan2(0 - matrix.c, matrix.d);
593
- const radian = rotation * $Deg2Rad;
594
- radianY = radianY + radian - radianX;
595
- radianX = radian;
596
- matrix.b = scaleX * $Math.sin(radianX);
597
- if (matrix.b === 1 || matrix.b === -1) {
598
- matrix.a = 0;
599
- }
600
- else {
601
- matrix.a = scaleX * $Math.cos(radianX);
602
- }
603
- matrix.c = -scaleY * $Math.sin(radianY);
604
- if (matrix.c === 1 || matrix.c === -1) {
605
- matrix.d = 0;
606
- }
607
- else {
608
- matrix.d = scaleY * $Math.cos(radianY);
609
- }
610
- }
611
- if (hasMatrix) {
612
- this._$doChanged();
613
- $doUpdated();
614
- }
615
- else {
616
- transform.matrix = matrix;
617
- $poolMatrix(matrix);
618
- }
619
- this._$rotation = rotation;
620
- }
621
- /**
622
- * @description 現在有効な拡大 / 縮小グリッドです。
623
- * The current scaling grid that is in effect.
624
- *
625
- * @member {Rectangle}
626
- * @public
627
- */
628
- get scale9Grid() {
629
- return this._$scale9Grid;
630
- }
631
- set scale9Grid(scale_9_grid) {
632
- if (this._$scale9Grid !== scale_9_grid) {
633
- this._$scale9Grid = scale_9_grid;
634
- this._$doChanged();
635
- $doUpdated();
636
- }
637
- }
638
- /**
639
- * @description 基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。
640
- * Indicates the horizontal scale (percentage)
641
- * of the object as applied from the registration point.
642
- *
643
- * @member {number}
644
- * @public
645
- */
646
- get scaleX() {
647
- if (this._$scaleX !== null) {
648
- return this._$scaleX;
649
- }
650
- const matrix = this._$transform._$rawMatrix();
651
- let xScale = $Math.sqrt(matrix[0] * matrix[0]
652
- + matrix[1] * matrix[1]);
653
- if (!$Number.isInteger(xScale)) {
654
- const value = xScale.toString();
655
- const index = value.indexOf("e");
656
- if (index !== -1) {
657
- xScale = +value.slice(0, index);
658
- }
659
- xScale = +xScale.toFixed(4);
660
- }
661
- return 0 > matrix[0] ? xScale * -1 : xScale;
662
- }
663
- set scaleX(scale_x) {
664
- scale_x = $clamp(+scale_x, $SHORT_INT_MIN, $SHORT_INT_MAX);
665
- if (!$Number.isInteger(scale_x)) {
666
- const value = scale_x.toString();
667
- const index = value.indexOf("e");
668
- if (index !== -1) {
669
- scale_x = +value.slice(0, index);
670
- }
671
- scale_x = +scale_x.toFixed(4);
672
- }
673
- if (this._$scaleX === scale_x) {
674
- return;
675
- }
676
- const transform = this._$transform;
677
- const hasMatrix = transform._$matrix !== null;
678
- const matrix = hasMatrix
679
- ? transform._$matrix
680
- : transform.matrix;
681
- if (matrix.b === 0 || $isNaN(matrix.b)) {
682
- matrix.a = scale_x;
683
- }
684
- else {
685
- let radianX = $Math.atan2(matrix.b, matrix.a);
686
- if (radianX === -$Math.PI) {
687
- radianX = 0;
688
- }
689
- matrix.b = scale_x * $Math.sin(radianX);
690
- matrix.a = scale_x * $Math.cos(radianX);
691
- }
692
- if (hasMatrix) {
693
- this._$doChanged();
694
- $doUpdated();
695
- }
696
- else {
697
- transform.matrix = matrix;
698
- $poolMatrix(matrix);
699
- }
700
- this._$scaleX = scale_x;
701
- }
702
- /**
703
- * @description 基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。
704
- * IIndicates the vertical scale (percentage)
705
- * of an object as applied from the registration point.
706
- *
707
- * @member {number}
708
- * @public
709
- */
710
- get scaleY() {
711
- if (this._$scaleY !== null) {
712
- return this._$scaleY;
713
- }
714
- const matrix = this._$transform._$rawMatrix();
715
- let yScale = $Math.sqrt(matrix[2] * matrix[2]
716
- + matrix[3] * matrix[3]);
717
- if (!$Number.isInteger(yScale)) {
718
- const value = yScale.toString();
719
- const index = value.indexOf("e");
720
- if (index !== -1) {
721
- yScale = +value.slice(0, index);
722
- }
723
- yScale = +yScale.toFixed(4);
724
- }
725
- return 0 > matrix[3] ? yScale * -1 : yScale;
726
- }
727
- set scaleY(scale_y) {
728
- scale_y = $clamp(+scale_y, $SHORT_INT_MIN, $SHORT_INT_MAX);
729
- if (!$Number.isInteger(scale_y)) {
730
- const value = scale_y.toString();
731
- const index = value.indexOf("e");
732
- if (index !== -1) {
733
- scale_y = +value.slice(0, index);
734
- }
735
- scale_y = +scale_y.toFixed(4);
736
- }
737
- if (this._$scaleY === scale_y) {
738
- return;
739
- }
740
- const transform = this._$transform;
741
- const hasMatrix = transform._$matrix !== null;
742
- const matrix = hasMatrix
743
- ? transform._$matrix
744
- : transform.matrix;
745
- if (matrix.c === 0 || $isNaN(matrix.c)) {
746
- matrix.d = scale_y;
747
- }
748
- else {
749
- let radianY = $Math.atan2(-matrix.c, matrix.d);
750
- if (radianY === -$Math.PI) {
751
- radianY = 0;
752
- }
753
- matrix.c = -scale_y * $Math.sin(radianY);
754
- matrix.d = scale_y * $Math.cos(radianY);
755
- }
756
- if (hasMatrix) {
757
- this._$doChanged();
758
- $doUpdated();
759
- }
760
- else {
761
- transform.matrix = matrix;
762
- $poolMatrix(matrix);
763
- }
764
- this._$scaleY = scale_y;
765
- }
766
- /**
767
- * @description 表示オブジェクトのステージです。
768
- * The Stage of the display object.
769
- *
770
- * @member {Stage}
771
- * @readonly
772
- * @public
773
- */
774
- get stage() {
775
- if (this._$stage) {
776
- return this._$stage;
777
- }
778
- // find parent
779
- const parent = this._$parent;
780
- if (parent) {
781
- return parent._$stage;
782
- }
783
- return null;
784
- }
785
- /**
786
- * @description 表示オブジェクトのマトリックス、カラー変換、
787
- * ピクセル境界に関係するプロパティを持つオブジェクトです。
788
- * An object with properties pertaining
789
- * to a display object's matrix, color transform, and pixel bounds.
790
- *
791
- * @member {Transform}
792
- * @public
793
- */
794
- get transform() {
795
- return this._$transform;
796
- }
797
- set transform(transform) {
798
- this._$transform = transform;
799
- }
800
- /**
801
- * @description 表示オブジェクトが可視かどうかを示します。
802
- * Whether or not the display object is visible.
803
- *
804
- * @member {boolean}
805
- * @public
806
- */
807
- get visible() {
808
- return this._$visible;
809
- }
810
- set visible(visible) {
811
- if (this._$visible !== visible) {
812
- this._$visible = !!visible;
813
- this._$doChanged();
814
- $doUpdated();
815
- }
816
- }
817
- /**
818
- * @description 表示オブジェクトの幅を示します(ピクセル単位)。
819
- * Indicates the width of the display object, in pixels.
820
- *
821
- * @member {number}
822
- * @public
823
- */
824
- get width() {
825
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
826
- ? this._$getBounds()
827
- : $getBoundsObject();
828
- const bounds = $boundsMatrix(baseBounds, this._$transform._$rawMatrix());
829
- $poolBoundsObject(baseBounds);
830
- const width = $Math.abs(bounds.xMax - bounds.xMin);
831
- $poolBoundsObject(bounds);
832
- switch (true) {
833
- case width === 0:
834
- case width === $Infinity:
835
- case width === 0 - $Infinity:
836
- return 0;
837
- default:
838
- return +width.toFixed(2);
839
- }
840
- }
841
- set width(width) {
842
- width = +width;
843
- if (!$isNaN(width) && width > -1) {
844
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
845
- ? this._$getBounds()
846
- : $getBoundsObject();
847
- const rotation = this.rotation;
848
- const bounds = rotation
849
- ? $boundsMatrix(baseBounds, this._$transform._$rawMatrix())
850
- : baseBounds;
851
- if (rotation) {
852
- $poolBoundsObject(baseBounds);
853
- }
854
- const exWidth = $Math.abs(bounds.xMax - bounds.xMin);
855
- $poolBoundsObject(bounds);
856
- switch (true) {
857
- case exWidth === 0:
858
- case exWidth === $Infinity:
859
- case exWidth === -$Infinity:
860
- this.scaleX = 0;
861
- break;
862
- default:
863
- this.scaleX = width / exWidth;
864
- break;
865
- }
866
- }
867
- }
868
- /**
869
- * @description 親 DisplayObjectContainer のローカル座標を基準にした
870
- * DisplayObject インスタンスの x 座標を示します。
871
- * Indicates the x coordinate
872
- * of the DisplayObject instance relative to the local coordinates
873
- * of the parent DisplayObjectContainer.
874
- *
875
- * @member {number}
876
- * @public
877
- */
878
- get x() {
879
- return this._$transform._$rawMatrix()[4];
880
- }
881
- set x(x) {
882
- const transform = this._$transform;
883
- if (!transform._$matrix) {
884
- const matrix = transform.matrix;
885
- matrix.tx = x;
886
- transform.matrix = matrix;
887
- $poolMatrix(matrix);
888
- }
889
- else {
890
- transform._$matrix.tx = x;
891
- this._$doChanged();
892
- $doUpdated();
893
- }
894
- }
895
- /**
896
- * @description 親 DisplayObjectContainer のローカル座標を基準にした
897
- * DisplayObject インスタンスの y 座標を示します。
898
- * Indicates the y coordinate
899
- * of the DisplayObject instance relative to the local coordinates
900
- * of the parent DisplayObjectContainer.
901
- *
902
- * @member {number}
903
- * @public
904
- */
905
- get y() {
906
- return this._$transform._$rawMatrix()[5];
907
- }
908
- set y(y) {
909
- const transform = this._$transform;
910
- if (!transform._$matrix) {
911
- const matrix = transform.matrix;
912
- matrix.ty = y;
913
- transform.matrix = matrix;
914
- $poolMatrix(matrix);
915
- }
916
- else {
917
- transform._$matrix.ty = y;
918
- this._$doChanged();
919
- $doUpdated();
920
- }
921
- }
922
- /**
923
- * @description targetCoordinateSpace オブジェクトの座標系を基準にして、
924
- * 表示オブジェクトの領域を定義する矩形を返します。
925
- * Returns a rectangle that defines the area
926
- * of the display object relative to the coordinate system
927
- * of the targetCoordinateSpace object.
928
- *
929
- * @param {DisplayObject} [target=null]
930
- * @return {Rectangle}
931
- */
932
- getBounds(target = null) {
933
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
934
- ? this._$getBounds()
935
- : $getBoundsObject();
936
- const matrix = this._$transform.concatenatedMatrix;
937
- // to global
938
- const bounds = $boundsMatrix(baseBounds, matrix._$matrix);
939
- // pool
940
- $poolMatrix(matrix);
941
- $poolBoundsObject(baseBounds);
942
- // create bounds object
943
- const targetBaseBounds = $getBoundsObject(bounds.xMin, bounds.xMax, bounds.yMin, bounds.yMax);
944
- // pool
945
- $poolBoundsObject(bounds);
946
- if (!target) {
947
- target = this;
948
- }
949
- const targetMatrix = target._$transform.concatenatedMatrix;
950
- targetMatrix.invert();
951
- const resultBounds = $boundsMatrix(targetBaseBounds, targetMatrix._$matrix);
952
- $poolBoundsObject(targetBaseBounds);
953
- $poolMatrix(targetMatrix);
954
- const xMin = resultBounds.xMin;
955
- const yMin = resultBounds.yMin;
956
- const xMax = resultBounds.xMax;
957
- const yMax = resultBounds.yMax;
958
- // pool
959
- $poolBoundsObject(resultBounds);
960
- return new Rectangle(xMin, yMin, $Math.abs(xMax - xMin), $Math.abs(yMax - yMin));
961
- }
962
- /**
963
- * @description point オブジェクトをステージ(グローバル)座標から
964
- * 表示オブジェクトの(ローカル)座標に変換します。
965
- * Converts the point object from the Stage (global) coordinates
966
- * to the display object's (local) coordinates.
967
- *
968
- * @param {Point} point
969
- * @return {Point}
970
- * @public
971
- */
972
- globalToLocal(point) {
973
- const matrix = this._$transform.concatenatedMatrix;
974
- matrix.invert();
975
- const newPoint = new Point(point.x * matrix.a + point.y * matrix.c + matrix.tx, point.x * matrix.b + point.y * matrix.d + matrix.ty);
976
- $poolMatrix(matrix);
977
- return newPoint;
978
- }
979
- /**
980
- * @description 表示オブジェクトの境界ボックスを評価して、
981
- * obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。
982
- * Evaluates the bounding box of the display object to see
983
- * if it overlaps or intersects with the bounding box of the obj display object.
984
- *
985
- * @param {DisplayObject} object
986
- * @returns {boolean}
987
- * @public
988
- */
989
- hitTestObject(object) {
990
- const baseBounds1 = "_$getBounds" in this && typeof this._$getBounds === "function"
991
- ? this._$getBounds()
992
- : $getBoundsObject();
993
- const matrix1 = this._$transform.concatenatedMatrix;
994
- const bounds1 = $boundsMatrix(baseBounds1, matrix1._$matrix);
995
- // pool
996
- $poolMatrix(matrix1);
997
- $poolBoundsObject(baseBounds1);
998
- const baseBounds2 = object._$getBounds(null);
999
- const matrix2 = object._$transform.concatenatedMatrix;
1000
- const bounds2 = $boundsMatrix(baseBounds2, matrix2._$matrix);
1001
- // pool
1002
- $poolMatrix(matrix2);
1003
- $poolBoundsObject(baseBounds2);
1004
- // calc
1005
- const sx = $Math.max(bounds1.xMin, bounds2.xMin);
1006
- const sy = $Math.max(bounds1.yMin, bounds2.yMin);
1007
- const ex = $Math.min(bounds1.xMax, bounds2.xMax);
1008
- const ey = $Math.min(bounds1.yMax, bounds2.yMax);
1009
- // pool
1010
- $poolBoundsObject(bounds1);
1011
- $poolBoundsObject(bounds2);
1012
- return ex - sx >= 0 && ey - sy >= 0;
1013
- }
1014
- /**
1015
- * @description 表示オブジェクトを評価して、x および y パラメーターで指定された
1016
- * ポイントと重複または交差するかどうかを調べます。
1017
- * Evaluates the display object to see if it overlaps
1018
- * or intersects with the point specified by the x and y parameters.
1019
- *
1020
- * @param {number} x
1021
- * @param {number} y
1022
- * @param {boolean} [shape_flag=false]
1023
- * @returns {boolean}
1024
- * @public
1025
- */
1026
- hitTestPoint(x, y, shape_flag = false) {
1027
- if (shape_flag) {
1028
- let matrix = $MATRIX_ARRAY_IDENTITY;
1029
- let parent = this._$parent;
1030
- while (parent) {
1031
- matrix = $multiplicationMatrix(parent._$transform._$rawMatrix(), matrix);
1032
- parent = parent._$parent;
1033
- }
1034
- $hitContext.setTransform(1, 0, 0, 1, 0, 0);
1035
- $hitContext.beginPath();
1036
- let result = false;
1037
- if ("_$hit" in this && typeof this._$hit === "function") {
1038
- result = this._$hit($hitContext, matrix, { "x": x, "y": y }, true);
1039
- }
1040
- if (matrix !== $MATRIX_ARRAY_IDENTITY) {
1041
- $poolFloat32Array6(matrix);
1042
- }
1043
- return result;
1044
- }
1045
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
1046
- ? this._$getBounds()
1047
- : $getBoundsObject();
1048
- const bounds = $boundsMatrix(baseBounds, this._$transform._$rawMatrix());
1049
- $poolBoundsObject(baseBounds);
1050
- const rectangle = new Rectangle(bounds.xMin, bounds.yMin, bounds.xMax - bounds.xMin, bounds.yMax - bounds.yMin);
1051
- // pool
1052
- $poolBoundsObject(bounds);
1053
- const point = this._$parent
1054
- ? this._$parent.globalToLocal(new Point(x, y))
1055
- : new Point(x, y);
1056
- return rectangle.containsPoint(point);
1057
- }
1058
- /**
1059
- * @description point オブジェクトを表示オブジェクトの(ローカル)座標から
1060
- * ステージ(グローバル)座標に変換します。
1061
- * Converts the point object from the display object's (local) coordinates
1062
- * to the Stage (global) coordinates.
1063
- *
1064
- *
1065
- * @param {Point} point
1066
- * @returns {Point}
1067
- * @public
1068
- */
1069
- localToGlobal(point) {
1070
- const matrix = this
1071
- ._$transform
1072
- .concatenatedMatrix;
1073
- const newPoint = new Point(point.x * matrix.a + point.y * matrix.c + matrix.tx, point.x * matrix.b + point.y * matrix.d + matrix.ty);
1074
- $poolMatrix(matrix);
1075
- return newPoint;
1076
- }
1077
- /**
1078
- * @description クラスのローカル変数空間から値を取得
1079
- * Get a value from the local variable space of the class
1080
- *
1081
- * @param {*} key
1082
- * @return {*}
1083
- * @method
1084
- * @public
1085
- */
1086
- getLocalVariable(key) {
1087
- if (!this._$variables) {
1088
- return null;
1089
- }
1090
- if (this._$variables.has(key)) {
1091
- return this._$variables.get(key);
1092
- }
1093
- }
1094
- /**
1095
- * @description クラスのローカル変数空間へ値を保存
1096
- * Store values in the local variable space of the class
1097
- *
1098
- * @param {*} key
1099
- * @param {*} value
1100
- * @return {void}
1101
- * @method
1102
- * @public
1103
- */
1104
- setLocalVariable(key, value) {
1105
- if (!this._$variables) {
1106
- this._$variables = $getMap();
1107
- }
1108
- this._$variables.set(key, value);
1109
- }
1110
- /**
1111
- * @description クラスのローカル変数空間に値があるかどうかを判断します。
1112
- * Determines if there is a value in the local variable space of the class.
1113
- *
1114
- * @param {*} key
1115
- * @return {boolean}
1116
- * @method
1117
- * @public
1118
- */
1119
- hasLocalVariable(key) {
1120
- return this._$variables
1121
- ? this._$variables.has(key)
1122
- : false;
1123
- }
1124
- /**
1125
- * @description クラスのローカル変数空間の値を削除
1126
- * Remove values from the local variable space of a class
1127
- *
1128
- * @param {*} key
1129
- * @return {void}
1130
- * @method
1131
- * @public
1132
- */
1133
- deleteLocalVariable(key) {
1134
- if (this._$variables && this._$variables.has(key)) {
1135
- this._$variables.delete(key);
1136
- if (!this._$variables.size) {
1137
- $poolMap(this._$variables);
1138
- this._$variables = null;
1139
- }
1140
- }
1141
- }
1142
- /**
1143
- * @description グローバル変数空間から値を取得
1144
- * Get a value from the global variable space
1145
- *
1146
- * @param {*} key
1147
- * @return {*}
1148
- * @method
1149
- * @public
1150
- */
1151
- getGlobalVariable(key) {
1152
- if ($variables.has(key)) {
1153
- return $variables.get(key);
1154
- }
1155
- return null;
1156
- }
1157
- /**
1158
- * @description グローバル変数空間へ値を保存
1159
- * Save values to global variable space
1160
- *
1161
- * @param {*} key
1162
- * @param {*} value
1163
- * @return {void}
1164
- * @method
1165
- * @public
1166
- */
1167
- setGlobalVariable(key, value) {
1168
- $variables.set(key, value);
1169
- }
1170
- /**
1171
- * @description グローバル変数空間に値があるかどうかを判断します。
1172
- * Determines if there is a value in the global variable space.
1173
- *
1174
- * @param {*} key
1175
- * @return {boolean}
1176
- * @method
1177
- * @public
1178
- */
1179
- hasGlobalVariable(key) {
1180
- return $variables.has(key);
1181
- }
1182
- /**
1183
- * @description グローバル変数空間の値を削除
1184
- * Remove values from global variable space.
1185
- *
1186
- * @param {*} key
1187
- * @return {void}
1188
- * @method
1189
- * @public
1190
- */
1191
- deleteGlobalVariable(key) {
1192
- if ($variables.has(key)) {
1193
- $variables.delete(key);
1194
- }
1195
- }
1196
- /**
1197
- * @description グローバル変数空間に値を全てクリアします。
1198
- * Clear all values in the global variable space.
1199
- *
1200
- * @return {void}
1201
- * @method
1202
- * @public
1203
- */
1204
- clearGlobalVariable() {
1205
- return $variables.clear();
1206
- }
1207
- /**
1208
- * @return {object}
1209
- * @method
1210
- * @private
1211
- */
1212
- _$getPlaceObject() {
1213
- if (!this._$placeObject) {
1214
- const placeId = this._$placeId;
1215
- if (placeId === -1) {
1216
- return null;
1217
- }
1218
- const parent = this._$parent;
1219
- if (!parent || !parent._$placeObjects) {
1220
- return null;
1221
- }
1222
- const placeMap = parent._$placeMap;
1223
- if (!placeMap || !placeMap.length) {
1224
- return null;
1225
- }
1226
- const frame = "currentFrame" in parent ? parent.currentFrame : 1;
1227
- const places = placeMap[frame];
1228
- if (!places) {
1229
- return null;
1230
- }
1231
- const currentPlaceId = places[placeId] | 0;
1232
- const placeObject = parent._$placeObjects[currentPlaceId];
1233
- if (!placeObject) {
1234
- return null;
1235
- }
1236
- this._$changePlace = currentPlaceId !== this._$currentPlaceId;
1237
- this._$currentPlaceId = currentPlaceId;
1238
- this._$placeObject = placeObject;
1239
- return placeObject;
1240
- }
1241
- return this._$placeObject;
1242
- }
1243
- /**
1244
- * @param {object} tag
1245
- * @param {DisplayObjectContainer} parent
1246
- * @return {object}
1247
- * @method
1248
- * @private
1249
- */
1250
- _$baseBuild(tag, parent) {
1251
- const loaderInfo = parent._$loaderInfo;
1252
- if (!loaderInfo || !loaderInfo._$data) {
1253
- throw new Error("the loaderInfo or data is nul.");
1254
- }
1255
- // setup
1256
- this._$parent = parent;
1257
- this._$root = parent._$root;
1258
- this._$stage = parent._$stage;
1259
- this._$loaderInfo = loaderInfo;
1260
- // bind tag data
1261
- this._$characterId = tag.characterId | 0;
1262
- this._$clipDepth = tag.clipDepth | 0;
1263
- this._$startFrame = tag.startFrame | 0;
1264
- this._$endFrame = tag.endFrame | 0;
1265
- this._$name = tag.name || "";
1266
- return loaderInfo._$data.characters[tag.characterId];
1267
- }
1268
- /**
1269
- * @return {boolean}
1270
- * @method
1271
- * @private
1272
- */
1273
- _$isUpdated() {
1274
- return this._$updated;
1275
- }
1276
- /**
1277
- * @return {void}
1278
- * @method
1279
- * @private
1280
- */
1281
- _$updateState() {
1282
- this._$isNext = true;
1283
- const parent = this._$parent;
1284
- if (parent) {
1285
- parent._$updateState();
1286
- }
1287
- }
1288
- /**
1289
- * @return {void}
1290
- * @method
1291
- * @private
1292
- */
1293
- _$doChanged() {
1294
- this._$posted = false;
1295
- this._$isNext = true;
1296
- this._$updated = true;
1297
- const parent = this._$parent;
1298
- if (parent) {
1299
- if (!parent._$updated) {
1300
- parent._$doChanged();
1301
- }
1302
- }
1303
- }
1304
- /**
1305
- * @param {CanvasToWebGLContext} context
1306
- * @param {Float32Array} matrix
1307
- * @param {array} filters
1308
- * @param {number} width
1309
- * @param {number} height
1310
- * @param {WebGLTexture} [target_texture = null]
1311
- * @return {object}
1312
- * @method
1313
- * @private
1314
- */
1315
- _$drawFilter(context, matrix, filters, width, height, target_texture = null) {
1316
- const cacheKeys = $getArray(this._$instanceId, "f");
1317
- let position = $cacheStore.get(cacheKeys);
1318
- const updated = this._$isFilterUpdated(matrix, filters, true);
1319
- if (position && !updated) {
1320
- context.cachePosition = position;
1321
- return position;
1322
- }
1323
- // cache clear
1324
- if (position) {
1325
- $cacheStore.set(cacheKeys, null);
1326
- }
1327
- const manager = context.frameBuffer;
1328
- const targetTexture = target_texture
1329
- ? target_texture
1330
- : context.getTextureFromRect(context.cachePosition);
1331
- const texture = this._$applyFilter(context, filters, targetTexture, matrix, width, height);
1332
- manager.textureManager.release(targetTexture);
1333
- const bounds = this._$getLayerBounds(matrix);
1334
- position = manager.createCachePosition($Math.ceil($Math.abs(bounds.xMax - bounds.xMin)), $Math.ceil($Math.abs(bounds.yMax - bounds.yMin)));
1335
- $poolBoundsObject(bounds);
1336
- position.filterState = true;
1337
- position.matrix = `${matrix[0]}_${matrix[1]}_${matrix[2]}_${matrix[3]}_0_0`;
1338
- position.offsetX = texture.offsetX;
1339
- position.offsetY = texture.offsetY;
1340
- // 関数先でtextureがreleaseされる
1341
- context.drawTextureFromRect(texture, position);
1342
- $cacheStore.set(cacheKeys, position);
1343
- $poolArray(cacheKeys);
1344
- return position;
1345
- }
1346
- /**
1347
- * @param {Float32Array} multi_matrix
1348
- * @returns {object}
1349
- * @private
1350
- */
1351
- _$getLayerBounds(multi_matrix) {
1352
- const baseBounds = "_$getBounds" in this && typeof this._$getBounds === "function"
1353
- ? this._$getBounds()
1354
- : $getBoundsObject();
1355
- const bounds = $boundsMatrix(baseBounds, multi_matrix);
1356
- $poolBoundsObject(baseBounds);
1357
- const filters = this._$filters || this.filters;
1358
- if (!filters.length) {
1359
- return bounds;
1360
- }
1361
- let filterBounds = $getBoundsObject(0, $Math.abs(bounds.xMax - bounds.xMin), 0, $Math.abs(bounds.yMax - bounds.yMin));
1362
- $poolBoundsObject(bounds);
1363
- let xScale = +$Math.sqrt(multi_matrix[0] * multi_matrix[0]
1364
- + multi_matrix[1] * multi_matrix[1]);
1365
- let yScale = +$Math.sqrt(multi_matrix[2] * multi_matrix[2]
1366
- + multi_matrix[3] * multi_matrix[3]);
1367
- xScale /= $devicePixelRatio;
1368
- yScale /= $devicePixelRatio;
1369
- xScale *= 2;
1370
- yScale *= 2;
1371
- for (let idx = 0; idx < filters.length; ++idx) {
1372
- filterBounds = filters[idx]
1373
- ._$generateFilterRect(filterBounds, xScale, yScale);
1374
- }
1375
- return filterBounds;
1376
- }
1377
- /**
1378
- * @return {void}
1379
- * @method
1380
- * @private
1381
- */
1382
- _$executeAddedEvent() {
1383
- if (!this._$parent) {
1384
- return;
1385
- }
1386
- // add event
1387
- if (!this._$added) {
1388
- // added event
1389
- if (this.willTrigger(Next2DEvent.ADDED)) {
1390
- this.dispatchEvent(new Next2DEvent(Next2DEvent.ADDED, true));
1391
- }
1392
- // update
1393
- this._$added = true;
1394
- }
1395
- if (!this._$addedStage && this._$stage !== null) {
1396
- if (this.willTrigger(Next2DEvent.ADDED_TO_STAGE)) {
1397
- this.dispatchEvent(new Next2DEvent(Next2DEvent.ADDED_TO_STAGE));
1398
- }
1399
- // update
1400
- this._$addedStage = true;
1401
- }
1402
- }
1403
- /**
1404
- * @return {void}
1405
- * @method
1406
- * @private
1407
- */
1408
- _$prepareActions() {
1409
- this._$nextFrame();
1410
- }
1411
- /**
1412
- * @return {boolean}
1413
- * @method
1414
- * @private
1415
- */
1416
- _$nextFrame() {
1417
- // added event
1418
- this._$executeAddedEvent();
1419
- this._$isNext = false;
1420
- if (!this._$posted && $rendererWorker) {
1421
- // @ts-ignore
1422
- this._$postProperty();
1423
- }
1424
- return false;
1425
- }
1426
- /**
1427
- * @param {array} [filters=null]
1428
- * @return {boolean}
1429
- * @private
1430
- */
1431
- _$canApply(filters = null) {
1432
- if (filters) {
1433
- for (let idx = 0; idx < filters.length; ++idx) {
1434
- if (filters[idx]._$canApply()) {
1435
- return true;
1436
- }
1437
- }
1438
- }
1439
- return false;
1440
- }
1441
- /**
1442
- * @param {Float32Array} matrix
1443
- * @param {array} [filters=null]
1444
- * @param {boolean} [can_apply=false]
1445
- * @param {number} [position_x=0]
1446
- * @param {number} [position_y=0]
1447
- * @return {boolean}
1448
- * @private
1449
- */
1450
- _$isFilterUpdated(matrix, filters = null, can_apply = false) {
1451
- // cache flag
1452
- if (this._$isUpdated()) {
1453
- return true;
1454
- }
1455
- // check filter data
1456
- if (can_apply && filters) {
1457
- for (let idx = 0; idx < filters.length; ++idx) {
1458
- if (!filters[idx]._$isUpdated()) {
1459
- continue;
1460
- }
1461
- return true;
1462
- }
1463
- }
1464
- // check status
1465
- const cache = $cacheStore.get([this._$instanceId, "f"]);
1466
- if (!cache) {
1467
- return true;
1468
- }
1469
- if (cache.filterState !== can_apply) {
1470
- return true;
1471
- }
1472
- if (cache.matrix !== `${matrix[0]}_${matrix[1]}_${matrix[2]}_${matrix[3]}`) {
1473
- return true;
1474
- }
1475
- return false;
1476
- }
1477
- /**
1478
- * @param {CanvasToWebGLContext} context
1479
- * @param {array} filters
1480
- * @param {WebGLTexture} target_texture
1481
- * @param {Float32Array} matrix
1482
- * @param {number} width
1483
- * @param {number} height
1484
- * @return {WebGLTexture}
1485
- * @private
1486
- */
1487
- _$applyFilter(context, filters, target_texture, matrix, width, height) {
1488
- const xScale = +$Math.sqrt(matrix[0] * matrix[0]
1489
- + matrix[1] * matrix[1]);
1490
- const yScale = +$Math.sqrt(matrix[2] * matrix[2]
1491
- + matrix[3] * matrix[3]);
1492
- const radianX = $Math.atan2(matrix[1], matrix[0]);
1493
- const radianY = $Math.atan2(-matrix[2], matrix[3]);
1494
- const parentMatrix = $getFloat32Array6($Math.cos(radianX), $Math.sin(radianX), -$Math.sin(radianY), $Math.cos(radianY), width / 2, height / 2);
1495
- const baseMatrix = $getFloat32Array6(1, 0, 0, 1, -target_texture.width / 2, -target_texture.height / 2);
1496
- const multiMatrix = $multiplicationMatrix(parentMatrix, baseMatrix);
1497
- $poolFloat32Array6(parentMatrix);
1498
- $poolFloat32Array6(baseMatrix);
1499
- const manager = context.frameBuffer;
1500
- const currentAttachment = manager.currentAttachment;
1501
- const attachment = manager
1502
- .createCacheAttachment(width, height);
1503
- context._$bind(attachment);
1504
- context.reset();
1505
- context.setTransform(multiMatrix[0], multiMatrix[1], multiMatrix[2], multiMatrix[3], multiMatrix[4], multiMatrix[5]);
1506
- $poolFloat32Array6(multiMatrix);
1507
- context.drawImage(target_texture, 0, 0, target_texture.width, target_texture.height);
1508
- // init
1509
- context._$offsetX = 0;
1510
- context._$offsetY = 0;
1511
- const filterMatrix = $getFloat32Array6(xScale, 0, 0, yScale, 0, 0);
1512
- let texture = null;
1513
- for (let idx = 0; idx < filters.length; ++idx) {
1514
- texture = filters[idx]._$applyFilter(context, filterMatrix);
1515
- }
1516
- $poolFloat32Array6(filterMatrix);
1517
- if (!texture) {
1518
- return target_texture;
1519
- }
1520
- const offsetX = context._$offsetX;
1521
- const offsetY = context._$offsetY;
1522
- // reset
1523
- context._$offsetX = 0;
1524
- context._$offsetY = 0;
1525
- // set offset
1526
- texture.offsetX = offsetX;
1527
- texture.offsetY = offsetY;
1528
- context._$bind(currentAttachment);
1529
- manager.releaseAttachment(attachment, false);
1530
- return texture;
1531
- }
1532
- /**
1533
- * @param {Float32Array} matrix
1534
- * @return {boolean}
1535
- * @method
1536
- * @private
1537
- */
1538
- _$shouldClip(matrix) {
1539
- const bounds = "_$getBounds" in this && typeof this._$getBounds === "function"
1540
- ? this._$getBounds(matrix)
1541
- : $getBoundsObject();
1542
- const width = $Math.abs(bounds.xMax - bounds.xMin);
1543
- const height = $Math.abs(bounds.yMax - bounds.yMin);
1544
- $poolBoundsObject(bounds);
1545
- // size 0
1546
- return !(!width || !height);
1547
- }
1548
- /**
1549
- * @param {CanvasToWebGLContext} context
1550
- * @param {Float32Array} matrix
1551
- * @return {boolean}
1552
- * @method
1553
- * @private
1554
- */
1555
- _$startClip(context, matrix) {
1556
- context.drawInstacedArray();
1557
- // マスクの描画反映を限定
1558
- const bounds = "_$getBounds" in this && typeof this._$getBounds === "function"
1559
- ? this._$getBounds(matrix)
1560
- : $getBoundsObject();
1561
- const result = context._$startClip(bounds);
1562
- $poolBoundsObject(bounds);
1563
- if (!result) {
1564
- return false;
1565
- }
1566
- // start clip
1567
- context._$enterClip();
1568
- // mask start
1569
- context._$beginClipDef();
1570
- let containerClip = false;
1571
- if ("_$children" in this) {
1572
- containerClip = true;
1573
- context._$updateContainerClipFlag(true);
1574
- }
1575
- // @ts-ignore
1576
- this._$clip(context, matrix);
1577
- this._$updated = false;
1578
- // container clip
1579
- if (containerClip) {
1580
- // update flag
1581
- context._$updateContainerClipFlag(false);
1582
- // execute clip
1583
- context._$drawContainerClip();
1584
- }
1585
- // mask end
1586
- context._$endClipDef();
1587
- return true;
1588
- }
1589
- /**
1590
- * @return {void}
1591
- * @method
1592
- * @private
1593
- */
1594
- _$removeWorkerInstance() {
1595
- if ($rendererWorker) {
1596
- $rendererWorker.postMessage({
1597
- "command": "remove",
1598
- "instanceId": this._$instanceId
1599
- });
1600
- }
1601
- }
1602
- /**
1603
- * @param {Float32Array} buffer
1604
- * @param {number} [index = 0]
1605
- * @return {void}
1606
- * @method
1607
- * @private
1608
- */
1609
- _$registerProperty(buffer, index = 0) {
1610
- // visible
1611
- buffer[index++] = +this._$visible;
1612
- // depth
1613
- buffer[index++] = this._$placeId;
1614
- // clip depth
1615
- buffer[index++] = this._$clipDepth;
1616
- // isMask
1617
- buffer[index++] = +this._$isMask;
1618
- const mask = this._$mask;
1619
- buffer[index++] = +(mask !== null);
1620
- if (mask) {
1621
- // mask id
1622
- buffer[index++] = mask._$instanceId;
1623
- let maskMatrix = $MATRIX_ARRAY_IDENTITY;
1624
- let parent = mask._$parent;
1625
- while (parent) {
1626
- maskMatrix = $multiplicationMatrix(parent._$transform._$rawMatrix(), maskMatrix);
1627
- parent = parent._$parent;
1628
- }
1629
- // mask matrix
1630
- buffer[index++] = maskMatrix[0];
1631
- buffer[index++] = maskMatrix[1];
1632
- buffer[index++] = maskMatrix[2];
1633
- buffer[index++] = maskMatrix[3];
1634
- buffer[index++] = maskMatrix[4];
1635
- buffer[index++] = maskMatrix[5];
1636
- }
1637
- else {
1638
- index += 7;
1639
- }
1640
- if (this._$visible) {
1641
- const transform = this._$transform;
1642
- // matrix
1643
- const matrix = transform._$rawMatrix();
1644
- buffer[index++] = matrix[0];
1645
- buffer[index++] = matrix[1];
1646
- buffer[index++] = matrix[2];
1647
- buffer[index++] = matrix[3];
1648
- buffer[index++] = matrix[4];
1649
- buffer[index++] = matrix[5];
1650
- // colorTransform
1651
- const colorTransform = transform._$rawColorTransform();
1652
- buffer[index++] = colorTransform[0];
1653
- buffer[index++] = colorTransform[1];
1654
- buffer[index++] = colorTransform[2];
1655
- buffer[index++] = colorTransform[3];
1656
- buffer[index++] = colorTransform[4];
1657
- buffer[index++] = colorTransform[5];
1658
- buffer[index++] = colorTransform[6];
1659
- buffer[index++] = colorTransform[7];
1660
- }
1661
- else {
1662
- index += 6; // matrix
1663
- index += 8; // colorTransform
1664
- }
1665
- // blend mode
1666
- const blendMode = this._$blendMode || this.blendMode;
1667
- buffer[index++] = $blendToNumber(blendMode);
1668
- // scale9Grid
1669
- const scale9Grid = this._$scale9Grid;
1670
- buffer[index++] = +(scale9Grid !== null);
1671
- if (scale9Grid) {
1672
- buffer[index++] = scale9Grid.x;
1673
- buffer[index++] = scale9Grid.y;
1674
- buffer[index++] = scale9Grid.width;
1675
- buffer[index++] = scale9Grid.height;
1676
- }
1677
- else {
1678
- index += 4;
1679
- }
1680
- // filter
1681
- }
1682
- /**
1683
- * @return {object}
1684
- * @method
1685
- * @private
1686
- */
1687
- _$createMessage() {
1688
- const message = {
1689
- "command": "setProperty",
1690
- "buffer": new Float32Array(),
1691
- "instanceId": this._$instanceId,
1692
- "parentId": this._$parent ? this._$parent._$instanceId : -1,
1693
- "visible": this._$visible
1694
- };
1695
- if (this._$placeId > -1) {
1696
- message.depth = this._$placeId;
1697
- }
1698
- if (this._$clipDepth) {
1699
- message.clipDepth = this._$clipDepth;
1700
- }
1701
- if (this._$isMask) {
1702
- message.isMask = this._$isMask;
1703
- }
1704
- const mask = this._$mask;
1705
- if (mask) {
1706
- message.maskId = mask._$instanceId;
1707
- let maskMatrix = $MATRIX_ARRAY_IDENTITY;
1708
- let parent = mask._$parent;
1709
- while (parent) {
1710
- maskMatrix = $multiplicationMatrix(parent._$transform._$rawMatrix(), maskMatrix);
1711
- parent = parent._$parent;
1712
- }
1713
- message.maskMatrix = maskMatrix;
1714
- }
1715
- if (this._$visible) {
1716
- const transform = this._$transform;
1717
- const matrix = transform._$rawMatrix();
1718
- if (matrix[0] !== 1) {
1719
- message.a = matrix[0];
1720
- }
1721
- if (matrix[1] !== 0) {
1722
- message.b = matrix[1];
1723
- }
1724
- if (matrix[2] !== 0) {
1725
- message.c = matrix[2];
1726
- }
1727
- if (matrix[3] !== 1) {
1728
- message.d = matrix[3];
1729
- }
1730
- if (matrix[4] !== 0) {
1731
- message.tx = matrix[4];
1732
- }
1733
- if (matrix[5] !== 0) {
1734
- message.ty = matrix[5];
1735
- }
1736
- const colorTransform = transform._$rawColorTransform();
1737
- if (colorTransform[0] !== 1) {
1738
- message.f0 = colorTransform[0];
1739
- }
1740
- if (colorTransform[1] !== 1) {
1741
- message.f1 = colorTransform[1];
1742
- }
1743
- if (colorTransform[2] !== 1) {
1744
- message.f2 = colorTransform[2];
1745
- }
1746
- if (colorTransform[3] !== 1) {
1747
- message.f3 = colorTransform[3];
1748
- }
1749
- if (colorTransform[4] !== 0) {
1750
- message.f4 = colorTransform[4];
1751
- }
1752
- if (colorTransform[5] !== 0) {
1753
- message.f5 = colorTransform[5];
1754
- }
1755
- if (colorTransform[6] !== 0) {
1756
- message.f6 = colorTransform[6];
1757
- }
1758
- if (colorTransform[7] !== 0) {
1759
- message.f7 = colorTransform[7];
1760
- }
1761
- const filters = this._$filters || this.filters;
1762
- if (filters && filters.length) {
1763
- const parameters = $getArray();
1764
- for (let idx = 0; idx < filters.length; ++idx) {
1765
- parameters.push(filters[idx]._$toArray());
1766
- }
1767
- message.filters = parameters;
1768
- }
1769
- const blendMode = this._$blendMode || this.blendMode;
1770
- if (blendMode !== "normal") {
1771
- message.blendMode = blendMode;
1772
- }
1773
- const scale9Grid = this._$scale9Grid;
1774
- if (scale9Grid && this._$isUpdated()) {
1775
- const baseMatrix = this
1776
- ._$parent
1777
- ._$transform
1778
- .concatenatedMatrix;
1779
- message.matrixBase = baseMatrix._$matrix.slice();
1780
- $poolMatrix(baseMatrix);
1781
- message.grid = {
1782
- "x": scale9Grid.x,
1783
- "y": scale9Grid.y,
1784
- "w": scale9Grid.width,
1785
- "h": scale9Grid.height
1786
- };
1787
- }
1788
- }
1789
- return message;
1790
- }
1791
- }