@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,196 @@
1
+ import { WebGLShaderUniform } from "./WebGLShaderUniform";
2
+ import { $getProgramId } from "../../player/util/RenderUtil";
3
+ /**
4
+ * @class
5
+ */
6
+ export class CanvasToWebGLShader {
7
+ _$gl;
8
+ _$context;
9
+ _$program;
10
+ _$uniform;
11
+ /**
12
+ * @param {WebGL2RenderingContext} gl
13
+ * @param {CanvasToWebGLContext} context
14
+ * @param {string} vertex_source
15
+ * @param {string} fragment_source
16
+ * @constructor
17
+ * @public
18
+ */
19
+ constructor(gl, context, vertex_source, fragment_source) {
20
+ /**
21
+ * @type {WebGL2RenderingContext}
22
+ * @private
23
+ */
24
+ this._$gl = gl;
25
+ /**
26
+ * @type {WebGL2RenderingContext}
27
+ * @private
28
+ */
29
+ this._$context = context;
30
+ /**
31
+ * @type {WebGLProgram}
32
+ * @private
33
+ */
34
+ this._$program = this._$createProgram(vertex_source, fragment_source);
35
+ /**
36
+ * @type {WebGLShaderUniform}
37
+ * @private
38
+ */
39
+ this._$uniform = new WebGLShaderUniform(gl, this._$program);
40
+ }
41
+ /**
42
+ * @return {WebGLShaderUniform}
43
+ * @readonly
44
+ * @public
45
+ */
46
+ get uniform() {
47
+ return this._$uniform;
48
+ }
49
+ /**
50
+ * @param {string} vertex_source
51
+ * @param {string} fragment_source
52
+ * @return {WebGLProgram}
53
+ * @method
54
+ * @private
55
+ */
56
+ _$createProgram(vertex_source, fragment_source) {
57
+ const program = this._$gl.createProgram();
58
+ if (!program) {
59
+ throw new Error("WebGL program error");
60
+ }
61
+ // control number
62
+ program.id = $getProgramId();
63
+ const vertexShader = this._$gl.createShader(this._$gl.VERTEX_SHADER);
64
+ if (!vertexShader) {
65
+ throw new Error("WebGL vertex shader error");
66
+ }
67
+ this._$gl.shaderSource(vertexShader, vertex_source);
68
+ this._$gl.compileShader(vertexShader);
69
+ const fragmentShader = this._$gl.createShader(this._$gl.FRAGMENT_SHADER);
70
+ if (!fragmentShader) {
71
+ throw new Error("WebGL fragment shader error");
72
+ }
73
+ this._$gl.shaderSource(fragmentShader, fragment_source);
74
+ this._$gl.compileShader(fragmentShader);
75
+ this._$gl.attachShader(program, vertexShader);
76
+ this._$gl.attachShader(program, fragmentShader);
77
+ this._$gl.linkProgram(program);
78
+ this._$gl.detachShader(program, vertexShader);
79
+ this._$gl.detachShader(program, fragmentShader);
80
+ this._$gl.deleteShader(vertexShader);
81
+ this._$gl.deleteShader(fragmentShader);
82
+ return program;
83
+ }
84
+ /**
85
+ * @return {void}
86
+ * @private
87
+ */
88
+ _$attachProgram() {
89
+ const shaderList = this._$context.shaderList;
90
+ if (shaderList.currentProgramId !== this._$program.id) {
91
+ shaderList.currentProgramId = this._$program.id;
92
+ this._$gl.useProgram(this._$program);
93
+ }
94
+ }
95
+ /**
96
+ * @return {void}
97
+ * @method
98
+ * @public
99
+ */
100
+ _$drawImage() {
101
+ this._$attachProgram();
102
+ this._$uniform.bindUniforms();
103
+ this._$context.vao.bindCommonVertexArray();
104
+ this._$gl.drawArrays(this._$gl.TRIANGLE_STRIP, 0, 4);
105
+ }
106
+ /**
107
+ * @param {number} begin
108
+ * @param {number} end
109
+ * @return {void}
110
+ * @method
111
+ * @public
112
+ */
113
+ _$drawGradient(begin, end) {
114
+ this._$attachProgram();
115
+ this._$uniform.bindUniforms();
116
+ this._$context.vao.bindGradientVertexArray(begin, end);
117
+ this._$gl.drawArrays(this._$gl.TRIANGLE_STRIP, 0, 4);
118
+ }
119
+ /**
120
+ * @param {WebGLVertexArrayObject} vertex_array_object
121
+ * @return {void}
122
+ * @method
123
+ * @public
124
+ */
125
+ _$stroke(vertex_array_object) {
126
+ // setup
127
+ this._$attachProgram();
128
+ // set alpha
129
+ this._$context.blend.reset();
130
+ // update data
131
+ this._$uniform.bindUniforms();
132
+ // bind vertex array
133
+ this._$context.vao.bind(vertex_array_object);
134
+ // draw
135
+ this._$gl.drawElements(this._$gl.TRIANGLES, vertex_array_object.indexCount, this._$gl.UNSIGNED_SHORT, 0);
136
+ }
137
+ /**
138
+ * @param {WebGLVertexArrayObject} vertex_array_object
139
+ * @return {void}
140
+ * @method
141
+ * @public
142
+ */
143
+ _$fill(vertex_array_object) {
144
+ // setup
145
+ this._$attachProgram();
146
+ // set alpha
147
+ this._$context.blend.reset();
148
+ // update data
149
+ this._$uniform.bindUniforms();
150
+ // bind vertex array
151
+ this._$context.vao.bind(vertex_array_object);
152
+ // draw fill
153
+ const indexRanges = vertex_array_object.indexRanges;
154
+ const range = indexRanges[indexRanges.length - 1];
155
+ const count = range.first + range.count;
156
+ this._$gl.drawArrays(this._$gl.TRIANGLES, 0, count);
157
+ }
158
+ /**
159
+ * @param {WebGLVertexArrayObject} vertex_array
160
+ * @param {number} first
161
+ * @param {number} count
162
+ * @return {void}
163
+ * @method
164
+ * @public
165
+ */
166
+ _$containerClip(vertex_array, first, count) {
167
+ // setup
168
+ this._$attachProgram();
169
+ // set alpha
170
+ this._$context.blend.reset();
171
+ // update data
172
+ this._$uniform.bindUniforms();
173
+ // bind vertex array
174
+ this._$context.vao.bind(vertex_array);
175
+ // draw fill
176
+ this._$gl.drawArrays(this._$gl.TRIANGLES, first, count);
177
+ }
178
+ /**
179
+ * @param {WebGLVertexArrayObject} vertex_array
180
+ * @param {number} first
181
+ * @param {number} count
182
+ * @return {void}
183
+ * @method
184
+ * @public
185
+ */
186
+ _$drawPoints(vertex_array, first, count) {
187
+ // setup
188
+ this._$attachProgram();
189
+ // update data
190
+ this._$uniform.bindUniforms();
191
+ // bind vertex array
192
+ this._$context.vao.bind(vertex_array);
193
+ // draw fill
194
+ this._$gl.drawArrays(this._$gl.POINTS, first, count);
195
+ }
196
+ }
@@ -0,0 +1,70 @@
1
+ import { ShapeShaderVariantCollection } from "./variants/ShapeShaderVariantCollection";
2
+ import { GradientShapeShaderVariantCollection } from "./variants/GradientShapeShaderVariantCollection";
3
+ import { GradientLUTShaderVariantCollection } from "./variants/GradientLUTShaderVariantCollection";
4
+ import { FilterShaderVariantCollection } from "./variants/FilterShaderVariantCollection";
5
+ import { BlendShaderVariantCollection } from "./variants/BlendShaderVariantCollection";
6
+ import type { CanvasToWebGLContext } from "../CanvasToWebGLContext";
7
+ /**
8
+ * @class
9
+ */
10
+ export declare class CanvasToWebGLShaderList {
11
+ private _$currentProgramId;
12
+ private readonly _$shapeShaderVariants;
13
+ private readonly _$gradientShapeShaderVariants;
14
+ private readonly _$gradientLUTShaderVariants;
15
+ private readonly _$filterShaderVariants;
16
+ private readonly _$blendShaderVariants;
17
+ /**
18
+ * @param {CanvasToWebGLContext} context
19
+ * @param {WebGL2RenderingContext} gl
20
+ * @constructor
21
+ * @public
22
+ */
23
+ constructor(context: CanvasToWebGLContext, gl: WebGL2RenderingContext);
24
+ /**
25
+ * @member {number}
26
+ * @public
27
+ */
28
+ get currentProgramId(): number;
29
+ set currentProgramId(current_program_id: number);
30
+ /**
31
+ * @memberof CanvasToWebGLShaderList#
32
+ * @property {ShapeShaderVariantCollection} shapeShaderVariants
33
+ * @return {ShapeShaderVariantCollection}
34
+ * @readonly
35
+ * @public
36
+ */
37
+ get shapeShaderVariants(): ShapeShaderVariantCollection;
38
+ /**
39
+ * @memberof CanvasToWebGLShaderList#
40
+ * @property {GradientShapeShaderVariantCollection} gradientShapeShaderVariants
41
+ * @return {GradientShapeShaderVariantCollection}
42
+ * @readonly
43
+ * @public
44
+ */
45
+ get gradientShapeShaderVariants(): GradientShapeShaderVariantCollection;
46
+ /**
47
+ * @memberof CanvasToWebGLShaderList#
48
+ * @property {GradientLUTShaderVariantCollection} gradientLUTShaderVariants
49
+ * @return {GradientLUTShaderVariantCollection}
50
+ * @readonly
51
+ * @public
52
+ */
53
+ get gradientLUTShaderVariants(): GradientLUTShaderVariantCollection;
54
+ /**
55
+ * @memberof CanvasToWebGLShaderList#
56
+ * @property {FilterShaderVariantCollection} filterShaderVariants
57
+ * @return {FilterShaderVariantCollection}
58
+ * @readonly
59
+ * @public
60
+ */
61
+ get filterShaderVariants(): FilterShaderVariantCollection;
62
+ /**
63
+ * @memberof CanvasToWebGLShaderList#
64
+ * @property {BlendShaderVariantCollection} blendShaderVariants
65
+ * @return {BlendShaderVariantCollection}
66
+ * @readonly
67
+ * @public
68
+ */
69
+ get blendShaderVariants(): BlendShaderVariantCollection;
70
+ }
@@ -0,0 +1,115 @@
1
+ import { ShapeShaderVariantCollection } from "./variants/ShapeShaderVariantCollection";
2
+ import { GradientShapeShaderVariantCollection } from "./variants/GradientShapeShaderVariantCollection";
3
+ import { GradientLUTShaderVariantCollection } from "./variants/GradientLUTShaderVariantCollection";
4
+ import { FilterShaderVariantCollection } from "./variants/FilterShaderVariantCollection";
5
+ import { BlendShaderVariantCollection } from "./variants/BlendShaderVariantCollection";
6
+ /**
7
+ * @class
8
+ */
9
+ export class CanvasToWebGLShaderList {
10
+ _$currentProgramId;
11
+ _$shapeShaderVariants;
12
+ _$gradientShapeShaderVariants;
13
+ _$gradientLUTShaderVariants;
14
+ _$filterShaderVariants;
15
+ _$blendShaderVariants;
16
+ /**
17
+ * @param {CanvasToWebGLContext} context
18
+ * @param {WebGL2RenderingContext} gl
19
+ * @constructor
20
+ * @public
21
+ */
22
+ constructor(context, gl) {
23
+ /**
24
+ * @type {number}
25
+ * @default -1
26
+ * @public
27
+ */
28
+ this._$currentProgramId = -1;
29
+ /**
30
+ * @type {ShapeShaderVariantCollection}
31
+ * @private
32
+ */
33
+ this._$shapeShaderVariants = new ShapeShaderVariantCollection(context, gl);
34
+ /**
35
+ * @type {GradientShapeShaderVariantCollection}
36
+ * @private
37
+ */
38
+ this._$gradientShapeShaderVariants = new GradientShapeShaderVariantCollection(context, gl);
39
+ /**
40
+ * @type {GradientLUTShaderVariantCollection}
41
+ * @private
42
+ */
43
+ this._$gradientLUTShaderVariants = new GradientLUTShaderVariantCollection(context, gl);
44
+ /**
45
+ * @type {FilterShaderVariantCollection}
46
+ * @private
47
+ */
48
+ this._$filterShaderVariants = new FilterShaderVariantCollection(context, gl);
49
+ /**
50
+ * @type {BlendShaderVariantCollection}
51
+ * @private
52
+ */
53
+ this._$blendShaderVariants = new BlendShaderVariantCollection(context, gl);
54
+ }
55
+ /**
56
+ * @member {number}
57
+ * @public
58
+ */
59
+ get currentProgramId() {
60
+ return this._$currentProgramId;
61
+ }
62
+ set currentProgramId(current_program_id) {
63
+ this._$currentProgramId = current_program_id;
64
+ }
65
+ /**
66
+ * @memberof CanvasToWebGLShaderList#
67
+ * @property {ShapeShaderVariantCollection} shapeShaderVariants
68
+ * @return {ShapeShaderVariantCollection}
69
+ * @readonly
70
+ * @public
71
+ */
72
+ get shapeShaderVariants() {
73
+ return this._$shapeShaderVariants;
74
+ }
75
+ /**
76
+ * @memberof CanvasToWebGLShaderList#
77
+ * @property {GradientShapeShaderVariantCollection} gradientShapeShaderVariants
78
+ * @return {GradientShapeShaderVariantCollection}
79
+ * @readonly
80
+ * @public
81
+ */
82
+ get gradientShapeShaderVariants() {
83
+ return this._$gradientShapeShaderVariants;
84
+ }
85
+ /**
86
+ * @memberof CanvasToWebGLShaderList#
87
+ * @property {GradientLUTShaderVariantCollection} gradientLUTShaderVariants
88
+ * @return {GradientLUTShaderVariantCollection}
89
+ * @readonly
90
+ * @public
91
+ */
92
+ get gradientLUTShaderVariants() {
93
+ return this._$gradientLUTShaderVariants;
94
+ }
95
+ /**
96
+ * @memberof CanvasToWebGLShaderList#
97
+ * @property {FilterShaderVariantCollection} filterShaderVariants
98
+ * @return {FilterShaderVariantCollection}
99
+ * @readonly
100
+ * @public
101
+ */
102
+ get filterShaderVariants() {
103
+ return this._$filterShaderVariants;
104
+ }
105
+ /**
106
+ * @memberof CanvasToWebGLShaderList#
107
+ * @property {BlendShaderVariantCollection} blendShaderVariants
108
+ * @return {BlendShaderVariantCollection}
109
+ * @readonly
110
+ * @public
111
+ */
112
+ get blendShaderVariants() {
113
+ return this._$blendShaderVariants;
114
+ }
115
+ }
@@ -0,0 +1,36 @@
1
+ import type { CanvasToWebGLContext } from "../CanvasToWebGLContext";
2
+ /**
3
+ * @class
4
+ */
5
+ export declare class GradientLUTGenerator {
6
+ private readonly _$context;
7
+ private readonly _$gl;
8
+ private readonly _$attachment;
9
+ private readonly _$maxLength;
10
+ private readonly _$rgbToLinearTable;
11
+ private readonly _$rgbIdentityTable;
12
+ /**
13
+ * @param {CanvasToWebGLContext} context
14
+ * @param {WebGL2RenderingContext} gl
15
+ * @constructor
16
+ * @public
17
+ */
18
+ constructor(context: CanvasToWebGLContext, gl: WebGL2RenderingContext);
19
+ /**
20
+ * @param {array} stops
21
+ * @param {boolean} is_linear_space
22
+ * @return {WebGLTexture|null}
23
+ * @method
24
+ * @public
25
+ */
26
+ generateForShape(stops: any[], is_linear_space: boolean): WebGLTexture;
27
+ /**
28
+ * @param {array} ratios
29
+ * @param {array} colors
30
+ * @param {array} alphas
31
+ * @return {WebGLTexture}
32
+ * @method
33
+ * @public
34
+ */
35
+ generateForFilter(ratios: number[], colors: number[], alphas: number[]): WebGLTexture;
36
+ }
@@ -0,0 +1,129 @@
1
+ import { $Math } from "../../player/util/RenderUtil";
2
+ /**
3
+ * @class
4
+ */
5
+ export class GradientLUTGenerator {
6
+ _$context;
7
+ _$gl;
8
+ _$attachment;
9
+ _$maxLength;
10
+ _$rgbToLinearTable;
11
+ _$rgbIdentityTable;
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 {AttachmentImpl}
31
+ * @private
32
+ */
33
+ this._$attachment = context
34
+ .frameBuffer
35
+ .createTextureAttachment(512, 1);
36
+ /**
37
+ * @type {number}
38
+ * @private
39
+ */
40
+ this._$maxLength = $Math.floor(gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS) * 0.75);
41
+ /**
42
+ * @type {Float32Array}
43
+ * @private
44
+ */
45
+ this._$rgbToLinearTable = new Float32Array(256);
46
+ /**
47
+ * @type {Float32Array}
48
+ * @private
49
+ */
50
+ this._$rgbIdentityTable = new Float32Array(256);
51
+ for (let i = 0; i < 256; i++) {
52
+ const t = i / 255;
53
+ this._$rgbToLinearTable[i] = $Math.pow(t, 2.23333333);
54
+ this._$rgbIdentityTable[i] = t;
55
+ }
56
+ }
57
+ /**
58
+ * @param {array} stops
59
+ * @param {boolean} is_linear_space
60
+ * @return {WebGLTexture|null}
61
+ * @method
62
+ * @public
63
+ */
64
+ generateForShape(stops, is_linear_space) {
65
+ const currentAttachment = this
66
+ ._$context
67
+ .frameBuffer
68
+ .currentAttachment;
69
+ this._$context._$bind(this._$attachment);
70
+ const stopsLength = stops.length;
71
+ const variants = this
72
+ ._$context
73
+ .shaderList
74
+ .gradientLUTShaderVariants;
75
+ const table = is_linear_space
76
+ ? this._$rgbToLinearTable
77
+ : this._$rgbIdentityTable;
78
+ this._$context.blend.toOneZero();
79
+ for (let begin = 0; begin < stopsLength; begin += this._$maxLength - 1) {
80
+ const end = $Math.min(begin + this._$maxLength, stopsLength);
81
+ const shader = variants
82
+ .getGradientLUTShader(end - begin, is_linear_space);
83
+ const uniform = shader.uniform;
84
+ variants
85
+ .setGradientLUTUniformForShape(uniform, stops, begin, end, table);
86
+ shader._$drawGradient(begin === 0 ? 0 : stops[begin][0], end === stopsLength ? 1 : stops[end - 1][0]);
87
+ }
88
+ this._$context._$bind(currentAttachment);
89
+ if (!this._$attachment.texture) {
90
+ throw new Error("the texture is null.");
91
+ }
92
+ return this._$attachment.texture;
93
+ }
94
+ /**
95
+ * @param {array} ratios
96
+ * @param {array} colors
97
+ * @param {array} alphas
98
+ * @return {WebGLTexture}
99
+ * @method
100
+ * @public
101
+ */
102
+ generateForFilter(ratios, colors, alphas) {
103
+ const currentAttachment = this
104
+ ._$context
105
+ .frameBuffer
106
+ .currentAttachment;
107
+ this._$context._$bind(this._$attachment);
108
+ const stopsLength = ratios.length;
109
+ const variants = this
110
+ ._$context
111
+ .shaderList
112
+ .gradientLUTShaderVariants;
113
+ this._$context.blend.toOneZero();
114
+ for (let begin = 0; begin < stopsLength; begin += this._$maxLength - 1) {
115
+ const end = $Math.min(begin + this._$maxLength, stopsLength);
116
+ const shader = variants
117
+ .getGradientLUTShader(end - begin, false);
118
+ const uniform = shader.uniform;
119
+ variants
120
+ .setGradientLUTUniformForFilter(uniform, ratios, colors, alphas, begin, end);
121
+ shader._$drawGradient(begin === 0 ? 0 : ratios[begin], end === stopsLength ? 1 : ratios[end - 1]);
122
+ }
123
+ this._$context._$bind(currentAttachment);
124
+ if (!this._$attachment.texture) {
125
+ throw new Error("the texture is null.");
126
+ }
127
+ return this._$attachment.texture;
128
+ }
129
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @class
3
+ */
4
+ export declare class WebGLShaderUniform {
5
+ private readonly _$gl;
6
+ private readonly _$array;
7
+ private readonly _$map;
8
+ /**
9
+ * @param {WebGL2RenderingContext} gl
10
+ * @param {WebGLProgram} program
11
+ * @constructor
12
+ * @public
13
+ */
14
+ constructor(gl: WebGL2RenderingContext, program: WebGLProgram);
15
+ /**
16
+ * @param {string} name
17
+ * @return {Int32Array|Float32Array}
18
+ * @method
19
+ * @public
20
+ */
21
+ getArray(name: string): Int32Array | Float32Array;
22
+ /**
23
+ * @member {Int32Array|Float32Array}
24
+ * @readonly
25
+ * @public
26
+ */
27
+ get textures(): Int32Array | Float32Array;
28
+ /**
29
+ * @member {Int32Array|Float32Array}
30
+ * @readonly
31
+ * @public
32
+ */
33
+ get highp(): Int32Array | Float32Array;
34
+ /**
35
+ * @member {Int32Array|Float32Array}
36
+ * @readonly
37
+ * @public
38
+ */
39
+ get mediump(): Int32Array | Float32Array;
40
+ /**
41
+ * @member {Int32Array|Float32Array}
42
+ * @readonly
43
+ * @public
44
+ */
45
+ get integer(): Int32Array | Float32Array;
46
+ /**
47
+ * @return {void}
48
+ * @method
49
+ * @public
50
+ */
51
+ bindUniforms(): void;
52
+ }