@next2d/player 1.14.7 → 1.14.9

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 (414) hide show
  1. package/README.cn.md +44 -36
  2. package/README.ja.md +44 -30
  3. package/README.md +56 -37
  4. package/dist/interface/AjaxEventImpl.d.ts +5 -0
  5. package/dist/interface/AjaxEventImpl.js +1 -0
  6. package/dist/interface/AjaxOptionImpl.d.ts +13 -0
  7. package/dist/interface/AjaxOptionImpl.js +1 -0
  8. package/dist/interface/AttachmentImpl.d.ts +11 -0
  9. package/dist/interface/AttachmentImpl.js +1 -0
  10. package/dist/interface/BitmapDataChannelImpl.d.ts +1 -0
  11. package/dist/interface/BitmapDataChannelImpl.js +1 -0
  12. package/dist/interface/BitmapDrawObjectImpl.d.ts +6 -0
  13. package/dist/interface/BitmapDrawObjectImpl.js +1 -0
  14. package/dist/interface/BitmapFilterTypeImpl.d.ts +1 -0
  15. package/dist/interface/BitmapFilterTypeImpl.js +1 -0
  16. package/dist/interface/BlendModeImpl.d.ts +1 -0
  17. package/dist/interface/BlendModeImpl.js +1 -0
  18. package/dist/interface/BoundsImpl.d.ts +6 -0
  19. package/dist/interface/BoundsImpl.js +1 -0
  20. package/dist/interface/Character.d.ts +2 -0
  21. package/dist/interface/Character.js +1 -0
  22. package/dist/interface/CharacterImpl.d.ts +2 -0
  23. package/dist/interface/CharacterImpl.js +1 -0
  24. package/dist/interface/ClassNameMap.d.ts +4 -0
  25. package/dist/interface/ClassNameMap.js +1 -0
  26. package/dist/interface/ClipObjectImpl.d.ts +14 -0
  27. package/dist/interface/ClipObjectImpl.js +1 -0
  28. package/dist/interface/ColorStopImpl.d.ts +7 -0
  29. package/dist/interface/ColorStopImpl.js +1 -0
  30. package/dist/interface/DictionaryTagImpl.d.ts +7 -0
  31. package/dist/interface/DictionaryTagImpl.js +1 -0
  32. package/dist/interface/DisplacementMapFilterModeImpl.d.ts +1 -0
  33. package/dist/interface/DisplacementMapFilterModeImpl.js +1 -0
  34. package/dist/interface/DisplayImpl.d.ts +28 -0
  35. package/dist/interface/DisplayImpl.js +1 -0
  36. package/dist/interface/DisplayObjectImpl.d.ts +2 -0
  37. package/dist/interface/DisplayObjectImpl.js +1 -0
  38. package/dist/interface/DragRulesImpl.d.ts +7 -0
  39. package/dist/interface/DragRulesImpl.js +1 -0
  40. package/dist/interface/DropTargetImpl.d.ts +2 -0
  41. package/dist/interface/DropTargetImpl.js +1 -0
  42. package/dist/interface/EventDispatcherImpl.d.ts +2 -0
  43. package/dist/interface/EventDispatcherImpl.js +1 -0
  44. package/dist/interface/EventListenerImpl.d.ts +6 -0
  45. package/dist/interface/EventListenerImpl.js +1 -0
  46. package/dist/interface/EventsImpl.d.ts +20 -0
  47. package/dist/interface/EventsImpl.js +1 -0
  48. package/dist/interface/FillMeshImpl.d.ts +5 -0
  49. package/dist/interface/FillMeshImpl.js +1 -0
  50. package/dist/interface/FilterArrayImpl.d.ts +10 -0
  51. package/dist/interface/FilterArrayImpl.js +1 -0
  52. package/dist/interface/FilterQualityImpl.d.ts +1 -0
  53. package/dist/interface/FilterQualityImpl.js +1 -0
  54. package/dist/interface/FiltersImpl.d.ts +20 -0
  55. package/dist/interface/FiltersImpl.js +1 -0
  56. package/dist/interface/GeomImpl.d.ts +12 -0
  57. package/dist/interface/GeomImpl.js +1 -0
  58. package/dist/interface/GradientTypeImpl.d.ts +3 -0
  59. package/dist/interface/GradientTypeImpl.js +1 -0
  60. package/dist/interface/GraphicsParentImpl.d.ts +2 -0
  61. package/dist/interface/GraphicsParentImpl.js +1 -0
  62. package/dist/interface/GridImpl.d.ts +6 -0
  63. package/dist/interface/GridImpl.js +1 -0
  64. package/dist/interface/ImageTypeImpl.d.ts +1 -0
  65. package/dist/interface/ImageTypeImpl.js +1 -0
  66. package/dist/interface/IndexRangeImpl.d.ts +4 -0
  67. package/dist/interface/IndexRangeImpl.js +1 -0
  68. package/dist/interface/LoaderInfoDataImpl.d.ts +7 -0
  69. package/dist/interface/LoaderInfoDataImpl.js +1 -0
  70. package/dist/interface/LoopConfigImpl.d.ts +8 -0
  71. package/dist/interface/LoopConfigImpl.js +1 -0
  72. package/dist/interface/LoopTypeImpl.d.ts +1 -0
  73. package/dist/interface/LoopTypeImpl.js +1 -0
  74. package/dist/interface/MediaImpl.d.ts +10 -0
  75. package/dist/interface/MediaImpl.js +1 -0
  76. package/dist/interface/MovieClipActionObjectImpl.d.ts +5 -0
  77. package/dist/interface/MovieClipActionObjectImpl.js +1 -0
  78. package/dist/interface/MovieClipCharacterImpl.d.ts +18 -0
  79. package/dist/interface/MovieClipCharacterImpl.js +1 -0
  80. package/dist/interface/MovieClipLabelObjectImpl.d.ts +4 -0
  81. package/dist/interface/MovieClipLabelObjectImpl.js +1 -0
  82. package/dist/interface/MovieClipSoundObjectImpl.d.ts +5 -0
  83. package/dist/interface/MovieClipSoundObjectImpl.js +1 -0
  84. package/dist/interface/NetImpl.d.ts +6 -0
  85. package/dist/interface/NetImpl.js +1 -0
  86. package/dist/interface/NoCodeDataImpl.d.ts +7 -0
  87. package/dist/interface/NoCodeDataImpl.js +1 -0
  88. package/dist/interface/NoCodeDataZlibImpl.d.ts +4 -0
  89. package/dist/interface/NoCodeDataZlibImpl.js +1 -0
  90. package/dist/interface/ParentImpl.d.ts +2 -0
  91. package/dist/interface/ParentImpl.js +1 -0
  92. package/dist/interface/PlaceObjectImpl.d.ts +12 -0
  93. package/dist/interface/PlaceObjectImpl.js +1 -0
  94. package/dist/interface/PlayerHitObjectImpl.d.ts +7 -0
  95. package/dist/interface/PlayerHitObjectImpl.js +1 -0
  96. package/dist/interface/PlayerModeImpl.d.ts +1 -0
  97. package/dist/interface/PlayerModeImpl.js +1 -0
  98. package/dist/interface/PlayerOptionsImpl.d.ts +8 -0
  99. package/dist/interface/PlayerOptionsImpl.js +1 -0
  100. package/dist/interface/PointImpl.d.ts +4 -0
  101. package/dist/interface/PointImpl.js +1 -0
  102. package/dist/interface/PreObjectImpl.d.ts +23 -0
  103. package/dist/interface/PreObjectImpl.js +1 -0
  104. package/dist/interface/PropertyContainerMessageImpl.d.ts +6 -0
  105. package/dist/interface/PropertyContainerMessageImpl.js +1 -0
  106. package/dist/interface/PropertyMessageImpl.d.ts +41 -0
  107. package/dist/interface/PropertyMessageImpl.js +1 -0
  108. package/dist/interface/PropertyMessageMapImpl.d.ts +2 -0
  109. package/dist/interface/PropertyMessageMapImpl.js +1 -0
  110. package/dist/interface/PropertyShapeMessageImpl.d.ts +6 -0
  111. package/dist/interface/PropertyShapeMessageImpl.js +1 -0
  112. package/dist/interface/PropertyTextMessageImpl.d.ts +25 -0
  113. package/dist/interface/PropertyTextMessageImpl.js +1 -0
  114. package/dist/interface/PropertyVideoMessageImpl.d.ts +5 -0
  115. package/dist/interface/PropertyVideoMessageImpl.js +1 -0
  116. package/dist/interface/RGBAImpl.d.ts +6 -0
  117. package/dist/interface/RGBAImpl.js +1 -0
  118. package/dist/interface/RenderDisplayObjectImpl.d.ts +2 -0
  119. package/dist/interface/RenderDisplayObjectImpl.js +1 -0
  120. package/dist/interface/ShapeCharacterImpl.d.ts +14 -0
  121. package/dist/interface/ShapeCharacterImpl.js +1 -0
  122. package/dist/interface/SoundCharacterImpl.d.ts +5 -0
  123. package/dist/interface/SoundCharacterImpl.js +1 -0
  124. package/dist/interface/SoundTagImpl.d.ts +6 -0
  125. package/dist/interface/SoundTagImpl.js +1 -0
  126. package/dist/interface/SpriteImpl.d.ts +2 -0
  127. package/dist/interface/SpriteImpl.js +1 -0
  128. package/dist/interface/StageDataImpl.d.ts +6 -0
  129. package/dist/interface/StageDataImpl.js +1 -0
  130. package/dist/interface/StageQualityImpl.d.ts +1 -0
  131. package/dist/interface/StageQualityImpl.js +1 -0
  132. package/dist/interface/StrokeMethImpl.d.ts +4 -0
  133. package/dist/interface/StrokeMethImpl.js +1 -0
  134. package/dist/interface/StrokeTypeImpl.d.ts +2 -0
  135. package/dist/interface/StrokeTypeImpl.js +1 -0
  136. package/dist/interface/SurfaceFilterImpl.d.ts +6 -0
  137. package/dist/interface/SurfaceFilterImpl.js +1 -0
  138. package/dist/interface/TextBreakObjectImpl.d.ts +9 -0
  139. package/dist/interface/TextBreakObjectImpl.js +1 -0
  140. package/dist/interface/TextCharacterImpl.d.ts +27 -0
  141. package/dist/interface/TextCharacterImpl.js +1 -0
  142. package/dist/interface/TextDataImpl.d.ts +2 -0
  143. package/dist/interface/TextDataImpl.js +1 -0
  144. package/dist/interface/TextFieldAutoSizeImpl.d.ts +1 -0
  145. package/dist/interface/TextFieldAutoSizeImpl.js +1 -0
  146. package/dist/interface/TextFieldTypeImpl.d.ts +1 -0
  147. package/dist/interface/TextFieldTypeImpl.js +1 -0
  148. package/dist/interface/TextFormatAlignImpl.d.ts +1 -0
  149. package/dist/interface/TextFormatAlignImpl.js +1 -0
  150. package/dist/interface/TextFormatImpl.d.ts +16 -0
  151. package/dist/interface/TextFormatImpl.js +1 -0
  152. package/dist/interface/TextFormatVerticalAlignImpl.d.ts +1 -0
  153. package/dist/interface/TextFormatVerticalAlignImpl.js +1 -0
  154. package/dist/interface/TextImageObjectImpl.d.ts +11 -0
  155. package/dist/interface/TextImageObjectImpl.js +1 -0
  156. package/dist/interface/TextImpl.d.ts +6 -0
  157. package/dist/interface/TextImpl.js +1 -0
  158. package/dist/interface/TextModeImpl.d.ts +1 -0
  159. package/dist/interface/TextModeImpl.js +1 -0
  160. package/dist/interface/TextObjectImpl.d.ts +7 -0
  161. package/dist/interface/TextObjectImpl.js +1 -0
  162. package/dist/interface/TextObjectModeImpl.d.ts +1 -0
  163. package/dist/interface/TextObjectModeImpl.js +1 -0
  164. package/dist/interface/TextStringObjectImpl.d.ts +7 -0
  165. package/dist/interface/TextStringObjectImpl.js +1 -0
  166. package/dist/interface/UIImpl.d.ts +8 -0
  167. package/dist/interface/UIImpl.js +1 -0
  168. package/dist/interface/URLLoaderDataFormatImpl.d.ts +1 -0
  169. package/dist/interface/URLLoaderDataFormatImpl.js +1 -0
  170. package/dist/interface/URLRequestMethodImpl.d.ts +1 -0
  171. package/dist/interface/URLRequestMethodImpl.js +1 -0
  172. package/dist/interface/UniformDataImpl.d.ts +5 -0
  173. package/dist/interface/UniformDataImpl.js +1 -0
  174. package/dist/interface/UnzipQueueImpl.d.ts +6 -0
  175. package/dist/interface/UnzipQueueImpl.js +1 -0
  176. package/dist/interface/VerticesImpl.d.ts +1 -0
  177. package/dist/interface/VerticesImpl.js +1 -0
  178. package/dist/interface/VideoCharacterImpl.d.ts +12 -0
  179. package/dist/interface/VideoCharacterImpl.js +1 -0
  180. package/dist/player/index.d.ts +1 -0
  181. package/dist/player/index.js +40 -0
  182. package/dist/player/next2d/display/BitmapData.d.ts +143 -0
  183. package/dist/player/next2d/display/BitmapData.js +390 -0
  184. package/dist/player/next2d/display/BlendMode.d.ts +204 -0
  185. package/dist/player/next2d/display/BlendMode.js +240 -0
  186. package/dist/player/next2d/display/DisplayObject.d.ts +571 -0
  187. package/dist/player/next2d/display/DisplayObject.js +1733 -0
  188. package/dist/player/next2d/display/DisplayObjectContainer.d.ts +351 -0
  189. package/dist/player/next2d/display/DisplayObjectContainer.js +1765 -0
  190. package/dist/player/next2d/display/FrameLabel.d.ts +98 -0
  191. package/dist/player/next2d/display/FrameLabel.js +122 -0
  192. package/dist/player/next2d/display/Graphics.d.ts +577 -0
  193. package/dist/player/next2d/display/Graphics.js +2193 -0
  194. package/dist/player/next2d/display/GraphicsBitmapFill.d.ts +49 -0
  195. package/dist/player/next2d/display/GraphicsBitmapFill.js +90 -0
  196. package/dist/player/next2d/display/GraphicsGradientFill.d.ts +66 -0
  197. package/dist/player/next2d/display/GraphicsGradientFill.js +162 -0
  198. package/dist/player/next2d/display/InteractiveObject.d.ts +32 -0
  199. package/dist/player/next2d/display/InteractiveObject.js +44 -0
  200. package/dist/player/next2d/display/Loader.d.ts +131 -0
  201. package/dist/player/next2d/display/Loader.js +324 -0
  202. package/dist/player/next2d/display/LoaderInfo.d.ts +122 -0
  203. package/dist/player/next2d/display/LoaderInfo.js +191 -0
  204. package/dist/player/next2d/display/LoopConfig.d.ts +108 -0
  205. package/dist/player/next2d/display/LoopConfig.js +160 -0
  206. package/dist/player/next2d/display/LoopType.d.ts +104 -0
  207. package/dist/player/next2d/display/LoopType.js +122 -0
  208. package/dist/player/next2d/display/MovieClip.d.ts +312 -0
  209. package/dist/player/next2d/display/MovieClip.js +959 -0
  210. package/dist/player/next2d/display/Shape.d.ts +167 -0
  211. package/dist/player/next2d/display/Shape.js +514 -0
  212. package/dist/player/next2d/display/Sprite.d.ts +174 -0
  213. package/dist/player/next2d/display/Sprite.js +288 -0
  214. package/dist/player/next2d/display/Stage.d.ts +164 -0
  215. package/dist/player/next2d/display/Stage.js +255 -0
  216. package/dist/player/next2d/events/Event.d.ts +424 -0
  217. package/dist/player/next2d/events/Event.js +569 -0
  218. package/dist/player/next2d/events/EventDispatcher.d.ts +138 -0
  219. package/dist/player/next2d/events/EventDispatcher.js +624 -0
  220. package/dist/player/next2d/events/EventPhase.d.ts +80 -0
  221. package/dist/player/next2d/events/EventPhase.js +94 -0
  222. package/dist/player/next2d/events/FocusEvent.d.ts +89 -0
  223. package/dist/player/next2d/events/FocusEvent.js +103 -0
  224. package/dist/player/next2d/events/HTTPStatusEvent.d.ts +107 -0
  225. package/dist/player/next2d/events/HTTPStatusEvent.js +142 -0
  226. package/dist/player/next2d/events/IOErrorEvent.d.ts +82 -0
  227. package/dist/player/next2d/events/IOErrorEvent.js +102 -0
  228. package/dist/player/next2d/events/MouseEvent.d.ts +163 -0
  229. package/dist/player/next2d/events/MouseEvent.js +207 -0
  230. package/dist/player/next2d/events/ProgressEvent.d.ts +97 -0
  231. package/dist/player/next2d/events/ProgressEvent.js +125 -0
  232. package/dist/player/next2d/events/VideoEvent.d.ts +145 -0
  233. package/dist/player/next2d/events/VideoEvent.js +183 -0
  234. package/dist/player/next2d/filters/BevelFilter.d.ts +254 -0
  235. package/dist/player/next2d/filters/BevelFilter.js +501 -0
  236. package/dist/player/next2d/filters/BitmapFilter.d.ts +75 -0
  237. package/dist/player/next2d/filters/BitmapFilter.js +96 -0
  238. package/dist/player/next2d/filters/BlurFilter.d.ts +150 -0
  239. package/dist/player/next2d/filters/BlurFilter.js +373 -0
  240. package/dist/player/next2d/filters/ColorMatrixFilter.d.ts +116 -0
  241. package/dist/player/next2d/filters/ColorMatrixFilter.js +180 -0
  242. package/dist/player/next2d/filters/ConvolutionFilter.d.ts +210 -0
  243. package/dist/player/next2d/filters/ConvolutionFilter.js +375 -0
  244. package/dist/player/next2d/filters/DisplacementMapFilter.d.ts +212 -0
  245. package/dist/player/next2d/filters/DisplacementMapFilter.js +381 -0
  246. package/dist/player/next2d/filters/DropShadowFilter.d.ts +240 -0
  247. package/dist/player/next2d/filters/DropShadowFilter.js +470 -0
  248. package/dist/player/next2d/filters/GlowFilter.d.ts +204 -0
  249. package/dist/player/next2d/filters/GlowFilter.js +362 -0
  250. package/dist/player/next2d/filters/GradientBevelFilter.d.ts +243 -0
  251. package/dist/player/next2d/filters/GradientBevelFilter.js +483 -0
  252. package/dist/player/next2d/filters/GradientGlowFilter.d.ts +243 -0
  253. package/dist/player/next2d/filters/GradientGlowFilter.js +473 -0
  254. package/dist/player/next2d/geom/ColorTransform.d.ts +201 -0
  255. package/dist/player/next2d/geom/ColorTransform.js +279 -0
  256. package/dist/player/next2d/geom/Matrix.d.ts +299 -0
  257. package/dist/player/next2d/geom/Matrix.js +455 -0
  258. package/dist/player/next2d/geom/Point.d.ts +213 -0
  259. package/dist/player/next2d/geom/Point.js +276 -0
  260. package/dist/player/next2d/geom/Rectangle.d.ts +364 -0
  261. package/dist/player/next2d/geom/Rectangle.js +517 -0
  262. package/dist/player/next2d/geom/Transform.d.ts +213 -0
  263. package/dist/player/next2d/geom/Transform.js +497 -0
  264. package/dist/player/next2d/media/Sound.d.ts +208 -0
  265. package/dist/player/next2d/media/Sound.js +515 -0
  266. package/dist/player/next2d/media/SoundMixer.d.ts +68 -0
  267. package/dist/player/next2d/media/SoundMixer.js +115 -0
  268. package/dist/player/next2d/media/SoundTransform.d.ts +80 -0
  269. package/dist/player/next2d/media/SoundTransform.js +113 -0
  270. package/dist/player/next2d/media/Video.d.ts +329 -0
  271. package/dist/player/next2d/media/Video.js +871 -0
  272. package/dist/player/next2d/net/URLRequest.d.ts +143 -0
  273. package/dist/player/next2d/net/URLRequest.js +239 -0
  274. package/dist/player/next2d/net/URLRequestHeader.d.ts +82 -0
  275. package/dist/player/next2d/net/URLRequestHeader.js +107 -0
  276. package/dist/player/next2d/text/TextField.d.ts +642 -0
  277. package/dist/player/next2d/text/TextField.js +2707 -0
  278. package/dist/player/next2d/text/TextFormat.d.ts +250 -0
  279. package/dist/player/next2d/text/TextFormat.js +473 -0
  280. package/dist/player/next2d/ui/Easing.d.ts +359 -0
  281. package/dist/player/next2d/ui/Easing.js +481 -0
  282. package/dist/player/next2d/ui/Job.d.ts +155 -0
  283. package/dist/player/next2d/ui/Job.js +344 -0
  284. package/dist/player/next2d/ui/Tween.d.ts +62 -0
  285. package/dist/player/next2d/ui/Tween.js +72 -0
  286. package/dist/player/packages/Display.d.ts +3 -0
  287. package/dist/player/packages/Display.js +36 -0
  288. package/dist/player/packages/Events.d.ts +3 -0
  289. package/dist/player/packages/Events.js +28 -0
  290. package/dist/player/packages/Filters.d.ts +3 -0
  291. package/dist/player/packages/Filters.js +28 -0
  292. package/dist/player/packages/Geom.d.ts +3 -0
  293. package/dist/player/packages/Geom.js +20 -0
  294. package/dist/player/packages/Media.d.ts +3 -0
  295. package/dist/player/packages/Media.js +18 -0
  296. package/dist/player/packages/Net.d.ts +3 -0
  297. package/dist/player/packages/Net.js +14 -0
  298. package/dist/player/packages/Text.d.ts +3 -0
  299. package/dist/player/packages/Text.js +14 -0
  300. package/dist/player/packages/UI.d.ts +3 -0
  301. package/dist/player/packages/UI.js +16 -0
  302. package/dist/player/player/Next2D.d.ts +71 -0
  303. package/dist/player/player/Next2D.js +206 -0
  304. package/dist/player/player/Player.d.ts +334 -0
  305. package/dist/player/player/Player.js +1912 -0
  306. package/dist/player/util/CacheStore.d.ts +115 -0
  307. package/dist/player/util/CacheStore.js +280 -0
  308. package/dist/player/util/Global.d.ts +23 -0
  309. package/dist/player/util/Global.js +67 -0
  310. package/dist/player/util/RenderUtil.d.ts +472 -0
  311. package/dist/player/util/RenderUtil.js +686 -0
  312. package/dist/player/util/Shortcut.d.ts +28 -0
  313. package/dist/player/util/Shortcut.js +28 -0
  314. package/dist/player/util/Util.d.ts +337 -0
  315. package/dist/player/util/Util.js +841 -0
  316. package/dist/renderer/RenderDisplayObject.d.ts +129 -0
  317. package/dist/renderer/RenderDisplayObject.js +567 -0
  318. package/dist/renderer/RenderDisplayObjectContainer.d.ts +70 -0
  319. package/dist/renderer/RenderDisplayObjectContainer.js +670 -0
  320. package/dist/renderer/RenderGlobal.d.ts +76 -0
  321. package/dist/renderer/RenderGlobal.js +88 -0
  322. package/dist/renderer/RenderGraphics.d.ts +90 -0
  323. package/dist/renderer/RenderGraphics.js +597 -0
  324. package/dist/renderer/RenderPlayer.d.ts +164 -0
  325. package/dist/renderer/RenderPlayer.js +421 -0
  326. package/dist/renderer/RenderShape.d.ts +32 -0
  327. package/dist/renderer/RenderShape.js +104 -0
  328. package/dist/renderer/RenderTextField.d.ts +119 -0
  329. package/dist/renderer/RenderTextField.js +709 -0
  330. package/dist/renderer/RenderVideo.d.ts +59 -0
  331. package/dist/renderer/RenderVideo.js +272 -0
  332. package/dist/webgl/BezierConverter.d.ts +59 -0
  333. package/dist/webgl/BezierConverter.js +107 -0
  334. package/dist/webgl/CanvasGradientToWebGL.d.ts +94 -0
  335. package/dist/webgl/CanvasGradientToWebGL.js +187 -0
  336. package/dist/webgl/CanvasPatternToWebGL.d.ts +39 -0
  337. package/dist/webgl/CanvasPatternToWebGL.js +70 -0
  338. package/dist/webgl/CanvasToWebGLContext.d.ts +596 -0
  339. package/dist/webgl/CanvasToWebGLContext.js +1453 -0
  340. package/dist/webgl/CanvasToWebGLContextBlend.d.ts +97 -0
  341. package/dist/webgl/CanvasToWebGLContextBlend.js +303 -0
  342. package/dist/webgl/CanvasToWebGLContextGrid.d.ts +74 -0
  343. package/dist/webgl/CanvasToWebGLContextGrid.js +314 -0
  344. package/dist/webgl/CanvasToWebGLContextMask.d.ts +113 -0
  345. package/dist/webgl/CanvasToWebGLContextMask.js +443 -0
  346. package/dist/webgl/CanvasToWebGLContextPath.d.ts +111 -0
  347. package/dist/webgl/CanvasToWebGLContextPath.js +213 -0
  348. package/dist/webgl/CanvasToWebGLContextStyle.d.ts +77 -0
  349. package/dist/webgl/CanvasToWebGLContextStyle.js +145 -0
  350. package/dist/webgl/ColorBufferPool.d.ts +58 -0
  351. package/dist/webgl/ColorBufferPool.js +137 -0
  352. package/dist/webgl/FrameBufferManager.d.ts +135 -0
  353. package/dist/webgl/FrameBufferManager.js +367 -0
  354. package/dist/webgl/StencilBufferPool.d.ts +56 -0
  355. package/dist/webgl/StencilBufferPool.js +147 -0
  356. package/dist/webgl/TextureManager.d.ts +130 -0
  357. package/dist/webgl/TextureManager.js +303 -0
  358. package/dist/webgl/VertexArrayObjectManager.d.ts +95 -0
  359. package/dist/webgl/VertexArrayObjectManager.js +289 -0
  360. package/dist/webgl/WebGLFillMeshGenerator.d.ts +31 -0
  361. package/dist/webgl/WebGLFillMeshGenerator.js +104 -0
  362. package/dist/webgl/WebGLStrokeMeshGenerator.d.ts +182 -0
  363. package/dist/webgl/WebGLStrokeMeshGenerator.js +510 -0
  364. package/dist/webgl/shader/CanvasToWebGLShader.d.ts +85 -0
  365. package/dist/webgl/shader/CanvasToWebGLShader.js +196 -0
  366. package/dist/webgl/shader/CanvasToWebGLShaderList.d.ts +70 -0
  367. package/dist/webgl/shader/CanvasToWebGLShaderList.js +115 -0
  368. package/dist/webgl/shader/GradientLUTGenerator.d.ts +36 -0
  369. package/dist/webgl/shader/GradientLUTGenerator.js +129 -0
  370. package/dist/webgl/shader/WebGLShaderUniform.d.ts +52 -0
  371. package/dist/webgl/shader/WebGLShaderUniform.js +168 -0
  372. package/dist/webgl/shader/fragment/FragmentShaderLibrary.d.ts +18 -0
  373. package/dist/webgl/shader/fragment/FragmentShaderLibrary.js +35 -0
  374. package/dist/webgl/shader/fragment/FragmentShaderSource.d.ts +29 -0
  375. package/dist/webgl/shader/fragment/FragmentShaderSource.js +99 -0
  376. package/dist/webgl/shader/fragment/FragmentShaderSourceBlend.d.ts +67 -0
  377. package/dist/webgl/shader/fragment/FragmentShaderSourceBlend.js +319 -0
  378. package/dist/webgl/shader/fragment/FragmentShaderSourceGradient.d.ts +44 -0
  379. package/dist/webgl/shader/fragment/FragmentShaderSourceGradient.js +114 -0
  380. package/dist/webgl/shader/fragment/FragmentShaderSourceGradientLUT.d.ts +14 -0
  381. package/dist/webgl/shader/fragment/FragmentShaderSourceGradientLUT.js +58 -0
  382. package/dist/webgl/shader/fragment/FragmentShaderSourceTexture.d.ts +12 -0
  383. package/dist/webgl/shader/fragment/FragmentShaderSourceTexture.js +36 -0
  384. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.d.ts +12 -0
  385. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.js +42 -0
  386. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.d.ts +11 -0
  387. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.js +35 -0
  388. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.d.ts +16 -0
  389. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.js +80 -0
  390. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.d.ts +15 -0
  391. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.js +106 -0
  392. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceFilter.d.ts +112 -0
  393. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceFilter.js +275 -0
  394. package/dist/webgl/shader/variants/BlendShaderVariantCollection.d.ts +99 -0
  395. package/dist/webgl/shader/variants/BlendShaderVariantCollection.js +242 -0
  396. package/dist/webgl/shader/variants/FilterShaderVariantCollection.d.ts +150 -0
  397. package/dist/webgl/shader/variants/FilterShaderVariantCollection.js +398 -0
  398. package/dist/webgl/shader/variants/GradientLUTShaderVariantCollection.d.ts +49 -0
  399. package/dist/webgl/shader/variants/GradientLUTShaderVariantCollection.js +110 -0
  400. package/dist/webgl/shader/variants/GradientShapeShaderVariantCollection.d.ts +61 -0
  401. package/dist/webgl/shader/variants/GradientShapeShaderVariantCollection.js +199 -0
  402. package/dist/webgl/shader/variants/ShapeShaderVariantCollection.d.ts +117 -0
  403. package/dist/webgl/shader/variants/ShapeShaderVariantCollection.js +430 -0
  404. package/dist/webgl/shader/vertex/VertexShaderLibrary.d.ts +18 -0
  405. package/dist/webgl/shader/vertex/VertexShaderLibrary.js +75 -0
  406. package/dist/webgl/shader/vertex/VertexShaderSource.d.ts +23 -0
  407. package/dist/webgl/shader/vertex/VertexShaderSource.js +92 -0
  408. package/dist/webgl/shader/vertex/VertexShaderSourceFill.d.ts +45 -0
  409. package/dist/webgl/shader/vertex/VertexShaderSourceFill.js +112 -0
  410. package/dist/webgl/shader/vertex/VertexShaderSourceStroke.d.ts +27 -0
  411. package/dist/webgl/shader/vertex/VertexShaderSourceStroke.js +149 -0
  412. package/package.json +28 -25
  413. package/SECURITY.md +0 -3
  414. package/next2d.js +0 -7
@@ -0,0 +1,150 @@
1
+ import { BitmapFilter } from "./BitmapFilter";
2
+ import { Rectangle } from "../geom/Rectangle";
3
+ import type { FilterQualityImpl } from "../../../interface/FilterQualityImpl";
4
+ import type { CanvasToWebGLContext } from "../../../webgl/CanvasToWebGLContext";
5
+ /**
6
+ * BlurFilter クラスを使用すると、表示オブジェクトにぼかし効果を適用できます。
7
+ * ぼかし効果は、イメージの細部をぼかします。ソフトフォーカスがかかっているように見えるぼかしから、
8
+ * 半透明ガラスを通してイメージを見るようにかすんで見えるガウスぼかしまで作成できます。
9
+ * このフィルターの quality プロパティを低く設定すると、ソフトフォーカスがかかっているように見えるぼかしになります。
10
+ * quality プロパティを高く設定すると、ガウスぼかしフィルターに似たものになります。
11
+ *
12
+ * The BlurFilter class lets you apply a blur visual effect to display objects.
13
+ * A blur effect softens the details of an image.
14
+ * You can produce blurs that range from a softly unfocused look to a Gaussian blur,
15
+ * a hazy appearance like viewing an image through semi-opaque glass.
16
+ * When the quality property of this filter is set to low, the result is a softly unfocused look.
17
+ * When the quality property is set to high, it approximates a Gaussian blur filter.
18
+ *
19
+ * @class
20
+ * @memberOf next2d.filters
21
+ * @extends BitmapFilter
22
+ */
23
+ export declare class BlurFilter extends BitmapFilter {
24
+ private _$blurX;
25
+ private _$blurY;
26
+ private _$quality;
27
+ /**
28
+ * @param {number} [blur_x=4]
29
+ * @param {number} [blur_y=4]
30
+ * @param {int} [quality=1]
31
+ *
32
+ * @constructor
33
+ * @public
34
+ */
35
+ constructor(blur_x?: number, blur_y?: number, quality?: FilterQualityImpl);
36
+ /**
37
+ * @description 指定されたクラスのストリングを返します。
38
+ * Returns the string representation of the specified class.
39
+ *
40
+ * @return {string}
41
+ * @default [class BlurFilter]
42
+ * @method
43
+ * @static
44
+ */
45
+ static toString(): string;
46
+ /**
47
+ * @description 指定されたクラスの空間名を返します。
48
+ * Returns the space name of the specified class.
49
+ *
50
+ * @return {string}
51
+ * @default next2d.filters.BlurFilter
52
+ * @const
53
+ * @static
54
+ */
55
+ static get namespace(): string;
56
+ /**
57
+ * @description 指定されたオブジェクトのストリングを返します。
58
+ * Returns the string representation of the specified object.
59
+ *
60
+ * @return {string}
61
+ * @default [object BlurFilter]
62
+ * @method
63
+ * @public
64
+ */
65
+ toString(): string;
66
+ /**
67
+ * @description 指定されたオブジェクトの空間名を返します。
68
+ * Returns the space name of the specified object.
69
+ *
70
+ * @return {string}
71
+ * @default next2d.filters.BlurFilter
72
+ * @const
73
+ * @public
74
+ */
75
+ get namespace(): string;
76
+ /**
77
+ * @return {array}
78
+ * @private
79
+ */
80
+ static get STEP(): number[];
81
+ /**
82
+ * @description 水平方向のぼかし量。
83
+ * The amount of horizontal blur.
84
+ *
85
+ * @member {number}
86
+ * @default 4
87
+ * @public
88
+ */
89
+ get blurX(): number;
90
+ set blurX(blur_x: number);
91
+ /**
92
+ * @description 垂直方向のぼかし量。
93
+ * The amount of vertical blur.
94
+ *
95
+ * @member {number}
96
+ * @default 4
97
+ * @public
98
+ */
99
+ get blurY(): number;
100
+ set blurY(blur_y: number);
101
+ /**
102
+ * @description ぼかしの実行回数です。
103
+ * The number of times to perform the blur.
104
+ *
105
+ * @member {number}
106
+ * @default 1
107
+ * @public
108
+ */
109
+ get quality(): FilterQualityImpl;
110
+ set quality(quality: FilterQualityImpl);
111
+ /**
112
+ * @description オブジェクトのコピーを返します。
113
+ * Returns a copy of this filter object.
114
+ *
115
+ * @return {BlurFilter}
116
+ * @method
117
+ * @public
118
+ */
119
+ clone(): BlurFilter;
120
+ /**
121
+ * @return {array}
122
+ * @method
123
+ * @public
124
+ */
125
+ _$toArray(): any[];
126
+ /**
127
+ * @param {Rectangle} rect
128
+ * @param {number} [x_scale=0]
129
+ * @param {number} [y_scale=0]
130
+ * @return {Rectangle}
131
+ * @method
132
+ * @private
133
+ */
134
+ _$generateFilterRect(rect: Rectangle, x_scale?: number, y_scale?: number): Rectangle;
135
+ /**
136
+ * @return {boolean}
137
+ * @method
138
+ * @private
139
+ */
140
+ _$canApply(): boolean;
141
+ /**
142
+ * @param {CanvasToWebGLContext} context
143
+ * @param {Float32Array} matrix
144
+ * @param {boolean} [removed=true]
145
+ * @return {WebGLTexture}
146
+ * @method
147
+ * @private
148
+ */
149
+ _$applyFilter(context: CanvasToWebGLContext, matrix: Float32Array, removed?: boolean): WebGLTexture;
150
+ }
@@ -0,0 +1,373 @@
1
+ import { BitmapFilter } from "./BitmapFilter";
2
+ import { Rectangle } from "../geom/Rectangle";
3
+ import { $Math, $getArray, $clamp } from "../../util/RenderUtil";
4
+ /**
5
+ * BlurFilter クラスを使用すると、表示オブジェクトにぼかし効果を適用できます。
6
+ * ぼかし効果は、イメージの細部をぼかします。ソフトフォーカスがかかっているように見えるぼかしから、
7
+ * 半透明ガラスを通してイメージを見るようにかすんで見えるガウスぼかしまで作成できます。
8
+ * このフィルターの quality プロパティを低く設定すると、ソフトフォーカスがかかっているように見えるぼかしになります。
9
+ * quality プロパティを高く設定すると、ガウスぼかしフィルターに似たものになります。
10
+ *
11
+ * The BlurFilter class lets you apply a blur visual effect to display objects.
12
+ * A blur effect softens the details of an image.
13
+ * You can produce blurs that range from a softly unfocused look to a Gaussian blur,
14
+ * a hazy appearance like viewing an image through semi-opaque glass.
15
+ * When the quality property of this filter is set to low, the result is a softly unfocused look.
16
+ * When the quality property is set to high, it approximates a Gaussian blur filter.
17
+ *
18
+ * @class
19
+ * @memberOf next2d.filters
20
+ * @extends BitmapFilter
21
+ */
22
+ export class BlurFilter extends BitmapFilter {
23
+ _$blurX;
24
+ _$blurY;
25
+ _$quality;
26
+ /**
27
+ * @param {number} [blur_x=4]
28
+ * @param {number} [blur_y=4]
29
+ * @param {int} [quality=1]
30
+ *
31
+ * @constructor
32
+ * @public
33
+ */
34
+ constructor(blur_x = 4, blur_y = 4, quality = 1) {
35
+ super();
36
+ /**
37
+ * @type {number}
38
+ * @default 4
39
+ * @private
40
+ */
41
+ this._$blurX = 4;
42
+ /**
43
+ * @type {number}
44
+ * @default 4
45
+ * @private
46
+ */
47
+ this._$blurY = 4;
48
+ /**
49
+ * @type {number}
50
+ * @default 1
51
+ * @private
52
+ */
53
+ this._$quality = 1;
54
+ // setup
55
+ this.blurX = blur_x;
56
+ this.blurY = blur_y;
57
+ this.quality = quality;
58
+ }
59
+ /**
60
+ * @description 指定されたクラスのストリングを返します。
61
+ * Returns the string representation of the specified class.
62
+ *
63
+ * @return {string}
64
+ * @default [class BlurFilter]
65
+ * @method
66
+ * @static
67
+ */
68
+ static toString() {
69
+ return "[class BlurFilter]";
70
+ }
71
+ /**
72
+ * @description 指定されたクラスの空間名を返します。
73
+ * Returns the space name of the specified class.
74
+ *
75
+ * @return {string}
76
+ * @default next2d.filters.BlurFilter
77
+ * @const
78
+ * @static
79
+ */
80
+ static get namespace() {
81
+ return "next2d.filters.BlurFilter";
82
+ }
83
+ /**
84
+ * @description 指定されたオブジェクトのストリングを返します。
85
+ * Returns the string representation of the specified object.
86
+ *
87
+ * @return {string}
88
+ * @default [object BlurFilter]
89
+ * @method
90
+ * @public
91
+ */
92
+ toString() {
93
+ return "[object BlurFilter]";
94
+ }
95
+ /**
96
+ * @description 指定されたオブジェクトの空間名を返します。
97
+ * Returns the space name of the specified object.
98
+ *
99
+ * @return {string}
100
+ * @default next2d.filters.BlurFilter
101
+ * @const
102
+ * @public
103
+ */
104
+ get namespace() {
105
+ return "next2d.filters.BlurFilter";
106
+ }
107
+ /**
108
+ * @return {array}
109
+ * @private
110
+ */
111
+ static get STEP() {
112
+ return [0.5, 1.05, 1.4, 1.55, 1.75, 1.9, 2, 2.15, 2.2, 2.3, 2.5, 3, 3, 3.5, 3.5];
113
+ }
114
+ /**
115
+ * @description 水平方向のぼかし量。
116
+ * The amount of horizontal blur.
117
+ *
118
+ * @member {number}
119
+ * @default 4
120
+ * @public
121
+ */
122
+ get blurX() {
123
+ return this._$blurX;
124
+ }
125
+ set blurX(blur_x) {
126
+ blur_x = $clamp(+blur_x, 0, 255, 0);
127
+ if (blur_x !== this._$blurX) {
128
+ this._$blurX = blur_x;
129
+ this._$doChanged();
130
+ }
131
+ }
132
+ /**
133
+ * @description 垂直方向のぼかし量。
134
+ * The amount of vertical blur.
135
+ *
136
+ * @member {number}
137
+ * @default 4
138
+ * @public
139
+ */
140
+ get blurY() {
141
+ return this._$blurY;
142
+ }
143
+ set blurY(blur_y) {
144
+ blur_y = $clamp(+blur_y, 0, 255, 0);
145
+ if (blur_y !== this._$blurY) {
146
+ this._$blurY = blur_y;
147
+ this._$doChanged();
148
+ }
149
+ }
150
+ /**
151
+ * @description ぼかしの実行回数です。
152
+ * The number of times to perform the blur.
153
+ *
154
+ * @member {number}
155
+ * @default 1
156
+ * @public
157
+ */
158
+ get quality() {
159
+ return this._$quality;
160
+ }
161
+ set quality(quality) {
162
+ quality = $clamp(quality | 0, 0, 15, 1);
163
+ if (quality !== this._$quality) {
164
+ this._$quality = quality;
165
+ this._$doChanged();
166
+ }
167
+ }
168
+ /**
169
+ * @description オブジェクトのコピーを返します。
170
+ * Returns a copy of this filter object.
171
+ *
172
+ * @return {BlurFilter}
173
+ * @method
174
+ * @public
175
+ */
176
+ clone() {
177
+ return new BlurFilter(this._$blurX, this._$blurY, this._$quality);
178
+ }
179
+ /**
180
+ * @return {array}
181
+ * @method
182
+ * @public
183
+ */
184
+ _$toArray() {
185
+ return $getArray(1, this._$blurX, this._$blurY, this._$quality);
186
+ }
187
+ /**
188
+ * @param {Rectangle} rect
189
+ * @param {number} [x_scale=0]
190
+ * @param {number} [y_scale=0]
191
+ * @return {Rectangle}
192
+ * @method
193
+ * @private
194
+ */
195
+ _$generateFilterRect(rect, x_scale = 0, y_scale = 0) {
196
+ const clone = rect.clone();
197
+ if (!this._$quality) {
198
+ return clone;
199
+ }
200
+ const step = BlurFilter.STEP[this._$quality - 1];
201
+ let dx = 0 >= this._$blurX ? 1 : this._$blurX * step;
202
+ let dy = 0 >= this._$blurY ? 1 : this._$blurY * step;
203
+ if (x_scale) {
204
+ dx *= x_scale;
205
+ }
206
+ else {
207
+ dx = $Math.round(dx);
208
+ }
209
+ if (y_scale) {
210
+ dy *= y_scale;
211
+ }
212
+ else {
213
+ dy = $Math.round(dy);
214
+ }
215
+ clone.x -= dx;
216
+ clone.width += dx * 2;
217
+ clone.y -= dy;
218
+ clone.height += dy * 2;
219
+ return clone;
220
+ }
221
+ /**
222
+ * @return {boolean}
223
+ * @method
224
+ * @private
225
+ */
226
+ _$canApply() {
227
+ return this._$blurX !== 0 && this._$blurY !== 0;
228
+ }
229
+ /**
230
+ * @param {CanvasToWebGLContext} context
231
+ * @param {Float32Array} matrix
232
+ * @param {boolean} [removed=true]
233
+ * @return {WebGLTexture}
234
+ * @method
235
+ * @private
236
+ */
237
+ _$applyFilter(context, matrix, removed = true) {
238
+ this._$updated = false;
239
+ const manager = context.frameBuffer;
240
+ const currentAttachment = manager.currentAttachment;
241
+ const baseTexture = manager
242
+ .getTextureFromCurrentAttachment();
243
+ if (!this._$canApply()) {
244
+ if (removed) {
245
+ return baseTexture;
246
+ }
247
+ return manager
248
+ .createTextureFromCurrentAttachment();
249
+ }
250
+ // matrix to scale
251
+ const xScale = $Math.sqrt(matrix[0] * matrix[0] + matrix[1] * matrix[1]);
252
+ const yScale = $Math.sqrt(matrix[2] * matrix[2] + matrix[3] * matrix[3]);
253
+ // after size
254
+ const baseRect = new Rectangle(0, 0, baseTexture.width, baseTexture.height);
255
+ const rect = this._$generateFilterRect(baseRect, xScale, yScale);
256
+ const width = $Math.ceil(rect.width) | 0;
257
+ const height = $Math.ceil(rect.height) | 0;
258
+ const offsetX = $Math.ceil($Math.abs(rect.x) + $Math.abs(width - rect.width) * 0.5);
259
+ const offsetY = $Math.ceil($Math.abs(rect.y) + $Math.abs(height - rect.height) * 0.5);
260
+ // set offset xy
261
+ context._$offsetX = offsetX + context._$offsetX;
262
+ context._$offsetY = offsetY + context._$offsetY;
263
+ const baseBlurX = this._$blurX * xScale;
264
+ const baseBlurY = this._$blurY * yScale;
265
+ let bufferScaleX = 1;
266
+ let bufferScaleY = 1;
267
+ if (baseBlurX > 128) {
268
+ bufferScaleX = 0.0625;
269
+ }
270
+ else if (baseBlurX > 64) {
271
+ bufferScaleX = 0.125;
272
+ }
273
+ else if (baseBlurX > 32) {
274
+ bufferScaleX = 0.25;
275
+ }
276
+ else if (baseBlurX > 16) {
277
+ bufferScaleX = 0.5;
278
+ }
279
+ if (baseBlurY > 128) {
280
+ bufferScaleY = 0.0625;
281
+ }
282
+ else if (baseBlurY > 64) {
283
+ bufferScaleY = 0.125;
284
+ }
285
+ else if (baseBlurY > 32) {
286
+ bufferScaleY = 0.25;
287
+ }
288
+ else if (baseBlurY > 16) {
289
+ bufferScaleY = 0.5;
290
+ }
291
+ const bufferBlurX = baseBlurX * bufferScaleX;
292
+ const bufferBlurY = baseBlurY * bufferScaleY;
293
+ const bufferWidth = $Math.ceil(width * bufferScaleX);
294
+ const bufferHeight = $Math.ceil(height * bufferScaleY);
295
+ const attachment0 = manager
296
+ .createTextureAttachment(bufferWidth, bufferHeight);
297
+ const attachment1 = manager
298
+ .createTextureAttachment(bufferWidth, bufferHeight);
299
+ const attachments = [attachment0, attachment1];
300
+ let attachmentIndex = 0;
301
+ context._$bind(attachment0);
302
+ // draw
303
+ context.reset();
304
+ context.setTransform(bufferScaleX, 0, 0, bufferScaleY, 0, 0);
305
+ context.drawImage(baseTexture, offsetX, offsetY, baseTexture.width, baseTexture.height);
306
+ // set alpha
307
+ context.blend.toOneZero();
308
+ // execute
309
+ let targetTexture = manager.getTextureFromCurrentAttachment();
310
+ for (let q = 0; q < this._$quality; ++q) {
311
+ // draw blur x
312
+ if (this._$blurX > 0) {
313
+ attachmentIndex = (attachmentIndex + 1) % 2;
314
+ const xTexture = attachments[attachmentIndex];
315
+ context._$bind(xTexture);
316
+ context
317
+ ._$applyBlurFilter(targetTexture, true, bufferBlurX);
318
+ targetTexture = manager.getTextureFromCurrentAttachment();
319
+ }
320
+ // draw blur y
321
+ if (this._$blurY > 0) {
322
+ attachmentIndex = (attachmentIndex + 1) % 2;
323
+ const yTexture = attachments[attachmentIndex];
324
+ context._$bind(yTexture);
325
+ context
326
+ ._$applyBlurFilter(targetTexture, false, bufferBlurY);
327
+ targetTexture = manager.getTextureFromCurrentAttachment();
328
+ }
329
+ }
330
+ // reset alpha
331
+ context.blend.reset();
332
+ if (bufferScaleX !== 1 || bufferScaleY !== 1) {
333
+ const resultAttachment = manager
334
+ .createTextureAttachment(width, height);
335
+ context._$bind(resultAttachment);
336
+ context.reset();
337
+ context.imageSmoothingEnabled = true;
338
+ context.setTransform(1 / bufferScaleX, 0, 0, 1 / bufferScaleY, 0, 0);
339
+ context.drawImage(targetTexture, 0, 0, bufferWidth, bufferHeight);
340
+ targetTexture = manager.getTextureFromCurrentAttachment();
341
+ context.reset();
342
+ context.setTransform(1, 0, 0, 1, 0, 0);
343
+ manager
344
+ .releaseAttachment(attachments[0], true);
345
+ manager
346
+ .releaseAttachment(attachments[1], true);
347
+ if (removed) {
348
+ manager
349
+ .releaseAttachment(currentAttachment, true);
350
+ }
351
+ else {
352
+ manager
353
+ .releaseAttachment(resultAttachment, false);
354
+ }
355
+ }
356
+ else {
357
+ // 最終結果ではない方のAttachmentを解放する
358
+ manager
359
+ .releaseAttachment(attachments[(attachmentIndex + 1) % 2], true);
360
+ if (removed) {
361
+ // 適用前のAttachmentを解放する
362
+ manager
363
+ .releaseAttachment(currentAttachment, true);
364
+ }
365
+ else {
366
+ // 適用後のAttachmentを解放する
367
+ manager
368
+ .releaseAttachment(attachments[attachmentIndex], false);
369
+ }
370
+ }
371
+ return targetTexture;
372
+ }
373
+ }
@@ -0,0 +1,116 @@
1
+ import { BitmapFilter } from "./BitmapFilter";
2
+ import type { Rectangle } from "../geom/Rectangle";
3
+ import type { CanvasToWebGLContext } from "../../../webgl/CanvasToWebGLContext";
4
+ /**
5
+ * ColorMatrixFilter クラスを使用すると、表示オブジェクトにぼかし効果を適用できます。
6
+ * ぼかし効果は、イメージの細部をぼかします。ソフトフォーカスがかかっているように見えるぼかしから、
7
+ * 半透明ガラスを通してイメージを見るようにかすんで見えるガウスぼかしまで作成できます。
8
+ * このフィルターの quality プロパティを低く設定すると、ソフトフォーカスがかかっているように見えるぼかしになります。
9
+ * quality プロパティを高く設定すると、ガウスぼかしフィルターに似たものになります。
10
+ *
11
+ * The ColorMatrixFilter class lets you apply a blur visual effect to display objects.
12
+ * A blur effect softens the details of an image.
13
+ * You can produce blurs that range from a softly unfocused look to a Gaussian blur,
14
+ * a hazy appearance like viewing an image through semi-opaque glass.
15
+ * When the quality property of this filter is set to low, the result is a softly unfocused look.
16
+ * When the quality property is set to high, it approximates a Gaussian blur filter.
17
+ *
18
+ * @class
19
+ * @memberOf next2d.filters
20
+ * @extends BitmapFilter
21
+ */
22
+ export declare class ColorMatrixFilter extends BitmapFilter {
23
+ private _$matrix;
24
+ /**
25
+ * @param {array} [matrix=null]
26
+ *
27
+ * @constructor
28
+ * @public
29
+ */
30
+ constructor(matrix?: number[] | null);
31
+ /**
32
+ * @description 指定されたクラスのストリングを返します。
33
+ * Returns the string representation of the specified class.
34
+ *
35
+ * @return {string}
36
+ * @default [class ColorMatrixFilter]
37
+ * @method
38
+ * @static
39
+ */
40
+ static toString(): string;
41
+ /**
42
+ * @description 指定されたクラスの空間名を返します。
43
+ * Returns the space name of the specified class.
44
+ *
45
+ * @return {string}
46
+ * @default next2d.filters.ColorMatrixFilter
47
+ * @const
48
+ * @static
49
+ */
50
+ static get namespace(): string;
51
+ /**
52
+ * @description 指定されたオブジェクトのストリングを返します。
53
+ * Returns the string representation of the specified object.
54
+ *
55
+ * @return {string}
56
+ * @default [object ColorMatrixFilter]
57
+ * @method
58
+ * @public
59
+ */
60
+ toString(): string;
61
+ /**
62
+ * @description 指定されたオブジェクトの空間名を返します。
63
+ * Returns the space name of the specified object.
64
+ *
65
+ * @return {string}
66
+ * @default next2d.filters.ColorMatrixFilter
67
+ * @const
68
+ * @public
69
+ */
70
+ get namespace(): string;
71
+ /**
72
+ * @description 4×5 カラー変換用の20個のアイテムの配列
73
+ * An array of 20 items for 4x5 color transform.
74
+ *
75
+ * @member {array}
76
+ * @default null
77
+ * @public
78
+ */
79
+ get matrix(): number[];
80
+ set matrix(matrix: number[] | null);
81
+ /**
82
+ * @description オブジェクトのコピーを返します。
83
+ * Returns a copy of this filter object.
84
+ *
85
+ * @return {ColorMatrixFilter}
86
+ * @method
87
+ * @public
88
+ */
89
+ clone(): ColorMatrixFilter;
90
+ /**
91
+ * @return {array}
92
+ * @method
93
+ * @public
94
+ */
95
+ _$toArray(): any[];
96
+ /**
97
+ * @param {Rectangle} rect
98
+ * @return {Rectangle}
99
+ * @method
100
+ * @private
101
+ */
102
+ _$generateFilterRect(rect: Rectangle): Rectangle;
103
+ /**
104
+ * @return {boolean}
105
+ * @method
106
+ * @private
107
+ */
108
+ _$canApply(): boolean;
109
+ /**
110
+ * @param {CanvasToWebGLContext} context
111
+ * @return {WebGLTexture}
112
+ * @method
113
+ * @private
114
+ */
115
+ _$applyFilter(context: CanvasToWebGLContext): WebGLTexture;
116
+ }