@next2d/player 1.14.6 → 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,398 @@
1
+ import { CanvasToWebGLShader } from "../CanvasToWebGLShader";
2
+ import { VertexShaderSource } from "../vertex/VertexShaderSource";
3
+ import { FragmentShaderSourceFilter } from "../fragment/filter/FragmentShaderSourceFilter";
4
+ import { FragmentShaderSourceBlurFilter } from "../fragment/filter/FragmentShaderSourceBlurFilter";
5
+ import { FragmentShaderSourceColorMatrixFilter } from "../fragment/filter/FragmentShaderSourceColorMatrixFilter";
6
+ import { FragmentShaderSourceConvolutionFilter } from "../fragment/filter/FragmentShaderSourceConvolutionFilter";
7
+ import { FragmentShaderSourceDisplacementMapFilter } from "../fragment/filter/FragmentShaderSourceDisplacementMapFilter";
8
+ import { $Math, $getMap } from "../../../player/util/RenderUtil";
9
+ /**
10
+ * @class
11
+ */
12
+ export class FilterShaderVariantCollection {
13
+ _$context;
14
+ _$gl;
15
+ _$collection;
16
+ /**
17
+ * @param {CanvasToWebGLContext} context
18
+ * @param {WebGL2RenderingContext} gl
19
+ * @constructor
20
+ * @public
21
+ */
22
+ constructor(context, gl) {
23
+ /**
24
+ * @type {CanvasToWebGLContext}
25
+ * @private
26
+ */
27
+ this._$context = context;
28
+ /**
29
+ * @type {WebGL2RenderingContext}
30
+ * @private
31
+ */
32
+ this._$gl = gl;
33
+ /**
34
+ * @type {Map}
35
+ * @private
36
+ */
37
+ this._$collection = $getMap();
38
+ }
39
+ /**
40
+ * @param {number} half_blur
41
+ * @return {CanvasToWebGLShader}
42
+ * @method
43
+ * @public
44
+ */
45
+ getBlurFilterShader(half_blur) {
46
+ const key = `b${half_blur}`;
47
+ if (this._$collection.has(key)) {
48
+ const shader = this._$collection.get(key);
49
+ if (shader) {
50
+ return shader;
51
+ }
52
+ }
53
+ const shader = new CanvasToWebGLShader(this._$gl, this._$context, VertexShaderSource.TEXTURE(), FragmentShaderSourceBlurFilter.TEMPLATE(half_blur));
54
+ this._$collection.set(key, shader);
55
+ return shader;
56
+ }
57
+ /**
58
+ * @param {boolean} transforms_base
59
+ * @param {boolean} transforms_blur
60
+ * @param {boolean} is_glow
61
+ * @param {string} type
62
+ * @param {boolean} knockout
63
+ * @param {boolean} applies_strength
64
+ * @param {boolean} is_gradient
65
+ * @return {CanvasToWebGLShader}
66
+ * @method
67
+ * @public
68
+ */
69
+ getBitmapFilterShader(transforms_base, transforms_blur, is_glow, type, knockout, applies_strength, is_gradient) {
70
+ const key1 = transforms_base ? "y" : "n";
71
+ const key2 = transforms_blur ? "y" : "n";
72
+ const key3 = is_glow ? "y" : "n";
73
+ const key4 = knockout ? "y" : "n";
74
+ const key5 = applies_strength ? "y" : "n";
75
+ const key = `f${key1}${key2}${key3}${type}${key4}${key5}`;
76
+ if (this._$collection.has(key)) {
77
+ const shader = this._$collection.get(key);
78
+ if (shader) {
79
+ return shader;
80
+ }
81
+ }
82
+ let texturesLength = 1;
83
+ if (transforms_base) {
84
+ texturesLength++;
85
+ }
86
+ if (is_gradient) {
87
+ texturesLength++;
88
+ }
89
+ let mediumpLength = (transforms_base ? 4 : 0)
90
+ + (transforms_blur ? 4 : 0)
91
+ + (applies_strength ? 1 : 0);
92
+ if (!is_gradient) {
93
+ mediumpLength += is_glow ? 4 : 8;
94
+ }
95
+ mediumpLength = $Math.ceil(mediumpLength / 4);
96
+ const shader = new CanvasToWebGLShader(this._$gl, this._$context, VertexShaderSource.TEXTURE(), FragmentShaderSourceFilter.TEMPLATE(texturesLength, mediumpLength, transforms_base, transforms_blur, is_glow, type, knockout, applies_strength, is_gradient));
97
+ this._$collection.set(key, shader);
98
+ return shader;
99
+ }
100
+ /**
101
+ * @return {CanvasToWebGLShader}
102
+ * @method
103
+ * @public
104
+ */
105
+ getColorMatrixFilterShader() {
106
+ const key = "m";
107
+ if (this._$collection.has(key)) {
108
+ const shader = this._$collection.get(key);
109
+ if (shader) {
110
+ return shader;
111
+ }
112
+ }
113
+ const shader = new CanvasToWebGLShader(this._$gl, this._$context, VertexShaderSource.TEXTURE(), FragmentShaderSourceColorMatrixFilter.TEMPLATE());
114
+ this._$collection.set(key, shader);
115
+ return shader;
116
+ }
117
+ /**
118
+ * @param {number} x
119
+ * @param {number} y
120
+ * @param {boolean} preserve_alpha
121
+ * @param {boolean} clamp
122
+ * @return {CanvasToWebGLShader}
123
+ * @method
124
+ * @public
125
+ */
126
+ getConvolutionFilterShader(x, y, preserve_alpha, clamp) {
127
+ const key1 = ("0" + x).slice(-2);
128
+ const key2 = ("0" + y).slice(-2);
129
+ const key3 = preserve_alpha ? "y" : "n";
130
+ const key4 = clamp ? "y" : "n";
131
+ const key = `c${key1}${key2}${key3}${key4}`;
132
+ if (this._$collection.has(key)) {
133
+ const shader = this._$collection.get(key);
134
+ if (shader) {
135
+ return shader;
136
+ }
137
+ }
138
+ const mediumpLength = (clamp ? 1 : 2) + $Math.ceil(x * y / 4);
139
+ const shader = new CanvasToWebGLShader(this._$gl, this._$context, VertexShaderSource.TEXTURE(), FragmentShaderSourceConvolutionFilter.TEMPLATE(mediumpLength, x, y, preserve_alpha, clamp));
140
+ this._$collection.set(key, shader);
141
+ return shader;
142
+ }
143
+ /**
144
+ * @param {number} component_x
145
+ * @param {number} component_y
146
+ * @param {string} mode
147
+ * @return {CanvasToWebGLShader}
148
+ * @method
149
+ * @public
150
+ */
151
+ getDisplacementMapFilterShader(component_x, component_y, mode) {
152
+ const key = `d${component_x}${component_y}${mode}`;
153
+ if (this._$collection.has(key)) {
154
+ const shader = this._$collection.get(key);
155
+ if (shader) {
156
+ return shader;
157
+ }
158
+ }
159
+ const mediumpLength = mode === "color" ? 3 : 2;
160
+ const shader = new CanvasToWebGLShader(this._$gl, this._$context, VertexShaderSource.TEXTURE(), FragmentShaderSourceDisplacementMapFilter.TEMPLATE(mediumpLength, component_x, component_y, mode));
161
+ this._$collection.set(key, shader);
162
+ return shader;
163
+ }
164
+ /**
165
+ * @param {WebGLShaderUniform} uniform
166
+ * @param {number} width
167
+ * @param {number} height
168
+ * @param {boolean} is_horizontal
169
+ * @param {number} fraction
170
+ * @param {number} samples
171
+ * @return {void}
172
+ * @method
173
+ * @public
174
+ */
175
+ setBlurFilterUniform(uniform, width, height, is_horizontal, fraction, samples) {
176
+ const mediump = uniform.mediump;
177
+ // fragment: u_offset
178
+ if (is_horizontal) {
179
+ mediump[0] = 1 / width;
180
+ mediump[1] = 0;
181
+ }
182
+ else {
183
+ mediump[0] = 0;
184
+ mediump[1] = 1 / height;
185
+ }
186
+ // fragment: u_fraction
187
+ mediump[2] = fraction;
188
+ // fragment: u_samples
189
+ mediump[3] = samples;
190
+ }
191
+ /**
192
+ * @param {WebGLShaderUniform} uniform
193
+ * @param {number} width
194
+ * @param {number} height
195
+ * @param {number} base_width
196
+ * @param {number} base_height
197
+ * @param {number} base_offset_x
198
+ * @param {number} base_offset_y
199
+ * @param {number} blur_width
200
+ * @param {number} blur_height
201
+ * @param {number} blur_offset_x
202
+ * @param {number} blur_offset_y
203
+ * @param {boolean} is_glow
204
+ * @param {number} strength
205
+ * @param {number} color_r1
206
+ * @param {number} color_g1
207
+ * @param {number} color_b1
208
+ * @param {number} color_a1
209
+ * @param {number} color_r2
210
+ * @param {number} color_g2
211
+ * @param {number} color_b2
212
+ * @param {number} color_a2
213
+ * @param {boolean} transforms_base
214
+ * @param {boolean} transforms_blur
215
+ * @param {boolean} applies_strength
216
+ * @param {boolean} is_gradient
217
+ * @method
218
+ * @public
219
+ */
220
+ setBitmapFilterUniform(uniform, width, height, base_width, base_height, base_offset_x, base_offset_y, blur_width, blur_height, blur_offset_x, blur_offset_y, is_glow, strength, color_r1, color_g1, color_b1, color_a1, color_r2, color_g2, color_b2, color_a2, transforms_base, transforms_blur, applies_strength, is_gradient) {
221
+ let textures;
222
+ // fragment: u_textures
223
+ if (transforms_base) {
224
+ textures = uniform.textures;
225
+ textures[0] = 0;
226
+ textures[1] = 1;
227
+ if (is_gradient) {
228
+ textures[2] = 2;
229
+ }
230
+ }
231
+ else if (is_gradient) {
232
+ textures = uniform.textures;
233
+ textures[0] = 0;
234
+ textures[1] = 2;
235
+ }
236
+ const mediump = uniform.mediump;
237
+ let i = 0;
238
+ if (transforms_base) {
239
+ // fragment: u_uv_scale
240
+ mediump[i] = width / base_width;
241
+ mediump[i + 1] = height / base_height;
242
+ // fragment: u_uv_offset
243
+ mediump[i + 2] = base_offset_x / base_width;
244
+ mediump[i + 3] = (height - base_height - base_offset_y) / base_height;
245
+ i += 4;
246
+ }
247
+ if (transforms_blur) {
248
+ // fragment: u_st_scale
249
+ mediump[i] = width / blur_width;
250
+ mediump[i + 1] = height / blur_height;
251
+ // fragment: u_st_offset
252
+ mediump[i + 2] = blur_offset_x / blur_width;
253
+ mediump[i + 3] = (height - blur_height - blur_offset_y) / blur_height;
254
+ i += 4;
255
+ }
256
+ if (is_gradient) {
257
+ // do nothing
258
+ }
259
+ else if (is_glow) {
260
+ // fragment: u_color
261
+ mediump[i] = color_r1;
262
+ mediump[i + 1] = color_g1;
263
+ mediump[i + 2] = color_b1;
264
+ mediump[i + 3] = color_a1;
265
+ i += 4;
266
+ }
267
+ else {
268
+ // fragment: u_highlight_color
269
+ mediump[i] = color_r1;
270
+ mediump[i + 1] = color_g1;
271
+ mediump[i + 2] = color_b1;
272
+ mediump[i + 3] = color_a1;
273
+ // fragment: u_shadow_color
274
+ mediump[i + 4] = color_r2;
275
+ mediump[i + 5] = color_g2;
276
+ mediump[i + 6] = color_b2;
277
+ mediump[i + 7] = color_a2;
278
+ i += 8;
279
+ }
280
+ if (applies_strength) {
281
+ // fragment: u_strength
282
+ mediump[i] = strength;
283
+ }
284
+ }
285
+ /**
286
+ * @param {WebGLShaderUniform} uniform
287
+ * @param {array} matrix
288
+ * @return {void}
289
+ * @method
290
+ * @public
291
+ */
292
+ setColorMatrixFilterUniform(uniform, matrix) {
293
+ const mediump = uniform.mediump;
294
+ // fragment: u_mul
295
+ mediump[0] = matrix[0];
296
+ mediump[1] = matrix[1];
297
+ mediump[2] = matrix[2];
298
+ mediump[3] = matrix[3];
299
+ mediump[4] = matrix[5];
300
+ mediump[5] = matrix[6];
301
+ mediump[6] = matrix[7];
302
+ mediump[7] = matrix[8];
303
+ mediump[8] = matrix[10];
304
+ mediump[9] = matrix[11];
305
+ mediump[10] = matrix[12];
306
+ mediump[11] = matrix[13];
307
+ mediump[12] = matrix[15];
308
+ mediump[13] = matrix[16];
309
+ mediump[14] = matrix[17];
310
+ mediump[15] = matrix[18];
311
+ // fragment: u_add
312
+ mediump[16] = matrix[4] / 255;
313
+ mediump[17] = matrix[9] / 255;
314
+ mediump[18] = matrix[14] / 255;
315
+ mediump[19] = matrix[19] / 255;
316
+ }
317
+ /**
318
+ * @param {WebGLShaderUniform} uniform
319
+ * @param {number} width
320
+ * @param {number} height
321
+ * @param {Float32Array} matrix
322
+ * @param {number} divisor
323
+ * @param {number} bias
324
+ * @param {boolean} clamp
325
+ * @param {number} color_r
326
+ * @param {number} color_g
327
+ * @param {number} color_b
328
+ * @param {number} color_a
329
+ * @return {void}
330
+ * @method
331
+ * @public
332
+ */
333
+ setConvolutionFilterUniform(uniform, width, height, matrix, divisor, bias, clamp, color_r, color_g, color_b, color_a) {
334
+ const mediump = uniform.mediump;
335
+ // fragment: u_rcp_size
336
+ mediump[0] = 1 / width;
337
+ mediump[1] = 1 / height;
338
+ // fragment: u_rcp_divisor
339
+ mediump[2] = 1 / divisor;
340
+ // fragment: u_bias
341
+ mediump[3] = bias / 255;
342
+ let i = 4;
343
+ if (!clamp) {
344
+ // fragment: u_substitute_color
345
+ mediump[i] = color_r;
346
+ mediump[i + 1] = color_g;
347
+ mediump[i + 2] = color_b;
348
+ mediump[i + 3] = color_a;
349
+ i += 4;
350
+ }
351
+ // fragment: u_matrix
352
+ const length = matrix.length;
353
+ for (let j = 0; j < length; j++) {
354
+ mediump[i++] = matrix[j];
355
+ }
356
+ }
357
+ /**
358
+ * @param {WebGLShaderUniform} uniform
359
+ * @param {number} map_width
360
+ * @param {number} map_height
361
+ * @param {number} base_width
362
+ * @param {number} base_height
363
+ * @param {number} point_x
364
+ * @param {number} point_y
365
+ * @param {number} scale_x
366
+ * @param {number} scale_y
367
+ * @param {string} mode
368
+ * @param {number} color_r
369
+ * @param {number} color_g
370
+ * @param {number} color_b
371
+ * @param {number} color_a
372
+ * @return {void}
373
+ * @method
374
+ * @public
375
+ */
376
+ setDisplacementMapFilterUniform(uniform, map_width, map_height, base_width, base_height, point_x, point_y, scale_x, scale_y, mode, color_r, color_g, color_b, color_a) {
377
+ const textures = uniform.textures;
378
+ textures[0] = 0;
379
+ textures[1] = 1;
380
+ const mediump = uniform.mediump;
381
+ // fragment: u_uv_to_st_scale
382
+ mediump[0] = base_width / map_width;
383
+ mediump[1] = base_height / map_height;
384
+ // fragment: u_uv_to_st_offset
385
+ mediump[2] = point_x / map_width;
386
+ mediump[3] = (base_height - map_height - point_y) / map_height;
387
+ // fragment: u_scale
388
+ mediump[4] = scale_x / base_width;
389
+ mediump[5] = -scale_y / base_height;
390
+ if (mode === "color") {
391
+ // fragment: u_substitute_color
392
+ mediump[8] = color_r;
393
+ mediump[9] = color_g;
394
+ mediump[10] = color_b;
395
+ mediump[11] = color_a;
396
+ }
397
+ }
398
+ }
@@ -0,0 +1,49 @@
1
+ import { CanvasToWebGLShader } from "../CanvasToWebGLShader";
2
+ import type { CanvasToWebGLContext } from "../../CanvasToWebGLContext";
3
+ import type { WebGLShaderUniform } from "../WebGLShaderUniform";
4
+ /**
5
+ * @class
6
+ */
7
+ export declare class GradientLUTShaderVariantCollection {
8
+ private readonly _$context;
9
+ private readonly _$gl;
10
+ private readonly _$collection;
11
+ /**
12
+ * @param {CanvasToWebGLContext} context
13
+ * @param {WebGL2RenderingContext} gl
14
+ * @constructor
15
+ * @public
16
+ */
17
+ constructor(context: CanvasToWebGLContext, gl: WebGL2RenderingContext);
18
+ /**
19
+ * @param {number} stops_length
20
+ * @param {boolean} is_linear_space
21
+ * @return {CanvasToWebGLShader}
22
+ * @method
23
+ * @public
24
+ */
25
+ getGradientLUTShader(stops_length: number, is_linear_space: boolean): CanvasToWebGLShader;
26
+ /**
27
+ * @param {WebGLShaderUniform} uniform
28
+ * @param {array} stops
29
+ * @param {number} begin
30
+ * @param {number} end
31
+ * @param {Float32Array} table
32
+ * @return {void}
33
+ * @method
34
+ * @public
35
+ */
36
+ setGradientLUTUniformForShape(uniform: WebGLShaderUniform, stops: any[], begin: number, end: number, table: Float32Array): void;
37
+ /**
38
+ * @param {WebGLShaderUniform} uniform
39
+ * @param {array} ratios
40
+ * @param {array} colors
41
+ * @param {array} alphas
42
+ * @param {number} begin
43
+ * @param {number} end
44
+ * @return {void}
45
+ * @method
46
+ * @public
47
+ */
48
+ setGradientLUTUniformForFilter(uniform: WebGLShaderUniform, ratios: number[], colors: number[], alphas: number[], begin: number, end: number): void;
49
+ }
@@ -0,0 +1,110 @@
1
+ import { VertexShaderSource } from "../vertex/VertexShaderSource";
2
+ import { FragmentShaderSourceGradientLUT } from "../fragment/FragmentShaderSourceGradientLUT";
3
+ import { CanvasToWebGLShader } from "../CanvasToWebGLShader";
4
+ import { $Math, $getMap } from "../../../player/util/RenderUtil";
5
+ /**
6
+ * @class
7
+ */
8
+ export class GradientLUTShaderVariantCollection {
9
+ _$context;
10
+ _$gl;
11
+ _$collection;
12
+ /**
13
+ * @param {CanvasToWebGLContext} context
14
+ * @param {WebGL2RenderingContext} gl
15
+ * @constructor
16
+ * @public
17
+ */
18
+ constructor(context, gl) {
19
+ /**
20
+ * @type {CanvasToWebGLContext}
21
+ * @private
22
+ */
23
+ this._$context = context;
24
+ /**
25
+ * @type {WebGL2RenderingContext}
26
+ * @private
27
+ */
28
+ this._$gl = gl;
29
+ /**
30
+ * @type {Map}
31
+ * @private
32
+ */
33
+ this._$collection = $getMap();
34
+ }
35
+ /**
36
+ * @param {number} stops_length
37
+ * @param {boolean} is_linear_space
38
+ * @return {CanvasToWebGLShader}
39
+ * @method
40
+ * @public
41
+ */
42
+ getGradientLUTShader(stops_length, is_linear_space) {
43
+ const key1 = ("00" + stops_length).slice(-3);
44
+ const key2 = is_linear_space ? "y" : "n";
45
+ const key = `l${key1}${key2}`;
46
+ if (this._$collection.has(key)) {
47
+ const shader = this._$collection.get(key);
48
+ if (shader) {
49
+ return shader;
50
+ }
51
+ }
52
+ const mediumpLength = $Math.ceil(stops_length * 5 / 4);
53
+ const shader = new CanvasToWebGLShader(this._$gl, this._$context, VertexShaderSource.TEXTURE(), FragmentShaderSourceGradientLUT.TEMPLATE(mediumpLength, stops_length, is_linear_space));
54
+ this._$collection.set(key, shader);
55
+ return shader;
56
+ }
57
+ /**
58
+ * @param {WebGLShaderUniform} uniform
59
+ * @param {array} stops
60
+ * @param {number} begin
61
+ * @param {number} end
62
+ * @param {Float32Array} table
63
+ * @return {void}
64
+ * @method
65
+ * @public
66
+ */
67
+ setGradientLUTUniformForShape(uniform, stops, begin, end, table) {
68
+ let i = 0;
69
+ const mediump = uniform.mediump;
70
+ // fragment: u_gradient_color
71
+ for (let j = begin; j < end; j++) {
72
+ const color = stops[j][1];
73
+ mediump[i++] = table[color[0]];
74
+ mediump[i++] = table[color[1]];
75
+ mediump[i++] = table[color[2]];
76
+ mediump[i++] = table[color[3]];
77
+ }
78
+ // fragment: u_gradient_t
79
+ for (let j = begin; j < end; j++) {
80
+ mediump[i++] = stops[j][0];
81
+ }
82
+ }
83
+ /**
84
+ * @param {WebGLShaderUniform} uniform
85
+ * @param {array} ratios
86
+ * @param {array} colors
87
+ * @param {array} alphas
88
+ * @param {number} begin
89
+ * @param {number} end
90
+ * @return {void}
91
+ * @method
92
+ * @public
93
+ */
94
+ setGradientLUTUniformForFilter(uniform, ratios, colors, alphas, begin, end) {
95
+ let i = 0;
96
+ const mediump = uniform.mediump;
97
+ // fragment: u_gradient_color
98
+ for (let j = begin; j < end; j++) {
99
+ const color = colors[j];
100
+ mediump[i++] = (color >> 16) / 255;
101
+ mediump[i++] = (color >> 8 & 0xFF) / 255;
102
+ mediump[i++] = (color & 0xFF) / 255;
103
+ mediump[i++] = alphas[j];
104
+ }
105
+ // fragment: u_gradient_t
106
+ for (let j = begin; j < end; j++) {
107
+ mediump[i++] = ratios[j];
108
+ }
109
+ }
110
+ }
@@ -0,0 +1,61 @@
1
+ import { CanvasToWebGLShader } from "../CanvasToWebGLShader";
2
+ import type { CanvasToWebGLContext } from "../../CanvasToWebGLContext";
3
+ import type { WebGLShaderUniform } from "../WebGLShaderUniform";
4
+ import type { CanvasToWebGLContextGrid } from "../../CanvasToWebGLContextGrid";
5
+ /**
6
+ * @class
7
+ */
8
+ export declare class GradientShapeShaderVariantCollection {
9
+ private readonly _$context;
10
+ private readonly _$gl;
11
+ private readonly _$collection;
12
+ /**
13
+ * @param {CanvasToWebGLContext} context
14
+ * @param {WebGL2RenderingContext} gl
15
+ * @constructor
16
+ * @public
17
+ */
18
+ constructor(context: CanvasToWebGLContext, gl: WebGL2RenderingContext);
19
+ /**
20
+ * @param {boolean} is_stroke
21
+ * @param {boolean} has_grid
22
+ * @param {boolean} is_radial
23
+ * @param {boolean} has_focal_point
24
+ * @param {string} spread_method
25
+ * @return {CanvasToWebGLShader}
26
+ * @method
27
+ * @public
28
+ */
29
+ getGradientShapeShader(is_stroke: boolean, has_grid: boolean, is_radial: boolean, has_focal_point: boolean, spread_method: string): CanvasToWebGLShader;
30
+ /**
31
+ * @param {boolean} is_stroke
32
+ * @param {boolean} has_grid
33
+ * @param {boolean} is_radial
34
+ * @param {boolean} has_focal_point
35
+ * @param {string} spread_method
36
+ * @return {string}
37
+ * @method
38
+ * @private
39
+ */
40
+ createCollectionKey(is_stroke: boolean, has_grid: boolean, is_radial: boolean, has_focal_point: boolean, spread_method: string): string;
41
+ /**
42
+ * @param {WebGLShaderUniform} uniform
43
+ * @param {boolean} is_stroke
44
+ * @param {number} half_width
45
+ * @param {number} face
46
+ * @param {number} miter_limit
47
+ * @param {boolean} has_grid
48
+ * @param {Float32Array} matrix
49
+ * @param {Float32Array} inverse_matrix
50
+ * @param {number} viewport_width
51
+ * @param {number} viewport_height
52
+ * @param {CanvasToWebGLContextGrid} grid
53
+ * @param {boolean} is_radial
54
+ * @param {Float32Array} points
55
+ * @param {number} focal_point_ratio
56
+ * @return {void}
57
+ * @method
58
+ * @public
59
+ */
60
+ setGradientShapeUniform(uniform: WebGLShaderUniform, is_stroke: boolean, half_width: number, face: number, miter_limit: number, has_grid: boolean, matrix: Float32Array, inverse_matrix: Float32Array, viewport_width: number, viewport_height: number, grid: CanvasToWebGLContextGrid, is_radial: boolean, points: Float32Array, focal_point_ratio: number): void;
61
+ }