@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,243 @@
1
+ import { BitmapFilter } from "./BitmapFilter";
2
+ import type { FilterQualityImpl } from "../../../interface/FilterQualityImpl";
3
+ import type { BitmapFilterTypeImpl } from "../../../interface/BitmapFilterTypeImpl";
4
+ import type { Rectangle } from "../geom/Rectangle";
5
+ import type { CanvasToWebGLContext } from "../../../webgl/CanvasToWebGLContext";
6
+ /**
7
+ * GradientGlowFilter クラスを使用すると、表示オブジェクトにグラデーショングロー効果を適用できます。
8
+ * グラデーショングローとは、制御可能なカラーグラデーションによるリアルな輝きです。
9
+ * グラデーショングローは、オブジェクトの内側エッジや外側エッジの周囲、またはオブジェクトの上に適用できます。
10
+ *
11
+ * The GradientGlowFilter class lets you apply a gradient glow effect to display objects.
12
+ * A gradient glow is a realistic-looking glow with a color gradient that you can control.
13
+ * You can apply a gradient glow around the inner or outer edge of an object or on top of an object.
14
+ *
15
+ * @class
16
+ * @memberOf next2d.filters
17
+ * @extends BitmapFilter
18
+ */
19
+ export declare class GradientGlowFilter extends BitmapFilter {
20
+ private _$blurFilter;
21
+ private _$distance;
22
+ private _$angle;
23
+ private _$colors;
24
+ private _$alphas;
25
+ private _$ratios;
26
+ private _$strength;
27
+ private _$type;
28
+ private _$knockout;
29
+ /**
30
+ * @param {number} [distance=4.0]
31
+ * @param {number} [angle=45]
32
+ * @param {array} [colors=null]
33
+ * @param {array} [alphas=null]
34
+ * @param {array} [ratios=null]
35
+ * @param {number} [blur_x=4.0]
36
+ * @param {number} [blur_y=4.0]
37
+ * @param {number} [strength=1]
38
+ * @param {number} [quality=1]
39
+ * @param {string} [type=BitmapFilterType.INNER]
40
+ * @param {boolean} [knockout=false]
41
+ *
42
+ * @constructor
43
+ * @public
44
+ */
45
+ constructor(distance?: number, angle?: number, colors?: number[] | null, alphas?: number[] | null, ratios?: number[] | null, blur_x?: number, blur_y?: number, strength?: number, quality?: FilterQualityImpl, type?: BitmapFilterTypeImpl, knockout?: boolean);
46
+ /**
47
+ * @description 指定されたクラスのストリングを返します。
48
+ * Returns the string representation of the specified class.
49
+ *
50
+ * @return {string}
51
+ * @default [class GradientGlowFilter]
52
+ * @method
53
+ * @static
54
+ */
55
+ static toString(): string;
56
+ /**
57
+ * @description 指定されたクラスの空間名を返します。
58
+ * Returns the space name of the specified class.
59
+ *
60
+ * @return {string}
61
+ * @default next2d.filters.GradientGlowFilter
62
+ * @const
63
+ * @static
64
+ */
65
+ static get namespace(): string;
66
+ /**
67
+ * @description 指定されたオブジェクトのストリングを返します。
68
+ * Returns the string representation of the specified object.
69
+ *
70
+ * @return {string}
71
+ * @default [object GradientGlowFilter]
72
+ * @method
73
+ * @public
74
+ */
75
+ toString(): string;
76
+ /**
77
+ * @description 指定されたオブジェクトの空間名を返します。
78
+ * Returns the space name of the specified object.
79
+ *
80
+ * @return {string}
81
+ * @default next2d.filters.GradientGlowFilter
82
+ * @const
83
+ * @public
84
+ */
85
+ get namespace(): string;
86
+ /**
87
+ * @description カラー配列内の各色に対応するアルファ透明度の値の配列です。
88
+ * An array of alpha transparency values
89
+ * for the corresponding colors in the colors array.
90
+ *
91
+ * @member {array}
92
+ * @default null
93
+ * @public
94
+ */
95
+ get alphas(): number[] | null;
96
+ set alphas(alphas: number[] | null);
97
+ /**
98
+ * @description シャドウの角度
99
+ * The angle of the shadow.
100
+ *
101
+ * @member {number}
102
+ * @default 45
103
+ * @public
104
+ */
105
+ get angle(): number;
106
+ set angle(angle: number);
107
+ /**
108
+ * @description 水平方向のぼかし量。
109
+ * The amount of horizontal blur.
110
+ *
111
+ * @member {number}
112
+ * @default 4
113
+ * @public
114
+ */
115
+ get blurX(): number;
116
+ set blurX(blur_x: number);
117
+ /**
118
+ * @description 垂直方向のぼかし量。
119
+ * The amount of vertical blur.
120
+ *
121
+ * @member {number}
122
+ * @default 4
123
+ * @public
124
+ */
125
+ get blurY(): number;
126
+ set blurY(blur_y: number);
127
+ /**
128
+ * @description グラデーションで使用する RGB 16 進数カラー値の配列です。
129
+ * An array of RGB hexadecimal color values to use in the gradient.
130
+ *
131
+ * @member {array}
132
+ * @default null
133
+ * @public
134
+ */
135
+ get colors(): number[] | null;
136
+ set colors(colors: number[] | null);
137
+ /**
138
+ * @description シャドウのオフセット距離です。
139
+ * The offset distance for the shadow, in pixels.
140
+ *
141
+ * @member {number}
142
+ * @default 4
143
+ * @public
144
+ */
145
+ get distance(): number;
146
+ set distance(distance: number);
147
+ /**
148
+ * @description オブジェクトにノックアウト効果を適用するかどうか
149
+ * Specifies whether the object has a knockout effect.
150
+ *
151
+ * @member {boolean}
152
+ * @default false
153
+ * @public
154
+ */
155
+ get knockout(): boolean;
156
+ set knockout(knockout: boolean);
157
+ /**
158
+ * @description ぼかしの実行回数です。
159
+ * The number of times to perform the blur.
160
+ *
161
+ * @member {number}
162
+ * @default 1
163
+ * @public
164
+ */
165
+ get quality(): FilterQualityImpl;
166
+ set quality(quality: FilterQualityImpl);
167
+ /**
168
+ * @description カラー配列内の対応するカラーの色分布比率の配列です。
169
+ * An array of color distribution ratios
170
+ * for the corresponding colors in the colors array.
171
+ *
172
+ * @member {array}
173
+ * @default null
174
+ * @public
175
+ */
176
+ get ratios(): number[] | null;
177
+ set ratios(ratios: number[] | null);
178
+ /**
179
+ * @description インプリントの強さまたは広がりです。
180
+ * The strength of the imprint or spread.
181
+ *
182
+ * @member {number}
183
+ * @default 1
184
+ * @public
185
+ */
186
+ get strength(): number;
187
+ set strength(strength: number);
188
+ /**
189
+ * @description オブジェクトでのベベルの配置
190
+ * The placement of the bevel on the object.
191
+ *
192
+ * @member {string}
193
+ * @default BitmapFilterType.INNER
194
+ * @public
195
+ */
196
+ get type(): BitmapFilterTypeImpl;
197
+ set type(type: BitmapFilterTypeImpl);
198
+ /**
199
+ * @description オブジェクトのコピーを返します。
200
+ * Returns a copy of this filter object.
201
+ *
202
+ * @return {GradientGlowFilter}
203
+ * @method
204
+ * @public
205
+ */
206
+ clone(): GradientGlowFilter;
207
+ /**
208
+ * @return {array}
209
+ * @method
210
+ * @public
211
+ */
212
+ _$toArray(): any[];
213
+ /**
214
+ * @return {boolean}
215
+ * @method
216
+ * @private
217
+ */
218
+ _$isUpdated(): boolean;
219
+ /**
220
+ * @param {Rectangle} rect
221
+ * @param {number} [x_scale=0]
222
+ * @param {number} [y_scale=0]
223
+ * @return {Rectangle}
224
+ * @method
225
+ * @private
226
+ */
227
+ _$generateFilterRect(rect: Rectangle, x_scale?: number, y_scale?: number): Rectangle;
228
+ /**
229
+ /**
230
+ * @return {boolean}
231
+ * @method
232
+ * @private
233
+ */
234
+ _$canApply(): boolean;
235
+ /**
236
+ * @param {CanvasToWebGLContext} context
237
+ * @param {array} matrix
238
+ * @return {WebGLTexture}
239
+ * @method
240
+ * @private
241
+ */
242
+ _$applyFilter(context: CanvasToWebGLContext, matrix: Float32Array): WebGLTexture;
243
+ }
@@ -0,0 +1,473 @@
1
+ import { BitmapFilter } from "./BitmapFilter";
2
+ import { BlurFilter } from "./BlurFilter";
3
+ import { $Array, $clamp, $Deg2Rad, $getArray, $Math, $toColorInt } from "../../util/RenderUtil";
4
+ /**
5
+ * GradientGlowFilter クラスを使用すると、表示オブジェクトにグラデーショングロー効果を適用できます。
6
+ * グラデーショングローとは、制御可能なカラーグラデーションによるリアルな輝きです。
7
+ * グラデーショングローは、オブジェクトの内側エッジや外側エッジの周囲、またはオブジェクトの上に適用できます。
8
+ *
9
+ * The GradientGlowFilter class lets you apply a gradient glow effect to display objects.
10
+ * A gradient glow is a realistic-looking glow with a color gradient that you can control.
11
+ * You can apply a gradient glow around the inner or outer edge of an object or on top of an object.
12
+ *
13
+ * @class
14
+ * @memberOf next2d.filters
15
+ * @extends BitmapFilter
16
+ */
17
+ export class GradientGlowFilter extends BitmapFilter {
18
+ _$blurFilter;
19
+ _$distance;
20
+ _$angle;
21
+ _$colors;
22
+ _$alphas;
23
+ _$ratios;
24
+ _$strength;
25
+ _$type;
26
+ _$knockout;
27
+ /**
28
+ * @param {number} [distance=4.0]
29
+ * @param {number} [angle=45]
30
+ * @param {array} [colors=null]
31
+ * @param {array} [alphas=null]
32
+ * @param {array} [ratios=null]
33
+ * @param {number} [blur_x=4.0]
34
+ * @param {number} [blur_y=4.0]
35
+ * @param {number} [strength=1]
36
+ * @param {number} [quality=1]
37
+ * @param {string} [type=BitmapFilterType.INNER]
38
+ * @param {boolean} [knockout=false]
39
+ *
40
+ * @constructor
41
+ * @public
42
+ */
43
+ constructor(distance = 4, angle = 45, colors = null, alphas = null, ratios = null, blur_x = 4, blur_y = 4, strength = 1, quality = 1, type = "inner", knockout = false) {
44
+ super();
45
+ /**
46
+ * @type {BlurFilter}
47
+ * @default BlurFilter
48
+ * @private
49
+ */
50
+ this._$blurFilter = new BlurFilter(blur_x, blur_y, quality);
51
+ /**
52
+ * @type {number}
53
+ * @default 4
54
+ * @private
55
+ */
56
+ this._$distance = 4;
57
+ /**
58
+ * @type {number}
59
+ * @default 45
60
+ * @private
61
+ */
62
+ this._$angle = 45;
63
+ /**
64
+ * @type {array}
65
+ * @default null
66
+ * @private
67
+ */
68
+ this._$colors = null;
69
+ /**
70
+ * @type {array}
71
+ * @default null
72
+ * @private
73
+ */
74
+ this._$alphas = null;
75
+ /**
76
+ * @type {array}
77
+ * @default null
78
+ * @private
79
+ */
80
+ this._$ratios = null;
81
+ /**
82
+ * @type {number}
83
+ * @default 1
84
+ * @private
85
+ */
86
+ this._$strength = 1;
87
+ /**
88
+ * @type {string}
89
+ * @default BitmapFilterType.INNER
90
+ * @private
91
+ */
92
+ this._$type = "inner";
93
+ /**
94
+ * @type {boolean}
95
+ * @default false
96
+ * @private
97
+ */
98
+ this._$knockout = false;
99
+ // setup
100
+ this.distance = distance;
101
+ this.angle = angle;
102
+ this.colors = colors;
103
+ this.alphas = alphas;
104
+ this.ratios = ratios;
105
+ this.strength = strength;
106
+ this.type = type;
107
+ this.knockout = knockout;
108
+ }
109
+ /**
110
+ * @description 指定されたクラスのストリングを返します。
111
+ * Returns the string representation of the specified class.
112
+ *
113
+ * @return {string}
114
+ * @default [class GradientGlowFilter]
115
+ * @method
116
+ * @static
117
+ */
118
+ static toString() {
119
+ return "[class GradientGlowFilter]";
120
+ }
121
+ /**
122
+ * @description 指定されたクラスの空間名を返します。
123
+ * Returns the space name of the specified class.
124
+ *
125
+ * @return {string}
126
+ * @default next2d.filters.GradientGlowFilter
127
+ * @const
128
+ * @static
129
+ */
130
+ static get namespace() {
131
+ return "next2d.filters.GradientGlowFilter";
132
+ }
133
+ /**
134
+ * @description 指定されたオブジェクトのストリングを返します。
135
+ * Returns the string representation of the specified object.
136
+ *
137
+ * @return {string}
138
+ * @default [object GradientGlowFilter]
139
+ * @method
140
+ * @public
141
+ */
142
+ toString() {
143
+ return "[object GradientGlowFilter]";
144
+ }
145
+ /**
146
+ * @description 指定されたオブジェクトの空間名を返します。
147
+ * Returns the space name of the specified object.
148
+ *
149
+ * @return {string}
150
+ * @default next2d.filters.GradientGlowFilter
151
+ * @const
152
+ * @public
153
+ */
154
+ get namespace() {
155
+ return "next2d.filters.GradientGlowFilter";
156
+ }
157
+ /**
158
+ * @description カラー配列内の各色に対応するアルファ透明度の値の配列です。
159
+ * An array of alpha transparency values
160
+ * for the corresponding colors in the colors array.
161
+ *
162
+ * @member {array}
163
+ * @default null
164
+ * @public
165
+ */
166
+ get alphas() {
167
+ return this._$alphas;
168
+ }
169
+ set alphas(alphas) {
170
+ if (alphas !== this._$alphas) {
171
+ this._$alphas = alphas;
172
+ if ($Array.isArray(alphas)) {
173
+ for (let idx = 0; idx < alphas.length; ++idx) {
174
+ alphas[idx] = $clamp(+alphas[idx], 0, 1, 0);
175
+ }
176
+ this._$alphas = alphas;
177
+ }
178
+ this._$doChanged();
179
+ }
180
+ }
181
+ /**
182
+ * @description シャドウの角度
183
+ * The angle of the shadow.
184
+ *
185
+ * @member {number}
186
+ * @default 45
187
+ * @public
188
+ */
189
+ get angle() {
190
+ return this._$angle;
191
+ }
192
+ set angle(angle) {
193
+ angle = $clamp(angle % 360, -360, 360, 45);
194
+ if (angle !== this._$angle) {
195
+ this._$angle = angle;
196
+ this._$doChanged();
197
+ }
198
+ }
199
+ /**
200
+ * @description 水平方向のぼかし量。
201
+ * The amount of horizontal blur.
202
+ *
203
+ * @member {number}
204
+ * @default 4
205
+ * @public
206
+ */
207
+ get blurX() {
208
+ return this._$blurFilter.blurX;
209
+ }
210
+ set blurX(blur_x) {
211
+ this._$blurFilter.blurX = blur_x;
212
+ }
213
+ /**
214
+ * @description 垂直方向のぼかし量。
215
+ * The amount of vertical blur.
216
+ *
217
+ * @member {number}
218
+ * @default 4
219
+ * @public
220
+ */
221
+ get blurY() {
222
+ return this._$blurFilter.blurY;
223
+ }
224
+ set blurY(blur_y) {
225
+ this._$blurFilter.blurY = blur_y;
226
+ }
227
+ /**
228
+ * @description グラデーションで使用する RGB 16 進数カラー値の配列です。
229
+ * An array of RGB hexadecimal color values to use in the gradient.
230
+ *
231
+ * @member {array}
232
+ * @default null
233
+ * @public
234
+ */
235
+ get colors() {
236
+ return this._$colors;
237
+ }
238
+ set colors(colors) {
239
+ if (this._$colors !== colors) {
240
+ this._$colors = colors;
241
+ if ($Array.isArray(colors)) {
242
+ for (let idx = 0; idx < colors.length; ++idx) {
243
+ colors[idx] = $clamp($toColorInt(colors[idx]), 0, 0xffffff, 0);
244
+ }
245
+ this._$colors = colors;
246
+ }
247
+ this._$doChanged();
248
+ }
249
+ }
250
+ /**
251
+ * @description シャドウのオフセット距離です。
252
+ * The offset distance for the shadow, in pixels.
253
+ *
254
+ * @member {number}
255
+ * @default 4
256
+ * @public
257
+ */
258
+ get distance() {
259
+ return this._$distance;
260
+ }
261
+ set distance(distance) {
262
+ distance = $clamp(+distance, -255, 255, 4);
263
+ if (distance !== this._$distance) {
264
+ this._$distance = distance;
265
+ this._$doChanged();
266
+ }
267
+ }
268
+ /**
269
+ * @description オブジェクトにノックアウト効果を適用するかどうか
270
+ * Specifies whether the object has a knockout effect.
271
+ *
272
+ * @member {boolean}
273
+ * @default false
274
+ * @public
275
+ */
276
+ get knockout() {
277
+ return this._$knockout;
278
+ }
279
+ set knockout(knockout) {
280
+ if (knockout !== this._$knockout) {
281
+ this._$knockout = !!knockout;
282
+ this._$doChanged();
283
+ }
284
+ }
285
+ /**
286
+ * @description ぼかしの実行回数です。
287
+ * The number of times to perform the blur.
288
+ *
289
+ * @member {number}
290
+ * @default 1
291
+ * @public
292
+ */
293
+ get quality() {
294
+ return this._$blurFilter.quality;
295
+ }
296
+ set quality(quality) {
297
+ this._$blurFilter.quality = quality;
298
+ }
299
+ /**
300
+ * @description カラー配列内の対応するカラーの色分布比率の配列です。
301
+ * An array of color distribution ratios
302
+ * for the corresponding colors in the colors array.
303
+ *
304
+ * @member {array}
305
+ * @default null
306
+ * @public
307
+ */
308
+ get ratios() {
309
+ return this._$ratios;
310
+ }
311
+ set ratios(ratios) {
312
+ if (this._$ratios !== ratios) {
313
+ this._$ratios = ratios;
314
+ if ($Array.isArray(ratios)) {
315
+ for (let idx = 0; idx < ratios.length; ++idx) {
316
+ ratios[idx] = $clamp(+ratios[idx], 0, 255, 0);
317
+ }
318
+ this._$ratios = ratios;
319
+ }
320
+ this._$doChanged();
321
+ }
322
+ }
323
+ /**
324
+ * @description インプリントの強さまたは広がりです。
325
+ * The strength of the imprint or spread.
326
+ *
327
+ * @member {number}
328
+ * @default 1
329
+ * @public
330
+ */
331
+ get strength() {
332
+ return this._$strength;
333
+ }
334
+ set strength(strength) {
335
+ strength = $clamp(strength | 0, 0, 255, 0);
336
+ if (strength !== this._$strength) {
337
+ this._$strength = strength;
338
+ this._$doChanged();
339
+ }
340
+ }
341
+ /**
342
+ * @description オブジェクトでのベベルの配置
343
+ * The placement of the bevel on the object.
344
+ *
345
+ * @member {string}
346
+ * @default BitmapFilterType.INNER
347
+ * @public
348
+ */
349
+ get type() {
350
+ return this._$type;
351
+ }
352
+ set type(type) {
353
+ if (type !== this._$type) {
354
+ this._$type = type;
355
+ this._$doChanged();
356
+ }
357
+ }
358
+ /**
359
+ * @description オブジェクトのコピーを返します。
360
+ * Returns a copy of this filter object.
361
+ *
362
+ * @return {GradientGlowFilter}
363
+ * @method
364
+ * @public
365
+ */
366
+ clone() {
367
+ return new GradientGlowFilter(this._$distance, this._$angle, this._$colors, this._$alphas, this._$ratios, this._$blurFilter.blurX, this._$blurFilter.blurY, this._$strength, this._$blurFilter.quality, this._$type, this._$knockout);
368
+ }
369
+ /**
370
+ * @return {array}
371
+ * @method
372
+ * @public
373
+ */
374
+ _$toArray() {
375
+ return $getArray(8, this._$distance, this._$angle, this._$colors, this._$alphas, this._$ratios, this._$blurFilter.blurX, this._$blurFilter.blurY, this._$strength, this._$blurFilter.quality, this._$type, this._$knockout);
376
+ }
377
+ /**
378
+ * @return {boolean}
379
+ * @method
380
+ * @private
381
+ */
382
+ _$isUpdated() {
383
+ return this._$updated || this._$blurFilter._$isUpdated();
384
+ }
385
+ /**
386
+ * @param {Rectangle} rect
387
+ * @param {number} [x_scale=0]
388
+ * @param {number} [y_scale=0]
389
+ * @return {Rectangle}
390
+ * @method
391
+ * @private
392
+ */
393
+ _$generateFilterRect(rect, x_scale = 0, y_scale = 0) {
394
+ let clone = rect.clone();
395
+ if (!this._$canApply()) {
396
+ return clone;
397
+ }
398
+ clone = this._$blurFilter._$generateFilterRect(clone, x_scale, y_scale);
399
+ const radian = this._$angle * $Deg2Rad;
400
+ const x = $Math.abs($Math.cos(radian) * this._$distance);
401
+ const y = $Math.abs($Math.sin(radian) * this._$distance);
402
+ clone.x += -x;
403
+ clone.width += x;
404
+ clone.y += -y;
405
+ clone.height += y * 2;
406
+ return clone;
407
+ }
408
+ /**
409
+ /**
410
+ * @return {boolean}
411
+ * @method
412
+ * @private
413
+ */
414
+ _$canApply() {
415
+ return this._$strength > 0 && this._$distance > 0
416
+ && this._$alphas !== null && this._$ratios !== null && this._$colors !== null
417
+ && this._$blurFilter._$canApply();
418
+ }
419
+ /**
420
+ * @param {CanvasToWebGLContext} context
421
+ * @param {array} matrix
422
+ * @return {WebGLTexture}
423
+ * @method
424
+ * @private
425
+ */
426
+ _$applyFilter(context, matrix) {
427
+ this._$updated = false;
428
+ const manager = context.frameBuffer;
429
+ const currentAttachment = manager.currentAttachment;
430
+ // reset
431
+ context.setTransform(1, 0, 0, 1, 0, 0);
432
+ if (!this._$canApply() || !currentAttachment) {
433
+ return manager.getTextureFromCurrentAttachment();
434
+ }
435
+ const baseWidth = currentAttachment.width;
436
+ const baseHeight = currentAttachment.height;
437
+ const baseOffsetX = context._$offsetX;
438
+ const baseOffsetY = context._$offsetY;
439
+ const blurTexture = this
440
+ ._$blurFilter
441
+ ._$applyFilter(context, matrix, false);
442
+ const blurWidth = blurTexture.width;
443
+ const blurHeight = blurTexture.height;
444
+ const blurOffsetX = context._$offsetX;
445
+ const blurOffsetY = context._$offsetY;
446
+ const offsetDiffX = blurOffsetX - baseOffsetX;
447
+ const offsetDiffY = blurOffsetY - baseOffsetY;
448
+ // matrix to scale
449
+ const xScale = $Math.sqrt(matrix[0] * matrix[0] + matrix[1] * matrix[1]);
450
+ const yScale = $Math.sqrt(matrix[2] * matrix[2] + matrix[3] * matrix[3]);
451
+ // shadow point
452
+ const radian = +(this._$angle * $Deg2Rad);
453
+ const x = +($Math.cos(radian) * this._$distance * xScale);
454
+ const y = +($Math.sin(radian) * this._$distance * yScale);
455
+ const isInner = this.type === "inner";
456
+ const w = isInner ? baseWidth : blurWidth + $Math.max(0, $Math.abs(x) - offsetDiffX);
457
+ const h = isInner ? baseHeight : blurHeight + $Math.max(0, $Math.abs(y) - offsetDiffY);
458
+ const width = $Math.ceil(w);
459
+ const height = $Math.ceil(h);
460
+ const fractionX = (width - w) / 2;
461
+ const fractionY = (height - h) / 2;
462
+ const baseTextureX = isInner ? 0 : $Math.max(0, offsetDiffX - x) + fractionX;
463
+ const baseTextureY = isInner ? 0 : $Math.max(0, offsetDiffY - y) + fractionY;
464
+ const blurTextureX = isInner ? x - blurOffsetX : (x > 0 ? $Math.max(0, x - offsetDiffX) : 0) + fractionX;
465
+ const blurTextureY = isInner ? y - blurOffsetY : (y > 0 ? $Math.max(0, y - offsetDiffY) : 0) + fractionY;
466
+ context._$bind(currentAttachment);
467
+ context._$applyBitmapFilter(blurTexture, width, height, baseWidth, baseHeight, baseTextureX, baseTextureY, blurWidth, blurHeight, blurTextureX, blurTextureY, true, this._$type, this._$knockout, this._$strength, this._$ratios, this._$colors, this._$alphas, 0, 0, 0, 0, 0, 0, 0, 0);
468
+ context._$offsetX = baseOffsetX + baseTextureX;
469
+ context._$offsetY = baseOffsetY + baseTextureY;
470
+ manager.releaseTexture(blurTexture);
471
+ return manager.getTextureFromCurrentAttachment();
472
+ }
473
+ }