@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.
- package/README.md +206 -5
- package/package.json +11 -18
- package/src/AtlasManager/service/AtlasManagerCreateNodeService.d.ts +12 -0
- package/src/AtlasManager/service/AtlasManagerCreateNodeService.js +41 -0
- package/src/AtlasManager/service/AtlasManagerRemoveNodeService.d.ts +11 -0
- package/src/AtlasManager/service/AtlasManagerRemoveNodeService.js +17 -0
- package/src/AtlasManager/usecase/AtlasManagerResetUseCase.d.ts +9 -0
- package/src/AtlasManager/usecase/AtlasManagerResetUseCase.js +19 -0
- package/src/AtlasManager.d.ts +16 -0
- package/src/AtlasManager.js +59 -0
- package/src/BezierConverter/service/BezierConverterSplit2CubicService.d.ts +19 -0
- package/src/BezierConverter/service/BezierConverterSplit2CubicService.js +41 -0
- package/src/BezierConverter/service/BezierConverterSplit2QuadService.d.ts +18 -0
- package/src/BezierConverter/service/BezierConverterSplit2QuadService.js +31 -0
- package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.d.ts +18 -0
- package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.js +193 -0
- package/src/BezierConverter/usecase/BezierConverterCubicToQuadUseCase.d.ts +17 -0
- package/src/BezierConverter/usecase/BezierConverterCubicToQuadUseCase.js +29 -0
- package/src/BezierConverter.d.ts +96 -0
- package/src/BezierConverter.js +166 -0
- package/src/Bitmap.d.ts +8 -0
- package/src/Bitmap.js +8 -0
- package/src/Blend/service/BlendAddService.d.ts +9 -0
- package/src/Blend/service/BlendAddService.js +16 -0
- package/src/Blend/service/BlendAlphaService.d.ts +9 -0
- package/src/Blend/service/BlendAlphaService.js +16 -0
- package/src/Blend/service/BlendEraseService.d.ts +9 -0
- package/src/Blend/service/BlendEraseService.js +16 -0
- package/src/Blend/service/BlendOneZeroService.d.ts +9 -0
- package/src/Blend/service/BlendOneZeroService.js +16 -0
- package/src/Blend/service/BlendResetService.d.ts +9 -0
- package/src/Blend/service/BlendResetService.js +16 -0
- package/src/Blend/service/BlendScreenService.d.ts +9 -0
- package/src/Blend/service/BlendScreenService.js +16 -0
- package/src/Blend/service/BlendSourceAtopService.d.ts +9 -0
- package/src/Blend/service/BlendSourceAtopService.js +16 -0
- package/src/Blend/service/BlendSourceInService.d.ts +9 -0
- package/src/Blend/service/BlendSourceInService.js +16 -0
- package/src/Blend/usecase/BlendBootUseCase.d.ts +9 -0
- package/src/Blend/usecase/BlendBootUseCase.js +14 -0
- package/src/Blend/usecase/BlendDrawFilterToMainUseCase.d.ts +14 -0
- package/src/Blend/usecase/BlendDrawFilterToMainUseCase.js +79 -0
- package/src/Blend/usecase/BlendOperationUseCase.d.ts +11 -0
- package/src/Blend/usecase/BlendOperationUseCase.js +37 -0
- package/src/Blend/usecase/BlnedClearArraysInstancedUseCase.d.ts +9 -0
- package/src/Blend/usecase/BlnedClearArraysInstancedUseCase.js +13 -0
- package/src/Blend/usecase/BlnedDrawArraysInstancedUseCase.d.ts +9 -0
- package/src/Blend/usecase/BlnedDrawArraysInstancedUseCase.js +24 -0
- package/src/Blend/usecase/BlnedDrawDisplayObjectUseCase.d.ts +16 -0
- package/src/Blend/usecase/BlnedDrawDisplayObjectUseCase.js +149 -0
- package/src/Blend.d.ts +5 -0
- package/src/Blend.js +8 -0
- package/src/ColorBufferObject/service/ColorBufferObjectCreateService.d.ts +10 -0
- package/src/ColorBufferObject/service/ColorBufferObjectCreateService.js +27 -0
- package/src/ColorBufferObject/service/ColorBufferObjectMeguruBinarySearchService.d.ts +10 -0
- package/src/ColorBufferObject/service/ColorBufferObjectMeguruBinarySearchService.js +24 -0
- package/src/ColorBufferObject/usecase/ColorBufferObjectAcquireObjectUseCase.d.ts +11 -0
- package/src/ColorBufferObject/usecase/ColorBufferObjectAcquireObjectUseCase.js +28 -0
- package/src/ColorBufferObject/usecase/ColorBufferObjectGetColorBufferObjectUseCase.d.ts +12 -0
- package/src/ColorBufferObject/usecase/ColorBufferObjectGetColorBufferObjectUseCase.js +32 -0
- package/src/ColorBufferObject/usecase/ColorBufferObjectReleaseColorBufferObjectUseCase.d.ts +11 -0
- package/src/ColorBufferObject/usecase/ColorBufferObjectReleaseColorBufferObjectUseCase.js +19 -0
- package/src/ColorBufferObject.d.ts +9 -0
- package/src/ColorBufferObject.js +8 -0
- package/src/Context/service/ContextBeginNodeRenderingService.d.ts +13 -0
- package/src/Context/service/ContextBeginNodeRenderingService.js +22 -0
- package/src/Context/service/ContextCreateImageBitmapService.d.ts +11 -0
- package/src/Context/service/ContextCreateImageBitmapService.js +78 -0
- package/src/Context/service/ContextEndNodeRenderingService.d.ts +9 -0
- package/src/Context/service/ContextEndNodeRenderingService.js +12 -0
- package/src/Context/service/ContextFillBackgroundColorService.d.ts +13 -0
- package/src/Context/service/ContextFillBackgroundColorService.js +18 -0
- package/src/Context/service/ContextResetService.d.ts +11 -0
- package/src/Context/service/ContextResetService.js +14 -0
- package/src/Context/service/ContextResetStyleService.d.ts +11 -0
- package/src/Context/service/ContextResetStyleService.js +13 -0
- package/src/Context/service/ContextRestoreService.d.ts +11 -0
- package/src/Context/service/ContextRestoreService.js +23 -0
- package/src/Context/service/ContextSaveService.d.ts +11 -0
- package/src/Context/service/ContextSaveService.js +13 -0
- package/src/Context/service/ContextSetTransformService.d.ts +16 -0
- package/src/Context/service/ContextSetTransformService.js +23 -0
- package/src/Context/service/ContextTransformService.d.ts +17 -0
- package/src/Context/service/ContextTransformService.js +29 -0
- package/src/Context/service/ContextUpdateBackgroundColorService.d.ts +15 -0
- package/src/Context/service/ContextUpdateBackgroundColorService.js +20 -0
- package/src/Context/service/ContextUpdateTransferBoundsService.d.ts +11 -0
- package/src/Context/service/ContextUpdateTransferBoundsService.js +21 -0
- package/src/Context/service/ContextUseGridService.d.ts +10 -0
- package/src/Context/service/ContextUseGridService.js +14 -0
- package/src/Context/usecase/ContextApplyFilterUseCase.d.ts +21 -0
- package/src/Context/usecase/ContextApplyFilterUseCase.js +206 -0
- package/src/Context/usecase/ContextBindUseCase.d.ts +13 -0
- package/src/Context/usecase/ContextBindUseCase.js +42 -0
- package/src/Context/usecase/ContextBitmapFillUseCase.d.ts +15 -0
- package/src/Context/usecase/ContextBitmapFillUseCase.js +31 -0
- package/src/Context/usecase/ContextBitmapStrokeUseCase.d.ts +15 -0
- package/src/Context/usecase/ContextBitmapStrokeUseCase.js +31 -0
- package/src/Context/usecase/ContextClearRectUseCase.d.ts +13 -0
- package/src/Context/usecase/ContextClearRectUseCase.js +20 -0
- package/src/Context/usecase/ContextClipUseCase.d.ts +9 -0
- package/src/Context/usecase/ContextClipUseCase.js +66 -0
- package/src/Context/usecase/ContextContainerBeginLayerUseCase.d.ts +18 -0
- package/src/Context/usecase/ContextContainerBeginLayerUseCase.js +31 -0
- package/src/Context/usecase/ContextContainerDrawCachedFilterUseCase.d.ts +16 -0
- package/src/Context/usecase/ContextContainerDrawCachedFilterUseCase.js +36 -0
- package/src/Context/usecase/ContextContainerEndLayerUseCase.d.ts +18 -0
- package/src/Context/usecase/ContextContainerEndLayerUseCase.js +171 -0
- package/src/Context/usecase/ContextDrawElementUseCase.d.ts +12 -0
- package/src/Context/usecase/ContextDrawElementUseCase.js +26 -0
- package/src/Context/usecase/ContextDrawFillUseCase.d.ts +9 -0
- package/src/Context/usecase/ContextDrawFillUseCase.js +73 -0
- package/src/Context/usecase/ContextDrawPixelsUseCase.d.ts +12 -0
- package/src/Context/usecase/ContextDrawPixelsUseCase.js +26 -0
- package/src/Context/usecase/ContextFillUseCase.d.ts +10 -0
- package/src/Context/usecase/ContextFillUseCase.js +23 -0
- package/src/Context/usecase/ContextGradientFillUseCase.d.ts +15 -0
- package/src/Context/usecase/ContextGradientFillUseCase.js +34 -0
- package/src/Context/usecase/ContextGradientStrokeUseCase.d.ts +15 -0
- package/src/Context/usecase/ContextGradientStrokeUseCase.js +34 -0
- package/src/Context/usecase/ContextLinearGradientFillUseCase.d.ts +14 -0
- package/src/Context/usecase/ContextLinearGradientFillUseCase.js +58 -0
- package/src/Context/usecase/ContextNormalFillUseCase.d.ts +14 -0
- package/src/Context/usecase/ContextNormalFillUseCase.js +40 -0
- package/src/Context/usecase/ContextPatternBitmapFillUseCase.d.ts +14 -0
- package/src/Context/usecase/ContextPatternBitmapFillUseCase.js +54 -0
- package/src/Context/usecase/ContextRadialGradientFillUseCase.d.ts +14 -0
- package/src/Context/usecase/ContextRadialGradientFillUseCase.js +61 -0
- package/src/Context/usecase/ContextResizeUseCase.d.ts +14 -0
- package/src/Context/usecase/ContextResizeUseCase.js +43 -0
- package/src/Context/usecase/ContextStrokeUseCase.d.ts +9 -0
- package/src/Context/usecase/ContextStrokeUseCase.js +22 -0
- package/src/Context.d.ts +76 -0
- package/src/Context.js +388 -0
- package/src/Filter/BevelFilter/usecase/FilterApplyBevelFilterUseCase.d.ts +22 -0
- package/src/Filter/BevelFilter/usecase/FilterApplyBevelFilterUseCase.js +105 -0
- package/src/Filter/BitmapFilter/usecase/FilterApplyBitmapFilterUseCase.d.ts +37 -0
- package/src/Filter/BitmapFilter/usecase/FilterApplyBitmapFilterUseCase.js +108 -0
- package/src/Filter/BlurFilter/usecase/FilterApplyBlurFilterUseCase.d.ts +16 -0
- package/src/Filter/BlurFilter/usecase/FilterApplyBlurFilterUseCase.js +134 -0
- package/src/Filter/BlurFilter/usecase/FilterApplyDirectionalBlurFilterUseCase.d.ts +13 -0
- package/src/Filter/BlurFilter/usecase/FilterApplyDirectionalBlurFilterUseCase.js +24 -0
- package/src/Filter/ColorMatrixFilter/usecase/FilterApplyColorMatrixFilterUseCase.d.ts +12 -0
- package/src/Filter/ColorMatrixFilter/usecase/FilterApplyColorMatrixFilterUseCase.js +38 -0
- package/src/Filter/ConvolutionFilter/usecase/FilterApplyConvolutionFilterUseCase.d.ts +20 -0
- package/src/Filter/ConvolutionFilter/usecase/FilterApplyConvolutionFilterUseCase.js +49 -0
- package/src/Filter/DisplacementMapFilter/usecase/FilterApplyDisplacementMapFilterUseCase.d.ts +23 -0
- package/src/Filter/DisplacementMapFilter/usecase/FilterApplyDisplacementMapFilterUseCase.js +53 -0
- package/src/Filter/DropShadowFilter/usecase/FilterApplyDropShadowFilterUseCase.d.ts +23 -0
- package/src/Filter/DropShadowFilter/usecase/FilterApplyDropShadowFilterUseCase.js +84 -0
- package/src/Filter/GlowFilter/usecase/FilterApplyGlowFilterUseCase.d.ts +20 -0
- package/src/Filter/GlowFilter/usecase/FilterApplyGlowFilterUseCase.js +51 -0
- package/src/Filter/GradientBevelFilter/usecase/FilterApplyGradientBevelFilterUseCase.d.ts +23 -0
- package/src/Filter/GradientBevelFilter/usecase/FilterApplyGradientBevelFilterUseCase.js +105 -0
- package/src/Filter/GradientGlowFilter/usecase/FilterApplyGradientGlowFilterUseCase.d.ts +23 -0
- package/src/Filter/GradientGlowFilter/usecase/FilterApplyGradientGlowFilterUseCase.js +81 -0
- package/src/Filter.d.ts +45 -0
- package/src/Filter.js +53 -0
- package/src/FrameBufferManager/service/FrameBufferManagerBindAttachmentObjectService.d.ts +11 -0
- package/src/FrameBufferManager/service/FrameBufferManagerBindAttachmentObjectService.js +35 -0
- package/src/FrameBufferManager/service/FrameBufferManagerCreateAttachmentObjectService.d.ts +10 -0
- package/src/FrameBufferManager/service/FrameBufferManagerCreateAttachmentObjectService.js +26 -0
- package/src/FrameBufferManager/service/FrameBufferManagerTransferAtlasTextureService.d.ts +9 -0
- package/src/FrameBufferManager/service/FrameBufferManagerTransferAtlasTextureService.js +31 -0
- package/src/FrameBufferManager/service/FrameBufferManagerTransferMainCanvasService.d.ts +9 -0
- package/src/FrameBufferManager/service/FrameBufferManagerTransferMainCanvasService.js +24 -0
- package/src/FrameBufferManager/service/FrameBufferManagerUnBindAttachmentObjectService.d.ts +9 -0
- package/src/FrameBufferManager/service/FrameBufferManagerUnBindAttachmentObjectService.js +17 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerGetAttachmentObjectUseCase.d.ts +13 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerGetAttachmentObjectUseCase.js +41 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromBoundsUseCase.d.ts +14 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromBoundsUseCase.js +41 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromNodeUseCase.d.ts +12 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerGetTextureFromNodeUseCase.js +36 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseAttachmentObjectUseCase.d.ts +12 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseAttachmentObjectUseCase.js +30 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerTransferTextureFromRectUseCase.d.ts +11 -0
- package/src/FrameBufferManager/usecase/FrameBufferManagerTransferTextureFromRectUseCase.js +25 -0
- package/src/FrameBufferManager.d.ts +18 -0
- package/src/FrameBufferManager.js +38 -0
- package/src/Gradient.d.ts +8 -0
- package/src/Gradient.js +8 -0
- package/src/Grid.d.ts +14 -0
- package/src/Grid.js +16 -0
- package/src/Mask/service/MaskBeginMaskService.d.ts +9 -0
- package/src/Mask/service/MaskBeginMaskService.js +27 -0
- package/src/Mask/service/MaskEndMaskService.d.ts +9 -0
- package/src/Mask/service/MaskEndMaskService.js +26 -0
- package/src/Mask/service/MaskSetMaskBoundsService.d.ts +13 -0
- package/src/Mask/service/MaskSetMaskBoundsService.js +26 -0
- package/src/Mask/service/MaskUnionMaskService.d.ts +9 -0
- package/src/Mask/service/MaskUnionMaskService.js +32 -0
- package/src/Mask/usecase/MaskBindUseCase.d.ts +10 -0
- package/src/Mask/usecase/MaskBindUseCase.js +25 -0
- package/src/Mask/usecase/MaskLeaveMaskUseCase.d.ts +9 -0
- package/src/Mask/usecase/MaskLeaveMaskUseCase.js +53 -0
- package/src/Mask.d.ts +29 -0
- package/src/Mask.js +42 -0
- package/src/Mesh/service/MeshCalculateNormalVectorService.d.ts +13 -0
- package/src/Mesh/service/MeshCalculateNormalVectorService.js +18 -0
- package/src/Mesh/service/MeshCalculateNormalizeBezierService.d.ts +11 -0
- package/src/Mesh/service/MeshCalculateNormalizeBezierService.js +15 -0
- package/src/Mesh/service/MeshFillGenerateService.d.ts +23 -0
- package/src/Mesh/service/MeshFillGenerateService.js +197 -0
- package/src/Mesh/service/MeshFindOverlappingPathsService.d.ts +14 -0
- package/src/Mesh/service/MeshFindOverlappingPathsService.js +32 -0
- package/src/Mesh/service/MeshGenerateCalculateRoundCapService.d.ts +13 -0
- package/src/Mesh/service/MeshGenerateCalculateRoundCapService.js +51 -0
- package/src/Mesh/service/MeshGenerateCalculateSquareCapService.d.ts +13 -0
- package/src/Mesh/service/MeshGenerateCalculateSquareCapService.js +64 -0
- package/src/Mesh/service/MeshGetQuadraticBezierPointService.d.ts +14 -0
- package/src/Mesh/service/MeshGetQuadraticBezierPointService.js +18 -0
- package/src/Mesh/service/MeshGetQuadraticBezierTangentService.d.ts +14 -0
- package/src/Mesh/service/MeshGetQuadraticBezierTangentService.js +18 -0
- package/src/Mesh/service/MeshIsPointInsideRectangleService.d.ts +12 -0
- package/src/Mesh/service/MeshIsPointInsideRectangleService.js +38 -0
- package/src/Mesh/service/MeshLerpService.d.ts +13 -0
- package/src/Mesh/service/MeshLerpService.js +17 -0
- package/src/Mesh/usecase/MeshApproximateOffsetQuadraticUseCase.d.ts +14 -0
- package/src/Mesh/usecase/MeshApproximateOffsetQuadraticUseCase.js +35 -0
- package/src/Mesh/usecase/MeshCalculateCurveRectangleUseCase.d.ts +15 -0
- package/src/Mesh/usecase/MeshCalculateCurveRectangleUseCase.js +51 -0
- package/src/Mesh/usecase/MeshCalculateLineRectangleUseCase.d.ts +14 -0
- package/src/Mesh/usecase/MeshCalculateLineRectangleUseCase.js +42 -0
- package/src/Mesh/usecase/MeshFillGenerateUseCase.d.ts +12 -0
- package/src/Mesh/usecase/MeshFillGenerateUseCase.js +44 -0
- package/src/Mesh/usecase/MeshGenerateCalculateBevelJoinUseCase.d.ts +15 -0
- package/src/Mesh/usecase/MeshGenerateCalculateBevelJoinUseCase.js +52 -0
- package/src/Mesh/usecase/MeshGenerateCalculateMiterJoinUseCase.d.ts +17 -0
- package/src/Mesh/usecase/MeshGenerateCalculateMiterJoinUseCase.js +84 -0
- package/src/Mesh/usecase/MeshGenerateCalculateRoundJoinUseCase.d.ts +15 -0
- package/src/Mesh/usecase/MeshGenerateCalculateRoundJoinUseCase.js +63 -0
- package/src/Mesh/usecase/MeshGenerateStrokeOutlineUseCase.d.ts +12 -0
- package/src/Mesh/usecase/MeshGenerateStrokeOutlineUseCase.js +124 -0
- package/src/Mesh/usecase/MeshSplitBezierMultipleTimesUseCase.d.ts +14 -0
- package/src/Mesh/usecase/MeshSplitBezierMultipleTimesUseCase.js +32 -0
- package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.d.ts +14 -0
- package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.js +28 -0
- package/src/Mesh/usecase/MeshStrokeGenerateUseCase.d.ts +12 -0
- package/src/Mesh/usecase/MeshStrokeGenerateUseCase.js +29 -0
- package/src/Mesh.d.ts +74 -0
- package/src/Mesh.js +126 -0
- package/src/PathCommand/service/PathCommandBeginPathService.d.ts +9 -0
- package/src/PathCommand/service/PathCommandBeginPathService.js +16 -0
- package/src/PathCommand/service/PathCommandCreateRectVerticesService.d.ts +14 -0
- package/src/PathCommand/service/PathCommandCreateRectVerticesService.js +16 -0
- package/src/PathCommand/service/PathCommandEqualsToLastPointService.d.ts +11 -0
- package/src/PathCommand/service/PathCommandEqualsToLastPointService.js +17 -0
- package/src/PathCommand/service/PathCommandPushCurrentPathToVerticesService.d.ts +9 -0
- package/src/PathCommand/service/PathCommandPushCurrentPathToVerticesService.js +18 -0
- package/src/PathCommand/service/PathCommandPushPointToCurrentPathService.d.ts +12 -0
- package/src/PathCommand/service/PathCommandPushPointToCurrentPathService.js +15 -0
- package/src/PathCommand/usecase/PathCommandArcUseCase.d.ts +12 -0
- package/src/PathCommand/usecase/PathCommandArcUseCase.js +20 -0
- package/src/PathCommand/usecase/PathCommandBezierCurveToUseCase.d.ts +15 -0
- package/src/PathCommand/usecase/PathCommandBezierCurveToUseCase.js +38 -0
- package/src/PathCommand/usecase/PathCommandClosePathUseCase.d.ts +9 -0
- package/src/PathCommand/usecase/PathCommandClosePathUseCase.js +22 -0
- package/src/PathCommand/usecase/PathCommandLineToUseCase.d.ts +11 -0
- package/src/PathCommand/usecase/PathCommandLineToUseCase.js +26 -0
- package/src/PathCommand/usecase/PathCommandMoveToUseCase.d.ts +13 -0
- package/src/PathCommand/usecase/PathCommandMoveToUseCase.js +31 -0
- package/src/PathCommand/usecase/PathCommandQuadraticCurveToUseCase.d.ts +13 -0
- package/src/PathCommand/usecase/PathCommandQuadraticCurveToUseCase.js +26 -0
- package/src/PathCommand.d.ts +27 -0
- package/src/PathCommand.js +46 -0
- package/src/Shader/Fragment/Filter/FragmentShaderSourceBlurFilter.d.ts +1 -0
- package/{dist/shader/fragment/filter → src/Shader/Fragment/Filter}/FragmentShaderSourceBlurFilter.js +5 -18
- package/src/Shader/Fragment/Filter/FragmentShaderSourceColorMatrixFilter.d.ts +1 -0
- package/{dist/shader/fragment/filter → src/Shader/Fragment/Filter}/FragmentShaderSourceColorMatrixFilter.js +4 -16
- package/src/Shader/Fragment/Filter/FragmentShaderSourceConvolutionFilter.d.ts +1 -0
- package/src/Shader/Fragment/Filter/FragmentShaderSourceConvolutionFilter.js +62 -0
- package/src/Shader/Fragment/Filter/FragmentShaderSourceDisplacementMapFilter.d.ts +1 -0
- package/src/Shader/Fragment/Filter/FragmentShaderSourceDisplacementMapFilter.js +89 -0
- package/src/Shader/Fragment/Filter/FragmentShaderSourceFilter.d.ts +1 -0
- package/src/Shader/Fragment/Filter/FragmentShaderSourceFilter.js +174 -0
- package/src/Shader/Fragment/FragmentShaderLibrary.d.ts +2 -0
- package/src/Shader/Fragment/FragmentShaderLibrary.js +20 -0
- package/src/Shader/Fragment/FragmentShaderSource.d.ts +5 -0
- package/src/Shader/Fragment/FragmentShaderSource.js +76 -0
- package/src/Shader/Fragment/FragmentShaderSourceBlend.d.ts +1 -0
- package/src/Shader/Fragment/FragmentShaderSourceBlend.js +198 -0
- package/src/Shader/Fragment/FragmentShaderSourceGradient.d.ts +1 -0
- package/src/Shader/Fragment/FragmentShaderSourceGradient.js +68 -0
- package/src/Shader/Fragment/FragmentShaderSourceGradientLUT.d.ts +1 -0
- package/src/Shader/Fragment/FragmentShaderSourceGradientLUT.js +42 -0
- package/src/Shader/Fragment/FragmentShaderSourceTexture.d.ts +2 -0
- package/src/Shader/Fragment/FragmentShaderSourceTexture.js +48 -0
- package/src/Shader/GradientLUTGenerator/service/GradientLUTSetFilterUniformService.d.ts +16 -0
- package/src/Shader/GradientLUTGenerator/service/GradientLUTSetFilterUniformService.js +30 -0
- package/src/Shader/GradientLUTGenerator/service/GradientLUTSetUniformService.d.ts +15 -0
- package/src/Shader/GradientLUTGenerator/service/GradientLUTSetUniformService.js +29 -0
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateFilterTextureUseCase.d.ts +13 -0
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateFilterTextureUseCase.js +37 -0
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateShapeTextureUseCase.d.ts +16 -0
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateShapeTextureUseCase.js +51 -0
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGeneratorFillTextureUseCase.d.ts +13 -0
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGeneratorFillTextureUseCase.js +20 -0
- package/src/Shader/GradientLUTGenerator.d.ts +59 -0
- package/src/Shader/GradientLUTGenerator.js +97 -0
- package/src/Shader/ShaderInstancedManager/usecase/ShaderInstancedManagerDrawArraysInstancedUseCase.d.ts +11 -0
- package/src/Shader/ShaderInstancedManager/usecase/ShaderInstancedManagerDrawArraysInstancedUseCase.js +20 -0
- package/src/Shader/ShaderInstancedManager.d.ts +6 -0
- package/src/Shader/ShaderInstancedManager.js +17 -0
- package/src/Shader/ShaderManager/service/ShaderManagerBindUniformService.d.ts +11 -0
- package/src/Shader/ShaderManager/service/ShaderManagerBindUniformService.js +23 -0
- package/src/Shader/ShaderManager/service/ShaderManagerCreateProgramService.d.ts +12 -0
- package/src/Shader/ShaderManager/service/ShaderManagerCreateProgramService.js +39 -0
- package/src/Shader/ShaderManager/service/ShaderManagerInitializeUniformService.d.ts +12 -0
- package/src/Shader/ShaderManager/service/ShaderManagerInitializeUniformService.js +62 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFillUniformService.d.ts +14 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFillUniformService.js +85 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFilterUniformService.d.ts +35 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBitmapFilterUniformService.js +94 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBlendUniformService.d.ts +11 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBlendUniformService.js +14 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBlendWithColorTransformUniformService.d.ts +19 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBlendWithColorTransformUniformService.js +33 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBlurFilterUniformService.d.ts +16 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetBlurFilterUniformService.js +30 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetColorMatrixFilterUniformService.d.ts +12 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetColorMatrixFilterUniformService.js +35 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetConvolutionFilterUniformService.d.ts +21 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetConvolutionFilterUniformService.js +42 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetDisplacementMapFilterUniformService.d.ts +24 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetDisplacementMapFilterUniformService.js +44 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetFillUniformService.d.ts +12 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetFillUniformService.js +55 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetGradientFillUniformService.d.ts +17 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetGradientFillUniformService.js +97 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetMaskUniformService.d.ts +11 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetMaskUniformService.js +54 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureUniformService.d.ts +13 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureUniformService.js +29 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureWithColorTransformUniformService.d.ts +13 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetMatrixTextureWithColorTransformUniformService.js +38 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetTextureUniformService.d.ts +13 -0
- package/src/Shader/ShaderManager/service/ShaderManagerSetTextureUniformService.js +25 -0
- package/src/Shader/ShaderManager/service/ShaderManagerUseProgramService.d.ts +11 -0
- package/src/Shader/ShaderManager/service/ShaderManagerUseProgramService.js +25 -0
- package/src/Shader/ShaderManager/usecase/ShaderManagerDrawTextureUseCase.d.ts +11 -0
- package/src/Shader/ShaderManager/usecase/ShaderManagerDrawTextureUseCase.js +21 -0
- package/src/Shader/ShaderManager/usecase/ShaderManagerFillUseCase.d.ts +13 -0
- package/src/Shader/ShaderManager/usecase/ShaderManagerFillUseCase.js +24 -0
- package/src/Shader/ShaderManager.d.ts +10 -0
- package/src/Shader/ShaderManager.js +51 -0
- package/src/Shader/Variants/Bitmap/service/VariantsBitmapShaderService.d.ts +12 -0
- package/src/Shader/Variants/Bitmap/service/VariantsBitmapShaderService.js +26 -0
- package/src/Shader/Variants/BitmapVariants.d.ts +9 -0
- package/src/Shader/Variants/BitmapVariants.js +8 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendDrawShaderService.d.ts +13 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendDrawShaderService.js +23 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendInstanceShaderService.d.ts +10 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendInstanceShaderService.js +21 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendMatrixTextureShaderService.d.ts +11 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendMatrixTextureShaderService.js +22 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendTextureShaderService.d.ts +10 -0
- package/src/Shader/Variants/Blend/service/VariantsBlendTextureShaderService.js +21 -0
- package/src/Shader/Variants/BlendVariants.d.ts +10 -0
- package/src/Shader/Variants/BlendVariants.js +8 -0
- package/src/Shader/Variants/Filter/service/VariantsBitmapFilterShaderService.d.ts +18 -0
- package/src/Shader/Variants/Filter/service/VariantsBitmapFilterShaderService.js +49 -0
- package/src/Shader/Variants/Filter/service/VariantsBlurFilterShaderService.d.ts +11 -0
- package/src/Shader/Variants/Filter/service/VariantsBlurFilterShaderService.js +22 -0
- package/src/Shader/Variants/Filter/service/VariantsColorMatrixFilterShaderService.d.ts +10 -0
- package/src/Shader/Variants/Filter/service/VariantsColorMatrixFilterShaderService.js +21 -0
- package/src/Shader/Variants/Filter/service/VariantsConvolutionFilterShaderService.d.ts +14 -0
- package/src/Shader/Variants/Filter/service/VariantsConvolutionFilterShaderService.js +30 -0
- package/src/Shader/Variants/Filter/service/VariantsDisplacementMapFilterShaderService.d.ts +13 -0
- package/src/Shader/Variants/Filter/service/VariantsDisplacementMapFilterShaderService.js +25 -0
- package/src/Shader/Variants/FilterVariants.d.ts +9 -0
- package/src/Shader/Variants/FilterVariants.js +8 -0
- package/src/Shader/Variants/Gradient/service/VariantsGradientCreateCollectionKeyService.d.ts +13 -0
- package/src/Shader/Variants/Gradient/service/VariantsGradientCreateCollectionKeyService.js +19 -0
- package/src/Shader/Variants/Gradient/usecase/VariantsGradientShapeShaderUseCase.d.ts +14 -0
- package/src/Shader/Variants/Gradient/usecase/VariantsGradientShapeShaderUseCase.js +28 -0
- package/src/Shader/Variants/GradientLUT/service/VariantsGradientLUTShaderService.d.ts +12 -0
- package/src/Shader/Variants/GradientLUT/service/VariantsGradientLUTShaderService.js +29 -0
- package/src/Shader/Variants/GradientLUTVariants.d.ts +30 -0
- package/src/Shader/Variants/GradientLUTVariants.js +71 -0
- package/src/Shader/Variants/GradientVariants.d.ts +9 -0
- package/src/Shader/Variants/GradientVariants.js +8 -0
- package/src/Shader/Variants/Shape/service/VariantsShapeMaskShaderService.d.ts +11 -0
- package/src/Shader/Variants/Shape/service/VariantsShapeMaskShaderService.js +22 -0
- package/src/Shader/Variants/Shape/service/VariantsShapeRectShaderService.d.ts +10 -0
- package/src/Shader/Variants/Shape/service/VariantsShapeRectShaderService.js +21 -0
- package/src/Shader/Variants/Shape/service/VariantsShapeSolidColorShaderService.d.ts +11 -0
- package/src/Shader/Variants/Shape/service/VariantsShapeSolidColorShaderService.js +22 -0
- package/src/Shader/Variants/ShapeVariants.d.ts +9 -0
- package/src/Shader/Variants/ShapeVariants.js +8 -0
- package/src/Shader/Vertex/VertexShaderLibrary.d.ts +2 -0
- package/{dist/shader/vertex → src/Shader/Vertex}/VertexShaderLibrary.js +15 -42
- package/src/Shader/Vertex/VertexShaderSource.d.ts +5 -0
- package/src/Shader/Vertex/VertexShaderSource.js +116 -0
- package/src/Shader/Vertex/VertexShaderSourceFill.d.ts +11 -0
- package/src/Shader/Vertex/VertexShaderSourceFill.js +101 -0
- package/src/Stencil/service/StencilDisableSampleAlphaToCoverageService.d.ts +1 -0
- package/src/Stencil/service/StencilDisableSampleAlphaToCoverageService.js +8 -0
- package/src/Stencil/service/StencilEnableSampleAlphaToCoverageService.d.ts +1 -0
- package/src/Stencil/service/StencilEnableSampleAlphaToCoverageService.js +8 -0
- package/src/Stencil/service/StencilResetService.d.ts +9 -0
- package/src/Stencil/service/StencilResetService.js +14 -0
- package/src/Stencil/service/StencilSetFillModeService.d.ts +1 -0
- package/src/Stencil/service/StencilSetFillModeService.js +13 -0
- package/src/Stencil/service/StencilSetMaskModeService.d.ts +1 -0
- package/src/Stencil/service/StencilSetMaskModeService.js +14 -0
- package/src/Stencil.d.ts +9 -0
- package/src/Stencil.js +17 -0
- package/src/StencilBufferObject/service/StencilBufferObjectCreateService.d.ts +10 -0
- package/src/StencilBufferObject/service/StencilBufferObjectCreateService.js +24 -0
- package/src/StencilBufferObject/service/StencilBufferObjectReleaseColorBufferObjectService.d.ts +11 -0
- package/src/StencilBufferObject/service/StencilBufferObjectReleaseColorBufferObjectService.js +23 -0
- package/src/StencilBufferObject/usecase/StencilBufferObjectAcquireObjectUseCase.d.ts +13 -0
- package/src/StencilBufferObject/usecase/StencilBufferObjectAcquireObjectUseCase.js +36 -0
- package/src/StencilBufferObject/usecase/StencilBufferObjectGetStencilBufferObjectUseCase.d.ts +12 -0
- package/src/StencilBufferObject/usecase/StencilBufferObjectGetStencilBufferObjectUseCase.js +27 -0
- package/src/StencilBufferObject.d.ts +9 -0
- package/src/StencilBufferObject.js +8 -0
- package/src/TextureManager/service/TextureManagerBindService.d.ts +14 -0
- package/src/TextureManager/service/TextureManagerBindService.js +33 -0
- package/src/TextureManager/service/TextureManagerCreateTextureObjectService.d.ts +12 -0
- package/src/TextureManager/service/TextureManagerCreateTextureObjectService.js +26 -0
- package/src/TextureManager/service/TextureManagerInitializeBindService.d.ts +12 -0
- package/src/TextureManager/service/TextureManagerInitializeBindService.js +25 -0
- package/src/TextureManager/usecase/TextureManagerBind012UseCase.d.ts +14 -0
- package/src/TextureManager/usecase/TextureManagerBind012UseCase.js +19 -0
- package/src/TextureManager/usecase/TextureManagerBind01UseCase.d.ts +13 -0
- package/src/TextureManager/usecase/TextureManagerBind01UseCase.js +18 -0
- package/src/TextureManager/usecase/TextureManagerBind02UseCase.d.ts +13 -0
- package/src/TextureManager/usecase/TextureManagerBind02UseCase.js +18 -0
- package/src/TextureManager/usecase/TextureManagerBind0UseCase.d.ts +12 -0
- package/src/TextureManager/usecase/TextureManagerBind0UseCase.js +17 -0
- package/src/TextureManager/usecase/TextureManagerCreateAtlasTextureUseCase.d.ts +10 -0
- package/src/TextureManager/usecase/TextureManagerCreateAtlasTextureUseCase.js +25 -0
- package/src/TextureManager/usecase/TextureManagerCreateFromCanvasUseCase.d.ts +14 -0
- package/src/TextureManager/usecase/TextureManagerCreateFromCanvasUseCase.js +19 -0
- package/src/TextureManager/usecase/TextureManagerCreateFromPixelsUseCase.d.ts +14 -0
- package/src/TextureManager/usecase/TextureManagerCreateFromPixelsUseCase.js +19 -0
- package/src/TextureManager/usecase/TextureManagerGetMainTextureFromBoundsUseCase.d.ts +14 -0
- package/src/TextureManager/usecase/TextureManagerGetMainTextureFromBoundsUseCase.js +49 -0
- package/src/TextureManager/usecase/TextureManagerGetTextureUseCase.d.ts +14 -0
- package/src/TextureManager/usecase/TextureManagerGetTextureUseCase.js +19 -0
- package/src/TextureManager/usecase/TextureManagerReleaseTextureObjectUseCase.d.ts +11 -0
- package/src/TextureManager/usecase/TextureManagerReleaseTextureObjectUseCase.js +13 -0
- package/src/TextureManager.d.ts +25 -0
- package/src/TextureManager.js +26 -0
- package/src/VertexArrayObject/service/VertexArrayObjectBindService.d.ts +11 -0
- package/src/VertexArrayObject/service/VertexArrayObjectBindService.js +26 -0
- package/src/VertexArrayObject/service/VertexArrayObjectCreateFillObjectService.d.ts +10 -0
- package/src/VertexArrayObject/service/VertexArrayObjectCreateFillObjectService.js +17 -0
- package/src/VertexArrayObject/service/VertexArrayObjectReleaseVertexArrayObjectService.d.ts +11 -0
- package/src/VertexArrayObject/service/VertexArrayObjectReleaseVertexArrayObjectService.js +16 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectBindAttributeUseCase.d.ts +9 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectBindAttributeUseCase.js +29 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectBindFillMeshUseCase.d.ts +10 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectBindFillMeshUseCase.js +27 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectBootUseCase.d.ts +10 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectBootUseCase.js +18 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectCreateGradientVertexArrayObjectUseCase.d.ts +12 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectCreateGradientVertexArrayObjectUseCase.js +27 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectCreateInstancedVertexArrayObjectUseCase.d.ts +10 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectCreateInstancedVertexArrayObjectUseCase.js +53 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectCreateRectVertexArrayObjectUseCase.d.ts +10 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectCreateRectVertexArrayObjectUseCase.js +24 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectGetFillObjectUseCase.d.ts +10 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectGetFillObjectUseCase.js +33 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectGetGradientObjectUseCase.d.ts +12 -0
- package/src/VertexArrayObject/usecase/VertexArrayObjectGetGradientObjectUseCase.js +34 -0
- package/src/VertexArrayObject.d.ts +71 -0
- package/src/VertexArrayObject.js +87 -0
- package/src/WebGLUtil.d.ts +34 -0
- package/src/WebGLUtil.js +175 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/interface/IAttachmentObject.d.ts +14 -0
- package/src/interface/IBlendMode.d.ts +1 -0
- package/{dist/interface/BoundsImpl.d.ts → src/interface/IBounds.d.ts} +1 -1
- package/{dist/interface/ClipObjectImpl.d.ts → src/interface/IClipObject.d.ts} +1 -1
- package/src/interface/IColorBufferObject.d.ts +9 -0
- package/src/interface/ICubicConverterReturnObject.d.ts +4 -0
- package/src/interface/IFillMesh.d.ts +4 -0
- package/src/interface/IFillType.d.ts +1 -0
- package/src/interface/IGradientType.d.ts +1 -0
- package/{dist/interface/GridImpl.d.ts → src/interface/IGrid.d.ts} +1 -1
- package/src/interface/IInterpolationMethod.d.ts +1 -0
- package/src/interface/IJointStyle.d.ts +1 -0
- package/src/interface/IPath.d.ts +1 -0
- package/{dist/interface/PointImpl.d.ts → src/interface/IPoint.d.ts} +1 -1
- package/src/interface/IProgramObject.d.ts +4 -0
- package/src/interface/ISpreadMethod.d.ts +1 -0
- package/src/interface/IStencilBufferObject.d.ts +8 -0
- package/src/interface/IStrokeVertexArrayObject.d.ts +6 -0
- package/src/interface/IStrokeVertexArrayObject.js +1 -0
- package/src/interface/ITextureObject.d.ts +8 -0
- package/src/interface/ITextureObject.js +1 -0
- package/{dist/interface/UniformDataImpl.d.ts → src/interface/IUniformData.d.ts} +1 -1
- package/src/interface/IUniformData.js +1 -0
- package/src/interface/IVertexArrayObject.d.ts +6 -0
- package/src/interface/IVertexArrayObject.js +1 -0
- package/dist/BezierConverter.d.ts +0 -59
- package/dist/BezierConverter.js +0 -106
- package/dist/CanvasGradientToWebGL.d.ts +0 -96
- package/dist/CanvasGradientToWebGL.js +0 -181
- package/dist/CanvasPatternToWebGL.d.ts +0 -31
- package/dist/CanvasPatternToWebGL.js +0 -50
- package/dist/CanvasToWebGLContext.d.ts +0 -650
- package/dist/CanvasToWebGLContext.js +0 -1600
- package/dist/CanvasToWebGLContextBlend.d.ts +0 -175
- package/dist/CanvasToWebGLContextBlend.js +0 -483
- package/dist/CanvasToWebGLContextGrid.d.ts +0 -74
- package/dist/CanvasToWebGLContextGrid.js +0 -283
- package/dist/CanvasToWebGLContextMask.d.ts +0 -107
- package/dist/CanvasToWebGLContextMask.js +0 -411
- package/dist/CanvasToWebGLContextPath.d.ts +0 -111
- package/dist/CanvasToWebGLContextPath.js +0 -210
- package/dist/CanvasToWebGLContextStyle.d.ts +0 -78
- package/dist/CanvasToWebGLContextStyle.js +0 -137
- package/dist/ColorBufferPool.d.ts +0 -58
- package/dist/ColorBufferPool.js +0 -134
- package/dist/Const.d.ts +0 -12
- package/dist/Const.js +0 -14
- package/dist/FrameBufferManager.d.ts +0 -174
- package/dist/FrameBufferManager.js +0 -467
- package/dist/StencilBufferPool.d.ts +0 -56
- package/dist/StencilBufferPool.js +0 -142
- package/dist/TextureManager.d.ts +0 -180
- package/dist/TextureManager.js +0 -531
- package/dist/VertexArrayObjectManager.d.ts +0 -115
- package/dist/VertexArrayObjectManager.js +0 -328
- package/dist/WebGLFillMeshGenerator.d.ts +0 -31
- package/dist/WebGLFillMeshGenerator.js +0 -101
- package/dist/WebGLStrokeMeshGenerator.d.ts +0 -183
- package/dist/WebGLStrokeMeshGenerator.js +0 -504
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -6
- package/dist/interface/AttachmentImpl.d.ts +0 -11
- package/dist/interface/BlendModeImpl.d.ts +0 -1
- package/dist/interface/CachePositionImpl.d.ts +0 -11
- package/dist/interface/CapsStyleImpl.d.ts +0 -1
- package/dist/interface/FillMeshImpl.d.ts +0 -5
- package/dist/interface/GradientTypeImpl.d.ts +0 -1
- package/dist/interface/IndexRangeImpl.d.ts +0 -4
- package/dist/interface/InterpolationMethodImpl.d.ts +0 -1
- package/dist/interface/JointStyleImpl.d.ts +0 -1
- package/dist/interface/SpreadMethodImpl.d.ts +0 -1
- package/dist/interface/StrokeMethImpl.d.ts +0 -4
- package/dist/interface/VerticesImpl.d.ts +0 -1
- package/dist/shader/CanvasToWebGLShader.d.ts +0 -99
- package/dist/shader/CanvasToWebGLShader.js +0 -213
- package/dist/shader/CanvasToWebGLShaderList.d.ts +0 -70
- package/dist/shader/CanvasToWebGLShaderList.js +0 -109
- package/dist/shader/GradientLUTGenerator.d.ts +0 -36
- package/dist/shader/GradientLUTGenerator.js +0 -130
- package/dist/shader/WebGLShaderInstance.d.ts +0 -30
- package/dist/shader/WebGLShaderInstance.js +0 -48
- package/dist/shader/WebGLShaderUniform.d.ts +0 -52
- package/dist/shader/WebGLShaderUniform.js +0 -159
- package/dist/shader/fragment/FragmentShaderLibrary.d.ts +0 -24
- package/dist/shader/fragment/FragmentShaderLibrary.js +0 -44
- package/dist/shader/fragment/FragmentShaderSource.d.ts +0 -29
- package/dist/shader/fragment/FragmentShaderSource.js +0 -99
- package/dist/shader/fragment/FragmentShaderSourceBlend.d.ts +0 -75
- package/dist/shader/fragment/FragmentShaderSourceBlend.js +0 -384
- package/dist/shader/fragment/FragmentShaderSourceGradient.d.ts +0 -44
- package/dist/shader/fragment/FragmentShaderSourceGradient.js +0 -114
- package/dist/shader/fragment/FragmentShaderSourceGradientLUT.d.ts +0 -14
- package/dist/shader/fragment/FragmentShaderSourceGradientLUT.js +0 -58
- package/dist/shader/fragment/FragmentShaderSourceTexture.d.ts +0 -18
- package/dist/shader/fragment/FragmentShaderSourceTexture.js +0 -68
- package/dist/shader/fragment/filter/FragmentShaderSourceBlurFilter.d.ts +0 -12
- package/dist/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.d.ts +0 -11
- package/dist/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.d.ts +0 -16
- package/dist/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.js +0 -80
- package/dist/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.d.ts +0 -15
- package/dist/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.js +0 -106
- package/dist/shader/fragment/filter/FragmentShaderSourceFilter.d.ts +0 -112
- package/dist/shader/fragment/filter/FragmentShaderSourceFilter.js +0 -275
- package/dist/shader/variants/BlendShaderVariantCollection.d.ts +0 -159
- package/dist/shader/variants/BlendShaderVariantCollection.js +0 -376
- package/dist/shader/variants/FilterShaderVariantCollection.d.ts +0 -150
- package/dist/shader/variants/FilterShaderVariantCollection.js +0 -395
- package/dist/shader/variants/GradientLUTShaderVariantCollection.d.ts +0 -49
- package/dist/shader/variants/GradientLUTShaderVariantCollection.js +0 -107
- package/dist/shader/variants/GradientShapeShaderVariantCollection.d.ts +0 -61
- package/dist/shader/variants/GradientShapeShaderVariantCollection.js +0 -196
- package/dist/shader/variants/ShapeShaderVariantCollection.d.ts +0 -117
- package/dist/shader/variants/ShapeShaderVariantCollection.js +0 -427
- package/dist/shader/vertex/VertexShaderLibrary.d.ts +0 -18
- package/dist/shader/vertex/VertexShaderSource.d.ts +0 -35
- package/dist/shader/vertex/VertexShaderSource.js +0 -164
- package/dist/shader/vertex/VertexShaderSourceFill.d.ts +0 -45
- package/dist/shader/vertex/VertexShaderSourceFill.js +0 -116
- package/dist/shader/vertex/VertexShaderSourceStroke.d.ts +0 -27
- package/dist/shader/vertex/VertexShaderSourceStroke.js +0 -149
- /package/{dist/interface/AttachmentImpl.js → src/interface/IAttachmentObject.js} +0 -0
- /package/{dist/interface/BlendModeImpl.js → src/interface/IBlendMode.js} +0 -0
- /package/{dist/interface/BoundsImpl.js → src/interface/IBounds.js} +0 -0
- /package/{dist/interface/CachePositionImpl.js → src/interface/IClipObject.js} +0 -0
- /package/{dist/interface/CapsStyleImpl.js → src/interface/IColorBufferObject.js} +0 -0
- /package/{dist/interface/ClipObjectImpl.js → src/interface/ICubicConverterReturnObject.js} +0 -0
- /package/{dist/interface/FillMeshImpl.js → src/interface/IFillMesh.js} +0 -0
- /package/{dist/interface/GradientTypeImpl.js → src/interface/IFillType.js} +0 -0
- /package/{dist/interface/GridImpl.js → src/interface/IGradientType.js} +0 -0
- /package/{dist/interface/IndexRangeImpl.js → src/interface/IGrid.js} +0 -0
- /package/{dist/interface/InterpolationMethodImpl.js → src/interface/IInterpolationMethod.js} +0 -0
- /package/{dist/interface/JointStyleImpl.js → src/interface/IJointStyle.js} +0 -0
- /package/{dist/interface/PointImpl.js → src/interface/IPath.js} +0 -0
- /package/{dist/interface/SpreadMethodImpl.js → src/interface/IPoint.js} +0 -0
- /package/{dist/interface/StrokeMethImpl.js → src/interface/IProgramObject.js} +0 -0
- /package/{dist/interface/UniformDataImpl.js → src/interface/ISpreadMethod.js} +0 -0
- /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
|
+
};
|