@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,129 @@
1
+ import { Rectangle } from "../player/next2d/geom/Rectangle";
2
+ import type { BlendModeImpl } from "../interface/BlendModeImpl";
3
+ import type { FilterArrayImpl } from "../interface/FilterArrayImpl";
4
+ import type { BoundsImpl } from "../interface/BoundsImpl";
5
+ import type { CanvasToWebGLContext } from "../webgl/CanvasToWebGLContext";
6
+ import type { PropertyMessageMapImpl } from "../interface/PropertyMessageMapImpl";
7
+ /**
8
+ * @class
9
+ */
10
+ export declare class RenderDisplayObject {
11
+ _$instanceId: number;
12
+ _$parentId: number;
13
+ _$loaderInfoId: number;
14
+ _$characterId: number;
15
+ _$clipDepth: number;
16
+ _$depth: number;
17
+ _$isMask: boolean;
18
+ _$updated: boolean;
19
+ readonly _$matrix: Float32Array;
20
+ _$blendMode: BlendModeImpl;
21
+ readonly _$colorTransform: Float32Array;
22
+ _$filters: FilterArrayImpl | null;
23
+ _$visible: boolean;
24
+ _$maskId: number;
25
+ _$maskMatrix: Float32Array | null;
26
+ _$xMin: number;
27
+ _$yMin: number;
28
+ _$xMax: number;
29
+ _$yMax: number;
30
+ _$scale9Grid: Rectangle | null;
31
+ _$matrixBase: Float32Array | null;
32
+ /**
33
+ * @constructor
34
+ * @public
35
+ */
36
+ constructor();
37
+ /**
38
+ * @param {Float32Array} matrix
39
+ * @return {boolean}
40
+ * @method
41
+ * @private
42
+ */
43
+ _$shouldClip(matrix: Float32Array): boolean;
44
+ /**
45
+ * @param {Float32Array} [matrix=null]
46
+ * @returns {object}
47
+ * @private
48
+ */
49
+ _$getLayerBounds(matrix?: Float32Array | null): BoundsImpl;
50
+ /**
51
+ * @param {Float32Array} [matrix=null]
52
+ * @returns {object}
53
+ * @method
54
+ * @private
55
+ */
56
+ _$getBounds(matrix?: Float32Array | null): BoundsImpl;
57
+ /**
58
+ * @param {CanvasToWebGLContext} context
59
+ * @param {Float32Array} matrix
60
+ * @return {Float32Array|boolean|null}
61
+ * @method
62
+ * @private
63
+ */
64
+ _$startClip(context: CanvasToWebGLContext, matrix: Float32Array): Float32Array | boolean | null;
65
+ /**
66
+ * @description 描画情報を更新
67
+ *
68
+ * @param {object} object
69
+ * @return {void}
70
+ * @method
71
+ * @private
72
+ */
73
+ _$update(object: PropertyMessageMapImpl<any>): void;
74
+ /**
75
+ * @param {array} [filters]
76
+ * @return {boolean}
77
+ * @private
78
+ */
79
+ _$canApply(filters?: FilterArrayImpl | null): boolean;
80
+ /**
81
+ * @description Playerから登録を削除
82
+ *
83
+ * @return {void}
84
+ * @method
85
+ * @private
86
+ */
87
+ _$remove(): void;
88
+ /**
89
+ * @return {boolean}
90
+ * @method
91
+ * @private
92
+ */
93
+ _$isUpdated(): boolean;
94
+ /**
95
+ * @param {number} width
96
+ * @param {number} height
97
+ * @param {Float32Array} matrix
98
+ * @param {array} [filters=null]
99
+ * @param {boolean} [can_apply=false]
100
+ * @param {number} [position_x=0]
101
+ * @param {number} [position_y=0]
102
+ * @return {boolean}
103
+ * @private
104
+ */
105
+ _$isFilterUpdated(width: number, height: number, matrix: Float32Array, filters?: FilterArrayImpl | null, can_apply?: boolean, position_x?: number, position_y?: number): boolean;
106
+ /**
107
+ * @param {CanvasToWebGLContext} context
108
+ * @param {array} filters
109
+ * @param {WebGLTexture} target_texture
110
+ * @param {Float32Array} matrix
111
+ * @param {number} width
112
+ * @param {number} height
113
+ * @return {WebGLTexture}
114
+ * @private
115
+ */
116
+ _$applyFilter(context: CanvasToWebGLContext, filters: FilterArrayImpl, target_texture: WebGLTexture, matrix: Float32Array, width: number, height: number): WebGLTexture;
117
+ /**
118
+ * @param {CanvasToWebGLContext} context
119
+ * @param {WebGLTexture} target_texture
120
+ * @param {Float32Array} matrix
121
+ * @param {array} filters
122
+ * @param {number} width
123
+ * @param {number} height
124
+ * @return {WebGLTexture}
125
+ * @method
126
+ * @private
127
+ */
128
+ _$drawFilter(context: CanvasToWebGLContext, target_texture: WebGLTexture, matrix: Float32Array, filters: FilterArrayImpl, width: number, height: number): WebGLTexture;
129
+ }
@@ -0,0 +1,567 @@
1
+ import { Rectangle } from "../player/next2d/geom/Rectangle";
2
+ import { BevelFilter } from "../player/next2d/filters/BevelFilter";
3
+ import { BlurFilter } from "../player/next2d/filters/BlurFilter";
4
+ import { ColorMatrixFilter } from "../player/next2d/filters/ColorMatrixFilter";
5
+ import { ConvolutionFilter } from "../player/next2d/filters/ConvolutionFilter";
6
+ import { DisplacementMapFilter } from "../player/next2d/filters/DisplacementMapFilter";
7
+ import { DropShadowFilter } from "../player/next2d/filters/DropShadowFilter";
8
+ import { GlowFilter } from "../player/next2d/filters/GlowFilter";
9
+ import { GradientBevelFilter } from "../player/next2d/filters/GradientBevelFilter";
10
+ import { GradientGlowFilter } from "../player/next2d/filters/GradientGlowFilter";
11
+ import { $renderPlayer } from "./RenderGlobal";
12
+ import { $getBoundsObject, $poolBoundsObject, $getFloat32Array6, $getFloat32Array8, $Math, $multiplicationMatrix, $boundsMatrix, $poolFloat32Array6, $getArray } from "../player/util/RenderUtil";
13
+ /**
14
+ * @class
15
+ */
16
+ export class RenderDisplayObject {
17
+ _$instanceId;
18
+ _$parentId;
19
+ _$loaderInfoId;
20
+ _$characterId;
21
+ _$clipDepth;
22
+ _$depth;
23
+ _$isMask;
24
+ _$updated;
25
+ _$matrix;
26
+ _$blendMode;
27
+ _$colorTransform;
28
+ _$filters;
29
+ _$visible;
30
+ _$maskId;
31
+ _$maskMatrix;
32
+ _$xMin;
33
+ _$yMin;
34
+ _$xMax;
35
+ _$yMax;
36
+ _$scale9Grid;
37
+ _$matrixBase;
38
+ /**
39
+ * @constructor
40
+ * @public
41
+ */
42
+ constructor() {
43
+ /**
44
+ * @type {number}
45
+ * @default -1
46
+ * @private
47
+ */
48
+ this._$instanceId = -1;
49
+ /**
50
+ * @type {number}
51
+ * @default -1
52
+ * @private
53
+ */
54
+ this._$parentId = -1;
55
+ /**
56
+ * @type {number}
57
+ * @default -1
58
+ * @private
59
+ */
60
+ this._$loaderInfoId = -1;
61
+ /**
62
+ * @type {number}
63
+ * @default -1
64
+ * @private
65
+ */
66
+ this._$characterId = -1;
67
+ /**
68
+ * @type {number}
69
+ * @default 0
70
+ * @private
71
+ */
72
+ this._$clipDepth = 0;
73
+ /**
74
+ * @type {number}
75
+ * @default 0
76
+ * @private
77
+ */
78
+ this._$depth = 0;
79
+ /**
80
+ * @type {boolean}
81
+ * @default false
82
+ * @private
83
+ */
84
+ this._$isMask = false;
85
+ /**
86
+ * @type {boolean}
87
+ * @default true
88
+ * @private
89
+ */
90
+ this._$updated = true;
91
+ /**
92
+ * @type {Float32Array}
93
+ * @private
94
+ */
95
+ this._$matrix = $getFloat32Array6(1, 0, 0, 1, 0, 0);
96
+ /**
97
+ * @type {Float32Array}
98
+ * @private
99
+ */
100
+ this._$colorTransform = $getFloat32Array8(1, 1, 1, 1, 0, 0, 0, 0);
101
+ /**
102
+ * @type {string}
103
+ * @default BlendMode.NORMAL
104
+ * @private
105
+ */
106
+ this._$blendMode = "normal";
107
+ /**
108
+ * @type {array}
109
+ * @default null
110
+ * @private
111
+ */
112
+ this._$filters = null;
113
+ /**
114
+ * @type {boolean}
115
+ * @default true
116
+ * @private
117
+ */
118
+ this._$visible = true;
119
+ /**
120
+ * @type {number}
121
+ * @default -1
122
+ * @private
123
+ */
124
+ this._$maskId = -1;
125
+ /**
126
+ * @type {Float32Array}
127
+ * @default null
128
+ * @private
129
+ */
130
+ this._$maskMatrix = null;
131
+ /**
132
+ * @type {boolean}
133
+ * @default false
134
+ * @private
135
+ */
136
+ this._$isMask = false;
137
+ /**
138
+ * @type {number}
139
+ * @default 0
140
+ * @private
141
+ */
142
+ this._$xMin = 0;
143
+ /**
144
+ * @type {number}
145
+ * @default 0
146
+ * @private
147
+ */
148
+ this._$yMin = 0;
149
+ /**
150
+ * @type {number}
151
+ * @default 0
152
+ * @private
153
+ */
154
+ this._$xMax = 0;
155
+ /**
156
+ * @type {number}
157
+ * @default 0
158
+ * @private
159
+ */
160
+ this._$yMax = 0;
161
+ /**
162
+ * @type {Rectangle|null}
163
+ * @default null
164
+ * @private
165
+ */
166
+ this._$scale9Grid = null;
167
+ /**
168
+ * @type {Float32Array}
169
+ * @default null
170
+ * @private
171
+ */
172
+ this._$matrixBase = null;
173
+ }
174
+ /**
175
+ * @param {Float32Array} matrix
176
+ * @return {boolean}
177
+ * @method
178
+ * @private
179
+ */
180
+ _$shouldClip(matrix) {
181
+ const bounds = this._$getBounds(matrix);
182
+ const width = $Math.abs(bounds.xMax - bounds.xMin);
183
+ const height = $Math.abs(bounds.yMax - bounds.yMin);
184
+ $poolBoundsObject(bounds);
185
+ return !(!width || !height);
186
+ }
187
+ /**
188
+ * @param {Float32Array} [matrix=null]
189
+ * @returns {object}
190
+ * @private
191
+ */
192
+ _$getLayerBounds(matrix = null) {
193
+ const baseBounds = this._$getBounds(matrix);
194
+ const filters = this._$filters;
195
+ if (!filters || !filters.length) {
196
+ return baseBounds;
197
+ }
198
+ let rect = new Rectangle(baseBounds.xMin, baseBounds.yMin, baseBounds.xMax - baseBounds.xMin, baseBounds.yMax - baseBounds.yMin);
199
+ $poolBoundsObject(baseBounds);
200
+ for (let idx = 0; idx < filters.length; ++idx) {
201
+ rect = filters[idx]._$generateFilterRect(rect, 0, 0);
202
+ }
203
+ const xMin = rect.x;
204
+ const xMax = rect.x + rect.width;
205
+ const yMin = rect.y;
206
+ const yMax = rect.y + rect.height;
207
+ return $getBoundsObject(xMin, xMax, yMin, yMax);
208
+ }
209
+ /**
210
+ * @param {Float32Array} [matrix=null]
211
+ * @returns {object}
212
+ * @method
213
+ * @private
214
+ */
215
+ _$getBounds(matrix = null) {
216
+ const baseBounds = $getBoundsObject(this._$xMin, this._$xMax, this._$yMin, this._$yMax);
217
+ if (!matrix) {
218
+ return baseBounds;
219
+ }
220
+ let multiMatrix = matrix;
221
+ const rawMatrix = this._$matrix;
222
+ if (rawMatrix[0] !== 1 || rawMatrix[1] !== 0
223
+ || rawMatrix[2] !== 0 || rawMatrix[3] !== 1
224
+ || rawMatrix[4] !== 0 || rawMatrix[5] !== 0) {
225
+ multiMatrix = $multiplicationMatrix(matrix, rawMatrix);
226
+ }
227
+ const bounds = $boundsMatrix(baseBounds, multiMatrix);
228
+ $poolBoundsObject(baseBounds);
229
+ if (multiMatrix !== matrix) {
230
+ $poolFloat32Array6(multiMatrix);
231
+ }
232
+ return bounds;
233
+ }
234
+ /**
235
+ * @param {CanvasToWebGLContext} context
236
+ * @param {Float32Array} matrix
237
+ * @return {Float32Array|boolean|null}
238
+ * @method
239
+ * @private
240
+ */
241
+ _$startClip(context, matrix) {
242
+ let clipMatrix = null;
243
+ // ネストしてない初回のマスクだけ実行
244
+ // ネストしてる場合は初回に作られたbufferを流用
245
+ if (!context.cacheAttachment) {
246
+ let multiMatrix = matrix;
247
+ const rawMatrix = this._$matrix;
248
+ if (rawMatrix[0] !== 1 || rawMatrix[1] !== 0
249
+ || rawMatrix[2] !== 0 || rawMatrix[3] !== 1
250
+ || rawMatrix[4] !== 0 || rawMatrix[5] !== 0) {
251
+ multiMatrix = $multiplicationMatrix(matrix, rawMatrix);
252
+ }
253
+ const baseBounds = this._$getBounds(null);
254
+ const bounds = $boundsMatrix(baseBounds, multiMatrix);
255
+ $poolBoundsObject(baseBounds);
256
+ clipMatrix = context._$startClip(matrix, bounds);
257
+ $poolBoundsObject(bounds);
258
+ if (multiMatrix !== matrix) {
259
+ $poolFloat32Array6(multiMatrix);
260
+ }
261
+ if (!clipMatrix) {
262
+ return false;
263
+ }
264
+ }
265
+ // start clip
266
+ context._$enterClip();
267
+ // mask start
268
+ context._$beginClipDef();
269
+ let containerClip = false;
270
+ if ("_$children" in this) {
271
+ containerClip = true;
272
+ context._$updateContainerClipFlag(true);
273
+ }
274
+ // @ts-ignore
275
+ this._$clip(context, clipMatrix || matrix);
276
+ this._$updated = false;
277
+ // container clip
278
+ if (containerClip) {
279
+ // update flag
280
+ context._$updateContainerClipFlag(false);
281
+ // execute clip
282
+ context._$drawContainerClip();
283
+ }
284
+ // mask end
285
+ context._$endClipDef();
286
+ return clipMatrix;
287
+ }
288
+ /**
289
+ * @description 描画情報を更新
290
+ *
291
+ * @param {object} object
292
+ * @return {void}
293
+ * @method
294
+ * @private
295
+ */
296
+ _$update(object) {
297
+ this._$updated = true;
298
+ this._$visible = object.visible;
299
+ this._$isMask = object.isMask;
300
+ this._$depth = object.depth;
301
+ this._$clipDepth = object.clipDepth;
302
+ this._$maskId = object.maskId;
303
+ if (this._$maskId > -1 && object.maskMatrix) {
304
+ this._$maskMatrix = object.maskMatrix;
305
+ }
306
+ this._$matrix[0] = "a" in object ? object.a : 1;
307
+ this._$matrix[1] = "b" in object ? object.b : 0;
308
+ this._$matrix[2] = "c" in object ? object.c : 0;
309
+ this._$matrix[3] = "d" in object ? object.d : 1;
310
+ this._$matrix[4] = "tx" in object ? object.tx : 0;
311
+ this._$matrix[5] = "ty" in object ? object.ty : 0;
312
+ this._$colorTransform[0] = "f0" in object ? object.f0 : 1;
313
+ this._$colorTransform[1] = "f1" in object ? object.f1 : 1;
314
+ this._$colorTransform[2] = "f2" in object ? object.f2 : 1;
315
+ this._$colorTransform[3] = "f3" in object ? object.f3 : 1;
316
+ this._$colorTransform[4] = "f4" in object ? object.f4 : 0;
317
+ this._$colorTransform[5] = "f5" in object ? object.f5 : 0;
318
+ this._$colorTransform[6] = "f6" in object ? object.f6 : 0;
319
+ this._$colorTransform[7] = "f7" in object ? object.f7 : 0;
320
+ this._$blendMode = object.blendMode || "normal";
321
+ this._$filters = null;
322
+ if (object.filters && object.filters.length) {
323
+ this._$filters = $getArray();
324
+ for (let idx = 0; idx < object.filters.length; ++idx) {
325
+ const parameters = object.filters[idx];
326
+ const type = parameters.shift();
327
+ switch (type) {
328
+ case 0:
329
+ this._$filters.push(new BevelFilter(...parameters));
330
+ break;
331
+ case 1:
332
+ this._$filters.push(new BlurFilter(...parameters));
333
+ break;
334
+ case 2:
335
+ this._$filters.push(new ColorMatrixFilter(...parameters));
336
+ break;
337
+ case 3:
338
+ this._$filters.push(new ConvolutionFilter(...parameters));
339
+ break;
340
+ case 4:
341
+ this._$filters.push(new DisplacementMapFilter(...parameters));
342
+ break;
343
+ case 5:
344
+ this._$filters.push(new DropShadowFilter(...parameters));
345
+ break;
346
+ case 6:
347
+ this._$filters.push(new GlowFilter(...parameters));
348
+ break;
349
+ case 7:
350
+ this._$filters.push(new GradientBevelFilter(...parameters));
351
+ break;
352
+ case 8:
353
+ this._$filters.push(new GradientGlowFilter(...parameters));
354
+ break;
355
+ }
356
+ }
357
+ }
358
+ if (object.grid) {
359
+ this._$scale9Grid = new Rectangle(object.grid.x, object.grid.y, object.grid.w, object.grid.h);
360
+ if (object.matrixBase) {
361
+ this._$matrixBase = object.matrixBase;
362
+ }
363
+ }
364
+ }
365
+ /**
366
+ * @param {array} [filters]
367
+ * @return {boolean}
368
+ * @private
369
+ */
370
+ _$canApply(filters = null) {
371
+ if (filters) {
372
+ for (let idx = 0; idx < filters.length; ++idx) {
373
+ if (filters[idx]._$canApply()) {
374
+ return true;
375
+ }
376
+ }
377
+ }
378
+ return false;
379
+ }
380
+ /**
381
+ * @description Playerから登録を削除
382
+ *
383
+ * @return {void}
384
+ * @method
385
+ * @private
386
+ */
387
+ _$remove() {
388
+ const player = $renderPlayer;
389
+ // キャッシュ削除のタイマーをセット
390
+ const cacheStore = player.cacheStore;
391
+ cacheStore.setRemoveTimer(this._$instanceId);
392
+ if (this._$loaderInfoId > -1 && this._$characterId) {
393
+ cacheStore.setRemoveTimer(`${this._$loaderInfoId}@${this._$characterId}`);
394
+ }
395
+ player.instances.delete(this._$instanceId);
396
+ // reset
397
+ this._$instanceId = -1;
398
+ this._$parentId = -1;
399
+ this._$loaderInfoId = -1;
400
+ this._$characterId = -1;
401
+ this._$updated = true;
402
+ this._$blendMode = "normal";
403
+ this._$filters = null;
404
+ this._$visible = true;
405
+ this._$maskId = -1;
406
+ this._$isMask = false;
407
+ this._$depth = 0;
408
+ this._$clipDepth = 0;
409
+ this._$scale9Grid = null;
410
+ }
411
+ /**
412
+ * @return {boolean}
413
+ * @method
414
+ * @private
415
+ */
416
+ _$isUpdated() {
417
+ return this._$updated;
418
+ }
419
+ /**
420
+ * @param {number} width
421
+ * @param {number} height
422
+ * @param {Float32Array} matrix
423
+ * @param {array} [filters=null]
424
+ * @param {boolean} [can_apply=false]
425
+ * @param {number} [position_x=0]
426
+ * @param {number} [position_y=0]
427
+ * @return {boolean}
428
+ * @private
429
+ */
430
+ _$isFilterUpdated(width, height, matrix, filters = null, can_apply = false, position_x = 0, position_y = 0) {
431
+ // cache flag
432
+ if (this._$isUpdated()) {
433
+ return true;
434
+ }
435
+ // check filter data
436
+ if (filters && can_apply) {
437
+ for (let idx = 0; idx < filters.length; ++idx) {
438
+ if (!filters[idx]._$isUpdated()) {
439
+ continue;
440
+ }
441
+ return true;
442
+ }
443
+ }
444
+ // check status
445
+ const cache = $renderPlayer
446
+ .cacheStore
447
+ .get([this._$instanceId, "f"]);
448
+ if (!cache) {
449
+ return true;
450
+ }
451
+ switch (true) {
452
+ case cache.filterState !== can_apply:
453
+ case cache.layerWidth !== $Math.ceil(width):
454
+ case cache.layerHeight !== $Math.ceil(height):
455
+ case cache.matrix !== matrix[0] + "_"
456
+ + matrix[1] + "_"
457
+ + matrix[2] + "_"
458
+ + matrix[3] + "_"
459
+ + position_x + "_"
460
+ + position_y:
461
+ return true;
462
+ default:
463
+ return false;
464
+ }
465
+ }
466
+ /**
467
+ * @param {CanvasToWebGLContext} context
468
+ * @param {array} filters
469
+ * @param {WebGLTexture} target_texture
470
+ * @param {Float32Array} matrix
471
+ * @param {number} width
472
+ * @param {number} height
473
+ * @return {WebGLTexture}
474
+ * @private
475
+ */
476
+ _$applyFilter(context, filters, target_texture, matrix, width, height) {
477
+ const xScale = +$Math.sqrt(matrix[0] * matrix[0]
478
+ + matrix[1] * matrix[1]);
479
+ const yScale = +$Math.sqrt(matrix[2] * matrix[2]
480
+ + matrix[3] * matrix[3]);
481
+ const radianX = $Math.atan2(matrix[1], matrix[0]);
482
+ const radianY = $Math.atan2(0 - matrix[2], matrix[3]);
483
+ const parentMatrix = $getFloat32Array6($Math.cos(radianX), $Math.sin(radianX), 0 - $Math.sin(radianY), $Math.cos(radianY), width / 2, height / 2);
484
+ const baseMatrix = $getFloat32Array6(1, 0, 0, 1, 0 - target_texture.width / 2, 0 - target_texture.height / 2);
485
+ const multiMatrix = $multiplicationMatrix(parentMatrix, baseMatrix);
486
+ $poolFloat32Array6(parentMatrix);
487
+ $poolFloat32Array6(baseMatrix);
488
+ const manager = context.frameBuffer;
489
+ const currentAttachment = manager.currentAttachment;
490
+ const attachment = manager
491
+ .createCacheAttachment(width, height);
492
+ context._$bind(attachment);
493
+ context.reset();
494
+ context.setTransform(multiMatrix[0], multiMatrix[1], multiMatrix[2], multiMatrix[3], multiMatrix[4], multiMatrix[5]);
495
+ $poolFloat32Array6(multiMatrix);
496
+ context.drawImage(target_texture, 0, 0, target_texture.width, target_texture.height);
497
+ // init
498
+ context._$offsetX = 0;
499
+ context._$offsetY = 0;
500
+ const filterMatrix = $getFloat32Array6(xScale, 0, 0, yScale, 0, 0);
501
+ let texture = null;
502
+ for (let idx = 0; idx < filters.length; ++idx) {
503
+ texture = filters[idx]._$applyFilter(context, filterMatrix);
504
+ }
505
+ $poolFloat32Array6(filterMatrix);
506
+ if (!texture) {
507
+ return target_texture;
508
+ }
509
+ const offsetX = context._$offsetX;
510
+ const offsetY = context._$offsetY;
511
+ // reset
512
+ context._$offsetX = 0;
513
+ context._$offsetY = 0;
514
+ // set offset
515
+ texture._$offsetX = offsetX;
516
+ texture._$offsetY = offsetY;
517
+ // cache texture
518
+ texture.matrix =
519
+ matrix[0] + "_" + matrix[1] + "_"
520
+ + matrix[2] + "_" + matrix[3];
521
+ texture.filterState = true;
522
+ texture.layerWidth = width;
523
+ texture.layerHeight = height;
524
+ context._$bind(currentAttachment);
525
+ manager.releaseAttachment(attachment, false);
526
+ return texture;
527
+ }
528
+ /**
529
+ * @param {CanvasToWebGLContext} context
530
+ * @param {WebGLTexture} target_texture
531
+ * @param {Float32Array} matrix
532
+ * @param {array} filters
533
+ * @param {number} width
534
+ * @param {number} height
535
+ * @return {WebGLTexture}
536
+ * @method
537
+ * @private
538
+ */
539
+ _$drawFilter(context, target_texture, matrix, filters, width, height) {
540
+ const cacheStore = $renderPlayer.cacheStore;
541
+ const cacheKeys = [this._$instanceId, "f"];
542
+ const cache = cacheStore.get(cacheKeys);
543
+ const updated = this._$isFilterUpdated(width, height, matrix, filters, true);
544
+ if (cache && !updated) {
545
+ return cache;
546
+ }
547
+ // cache clear
548
+ if (cache) {
549
+ cacheStore.set(cacheKeys, null);
550
+ cache.layerWidth = 0;
551
+ cache.layerHeight = 0;
552
+ cache._$offsetX = 0;
553
+ cache._$offsetY = 0;
554
+ cache.matrix = null;
555
+ cache.colorTransform = null;
556
+ context
557
+ .frameBuffer
558
+ .releaseTexture(cache);
559
+ }
560
+ if (!cache || updated) {
561
+ const texture = this._$applyFilter(context, filters, target_texture, matrix, width, height);
562
+ cacheStore.set(cacheKeys, texture);
563
+ return texture;
564
+ }
565
+ return cache;
566
+ }
567
+ }