@next2d/webgl 1.18.12 → 3.0.0

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 (611) hide show
  1. package/README.md +206 -5
  2. package/package.json +11 -18
  3. package/src/AtlasManager/service/AtlasManagerCreateNodeService.d.ts +12 -0
  4. package/src/AtlasManager/service/AtlasManagerCreateNodeService.js +41 -0
  5. package/src/AtlasManager/service/AtlasManagerRemoveNodeService.d.ts +11 -0
  6. package/src/AtlasManager/service/AtlasManagerRemoveNodeService.js +17 -0
  7. package/src/AtlasManager/usecase/AtlasManagerResetUseCase.d.ts +9 -0
  8. package/src/AtlasManager/usecase/AtlasManagerResetUseCase.js +19 -0
  9. package/src/AtlasManager.d.ts +16 -0
  10. package/src/AtlasManager.js +59 -0
  11. package/src/BezierConverter/service/BezierConverterSplit2CubicService.d.ts +19 -0
  12. package/src/BezierConverter/service/BezierConverterSplit2CubicService.js +41 -0
  13. package/src/BezierConverter/service/BezierConverterSplit2QuadService.d.ts +18 -0
  14. package/src/BezierConverter/service/BezierConverterSplit2QuadService.js +31 -0
  15. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.d.ts +18 -0
  16. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.js +193 -0
  17. package/src/BezierConverter/usecase/BezierConverterCubicToQuadUseCase.d.ts +17 -0
  18. package/src/BezierConverter/usecase/BezierConverterCubicToQuadUseCase.js +29 -0
  19. package/src/BezierConverter.d.ts +96 -0
  20. package/src/BezierConverter.js +166 -0
  21. package/src/Bitmap.d.ts +8 -0
  22. package/src/Bitmap.js +8 -0
  23. package/src/Blend/service/BlendAddService.d.ts +9 -0
  24. package/src/Blend/service/BlendAddService.js +16 -0
  25. package/src/Blend/service/BlendAlphaService.d.ts +9 -0
  26. package/src/Blend/service/BlendAlphaService.js +16 -0
  27. package/src/Blend/service/BlendEraseService.d.ts +9 -0
  28. package/src/Blend/service/BlendEraseService.js +16 -0
  29. package/src/Blend/service/BlendOneZeroService.d.ts +9 -0
  30. package/src/Blend/service/BlendOneZeroService.js +16 -0
  31. package/src/Blend/service/BlendResetService.d.ts +9 -0
  32. package/src/Blend/service/BlendResetService.js +16 -0
  33. package/src/Blend/service/BlendScreenService.d.ts +9 -0
  34. package/src/Blend/service/BlendScreenService.js +16 -0
  35. package/src/Blend/service/BlendSourceAtopService.d.ts +9 -0
  36. package/src/Blend/service/BlendSourceAtopService.js +16 -0
  37. package/src/Blend/service/BlendSourceInService.d.ts +9 -0
  38. package/src/Blend/service/BlendSourceInService.js +16 -0
  39. package/src/Blend/usecase/BlendBootUseCase.d.ts +9 -0
  40. package/src/Blend/usecase/BlendBootUseCase.js +14 -0
  41. package/src/Blend/usecase/BlendDrawFilterToMainUseCase.d.ts +14 -0
  42. package/src/Blend/usecase/BlendDrawFilterToMainUseCase.js +79 -0
  43. package/src/Blend/usecase/BlendOperationUseCase.d.ts +11 -0
  44. package/src/Blend/usecase/BlendOperationUseCase.js +37 -0
  45. package/src/Blend/usecase/BlnedClearArraysInstancedUseCase.d.ts +9 -0
  46. package/src/Blend/usecase/BlnedClearArraysInstancedUseCase.js +13 -0
  47. package/src/Blend/usecase/BlnedDrawArraysInstancedUseCase.d.ts +9 -0
  48. package/src/Blend/usecase/BlnedDrawArraysInstancedUseCase.js +24 -0
  49. package/src/Blend/usecase/BlnedDrawDisplayObjectUseCase.d.ts +16 -0
  50. package/src/Blend/usecase/BlnedDrawDisplayObjectUseCase.js +149 -0
  51. package/src/Blend.d.ts +5 -0
  52. package/src/Blend.js +8 -0
  53. package/src/ColorBufferObject/service/ColorBufferObjectCreateService.d.ts +10 -0
  54. package/src/ColorBufferObject/service/ColorBufferObjectCreateService.js +27 -0
  55. package/src/ColorBufferObject/service/ColorBufferObjectMeguruBinarySearchService.d.ts +10 -0
  56. package/src/ColorBufferObject/service/ColorBufferObjectMeguruBinarySearchService.js +24 -0
  57. package/src/ColorBufferObject/usecase/ColorBufferObjectAcquireObjectUseCase.d.ts +11 -0
  58. package/src/ColorBufferObject/usecase/ColorBufferObjectAcquireObjectUseCase.js +28 -0
  59. package/src/ColorBufferObject/usecase/ColorBufferObjectGetColorBufferObjectUseCase.d.ts +12 -0
  60. package/src/ColorBufferObject/usecase/ColorBufferObjectGetColorBufferObjectUseCase.js +32 -0
  61. package/src/ColorBufferObject/usecase/ColorBufferObjectReleaseColorBufferObjectUseCase.d.ts +11 -0
  62. package/src/ColorBufferObject/usecase/ColorBufferObjectReleaseColorBufferObjectUseCase.js +19 -0
  63. package/src/ColorBufferObject.d.ts +9 -0
  64. package/src/ColorBufferObject.js +8 -0
  65. package/src/Context/service/ContextBeginNodeRenderingService.d.ts +13 -0
  66. package/src/Context/service/ContextBeginNodeRenderingService.js +22 -0
  67. package/src/Context/service/ContextCreateImageBitmapService.d.ts +11 -0
  68. package/src/Context/service/ContextCreateImageBitmapService.js +78 -0
  69. package/src/Context/service/ContextEndNodeRenderingService.d.ts +9 -0
  70. package/src/Context/service/ContextEndNodeRenderingService.js +12 -0
  71. package/src/Context/service/ContextFillBackgroundColorService.d.ts +13 -0
  72. package/src/Context/service/ContextFillBackgroundColorService.js +18 -0
  73. package/src/Context/service/ContextResetService.d.ts +11 -0
  74. package/src/Context/service/ContextResetService.js +14 -0
  75. package/src/Context/service/ContextResetStyleService.d.ts +11 -0
  76. package/src/Context/service/ContextResetStyleService.js +13 -0
  77. package/src/Context/service/ContextRestoreService.d.ts +11 -0
  78. package/src/Context/service/ContextRestoreService.js +23 -0
  79. package/src/Context/service/ContextSaveService.d.ts +11 -0
  80. package/src/Context/service/ContextSaveService.js +13 -0
  81. package/src/Context/service/ContextSetTransformService.d.ts +16 -0
  82. package/src/Context/service/ContextSetTransformService.js +23 -0
  83. package/src/Context/service/ContextTransformService.d.ts +17 -0
  84. package/src/Context/service/ContextTransformService.js +29 -0
  85. package/src/Context/service/ContextUpdateBackgroundColorService.d.ts +15 -0
  86. package/src/Context/service/ContextUpdateBackgroundColorService.js +20 -0
  87. package/src/Context/service/ContextUpdateTransferBoundsService.d.ts +11 -0
  88. package/src/Context/service/ContextUpdateTransferBoundsService.js +21 -0
  89. package/src/Context/service/ContextUseGridService.d.ts +10 -0
  90. package/src/Context/service/ContextUseGridService.js +14 -0
  91. package/src/Context/usecase/ContextApplyFilterUseCase.d.ts +21 -0
  92. package/src/Context/usecase/ContextApplyFilterUseCase.js +206 -0
  93. package/src/Context/usecase/ContextBindUseCase.d.ts +13 -0
  94. package/src/Context/usecase/ContextBindUseCase.js +42 -0
  95. package/src/Context/usecase/ContextBitmapFillUseCase.d.ts +15 -0
  96. package/src/Context/usecase/ContextBitmapFillUseCase.js +31 -0
  97. package/src/Context/usecase/ContextBitmapStrokeUseCase.d.ts +15 -0
  98. package/src/Context/usecase/ContextBitmapStrokeUseCase.js +31 -0
  99. package/src/Context/usecase/ContextClearRectUseCase.d.ts +13 -0
  100. package/src/Context/usecase/ContextClearRectUseCase.js +20 -0
  101. package/src/Context/usecase/ContextClipUseCase.d.ts +9 -0
  102. package/src/Context/usecase/ContextClipUseCase.js +66 -0
  103. package/src/Context/usecase/ContextContainerBeginLayerUseCase.d.ts +18 -0
  104. package/src/Context/usecase/ContextContainerBeginLayerUseCase.js +31 -0
  105. package/src/Context/usecase/ContextContainerDrawCachedFilterUseCase.d.ts +16 -0
  106. package/src/Context/usecase/ContextContainerDrawCachedFilterUseCase.js +36 -0
  107. package/src/Context/usecase/ContextContainerEndLayerUseCase.d.ts +18 -0
  108. package/src/Context/usecase/ContextContainerEndLayerUseCase.js +171 -0
  109. package/src/Context/usecase/ContextDrawElementUseCase.d.ts +12 -0
  110. package/src/Context/usecase/ContextDrawElementUseCase.js +26 -0
  111. package/src/Context/usecase/ContextDrawFillUseCase.d.ts +9 -0
  112. package/src/Context/usecase/ContextDrawFillUseCase.js +73 -0
  113. package/src/Context/usecase/ContextDrawPixelsUseCase.d.ts +12 -0
  114. package/src/Context/usecase/ContextDrawPixelsUseCase.js +26 -0
  115. package/src/Context/usecase/ContextFillUseCase.d.ts +10 -0
  116. package/src/Context/usecase/ContextFillUseCase.js +23 -0
  117. package/src/Context/usecase/ContextGradientFillUseCase.d.ts +15 -0
  118. package/src/Context/usecase/ContextGradientFillUseCase.js +34 -0
  119. package/src/Context/usecase/ContextGradientStrokeUseCase.d.ts +15 -0
  120. package/src/Context/usecase/ContextGradientStrokeUseCase.js +34 -0
  121. package/src/Context/usecase/ContextLinearGradientFillUseCase.d.ts +14 -0
  122. package/src/Context/usecase/ContextLinearGradientFillUseCase.js +58 -0
  123. package/src/Context/usecase/ContextNormalFillUseCase.d.ts +14 -0
  124. package/src/Context/usecase/ContextNormalFillUseCase.js +40 -0
  125. package/src/Context/usecase/ContextPatternBitmapFillUseCase.d.ts +14 -0
  126. package/src/Context/usecase/ContextPatternBitmapFillUseCase.js +54 -0
  127. package/src/Context/usecase/ContextRadialGradientFillUseCase.d.ts +14 -0
  128. package/src/Context/usecase/ContextRadialGradientFillUseCase.js +61 -0
  129. package/src/Context/usecase/ContextResizeUseCase.d.ts +14 -0
  130. package/src/Context/usecase/ContextResizeUseCase.js +43 -0
  131. package/src/Context/usecase/ContextStrokeUseCase.d.ts +9 -0
  132. package/src/Context/usecase/ContextStrokeUseCase.js +22 -0
  133. package/src/Context.d.ts +76 -0
  134. package/src/Context.js +388 -0
  135. package/src/Filter/BevelFilter/usecase/FilterApplyBevelFilterUseCase.d.ts +22 -0
  136. package/src/Filter/BevelFilter/usecase/FilterApplyBevelFilterUseCase.js +105 -0
  137. package/src/Filter/BitmapFilter/usecase/FilterApplyBitmapFilterUseCase.d.ts +37 -0
  138. package/src/Filter/BitmapFilter/usecase/FilterApplyBitmapFilterUseCase.js +108 -0
  139. package/src/Filter/BlurFilter/usecase/FilterApplyBlurFilterUseCase.d.ts +16 -0
  140. package/src/Filter/BlurFilter/usecase/FilterApplyBlurFilterUseCase.js +134 -0
  141. package/src/Filter/BlurFilter/usecase/FilterApplyDirectionalBlurFilterUseCase.d.ts +13 -0
  142. package/src/Filter/BlurFilter/usecase/FilterApplyDirectionalBlurFilterUseCase.js +24 -0
  143. package/src/Filter/ColorMatrixFilter/usecase/FilterApplyColorMatrixFilterUseCase.d.ts +12 -0
  144. package/src/Filter/ColorMatrixFilter/usecase/FilterApplyColorMatrixFilterUseCase.js +38 -0
  145. package/src/Filter/ConvolutionFilter/usecase/FilterApplyConvolutionFilterUseCase.d.ts +20 -0
  146. package/src/Filter/ConvolutionFilter/usecase/FilterApplyConvolutionFilterUseCase.js +49 -0
  147. package/src/Filter/DisplacementMapFilter/usecase/FilterApplyDisplacementMapFilterUseCase.d.ts +23 -0
  148. package/src/Filter/DisplacementMapFilter/usecase/FilterApplyDisplacementMapFilterUseCase.js +53 -0
  149. package/src/Filter/DropShadowFilter/usecase/FilterApplyDropShadowFilterUseCase.d.ts +23 -0
  150. package/src/Filter/DropShadowFilter/usecase/FilterApplyDropShadowFilterUseCase.js +84 -0
  151. package/src/Filter/GlowFilter/usecase/FilterApplyGlowFilterUseCase.d.ts +20 -0
  152. package/src/Filter/GlowFilter/usecase/FilterApplyGlowFilterUseCase.js +51 -0
  153. package/src/Filter/GradientBevelFilter/usecase/FilterApplyGradientBevelFilterUseCase.d.ts +23 -0
  154. package/src/Filter/GradientBevelFilter/usecase/FilterApplyGradientBevelFilterUseCase.js +105 -0
  155. package/src/Filter/GradientGlowFilter/usecase/FilterApplyGradientGlowFilterUseCase.d.ts +23 -0
  156. package/src/Filter/GradientGlowFilter/usecase/FilterApplyGradientGlowFilterUseCase.js +81 -0
  157. package/src/Filter.d.ts +45 -0
  158. package/src/Filter.js +53 -0
  159. package/src/FrameBufferManager/service/FrameBufferManagerBindAttachmentObjectService.d.ts +11 -0
  160. package/src/FrameBufferManager/service/FrameBufferManagerBindAttachmentObjectService.js +35 -0
  161. package/src/FrameBufferManager/service/FrameBufferManagerCreateAttachmentObjectService.d.ts +10 -0
  162. package/src/FrameBufferManager/service/FrameBufferManagerCreateAttachmentObjectService.js +26 -0
  163. package/src/FrameBufferManager/service/FrameBufferManagerTransferAtlasTextureService.d.ts +9 -0
  164. package/src/FrameBufferManager/service/FrameBufferManagerTransferAtlasTextureService.js +31 -0
  165. package/src/FrameBufferManager/service/FrameBufferManagerTransferMainCanvasService.d.ts +9 -0
  166. package/src/FrameBufferManager/service/FrameBufferManagerTransferMainCanvasService.js +24 -0
  167. package/src/FrameBufferManager/service/FrameBufferManagerUnBindAttachmentObjectService.d.ts +9 -0
  168. package/src/FrameBufferManager/service/FrameBufferManagerUnBindAttachmentObjectService.js +17 -0
  169. package/src/FrameBufferManager/usecase/FrameBufferManagerGetAttachmentObjectUseCase.d.ts +13 -0
  170. package/src/FrameBufferManager/usecase/FrameBufferManagerGetAttachmentObjectUseCase.js +41 -0
  171. package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromBoundsUseCase.d.ts +14 -0
  172. package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromBoundsUseCase.js +41 -0
  173. package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromNodeUseCase.d.ts +12 -0
  174. package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromNodeUseCase.js +36 -0
  175. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseAttachmentObjectUseCase.d.ts +12 -0
  176. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseAttachmentObjectUseCase.js +30 -0
  177. package/src/FrameBufferManager/usecase/FrameBufferManagerTransferTextureFromRectUseCase.d.ts +11 -0
  178. package/src/FrameBufferManager/usecase/FrameBufferManagerTransferTextureFromRectUseCase.js +25 -0
  179. package/src/FrameBufferManager.d.ts +18 -0
  180. package/src/FrameBufferManager.js +38 -0
  181. package/src/Gradient.d.ts +8 -0
  182. package/src/Gradient.js +8 -0
  183. package/src/Grid.d.ts +14 -0
  184. package/src/Grid.js +16 -0
  185. package/src/Mask/service/MaskBeginMaskService.d.ts +9 -0
  186. package/src/Mask/service/MaskBeginMaskService.js +27 -0
  187. package/src/Mask/service/MaskEndMaskService.d.ts +9 -0
  188. package/src/Mask/service/MaskEndMaskService.js +26 -0
  189. package/src/Mask/service/MaskSetMaskBoundsService.d.ts +13 -0
  190. package/src/Mask/service/MaskSetMaskBoundsService.js +26 -0
  191. package/src/Mask/service/MaskUnionMaskService.d.ts +9 -0
  192. package/src/Mask/service/MaskUnionMaskService.js +32 -0
  193. package/src/Mask/usecase/MaskBindUseCase.d.ts +10 -0
  194. package/src/Mask/usecase/MaskBindUseCase.js +25 -0
  195. package/src/Mask/usecase/MaskLeaveMaskUseCase.d.ts +9 -0
  196. package/src/Mask/usecase/MaskLeaveMaskUseCase.js +53 -0
  197. package/src/Mask.d.ts +29 -0
  198. package/src/Mask.js +42 -0
  199. package/src/Mesh/service/MeshCalculateNormalVectorService.d.ts +13 -0
  200. package/src/Mesh/service/MeshCalculateNormalVectorService.js +18 -0
  201. package/src/Mesh/service/MeshCalculateNormalizeBezierService.d.ts +11 -0
  202. package/src/Mesh/service/MeshCalculateNormalizeBezierService.js +15 -0
  203. package/src/Mesh/service/MeshFillGenerateService.d.ts +23 -0
  204. package/src/Mesh/service/MeshFillGenerateService.js +197 -0
  205. package/src/Mesh/service/MeshFindOverlappingPathsService.d.ts +14 -0
  206. package/src/Mesh/service/MeshFindOverlappingPathsService.js +32 -0
  207. package/src/Mesh/service/MeshGenerateCalculateRoundCapService.d.ts +13 -0
  208. package/src/Mesh/service/MeshGenerateCalculateRoundCapService.js +51 -0
  209. package/src/Mesh/service/MeshGenerateCalculateSquareCapService.d.ts +13 -0
  210. package/src/Mesh/service/MeshGenerateCalculateSquareCapService.js +64 -0
  211. package/src/Mesh/service/MeshGetQuadraticBezierPointService.d.ts +14 -0
  212. package/src/Mesh/service/MeshGetQuadraticBezierPointService.js +18 -0
  213. package/src/Mesh/service/MeshGetQuadraticBezierTangentService.d.ts +14 -0
  214. package/src/Mesh/service/MeshGetQuadraticBezierTangentService.js +18 -0
  215. package/src/Mesh/service/MeshIsPointInsideRectangleService.d.ts +12 -0
  216. package/src/Mesh/service/MeshIsPointInsideRectangleService.js +38 -0
  217. package/src/Mesh/service/MeshLerpService.d.ts +13 -0
  218. package/src/Mesh/service/MeshLerpService.js +17 -0
  219. package/src/Mesh/usecase/MeshApproximateOffsetQuadraticUseCase.d.ts +14 -0
  220. package/src/Mesh/usecase/MeshApproximateOffsetQuadraticUseCase.js +35 -0
  221. package/src/Mesh/usecase/MeshCalculateCurveRectangleUseCase.d.ts +15 -0
  222. package/src/Mesh/usecase/MeshCalculateCurveRectangleUseCase.js +51 -0
  223. package/src/Mesh/usecase/MeshCalculateLineRectangleUseCase.d.ts +14 -0
  224. package/src/Mesh/usecase/MeshCalculateLineRectangleUseCase.js +42 -0
  225. package/src/Mesh/usecase/MeshFillGenerateUseCase.d.ts +12 -0
  226. package/src/Mesh/usecase/MeshFillGenerateUseCase.js +44 -0
  227. package/src/Mesh/usecase/MeshGenerateCalculateBevelJoinUseCase.d.ts +15 -0
  228. package/src/Mesh/usecase/MeshGenerateCalculateBevelJoinUseCase.js +52 -0
  229. package/src/Mesh/usecase/MeshGenerateCalculateMiterJoinUseCase.d.ts +17 -0
  230. package/src/Mesh/usecase/MeshGenerateCalculateMiterJoinUseCase.js +84 -0
  231. package/src/Mesh/usecase/MeshGenerateCalculateRoundJoinUseCase.d.ts +15 -0
  232. package/src/Mesh/usecase/MeshGenerateCalculateRoundJoinUseCase.js +63 -0
  233. package/src/Mesh/usecase/MeshGenerateStrokeOutlineUseCase.d.ts +12 -0
  234. package/src/Mesh/usecase/MeshGenerateStrokeOutlineUseCase.js +124 -0
  235. package/src/Mesh/usecase/MeshSplitBezierMultipleTimesUseCase.d.ts +14 -0
  236. package/src/Mesh/usecase/MeshSplitBezierMultipleTimesUseCase.js +32 -0
  237. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.d.ts +14 -0
  238. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.js +28 -0
  239. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.d.ts +12 -0
  240. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.js +29 -0
  241. package/src/Mesh.d.ts +74 -0
  242. package/src/Mesh.js +126 -0
  243. package/src/PathCommand/service/PathCommandBeginPathService.d.ts +9 -0
  244. package/src/PathCommand/service/PathCommandBeginPathService.js +16 -0
  245. package/src/PathCommand/service/PathCommandCreateRectVerticesService.d.ts +14 -0
  246. package/src/PathCommand/service/PathCommandCreateRectVerticesService.js +16 -0
  247. package/src/PathCommand/service/PathCommandEqualsToLastPointService.d.ts +11 -0
  248. package/src/PathCommand/service/PathCommandEqualsToLastPointService.js +17 -0
  249. package/src/PathCommand/service/PathCommandPushCurrentPathToVerticesService.d.ts +9 -0
  250. package/src/PathCommand/service/PathCommandPushCurrentPathToVerticesService.js +18 -0
  251. package/src/PathCommand/service/PathCommandPushPointToCurrentPathService.d.ts +12 -0
  252. package/src/PathCommand/service/PathCommandPushPointToCurrentPathService.js +15 -0
  253. package/src/PathCommand/usecase/PathCommandArcUseCase.d.ts +12 -0
  254. package/src/PathCommand/usecase/PathCommandArcUseCase.js +20 -0
  255. package/src/PathCommand/usecase/PathCommandBezierCurveToUseCase.d.ts +15 -0
  256. package/src/PathCommand/usecase/PathCommandBezierCurveToUseCase.js +38 -0
  257. package/src/PathCommand/usecase/PathCommandClosePathUseCase.d.ts +9 -0
  258. package/src/PathCommand/usecase/PathCommandClosePathUseCase.js +22 -0
  259. package/src/PathCommand/usecase/PathCommandLineToUseCase.d.ts +11 -0
  260. package/src/PathCommand/usecase/PathCommandLineToUseCase.js +26 -0
  261. package/src/PathCommand/usecase/PathCommandMoveToUseCase.d.ts +13 -0
  262. package/src/PathCommand/usecase/PathCommandMoveToUseCase.js +31 -0
  263. package/src/PathCommand/usecase/PathCommandQuadraticCurveToUseCase.d.ts +13 -0
  264. package/src/PathCommand/usecase/PathCommandQuadraticCurveToUseCase.js +26 -0
  265. package/src/PathCommand.d.ts +27 -0
  266. package/src/PathCommand.js +46 -0
  267. package/src/Shader/Fragment/Filter/FragmentShaderSourceBlurFilter.d.ts +1 -0
  268. package/{dist/shader/fragment/filter → src/Shader/Fragment/Filter}/FragmentShaderSourceBlurFilter.js +5 -18
  269. package/src/Shader/Fragment/Filter/FragmentShaderSourceColorMatrixFilter.d.ts +1 -0
  270. package/{dist/shader/fragment/filter → src/Shader/Fragment/Filter}/FragmentShaderSourceColorMatrixFilter.js +4 -16
  271. package/src/Shader/Fragment/Filter/FragmentShaderSourceConvolutionFilter.d.ts +1 -0
  272. package/src/Shader/Fragment/Filter/FragmentShaderSourceConvolutionFilter.js +62 -0
  273. package/src/Shader/Fragment/Filter/FragmentShaderSourceDisplacementMapFilter.d.ts +1 -0
  274. package/src/Shader/Fragment/Filter/FragmentShaderSourceDisplacementMapFilter.js +89 -0
  275. package/src/Shader/Fragment/Filter/FragmentShaderSourceFilter.d.ts +1 -0
  276. package/src/Shader/Fragment/Filter/FragmentShaderSourceFilter.js +174 -0
  277. package/src/Shader/Fragment/FragmentShaderLibrary.d.ts +2 -0
  278. package/src/Shader/Fragment/FragmentShaderLibrary.js +20 -0
  279. package/src/Shader/Fragment/FragmentShaderSource.d.ts +5 -0
  280. package/src/Shader/Fragment/FragmentShaderSource.js +76 -0
  281. package/src/Shader/Fragment/FragmentShaderSourceBlend.d.ts +1 -0
  282. package/src/Shader/Fragment/FragmentShaderSourceBlend.js +198 -0
  283. package/src/Shader/Fragment/FragmentShaderSourceGradient.d.ts +1 -0
  284. package/src/Shader/Fragment/FragmentShaderSourceGradient.js +68 -0
  285. package/src/Shader/Fragment/FragmentShaderSourceGradientLUT.d.ts +1 -0
  286. package/src/Shader/Fragment/FragmentShaderSourceGradientLUT.js +42 -0
  287. package/src/Shader/Fragment/FragmentShaderSourceTexture.d.ts +2 -0
  288. package/src/Shader/Fragment/FragmentShaderSourceTexture.js +48 -0
  289. package/src/Shader/GradientLUTGenerator/service/GradientLUTSetFilterUniformService.d.ts +16 -0
  290. package/src/Shader/GradientLUTGenerator/service/GradientLUTSetFilterUniformService.js +30 -0
  291. package/src/Shader/GradientLUTGenerator/service/GradientLUTSetUniformService.d.ts +15 -0
  292. package/src/Shader/GradientLUTGenerator/service/GradientLUTSetUniformService.js +29 -0
  293. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateFilterTextureUseCase.d.ts +13 -0
  294. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateFilterTextureUseCase.js +37 -0
  295. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateShapeTextureUseCase.d.ts +16 -0
  296. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateShapeTextureUseCase.js +51 -0
  297. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGeneratorFillTextureUseCase.d.ts +13 -0
  298. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGeneratorFillTextureUseCase.js +20 -0
  299. package/src/Shader/GradientLUTGenerator.d.ts +59 -0
  300. package/src/Shader/GradientLUTGenerator.js +97 -0
  301. package/src/Shader/ShaderInstancedManager/usecase/ShaderInstancedManagerDrawArraysInstancedUseCase.d.ts +11 -0
  302. package/src/Shader/ShaderInstancedManager/usecase/ShaderInstancedManagerDrawArraysInstancedUseCase.js +20 -0
  303. package/src/Shader/ShaderInstancedManager.d.ts +6 -0
  304. package/src/Shader/ShaderInstancedManager.js +17 -0
  305. package/src/Shader/ShaderManager/service/ShaderManagerBindUniformService.d.ts +11 -0
  306. package/src/Shader/ShaderManager/service/ShaderManagerBindUniformService.js +23 -0
  307. package/src/Shader/ShaderManager/service/ShaderManagerCreateProgramService.d.ts +12 -0
  308. package/src/Shader/ShaderManager/service/ShaderManagerCreateProgramService.js +39 -0
  309. package/src/Shader/ShaderManager/service/ShaderManagerInitializeUniformService.d.ts +12 -0
  310. package/src/Shader/ShaderManager/service/ShaderManagerInitializeUniformService.js +62 -0
  311. package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFillUniformService.d.ts +14 -0
  312. package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFillUniformService.js +85 -0
  313. package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFilterUniformService.d.ts +35 -0
  314. package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFilterUniformService.js +94 -0
  315. package/src/Shader/ShaderManager/service/ShaderManagerSetBlendUniformService.d.ts +11 -0
  316. package/src/Shader/ShaderManager/service/ShaderManagerSetBlendUniformService.js +14 -0
  317. package/src/Shader/ShaderManager/service/ShaderManagerSetBlendWithColorTransformUniformService.d.ts +19 -0
  318. package/src/Shader/ShaderManager/service/ShaderManagerSetBlendWithColorTransformUniformService.js +33 -0
  319. package/src/Shader/ShaderManager/service/ShaderManagerSetBlurFilterUniformService.d.ts +16 -0
  320. package/src/Shader/ShaderManager/service/ShaderManagerSetBlurFilterUniformService.js +30 -0
  321. package/src/Shader/ShaderManager/service/ShaderManagerSetColorMatrixFilterUniformService.d.ts +12 -0
  322. package/src/Shader/ShaderManager/service/ShaderManagerSetColorMatrixFilterUniformService.js +35 -0
  323. package/src/Shader/ShaderManager/service/ShaderManagerSetConvolutionFilterUniformService.d.ts +21 -0
  324. package/src/Shader/ShaderManager/service/ShaderManagerSetConvolutionFilterUniformService.js +42 -0
  325. package/src/Shader/ShaderManager/service/ShaderManagerSetDisplacementMapFilterUniformService.d.ts +24 -0
  326. package/src/Shader/ShaderManager/service/ShaderManagerSetDisplacementMapFilterUniformService.js +44 -0
  327. package/src/Shader/ShaderManager/service/ShaderManagerSetFillUniformService.d.ts +12 -0
  328. package/src/Shader/ShaderManager/service/ShaderManagerSetFillUniformService.js +55 -0
  329. package/src/Shader/ShaderManager/service/ShaderManagerSetGradientFillUniformService.d.ts +17 -0
  330. package/src/Shader/ShaderManager/service/ShaderManagerSetGradientFillUniformService.js +97 -0
  331. package/src/Shader/ShaderManager/service/ShaderManagerSetMaskUniformService.d.ts +11 -0
  332. package/src/Shader/ShaderManager/service/ShaderManagerSetMaskUniformService.js +54 -0
  333. package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureUniformService.d.ts +13 -0
  334. package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureUniformService.js +29 -0
  335. package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureWithColorTransformUniformService.d.ts +13 -0
  336. package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureWithColorTransformUniformService.js +38 -0
  337. package/src/Shader/ShaderManager/service/ShaderManagerSetTextureUniformService.d.ts +13 -0
  338. package/src/Shader/ShaderManager/service/ShaderManagerSetTextureUniformService.js +25 -0
  339. package/src/Shader/ShaderManager/service/ShaderManagerUseProgramService.d.ts +11 -0
  340. package/src/Shader/ShaderManager/service/ShaderManagerUseProgramService.js +25 -0
  341. package/src/Shader/ShaderManager/usecase/ShaderManagerDrawTextureUseCase.d.ts +11 -0
  342. package/src/Shader/ShaderManager/usecase/ShaderManagerDrawTextureUseCase.js +21 -0
  343. package/src/Shader/ShaderManager/usecase/ShaderManagerFillUseCase.d.ts +13 -0
  344. package/src/Shader/ShaderManager/usecase/ShaderManagerFillUseCase.js +24 -0
  345. package/src/Shader/ShaderManager.d.ts +10 -0
  346. package/src/Shader/ShaderManager.js +51 -0
  347. package/src/Shader/Variants/Bitmap/service/VariantsBitmapShaderService.d.ts +12 -0
  348. package/src/Shader/Variants/Bitmap/service/VariantsBitmapShaderService.js +26 -0
  349. package/src/Shader/Variants/BitmapVariants.d.ts +9 -0
  350. package/src/Shader/Variants/BitmapVariants.js +8 -0
  351. package/src/Shader/Variants/Blend/service/VariantsBlendDrawShaderService.d.ts +13 -0
  352. package/src/Shader/Variants/Blend/service/VariantsBlendDrawShaderService.js +23 -0
  353. package/src/Shader/Variants/Blend/service/VariantsBlendInstanceShaderService.d.ts +10 -0
  354. package/src/Shader/Variants/Blend/service/VariantsBlendInstanceShaderService.js +21 -0
  355. package/src/Shader/Variants/Blend/service/VariantsBlendMatrixTextureShaderService.d.ts +11 -0
  356. package/src/Shader/Variants/Blend/service/VariantsBlendMatrixTextureShaderService.js +22 -0
  357. package/src/Shader/Variants/Blend/service/VariantsBlendTextureShaderService.d.ts +10 -0
  358. package/src/Shader/Variants/Blend/service/VariantsBlendTextureShaderService.js +21 -0
  359. package/src/Shader/Variants/BlendVariants.d.ts +10 -0
  360. package/src/Shader/Variants/BlendVariants.js +8 -0
  361. package/src/Shader/Variants/Filter/service/VariantsBitmapFilterShaderService.d.ts +18 -0
  362. package/src/Shader/Variants/Filter/service/VariantsBitmapFilterShaderService.js +49 -0
  363. package/src/Shader/Variants/Filter/service/VariantsBlurFilterShaderService.d.ts +11 -0
  364. package/src/Shader/Variants/Filter/service/VariantsBlurFilterShaderService.js +22 -0
  365. package/src/Shader/Variants/Filter/service/VariantsColorMatrixFilterShaderService.d.ts +10 -0
  366. package/src/Shader/Variants/Filter/service/VariantsColorMatrixFilterShaderService.js +21 -0
  367. package/src/Shader/Variants/Filter/service/VariantsConvolutionFilterShaderService.d.ts +14 -0
  368. package/src/Shader/Variants/Filter/service/VariantsConvolutionFilterShaderService.js +30 -0
  369. package/src/Shader/Variants/Filter/service/VariantsDisplacementMapFilterShaderService.d.ts +13 -0
  370. package/src/Shader/Variants/Filter/service/VariantsDisplacementMapFilterShaderService.js +25 -0
  371. package/src/Shader/Variants/FilterVariants.d.ts +9 -0
  372. package/src/Shader/Variants/FilterVariants.js +8 -0
  373. package/src/Shader/Variants/Gradient/service/VariantsGradientCreateCollectionKeyService.d.ts +13 -0
  374. package/src/Shader/Variants/Gradient/service/VariantsGradientCreateCollectionKeyService.js +19 -0
  375. package/src/Shader/Variants/Gradient/usecase/VariantsGradientShapeShaderUseCase.d.ts +14 -0
  376. package/src/Shader/Variants/Gradient/usecase/VariantsGradientShapeShaderUseCase.js +28 -0
  377. package/src/Shader/Variants/GradientLUT/service/VariantsGradientLUTShaderService.d.ts +12 -0
  378. package/src/Shader/Variants/GradientLUT/service/VariantsGradientLUTShaderService.js +29 -0
  379. package/src/Shader/Variants/GradientLUTVariants.d.ts +30 -0
  380. package/src/Shader/Variants/GradientLUTVariants.js +71 -0
  381. package/src/Shader/Variants/GradientVariants.d.ts +9 -0
  382. package/src/Shader/Variants/GradientVariants.js +8 -0
  383. package/src/Shader/Variants/Shape/service/VariantsShapeMaskShaderService.d.ts +11 -0
  384. package/src/Shader/Variants/Shape/service/VariantsShapeMaskShaderService.js +22 -0
  385. package/src/Shader/Variants/Shape/service/VariantsShapeRectShaderService.d.ts +10 -0
  386. package/src/Shader/Variants/Shape/service/VariantsShapeRectShaderService.js +21 -0
  387. package/src/Shader/Variants/Shape/service/VariantsShapeSolidColorShaderService.d.ts +11 -0
  388. package/src/Shader/Variants/Shape/service/VariantsShapeSolidColorShaderService.js +22 -0
  389. package/src/Shader/Variants/ShapeVariants.d.ts +9 -0
  390. package/src/Shader/Variants/ShapeVariants.js +8 -0
  391. package/src/Shader/Vertex/VertexShaderLibrary.d.ts +2 -0
  392. package/{dist/shader/vertex → src/Shader/Vertex}/VertexShaderLibrary.js +15 -42
  393. package/src/Shader/Vertex/VertexShaderSource.d.ts +5 -0
  394. package/src/Shader/Vertex/VertexShaderSource.js +116 -0
  395. package/src/Shader/Vertex/VertexShaderSourceFill.d.ts +11 -0
  396. package/src/Shader/Vertex/VertexShaderSourceFill.js +101 -0
  397. package/src/Stencil/service/StencilDisableSampleAlphaToCoverageService.d.ts +1 -0
  398. package/src/Stencil/service/StencilDisableSampleAlphaToCoverageService.js +8 -0
  399. package/src/Stencil/service/StencilEnableSampleAlphaToCoverageService.d.ts +1 -0
  400. package/src/Stencil/service/StencilEnableSampleAlphaToCoverageService.js +8 -0
  401. package/src/Stencil/service/StencilResetService.d.ts +9 -0
  402. package/src/Stencil/service/StencilResetService.js +14 -0
  403. package/src/Stencil/service/StencilSetFillModeService.d.ts +1 -0
  404. package/src/Stencil/service/StencilSetFillModeService.js +13 -0
  405. package/src/Stencil/service/StencilSetMaskModeService.d.ts +1 -0
  406. package/src/Stencil/service/StencilSetMaskModeService.js +14 -0
  407. package/src/Stencil.d.ts +9 -0
  408. package/src/Stencil.js +17 -0
  409. package/src/StencilBufferObject/service/StencilBufferObjectCreateService.d.ts +10 -0
  410. package/src/StencilBufferObject/service/StencilBufferObjectCreateService.js +24 -0
  411. package/src/StencilBufferObject/service/StencilBufferObjectReleaseColorBufferObjectService.d.ts +11 -0
  412. package/src/StencilBufferObject/service/StencilBufferObjectReleaseColorBufferObjectService.js +23 -0
  413. package/src/StencilBufferObject/usecase/StencilBufferObjectAcquireObjectUseCase.d.ts +13 -0
  414. package/src/StencilBufferObject/usecase/StencilBufferObjectAcquireObjectUseCase.js +36 -0
  415. package/src/StencilBufferObject/usecase/StencilBufferObjectGetStencilBufferObjectUseCase.d.ts +12 -0
  416. package/src/StencilBufferObject/usecase/StencilBufferObjectGetStencilBufferObjectUseCase.js +27 -0
  417. package/src/StencilBufferObject.d.ts +9 -0
  418. package/src/StencilBufferObject.js +8 -0
  419. package/src/TextureManager/service/TextureManagerBindService.d.ts +14 -0
  420. package/src/TextureManager/service/TextureManagerBindService.js +33 -0
  421. package/src/TextureManager/service/TextureManagerCreateTextureObjectService.d.ts +12 -0
  422. package/src/TextureManager/service/TextureManagerCreateTextureObjectService.js +26 -0
  423. package/src/TextureManager/service/TextureManagerInitializeBindService.d.ts +12 -0
  424. package/src/TextureManager/service/TextureManagerInitializeBindService.js +25 -0
  425. package/src/TextureManager/usecase/TextureManagerBind012UseCase.d.ts +14 -0
  426. package/src/TextureManager/usecase/TextureManagerBind012UseCase.js +19 -0
  427. package/src/TextureManager/usecase/TextureManagerBind01UseCase.d.ts +13 -0
  428. package/src/TextureManager/usecase/TextureManagerBind01UseCase.js +18 -0
  429. package/src/TextureManager/usecase/TextureManagerBind02UseCase.d.ts +13 -0
  430. package/src/TextureManager/usecase/TextureManagerBind02UseCase.js +18 -0
  431. package/src/TextureManager/usecase/TextureManagerBind0UseCase.d.ts +12 -0
  432. package/src/TextureManager/usecase/TextureManagerBind0UseCase.js +17 -0
  433. package/src/TextureManager/usecase/TextureManagerCreateAtlasTextureUseCase.d.ts +10 -0
  434. package/src/TextureManager/usecase/TextureManagerCreateAtlasTextureUseCase.js +25 -0
  435. package/src/TextureManager/usecase/TextureManagerCreateFromCanvasUseCase.d.ts +14 -0
  436. package/src/TextureManager/usecase/TextureManagerCreateFromCanvasUseCase.js +19 -0
  437. package/src/TextureManager/usecase/TextureManagerCreateFromPixelsUseCase.d.ts +14 -0
  438. package/src/TextureManager/usecase/TextureManagerCreateFromPixelsUseCase.js +19 -0
  439. package/src/TextureManager/usecase/TextureManagerGetMainTextureFromBoundsUseCase.d.ts +14 -0
  440. package/src/TextureManager/usecase/TextureManagerGetMainTextureFromBoundsUseCase.js +49 -0
  441. package/src/TextureManager/usecase/TextureManagerGetTextureUseCase.d.ts +14 -0
  442. package/src/TextureManager/usecase/TextureManagerGetTextureUseCase.js +19 -0
  443. package/src/TextureManager/usecase/TextureManagerReleaseTextureObjectUseCase.d.ts +11 -0
  444. package/src/TextureManager/usecase/TextureManagerReleaseTextureObjectUseCase.js +13 -0
  445. package/src/TextureManager.d.ts +25 -0
  446. package/src/TextureManager.js +26 -0
  447. package/src/VertexArrayObject/service/VertexArrayObjectBindService.d.ts +11 -0
  448. package/src/VertexArrayObject/service/VertexArrayObjectBindService.js +26 -0
  449. package/src/VertexArrayObject/service/VertexArrayObjectCreateFillObjectService.d.ts +10 -0
  450. package/src/VertexArrayObject/service/VertexArrayObjectCreateFillObjectService.js +17 -0
  451. package/src/VertexArrayObject/service/VertexArrayObjectReleaseVertexArrayObjectService.d.ts +11 -0
  452. package/src/VertexArrayObject/service/VertexArrayObjectReleaseVertexArrayObjectService.js +16 -0
  453. package/src/VertexArrayObject/usecase/VertexArrayObjectBindAttributeUseCase.d.ts +9 -0
  454. package/src/VertexArrayObject/usecase/VertexArrayObjectBindAttributeUseCase.js +29 -0
  455. package/src/VertexArrayObject/usecase/VertexArrayObjectBindFillMeshUseCase.d.ts +10 -0
  456. package/src/VertexArrayObject/usecase/VertexArrayObjectBindFillMeshUseCase.js +27 -0
  457. package/src/VertexArrayObject/usecase/VertexArrayObjectBootUseCase.d.ts +10 -0
  458. package/src/VertexArrayObject/usecase/VertexArrayObjectBootUseCase.js +18 -0
  459. package/src/VertexArrayObject/usecase/VertexArrayObjectCreateGradientVertexArrayObjectUseCase.d.ts +12 -0
  460. package/src/VertexArrayObject/usecase/VertexArrayObjectCreateGradientVertexArrayObjectUseCase.js +27 -0
  461. package/src/VertexArrayObject/usecase/VertexArrayObjectCreateInstancedVertexArrayObjectUseCase.d.ts +10 -0
  462. package/src/VertexArrayObject/usecase/VertexArrayObjectCreateInstancedVertexArrayObjectUseCase.js +53 -0
  463. package/src/VertexArrayObject/usecase/VertexArrayObjectCreateRectVertexArrayObjectUseCase.d.ts +10 -0
  464. package/src/VertexArrayObject/usecase/VertexArrayObjectCreateRectVertexArrayObjectUseCase.js +24 -0
  465. package/src/VertexArrayObject/usecase/VertexArrayObjectGetFillObjectUseCase.d.ts +10 -0
  466. package/src/VertexArrayObject/usecase/VertexArrayObjectGetFillObjectUseCase.js +33 -0
  467. package/src/VertexArrayObject/usecase/VertexArrayObjectGetGradientObjectUseCase.d.ts +12 -0
  468. package/src/VertexArrayObject/usecase/VertexArrayObjectGetGradientObjectUseCase.js +34 -0
  469. package/src/VertexArrayObject.d.ts +71 -0
  470. package/src/VertexArrayObject.js +87 -0
  471. package/src/WebGLUtil.d.ts +34 -0
  472. package/src/WebGLUtil.js +175 -0
  473. package/src/index.d.ts +1 -0
  474. package/src/index.js +1 -0
  475. package/src/interface/IAttachmentObject.d.ts +14 -0
  476. package/src/interface/IBlendMode.d.ts +1 -0
  477. package/{dist/interface/BoundsImpl.d.ts → src/interface/IBounds.d.ts} +1 -1
  478. package/{dist/interface/ClipObjectImpl.d.ts → src/interface/IClipObject.d.ts} +1 -1
  479. package/src/interface/IColorBufferObject.d.ts +9 -0
  480. package/src/interface/ICubicConverterReturnObject.d.ts +4 -0
  481. package/src/interface/IFillMesh.d.ts +4 -0
  482. package/src/interface/IFillType.d.ts +1 -0
  483. package/src/interface/IGradientType.d.ts +1 -0
  484. package/{dist/interface/GridImpl.d.ts → src/interface/IGrid.d.ts} +1 -1
  485. package/src/interface/IInterpolationMethod.d.ts +1 -0
  486. package/src/interface/IJointStyle.d.ts +1 -0
  487. package/src/interface/IPath.d.ts +1 -0
  488. package/{dist/interface/PointImpl.d.ts → src/interface/IPoint.d.ts} +1 -1
  489. package/src/interface/IProgramObject.d.ts +4 -0
  490. package/src/interface/ISpreadMethod.d.ts +1 -0
  491. package/src/interface/IStencilBufferObject.d.ts +8 -0
  492. package/src/interface/IStrokeVertexArrayObject.d.ts +6 -0
  493. package/src/interface/IStrokeVertexArrayObject.js +1 -0
  494. package/src/interface/ITextureObject.d.ts +8 -0
  495. package/src/interface/ITextureObject.js +1 -0
  496. package/{dist/interface/UniformDataImpl.d.ts → src/interface/IUniformData.d.ts} +1 -1
  497. package/src/interface/IUniformData.js +1 -0
  498. package/src/interface/IVertexArrayObject.d.ts +6 -0
  499. package/src/interface/IVertexArrayObject.js +1 -0
  500. package/dist/BezierConverter.d.ts +0 -59
  501. package/dist/BezierConverter.js +0 -106
  502. package/dist/CanvasGradientToWebGL.d.ts +0 -96
  503. package/dist/CanvasGradientToWebGL.js +0 -181
  504. package/dist/CanvasPatternToWebGL.d.ts +0 -31
  505. package/dist/CanvasPatternToWebGL.js +0 -50
  506. package/dist/CanvasToWebGLContext.d.ts +0 -650
  507. package/dist/CanvasToWebGLContext.js +0 -1600
  508. package/dist/CanvasToWebGLContextBlend.d.ts +0 -175
  509. package/dist/CanvasToWebGLContextBlend.js +0 -483
  510. package/dist/CanvasToWebGLContextGrid.d.ts +0 -74
  511. package/dist/CanvasToWebGLContextGrid.js +0 -283
  512. package/dist/CanvasToWebGLContextMask.d.ts +0 -107
  513. package/dist/CanvasToWebGLContextMask.js +0 -411
  514. package/dist/CanvasToWebGLContextPath.d.ts +0 -111
  515. package/dist/CanvasToWebGLContextPath.js +0 -210
  516. package/dist/CanvasToWebGLContextStyle.d.ts +0 -78
  517. package/dist/CanvasToWebGLContextStyle.js +0 -137
  518. package/dist/ColorBufferPool.d.ts +0 -58
  519. package/dist/ColorBufferPool.js +0 -134
  520. package/dist/Const.d.ts +0 -12
  521. package/dist/Const.js +0 -14
  522. package/dist/FrameBufferManager.d.ts +0 -174
  523. package/dist/FrameBufferManager.js +0 -467
  524. package/dist/StencilBufferPool.d.ts +0 -56
  525. package/dist/StencilBufferPool.js +0 -142
  526. package/dist/TextureManager.d.ts +0 -180
  527. package/dist/TextureManager.js +0 -531
  528. package/dist/VertexArrayObjectManager.d.ts +0 -115
  529. package/dist/VertexArrayObjectManager.js +0 -328
  530. package/dist/WebGLFillMeshGenerator.d.ts +0 -31
  531. package/dist/WebGLFillMeshGenerator.js +0 -101
  532. package/dist/WebGLStrokeMeshGenerator.d.ts +0 -183
  533. package/dist/WebGLStrokeMeshGenerator.js +0 -504
  534. package/dist/index.d.ts +0 -6
  535. package/dist/index.js +0 -6
  536. package/dist/interface/AttachmentImpl.d.ts +0 -11
  537. package/dist/interface/BlendModeImpl.d.ts +0 -1
  538. package/dist/interface/CachePositionImpl.d.ts +0 -11
  539. package/dist/interface/CapsStyleImpl.d.ts +0 -1
  540. package/dist/interface/FillMeshImpl.d.ts +0 -5
  541. package/dist/interface/GradientTypeImpl.d.ts +0 -1
  542. package/dist/interface/IndexRangeImpl.d.ts +0 -4
  543. package/dist/interface/InterpolationMethodImpl.d.ts +0 -1
  544. package/dist/interface/JointStyleImpl.d.ts +0 -1
  545. package/dist/interface/SpreadMethodImpl.d.ts +0 -1
  546. package/dist/interface/StrokeMethImpl.d.ts +0 -4
  547. package/dist/interface/VerticesImpl.d.ts +0 -1
  548. package/dist/shader/CanvasToWebGLShader.d.ts +0 -99
  549. package/dist/shader/CanvasToWebGLShader.js +0 -213
  550. package/dist/shader/CanvasToWebGLShaderList.d.ts +0 -70
  551. package/dist/shader/CanvasToWebGLShaderList.js +0 -109
  552. package/dist/shader/GradientLUTGenerator.d.ts +0 -36
  553. package/dist/shader/GradientLUTGenerator.js +0 -130
  554. package/dist/shader/WebGLShaderInstance.d.ts +0 -30
  555. package/dist/shader/WebGLShaderInstance.js +0 -48
  556. package/dist/shader/WebGLShaderUniform.d.ts +0 -52
  557. package/dist/shader/WebGLShaderUniform.js +0 -159
  558. package/dist/shader/fragment/FragmentShaderLibrary.d.ts +0 -24
  559. package/dist/shader/fragment/FragmentShaderLibrary.js +0 -44
  560. package/dist/shader/fragment/FragmentShaderSource.d.ts +0 -29
  561. package/dist/shader/fragment/FragmentShaderSource.js +0 -99
  562. package/dist/shader/fragment/FragmentShaderSourceBlend.d.ts +0 -75
  563. package/dist/shader/fragment/FragmentShaderSourceBlend.js +0 -384
  564. package/dist/shader/fragment/FragmentShaderSourceGradient.d.ts +0 -44
  565. package/dist/shader/fragment/FragmentShaderSourceGradient.js +0 -114
  566. package/dist/shader/fragment/FragmentShaderSourceGradientLUT.d.ts +0 -14
  567. package/dist/shader/fragment/FragmentShaderSourceGradientLUT.js +0 -58
  568. package/dist/shader/fragment/FragmentShaderSourceTexture.d.ts +0 -18
  569. package/dist/shader/fragment/FragmentShaderSourceTexture.js +0 -68
  570. package/dist/shader/fragment/filter/FragmentShaderSourceBlurFilter.d.ts +0 -12
  571. package/dist/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.d.ts +0 -11
  572. package/dist/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.d.ts +0 -16
  573. package/dist/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.js +0 -80
  574. package/dist/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.d.ts +0 -15
  575. package/dist/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.js +0 -106
  576. package/dist/shader/fragment/filter/FragmentShaderSourceFilter.d.ts +0 -112
  577. package/dist/shader/fragment/filter/FragmentShaderSourceFilter.js +0 -275
  578. package/dist/shader/variants/BlendShaderVariantCollection.d.ts +0 -159
  579. package/dist/shader/variants/BlendShaderVariantCollection.js +0 -376
  580. package/dist/shader/variants/FilterShaderVariantCollection.d.ts +0 -150
  581. package/dist/shader/variants/FilterShaderVariantCollection.js +0 -395
  582. package/dist/shader/variants/GradientLUTShaderVariantCollection.d.ts +0 -49
  583. package/dist/shader/variants/GradientLUTShaderVariantCollection.js +0 -107
  584. package/dist/shader/variants/GradientShapeShaderVariantCollection.d.ts +0 -61
  585. package/dist/shader/variants/GradientShapeShaderVariantCollection.js +0 -196
  586. package/dist/shader/variants/ShapeShaderVariantCollection.d.ts +0 -117
  587. package/dist/shader/variants/ShapeShaderVariantCollection.js +0 -427
  588. package/dist/shader/vertex/VertexShaderLibrary.d.ts +0 -18
  589. package/dist/shader/vertex/VertexShaderSource.d.ts +0 -35
  590. package/dist/shader/vertex/VertexShaderSource.js +0 -164
  591. package/dist/shader/vertex/VertexShaderSourceFill.d.ts +0 -45
  592. package/dist/shader/vertex/VertexShaderSourceFill.js +0 -116
  593. package/dist/shader/vertex/VertexShaderSourceStroke.d.ts +0 -27
  594. package/dist/shader/vertex/VertexShaderSourceStroke.js +0 -149
  595. /package/{dist/interface/AttachmentImpl.js → src/interface/IAttachmentObject.js} +0 -0
  596. /package/{dist/interface/BlendModeImpl.js → src/interface/IBlendMode.js} +0 -0
  597. /package/{dist/interface/BoundsImpl.js → src/interface/IBounds.js} +0 -0
  598. /package/{dist/interface/CachePositionImpl.js → src/interface/IClipObject.js} +0 -0
  599. /package/{dist/interface/CapsStyleImpl.js → src/interface/IColorBufferObject.js} +0 -0
  600. /package/{dist/interface/ClipObjectImpl.js → src/interface/ICubicConverterReturnObject.js} +0 -0
  601. /package/{dist/interface/FillMeshImpl.js → src/interface/IFillMesh.js} +0 -0
  602. /package/{dist/interface/GradientTypeImpl.js → src/interface/IFillType.js} +0 -0
  603. /package/{dist/interface/GridImpl.js → src/interface/IGradientType.js} +0 -0
  604. /package/{dist/interface/IndexRangeImpl.js → src/interface/IGrid.js} +0 -0
  605. /package/{dist/interface/InterpolationMethodImpl.js → src/interface/IInterpolationMethod.js} +0 -0
  606. /package/{dist/interface/JointStyleImpl.js → src/interface/IJointStyle.js} +0 -0
  607. /package/{dist/interface/PointImpl.js → src/interface/IPath.js} +0 -0
  608. /package/{dist/interface/SpreadMethodImpl.js → src/interface/IPoint.js} +0 -0
  609. /package/{dist/interface/StrokeMethImpl.js → src/interface/IProgramObject.js} +0 -0
  610. /package/{dist/interface/UniformDataImpl.js → src/interface/ISpreadMethod.js} +0 -0
  611. /package/{dist/interface/VerticesImpl.js → src/interface/IStencilBufferObject.js} +0 -0
@@ -0,0 +1,42 @@
1
+ import { execute as meshCalculateNormalVectorService } from "../service/MeshCalculateNormalVectorService";
2
+ /**
3
+ * @description 直線の矩形を計算
4
+ * Calculate the rectangle of a line
5
+ *
6
+ * @param {IPoint} start_point
7
+ * @param {IPoint} end_point
8
+ * @param {number} thickness
9
+ * @return {IPath}
10
+ * @method
11
+ * @protected
12
+ */
13
+ export const execute = (start_point, end_point, thickness) => {
14
+ const vector = {
15
+ "x": end_point.x - start_point.x,
16
+ "y": end_point.y - start_point.y
17
+ };
18
+ const normal = meshCalculateNormalVectorService(vector.x, vector.y, thickness);
19
+ const shiftedUpStart = {
20
+ "x": start_point.x + normal.x,
21
+ "y": start_point.y + normal.y
22
+ };
23
+ const shiftedUpEnd = {
24
+ "x": end_point.x + normal.x,
25
+ "y": end_point.y + normal.y
26
+ };
27
+ const shiftedDownStart = {
28
+ "x": start_point.x - normal.x,
29
+ "y": start_point.y - normal.y
30
+ };
31
+ const shiftedDownEnd = {
32
+ "x": end_point.x - normal.x,
33
+ "y": end_point.y - normal.y
34
+ };
35
+ return [
36
+ shiftedUpStart.x, shiftedUpStart.y, false,
37
+ shiftedUpEnd.x, shiftedUpEnd.y, false,
38
+ shiftedDownEnd.x, shiftedDownEnd.y, false,
39
+ shiftedDownStart.x, shiftedDownStart.y, false,
40
+ shiftedUpStart.x, shiftedUpStart.y, false
41
+ ];
42
+ };
@@ -0,0 +1,12 @@
1
+ import type { IPath } from "../../interface/IPath";
2
+ import type { IFillMesh } from "../../interface/IFillMesh";
3
+ /**
4
+ * @description 塗りのメッシュを生成する
5
+ * Generate a fill mesh
6
+ *
7
+ * @param {IPath[]} vertices
8
+ * @return {IFillMesh}
9
+ * @method
10
+ * @protected
11
+ */
12
+ export declare const execute: (vertices: IPath[], style?: "fill" | "stroke") => IFillMesh;
@@ -0,0 +1,44 @@
1
+ import { execute as meshFillGenerateService } from "../service/MeshFillGenerateService";
2
+ import { $getMeshTempBuffer } from "../../Mesh";
3
+ import { $context, $viewportWidth, $viewportHeight } from "../../WebGLUtil";
4
+ /**
5
+ * @description 塗りのメッシュを生成する
6
+ * Generate a fill mesh
7
+ *
8
+ * @param {IPath[]} vertices
9
+ * @return {IFillMesh}
10
+ * @method
11
+ * @protected
12
+ */
13
+ export const execute = (vertices, style = "fill") => {
14
+ const colorStyle = style === "fill"
15
+ ? $context.$fillStyle
16
+ : $context.$strokeStyle;
17
+ const red = colorStyle[0];
18
+ const green = colorStyle[1];
19
+ const blue = colorStyle[2];
20
+ const alpha = colorStyle[3];
21
+ const matrix = $context.$matrix;
22
+ const width = $viewportWidth;
23
+ const height = $viewportHeight;
24
+ const a = matrix[0] / width;
25
+ const c = matrix[3] / width;
26
+ const tx = matrix[6] / width;
27
+ const b = matrix[1] / height;
28
+ const d = matrix[4] / height;
29
+ const ty = matrix[7] / height;
30
+ let length = 0;
31
+ for (let idx = 0; idx < vertices.length; ++idx) {
32
+ length += (vertices[idx].length / 3 - 2) * 51;
33
+ }
34
+ // 再利用可能なバッファを取得(GC回避)
35
+ const buffer = $getMeshTempBuffer(length);
36
+ let currentIndex = 0;
37
+ for (let idx = 0; idx < vertices.length; ++idx) {
38
+ currentIndex = meshFillGenerateService(vertices[idx], buffer, currentIndex, a, b, c, d, tx, ty, red, green, blue, alpha);
39
+ }
40
+ return {
41
+ "buffer": buffer.subarray(0, length),
42
+ "indexCount": currentIndex
43
+ };
44
+ };
@@ -0,0 +1,15 @@
1
+ import type { IPath } from "../../interface/IPath";
2
+ /**
3
+ * @description 線と線の繋ぎ目を繋ぐ
4
+ * Connect the connection between lines
5
+ *
6
+ * @param {number} x
7
+ * @param {number} y
8
+ * @param {number} r
9
+ * @param {IPath[]} rectangles
10
+ * @param {boolean} [is_last=false]
11
+ * @return {void}
12
+ * @method
13
+ * @protected
14
+ */
15
+ export declare const execute: (x: number, y: number, r: number, rectangles: IPath[], is_last?: boolean) => void;
@@ -0,0 +1,52 @@
1
+ import { execute as meshFindOverlappingPathsService } from "../service/MeshFindOverlappingPathsService";
2
+ import { execute as meshIsPointInsideRectangleService } from "../service/MeshIsPointInsideRectangleService";
3
+ /**
4
+ * @description 線と線の繋ぎ目を繋ぐ
5
+ * Connect the connection between lines
6
+ *
7
+ * @param {number} x
8
+ * @param {number} y
9
+ * @param {number} r
10
+ * @param {IPath[]} rectangles
11
+ * @param {boolean} [is_last=false]
12
+ * @return {void}
13
+ * @method
14
+ * @protected
15
+ */
16
+ export const execute = (x, y, r, rectangles, is_last = false) => {
17
+ const indexA = is_last ? 0 : rectangles.length - 1;
18
+ const indexB = is_last ? rectangles.length - 1 : rectangles.length - 2;
19
+ // 曲線矩形同士の接合ではjoinを追加しない
20
+ // 曲線は滑らかに接続されているため、joinジオメトリは不要
21
+ const isRectACurve = rectangles[indexA].length > 15;
22
+ const isRectBCurve = rectangles[indexB].length > 15;
23
+ if (isRectACurve && isRectBCurve) {
24
+ return;
25
+ }
26
+ const pathsA = meshFindOverlappingPathsService(x, y, r, rectangles[indexA]);
27
+ const pathsB = meshFindOverlappingPathsService(x, y, r, rectangles[indexB]);
28
+ // パスが並行であれば終了
29
+ if (pathsA[0] === pathsB[0] && pathsA[1] === pathsB[1]
30
+ || pathsA[0] === pathsB[2] && pathsA[1] === pathsB[3]) {
31
+ return;
32
+ }
33
+ // 矩形Aの点が矩形Bの外にあるか確認
34
+ const pointA = meshIsPointInsideRectangleService(pathsA, rectangles[indexB]);
35
+ if (!pointA) {
36
+ // 全ての点が矩形B内にある = 隙間がない
37
+ return;
38
+ }
39
+ // 矩形Bの点が矩形Aの外にあるか確認
40
+ const pointB = meshIsPointInsideRectangleService(pathsB, rectangles[indexA]);
41
+ if (!pointB) {
42
+ // 全ての点が矩形A内にある = 隙間がない
43
+ return;
44
+ }
45
+ // 隙間がある場合のみbevel joinを追加
46
+ rectangles.splice(-1, 0, [
47
+ x, y, false,
48
+ pointA[0], pointA[1], false,
49
+ pointB[0], pointB[1], false,
50
+ x, y, false
51
+ ]);
52
+ };
@@ -0,0 +1,17 @@
1
+ import type { IPath } from "../../interface/IPath";
2
+ import type { IPoint } from "../../interface/IPoint";
3
+ /**
4
+ * @description 線と線の繋ぎ目をmiterで繋ぐ
5
+ * Connect the connection between lines with miter
6
+ *
7
+ * @param {IPoint} start_point
8
+ * @param {IPoint} end_point
9
+ * @param {IPoint} prev_point
10
+ * @param {number} r
11
+ * @param {IPath[]} rectangles
12
+ * @param {boolean} [is_last=false]
13
+ * @return {void}
14
+ * @method
15
+ * @protected
16
+ */
17
+ export declare const execute: (start_point: IPoint, end_point: IPoint, prev_point: IPoint, r: number, rectangles: IPath[], is_last?: boolean) => void;
@@ -0,0 +1,84 @@
1
+ import { execute as meshFindOverlappingPathsService } from "../service/MeshFindOverlappingPathsService";
2
+ import { execute as meshIsPointInsideRectangleService } from "../service/MeshIsPointInsideRectangleService";
3
+ /**
4
+ * @description 線と線の繋ぎ目をmiterで繋ぐ
5
+ * Connect the connection between lines with miter
6
+ *
7
+ * @param {IPoint} start_point
8
+ * @param {IPoint} end_point
9
+ * @param {IPoint} prev_point
10
+ * @param {number} r
11
+ * @param {IPath[]} rectangles
12
+ * @param {boolean} [is_last=false]
13
+ * @return {void}
14
+ * @method
15
+ * @protected
16
+ */
17
+ export const execute = (start_point, end_point, prev_point, r, rectangles, is_last = false) => {
18
+ const indexA = is_last ? 0 : rectangles.length - 1;
19
+ const indexB = is_last ? rectangles.length - 1 : rectangles.length - 2;
20
+ // 曲線矩形同士の接合ではjoinを追加しない
21
+ // 曲線は滑らかに接続されているため、joinジオメトリは不要
22
+ const isRectACurve = rectangles[indexA].length > 15;
23
+ const isRectBCurve = rectangles[indexB].length > 15;
24
+ if (isRectACurve && isRectBCurve) {
25
+ return;
26
+ }
27
+ const pathsA = meshFindOverlappingPathsService(start_point.x, start_point.y, r, rectangles[indexA]);
28
+ const pathsB = meshFindOverlappingPathsService(start_point.x, start_point.y, r, rectangles[indexB]);
29
+ // パスが並行であれば終了
30
+ if (pathsA[0] === pathsB[0] && pathsA[1] === pathsB[1]
31
+ || pathsA[0] === pathsB[2] && pathsA[1] === pathsB[3]) {
32
+ return;
33
+ }
34
+ // 矩形Aの点が矩形Bの外にあるか確認
35
+ const pointA = meshIsPointInsideRectangleService(pathsA, rectangles[indexB]);
36
+ if (!pointA) {
37
+ // 全ての点が矩形B内にある = 隙間がない
38
+ return;
39
+ }
40
+ // 矩形Bの点が矩形Aの外にあるか確認
41
+ const pointB = meshIsPointInsideRectangleService(pathsB, rectangles[indexA]);
42
+ if (!pointB) {
43
+ // 全ての点が矩形A内にある = 隙間がない
44
+ return;
45
+ }
46
+ // Miter join: 外側の点を延長して交点を求める
47
+ const aVx = end_point.x - start_point.x;
48
+ const aVy = end_point.y - start_point.y;
49
+ const lengthA = Math.hypot(aVx, aVy);
50
+ const normalizeA = {
51
+ "x": aVx / lengthA,
52
+ "y": aVy / lengthA
53
+ };
54
+ const bVx = prev_point.x - start_point.x;
55
+ const bVy = prev_point.y - start_point.y;
56
+ const lengthB = Math.hypot(bVx, bVy);
57
+ const normalizeB = {
58
+ "x": bVx / lengthB,
59
+ "y": bVy / lengthB
60
+ };
61
+ const d1x = normalizeA.x, d1y = normalizeA.y;
62
+ const d2x = normalizeB.x, d2y = normalizeB.y;
63
+ const denom = d1x * d2y - d1y * d2x;
64
+ if (denom === 0) {
65
+ // 平行な場合は単純な三角形で接続
66
+ rectangles.splice(-1, 0, [
67
+ start_point.x, start_point.y, false,
68
+ pointA[0], pointA[1], false,
69
+ pointB[0], pointB[1], false
70
+ ]);
71
+ return;
72
+ }
73
+ const t = ((pointB[0] - pointA[0]) * d2y - (pointB[1] - pointA[1]) * d2x) / denom;
74
+ const ix = pointA[0] + t * d1x;
75
+ const iy = pointA[1] + t * d1y;
76
+ rectangles.splice(-1, 0, [
77
+ start_point.x, start_point.y, false,
78
+ pointA[0], pointA[1], false,
79
+ ix, iy, false,
80
+ start_point.x, start_point.y, false,
81
+ pointB[0], pointB[1], false,
82
+ ix, iy, false
83
+ ]);
84
+ };
@@ -0,0 +1,15 @@
1
+ import type { IPath } from "../../interface/IPath";
2
+ /**
3
+ * @description 線と線の繋ぎ目を丸くする
4
+ * Make the connection between lines round
5
+ *
6
+ * @param {number} x
7
+ * @param {number} y
8
+ * @param {number} r
9
+ * @param {IPath[]} rectangles
10
+ * @param {boolean} [is_last=false]
11
+ * @return {void}
12
+ * @method
13
+ * @protected
14
+ */
15
+ export declare const execute: (x: number, y: number, r: number, rectangles: IPath[], is_last?: boolean) => void;
@@ -0,0 +1,63 @@
1
+ import { execute as meshFindOverlappingPathsService } from "../service/MeshFindOverlappingPathsService";
2
+ import { execute as meshIsPointInsideRectangleService } from "../service/MeshIsPointInsideRectangleService";
3
+ /**
4
+ * @description 線と線の繋ぎ目を丸くする
5
+ * Make the connection between lines round
6
+ *
7
+ * @param {number} x
8
+ * @param {number} y
9
+ * @param {number} r
10
+ * @param {IPath[]} rectangles
11
+ * @param {boolean} [is_last=false]
12
+ * @return {void}
13
+ * @method
14
+ * @protected
15
+ */
16
+ export const execute = (x, y, r, rectangles, is_last = false) => {
17
+ const indexA = is_last ? 0 : rectangles.length - 1;
18
+ const indexB = is_last ? rectangles.length - 1 : rectangles.length - 2;
19
+ // 曲線矩形同士の接合ではjoinを追加しない
20
+ // 曲線は滑らかに接続されているため、joinジオメトリは不要
21
+ const isRectACurve = rectangles[indexA].length > 15;
22
+ const isRectBCurve = rectangles[indexB].length > 15;
23
+ if (isRectACurve && isRectBCurve) {
24
+ return;
25
+ }
26
+ const pathsA = meshFindOverlappingPathsService(x, y, r, rectangles[indexA]);
27
+ const pathsB = meshFindOverlappingPathsService(x, y, r, rectangles[indexB]);
28
+ const pointA = meshIsPointInsideRectangleService(pathsA, rectangles[indexB]);
29
+ if (!pointA) {
30
+ return;
31
+ }
32
+ const pointB = meshIsPointInsideRectangleService(pathsB, rectangles[indexA]);
33
+ if (!pointB) {
34
+ return;
35
+ }
36
+ const angleA = Math.atan2(pointA[1] - y, pointA[0] - x);
37
+ const angleB = Math.atan2(pointB[1] - y, pointB[0] - x);
38
+ // 角度差を正規化して180度以下にする
39
+ let angleDiff = angleB - angleA;
40
+ if (angleDiff > Math.PI) {
41
+ angleDiff -= 2 * Math.PI;
42
+ }
43
+ else if (angleDiff < -Math.PI) {
44
+ angleDiff += 2 * Math.PI;
45
+ }
46
+ // 角度差が小さい場合または180度に近い場合はスキップ
47
+ // 小さい角度差: 曲線の閉じたパスでは不要
48
+ // 180度に近い場合: 外側と内側の点を間違えて選んでいる
49
+ const absAngleDiff = Math.abs(angleDiff);
50
+ if (absAngleDiff < 0.1 || absAngleDiff > Math.PI - 0.1) {
51
+ return;
52
+ }
53
+ const segment = 8;
54
+ const step = angleDiff / segment;
55
+ const points = [x, y, false];
56
+ for (let idx = 0; idx <= segment; idx++) {
57
+ const angle = angleA + idx * step;
58
+ const dx = x + r * Math.cos(angle);
59
+ const dy = y + r * Math.sin(angle);
60
+ points.push(dx, dy, false);
61
+ }
62
+ rectangles.splice(-1, 0, points);
63
+ };
@@ -0,0 +1,12 @@
1
+ import type { IPath } from "../../interface/IPath";
2
+ /**
3
+ * @description 線の外周を算出して塗りのフォーマットで返却
4
+ * Calculate the outer circumference of the line and return it in the format of the fill
5
+ *
6
+ * @param {IPath} vertices
7
+ * @param {number} thickness
8
+ * @return {IPath[]}
9
+ * @method
10
+ * @protected
11
+ */
12
+ export declare const execute: (vertices: IPath, thickness: number) => IPath[];
@@ -0,0 +1,124 @@
1
+ import { execute as meshCalculateLineRectangleUseCase } from "./MeshCalculateLineRectangleUseCase";
2
+ import { execute as meshCalculateCurveRectangleUseCase } from "./MeshCalculateCurveRectangleUseCase";
3
+ import { execute as meshGenerateCalculateRoundJoinUseCase } from "./MeshGenerateCalculateRoundJoinUseCase";
4
+ import { execute as meshGenerateCalculateBevelJoinUseCase } from "./MeshGenerateCalculateBevelJoinUseCase";
5
+ import { execute as meshGenerateCalculateRoundCapService } from "../service/MeshGenerateCalculateRoundCapService";
6
+ import { execute as meshGenerateCalculateSquareCapService } from "../service/MeshGenerateCalculateSquareCapService";
7
+ import { execute as meshGenerateCalculateMiterJoinUseCase } from "../usecase/MeshGenerateCalculateMiterJoinUseCase";
8
+ import { $context } from "../../WebGLUtil";
9
+ /**
10
+ * @description 再利用可能なPointオブジェクト(GC回避)
11
+ * Reusable Point objects (avoid GC)
12
+ *
13
+ * @type {IPoint}
14
+ * @private
15
+ */
16
+ const $startPoint = { "x": 0, "y": 0 };
17
+ const $controlPoint = { "x": 0, "y": 0 };
18
+ const $endPoint = { "x": 0, "y": 0 };
19
+ const $prevPoint = { "x": 0, "y": 0 };
20
+ /**
21
+ * @description 線の外周を算出して塗りのフォーマットで返却
22
+ * Calculate the outer circumference of the line and return it in the format of the fill
23
+ *
24
+ * @param {IPath} vertices
25
+ * @param {number} thickness
26
+ * @return {IPath[]}
27
+ * @method
28
+ * @protected
29
+ */
30
+ export const execute = (vertices, thickness) => {
31
+ // 再利用可能なオブジェクトを使用
32
+ const startPoint = $startPoint;
33
+ startPoint.x = vertices[0];
34
+ startPoint.y = vertices[1];
35
+ const controlPoint = $controlPoint;
36
+ controlPoint.x = 0;
37
+ controlPoint.y = 0;
38
+ const endPoint = $endPoint;
39
+ endPoint.x = 0;
40
+ endPoint.y = 0;
41
+ const prevPoint = $prevPoint;
42
+ prevPoint.x = 0;
43
+ prevPoint.y = 0;
44
+ const rectangles = [];
45
+ for (let idx = 3; idx < vertices.length; idx += 3) {
46
+ const x = vertices[idx];
47
+ const y = vertices[idx + 1];
48
+ if (vertices[idx + 2]) {
49
+ controlPoint.x = x;
50
+ controlPoint.y = y;
51
+ continue;
52
+ }
53
+ endPoint.x = x;
54
+ endPoint.y = y;
55
+ if (vertices[idx - 1]) {
56
+ rectangles.push(meshCalculateCurveRectangleUseCase(startPoint, controlPoint, endPoint, thickness));
57
+ }
58
+ else {
59
+ rectangles.push(meshCalculateLineRectangleUseCase(startPoint, endPoint, thickness));
60
+ }
61
+ if (rectangles.length > 1) {
62
+ switch ($context.joints) {
63
+ case 0: // bevel
64
+ meshGenerateCalculateBevelJoinUseCase(startPoint.x, startPoint.y, thickness, rectangles);
65
+ break;
66
+ case 1: // miter
67
+ prevPoint.x = vertices[idx - 6];
68
+ prevPoint.y = vertices[idx - 5];
69
+ meshGenerateCalculateMiterJoinUseCase(startPoint, endPoint, prevPoint, thickness, rectangles);
70
+ break;
71
+ case 2: // round
72
+ meshGenerateCalculateRoundJoinUseCase(startPoint.x, startPoint.y, thickness, rectangles);
73
+ break;
74
+ }
75
+ }
76
+ startPoint.x = endPoint.x;
77
+ startPoint.y = endPoint.y;
78
+ }
79
+ // 始点と終点が繋がっているかどうかをチェック(浮動小数点誤差を考慮)
80
+ const closedStartX = vertices[0];
81
+ const closedStartY = vertices[1];
82
+ const closedEndX = vertices[vertices.length - 3];
83
+ const closedEndY = vertices[vertices.length - 2];
84
+ const closedEpsilon = 0.0001;
85
+ const isClosed = Math.abs(closedStartX - closedEndX) < closedEpsilon
86
+ && Math.abs(closedStartY - closedEndY) < closedEpsilon
87
+ && rectangles.length > 1;
88
+ if (isClosed) {
89
+ // 始点と終点が繋がっている時はjointsの設定を適用
90
+ switch ($context.joints) {
91
+ case 0: // bevel
92
+ meshGenerateCalculateBevelJoinUseCase(closedStartX, closedStartY, thickness, rectangles, true);
93
+ break;
94
+ case 1: // miter
95
+ startPoint.x = closedStartX;
96
+ startPoint.y = closedStartY;
97
+ endPoint.x = vertices[3];
98
+ endPoint.y = vertices[4];
99
+ prevPoint.x = vertices[vertices.length - 6];
100
+ prevPoint.y = vertices[vertices.length - 5];
101
+ meshGenerateCalculateMiterJoinUseCase(startPoint, endPoint, prevPoint, thickness, rectangles, true);
102
+ break;
103
+ case 2: // round
104
+ meshGenerateCalculateRoundJoinUseCase(closedStartX, closedStartY, thickness, rectangles, true);
105
+ break;
106
+ default:
107
+ break;
108
+ }
109
+ }
110
+ else {
111
+ // 始点と終点が繋がってない時はcapsの設定を適用
112
+ switch ($context.caps) {
113
+ case 1: // round
114
+ meshGenerateCalculateRoundCapService(vertices, thickness, rectangles);
115
+ break;
116
+ case 2: // square
117
+ meshGenerateCalculateSquareCapService(vertices, thickness, rectangles);
118
+ break;
119
+ default:
120
+ break;
121
+ }
122
+ }
123
+ return rectangles;
124
+ };
@@ -0,0 +1,14 @@
1
+ import type { IPoint } from "../../interface/IPoint";
2
+ /**
3
+ * @description ベジェ曲線を指定回数分割する
4
+ * Divides a Bezier curve a specified number of times
5
+ *
6
+ * @param {IPoint} start_point
7
+ * @param {IPoint} control_point
8
+ * @param {IPoint} end_point
9
+ * @param {number} [n = 4]
10
+ * @return {Array<IPoint[]>}
11
+ * @method
12
+ * @protected
13
+ */
14
+ export declare const execute: (start_point: IPoint, control_point: IPoint, end_point: IPoint, n?: number) => Array<IPoint[]>;
@@ -0,0 +1,32 @@
1
+ import { execute as meshSplitQuadraticBezierUseCase } from "./MeshSplitQuadraticBezierUseCase";
2
+ /**
3
+ * @description ベジェ曲線を指定回数分割する
4
+ * Divides a Bezier curve a specified number of times
5
+ *
6
+ * @param {IPoint} start_point
7
+ * @param {IPoint} control_point
8
+ * @param {IPoint} end_point
9
+ * @param {number} [n = 4]
10
+ * @return {Array<IPoint[]>}
11
+ * @method
12
+ * @protected
13
+ */
14
+ export const execute = (start_point, control_point, end_point, n = 4) => {
15
+ // 初期リスト:1本だけ
16
+ let segments = [[start_point, control_point, end_point]];
17
+ for (let idx = 0; idx < n; ++idx) {
18
+ const newSegments = [];
19
+ for (let idx = 0; idx < segments.length; ++idx) {
20
+ const seg = segments[idx];
21
+ if (!seg) {
22
+ continue;
23
+ }
24
+ // seg = [s0, s1, s2]
25
+ const splitted = meshSplitQuadraticBezierUseCase(seg[0], seg[1], seg[2], 0.5);
26
+ newSegments.push(splitted[0], splitted[1]);
27
+ }
28
+ segments = newSegments;
29
+ }
30
+ // segmentsには 2^n 本の [x,y]が入る
31
+ return segments; // [[p0,p1,p2], [p0,p1,p2], ...]
32
+ };
@@ -0,0 +1,14 @@
1
+ import type { IPoint } from "../../interface/IPoint";
2
+ /**
3
+ * @description 二次ベジェ曲線を分割する
4
+ * Split a quadratic Bezier curve
5
+ *
6
+ * @param {IPoint} start_point
7
+ * @param {IPoint} control_point
8
+ * @param {IPoint} end_point
9
+ * @param {number} [t = 0.5]
10
+ * @return {Array<IPoint[]>}
11
+ * @method
12
+ * @protected
13
+ */
14
+ export declare const execute: (start_point: IPoint, control_point: IPoint, end_point: IPoint, t?: number) => Array<IPoint[]>;
@@ -0,0 +1,28 @@
1
+ import { execute as meshLerpService } from "../service/MeshLerpService";
2
+ /**
3
+ * @description 二次ベジェ曲線を分割する
4
+ * Split a quadratic Bezier curve
5
+ *
6
+ * @param {IPoint} start_point
7
+ * @param {IPoint} control_point
8
+ * @param {IPoint} end_point
9
+ * @param {number} [t = 0.5]
10
+ * @return {Array<IPoint[]>}
11
+ * @method
12
+ * @protected
13
+ */
14
+ export const execute = (start_point, control_point, end_point, t = 0.5) => {
15
+ // 二次ベジエ曲線の分割
16
+ // M0 = lerp(P0, P1, t)
17
+ // M1 = lerp(P1, P2, t)
18
+ // M01 = lerp(M0, M1, t)
19
+ const M0 = meshLerpService(start_point, control_point, t);
20
+ const M1 = meshLerpService(control_point, end_point, t);
21
+ const M01 = meshLerpService(M0, M1, t);
22
+ // 左サブ (0...t): [P0, M0, M01]
23
+ // 右サブ (t...1): [M01, M1, P2]
24
+ return [
25
+ [start_point, M0, M01],
26
+ [M01, M1, end_point]
27
+ ];
28
+ };
@@ -0,0 +1,12 @@
1
+ import type { IFillMesh } from "../../interface/IFillMesh";
2
+ import type { IPath } from "../../interface/IPath";
3
+ /**
4
+ * @description ストロークのメッシュを生成
5
+ * Generate a stroke mesh
6
+ *
7
+ * @param {IPath[]} vertices
8
+ * @return {IFillMesh}
9
+ * @method
10
+ * @protected
11
+ */
12
+ export declare const execute: (vertices: IPath[]) => IFillMesh;
@@ -0,0 +1,29 @@
1
+ import { execute as meshGenerateStrokeOutlineUseCase } from "./MeshGenerateStrokeOutlineUseCase";
2
+ import { execute as meshFillGenerateUseCase } from "./MeshFillGenerateUseCase";
3
+ import { $context, $getArray, $poolArray } from "../../WebGLUtil";
4
+ /**
5
+ * @description ストロークのメッシュを生成
6
+ * Generate a stroke mesh
7
+ *
8
+ * @param {IPath[]} vertices
9
+ * @return {IFillMesh}
10
+ * @method
11
+ * @protected
12
+ */
13
+ export const execute = (vertices) => {
14
+ const thickness = $context.thickness / 2;
15
+ // プールから配列を取得して再利用
16
+ const fillVertices = $getArray();
17
+ for (let idx = 0; idx < vertices.length; ++idx) {
18
+ const vertex = meshGenerateStrokeOutlineUseCase(vertices[idx], thickness);
19
+ // スプレッド演算子の代わりにループで追加(より効率的)
20
+ for (let i = 0; i < vertex.length; ++i) {
21
+ fillVertices.push(vertex[i]);
22
+ }
23
+ }
24
+ const result = meshFillGenerateUseCase(fillVertices, "stroke");
25
+ // 配列をプールに戻す
26
+ fillVertices.length = 0;
27
+ $poolArray(fillVertices);
28
+ return result;
29
+ };