@shopify/react-native-skia 0.1.172 → 0.1.174
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/android/CMakeLists.txt +1 -0
- package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +5 -0
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +106 -5
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +3 -1
- package/cpp/api/JsiSkSurface.h +7 -1
- package/cpp/api/JsiSkSurfaceFactory.h +15 -2
- package/cpp/rnskia/RNSkDomView.cpp +2 -4
- package/cpp/rnskia/RNSkJsView.cpp +3 -0
- package/cpp/rnskia/RNSkPictureView.h +3 -0
- package/cpp/rnskia/RNSkPlatformContext.h +9 -0
- package/cpp/rnskia/dom/JsiDomApi.h +1 -0
- package/cpp/rnskia/dom/base/ConcatablePaint.cpp +117 -0
- package/cpp/rnskia/dom/base/ConcatablePaint.h +49 -0
- package/cpp/rnskia/dom/base/Declaration.h +88 -0
- package/cpp/rnskia/dom/base/DeclarationContext.h +79 -0
- package/cpp/rnskia/dom/base/DerivedNodeProp.h +25 -9
- package/cpp/rnskia/dom/base/DrawingContext.cpp +32 -186
- package/cpp/rnskia/dom/base/DrawingContext.h +45 -64
- package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +35 -106
- package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +28 -9
- package/cpp/rnskia/dom/base/JsiDomNode.h +46 -17
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +81 -67
- package/cpp/rnskia/dom/base/NodeProp.h +12 -2
- package/cpp/rnskia/dom/base/NodePropsContainer.h +15 -16
- package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +22 -11
- package/cpp/rnskia/dom/nodes/JsiBlendNode.h +43 -59
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +16 -17
- package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +6 -5
- package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +45 -69
- package/cpp/rnskia/dom/nodes/JsiGroupNode.h +1 -1
- package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +121 -161
- package/cpp/rnskia/dom/nodes/JsiImageNode.h +1 -0
- package/cpp/rnskia/dom/nodes/JsiLayerNode.h +28 -18
- package/cpp/rnskia/dom/nodes/JsiPaintNode.h +82 -45
- package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +68 -101
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +3 -2
- package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +150 -207
- package/cpp/rnskia/dom/props/BezierProps.h +4 -2
- package/cpp/rnskia/dom/props/BlendModeProp.h +4 -2
- package/cpp/rnskia/dom/props/BoxShadowProps.h +8 -10
- package/cpp/rnskia/dom/props/CircleProp.h +6 -5
- package/cpp/rnskia/dom/props/ClipProp.h +6 -4
- package/cpp/rnskia/dom/props/ColorProp.h +8 -4
- package/cpp/rnskia/dom/props/DrawingProp.h +5 -3
- package/cpp/rnskia/dom/props/FontProp.h +4 -2
- package/cpp/rnskia/dom/props/GlyphsProp.h +4 -2
- package/cpp/rnskia/dom/props/ImageProps.h +9 -6
- package/cpp/rnskia/dom/props/LayerProp.h +6 -4
- package/cpp/rnskia/dom/props/MatrixProp.h +4 -2
- package/cpp/rnskia/dom/props/NumbersProp.h +8 -4
- package/cpp/rnskia/dom/props/PaintProps.h +55 -92
- package/cpp/rnskia/dom/props/PathProp.h +4 -2
- package/cpp/rnskia/dom/props/PictureProp.h +4 -2
- package/cpp/rnskia/dom/props/PointProp.h +4 -2
- package/cpp/rnskia/dom/props/PointsProp.h +8 -4
- package/cpp/rnskia/dom/props/RRectProp.h +23 -16
- package/cpp/rnskia/dom/props/RadiusProp.h +4 -2
- package/cpp/rnskia/dom/props/RectProp.h +18 -12
- package/cpp/rnskia/dom/props/StrokeProps.h +8 -4
- package/cpp/rnskia/dom/props/SvgProp.h +4 -2
- package/cpp/rnskia/dom/props/TextBlobProp.h +10 -8
- package/cpp/rnskia/dom/props/TileModeProp.h +4 -2
- package/cpp/rnskia/dom/props/TransformProp.h +4 -2
- package/cpp/rnskia/dom/props/TransformsProps.h +5 -7
- package/cpp/rnskia/dom/props/UniformsProp.h +4 -2
- package/cpp/rnskia/dom/props/VertexModeProp.h +4 -2
- package/cpp/rnskia/dom/props/VerticesProps.h +7 -11
- package/ios/RNSkia-iOS/DisplayLink.mm +22 -24
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +53 -50
- package/ios/RNSkia-iOS/RNSkiOSPlatformContext.h +2 -0
- package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +56 -25
- package/ios/RNSkia-iOS/SkiaDomViewManager.mm +17 -17
- package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +17 -17
- package/ios/RNSkia-iOS/SkiaManager.mm +12 -10
- package/ios/RNSkia-iOS/SkiaMetalRenderer.h +5 -0
- package/ios/RNSkia-iOS/SkiaMetalRenderer.mm +53 -0
- package/ios/RNSkia-iOS/SkiaPictureViewManager.mm +17 -17
- package/ios/RNSkia-iOS/SkiaUIView.mm +63 -53
- package/ios/RNSkiaModule.mm +5 -7
- package/lib/commonjs/dom/nodes/DrawingNode.js +5 -1
- package/lib/commonjs/dom/nodes/DrawingNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +33 -34
- package/lib/commonjs/dom/nodes/LayerNode.js +13 -6
- package/lib/commonjs/dom/nodes/LayerNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/Node.d.ts +6 -11
- package/lib/commonjs/dom/nodes/Node.js +8 -26
- package/lib/commonjs/dom/nodes/Node.js.map +1 -1
- package/lib/commonjs/dom/nodes/PaintContext.js.map +1 -1
- package/lib/commonjs/dom/nodes/PaintNode.d.ts +3 -3
- package/lib/commonjs/dom/nodes/PaintNode.js +32 -15
- package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.d.ts +2 -3
- package/lib/commonjs/dom/nodes/RenderNode.js +19 -187
- package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +1 -1
- package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js +25 -7
- package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/Box.d.ts +3 -1
- package/lib/commonjs/dom/nodes/drawings/Box.js +3 -0
- package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +3 -7
- package/lib/commonjs/dom/nodes/paint/BlendNode.js +16 -47
- package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +10 -11
- package/lib/commonjs/dom/nodes/paint/ColorFilters.js +29 -43
- package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +11 -11
- package/lib/commonjs/dom/nodes/paint/ImageFilters.js +45 -42
- package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +3 -3
- package/lib/commonjs/dom/nodes/paint/MaskFilters.js +3 -2
- package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +15 -18
- package/lib/commonjs/dom/nodes/paint/PathEffects.js +30 -72
- package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/Shaders.d.ts +11 -12
- package/lib/commonjs/dom/nodes/paint/Shaders.js +28 -18
- package/lib/commonjs/dom/nodes/paint/Shaders.js.map +1 -1
- package/lib/commonjs/dom/types/DeclarationContext.d.ts +29 -0
- package/lib/commonjs/dom/types/DeclarationContext.js +118 -0
- package/lib/commonjs/dom/types/DeclarationContext.js.map +1 -0
- package/lib/commonjs/dom/types/DrawingContext.d.ts +18 -1
- package/lib/commonjs/dom/types/DrawingContext.js +330 -0
- package/lib/commonjs/dom/types/DrawingContext.js.map +1 -1
- package/lib/commonjs/dom/types/Node.d.ts +4 -10
- package/lib/commonjs/dom/types/Node.js.map +1 -1
- package/lib/commonjs/dom/types/SkDOM.d.ts +22 -23
- package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
- package/lib/commonjs/dom/types/index.d.ts +1 -0
- package/lib/commonjs/dom/types/index.js +13 -0
- package/lib/commonjs/dom/types/index.js.map +1 -1
- package/lib/commonjs/index.d.ts +1 -0
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +3 -3
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/DrawingContext.d.ts +4 -3
- package/lib/commonjs/renderer/DrawingContext.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +35 -35
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/HostConfig.js +1 -0
- package/lib/commonjs/renderer/HostConfig.js.map +1 -1
- package/lib/commonjs/renderer/Offscreen.d.ts +2 -0
- package/lib/commonjs/renderer/Offscreen.js +31 -0
- package/lib/commonjs/renderer/Offscreen.js.map +1 -0
- package/lib/commonjs/renderer/Reconciler.js +0 -1
- package/lib/commonjs/renderer/Reconciler.js.map +1 -1
- package/lib/commonjs/skia/types/Surface/Surface.d.ts +4 -0
- package/lib/commonjs/skia/types/Surface/Surface.js.map +1 -1
- package/lib/commonjs/skia/types/Surface/SurfaceFactory.d.ts +6 -0
- package/lib/commonjs/skia/types/Surface/SurfaceFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkDataFactory.js +0 -1
- package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkImage.js +34 -3
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkSurface.js +4 -0
- package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSurfaceFactory.d.ts +2 -1
- package/lib/commonjs/skia/web/JsiSkSurfaceFactory.js +21 -1
- package/lib/commonjs/skia/web/JsiSkSurfaceFactory.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js +14 -8
- package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
- package/lib/commonjs/views/SkiaDomView.web.js +3 -14
- package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
- package/lib/commonjs/views/SkiaPictureView.web.js +0 -7
- package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
- package/lib/commonjs/views/SkiaView.web.js +0 -7
- package/lib/commonjs/views/SkiaView.web.js.map +1 -1
- package/lib/module/dom/nodes/DrawingNode.js +5 -1
- package/lib/module/dom/nodes/DrawingNode.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +33 -34
- package/lib/module/dom/nodes/LayerNode.js +13 -7
- package/lib/module/dom/nodes/LayerNode.js.map +1 -1
- package/lib/module/dom/nodes/Node.d.ts +6 -11
- package/lib/module/dom/nodes/Node.js +8 -25
- package/lib/module/dom/nodes/Node.js.map +1 -1
- package/lib/module/dom/nodes/PaintContext.js.map +1 -1
- package/lib/module/dom/nodes/PaintNode.d.ts +3 -3
- package/lib/module/dom/nodes/PaintNode.js +32 -15
- package/lib/module/dom/nodes/PaintNode.js.map +1 -1
- package/lib/module/dom/nodes/RenderNode.d.ts +2 -3
- package/lib/module/dom/nodes/RenderNode.js +20 -187
- package/lib/module/dom/nodes/RenderNode.js.map +1 -1
- package/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +1 -1
- package/lib/module/dom/nodes/drawings/BackdropFilterNode.js +23 -4
- package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +1 -1
- package/lib/module/dom/nodes/drawings/Box.d.ts +3 -1
- package/lib/module/dom/nodes/drawings/Box.js +3 -0
- package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
- package/lib/module/dom/nodes/paint/BlendNode.d.ts +3 -7
- package/lib/module/dom/nodes/paint/BlendNode.js +15 -46
- package/lib/module/dom/nodes/paint/BlendNode.js.map +1 -1
- package/lib/module/dom/nodes/paint/ColorFilters.d.ts +10 -11
- package/lib/module/dom/nodes/paint/ColorFilters.js +29 -43
- package/lib/module/dom/nodes/paint/ColorFilters.js.map +1 -1
- package/lib/module/dom/nodes/paint/ImageFilters.d.ts +11 -11
- package/lib/module/dom/nodes/paint/ImageFilters.js +48 -41
- package/lib/module/dom/nodes/paint/ImageFilters.js.map +1 -1
- package/lib/module/dom/nodes/paint/MaskFilters.d.ts +3 -3
- package/lib/module/dom/nodes/paint/MaskFilters.js +3 -2
- package/lib/module/dom/nodes/paint/MaskFilters.js.map +1 -1
- package/lib/module/dom/nodes/paint/PathEffects.d.ts +15 -18
- package/lib/module/dom/nodes/paint/PathEffects.js +29 -72
- package/lib/module/dom/nodes/paint/PathEffects.js.map +1 -1
- package/lib/module/dom/nodes/paint/Shaders.d.ts +11 -12
- package/lib/module/dom/nodes/paint/Shaders.js +28 -18
- package/lib/module/dom/nodes/paint/Shaders.js.map +1 -1
- package/lib/module/dom/types/DeclarationContext.d.ts +29 -0
- package/lib/module/dom/types/DeclarationContext.js +107 -0
- package/lib/module/dom/types/DeclarationContext.js.map +1 -0
- package/lib/module/dom/types/DrawingContext.d.ts +18 -1
- package/lib/module/dom/types/DrawingContext.js +322 -1
- package/lib/module/dom/types/DrawingContext.js.map +1 -1
- package/lib/module/dom/types/Node.d.ts +4 -10
- package/lib/module/dom/types/Node.js.map +1 -1
- package/lib/module/dom/types/SkDOM.d.ts +22 -23
- package/lib/module/dom/types/SkDOM.js.map +1 -1
- package/lib/module/dom/types/index.d.ts +1 -0
- package/lib/module/dom/types/index.js +1 -0
- package/lib/module/dom/types/index.js.map +1 -1
- package/lib/module/index.d.ts +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/renderer/Canvas.js +3 -3
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/DrawingContext.d.ts +4 -3
- package/lib/module/renderer/DrawingContext.js.map +1 -1
- package/lib/module/renderer/HostComponents.d.ts +35 -35
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/HostConfig.js +1 -0
- package/lib/module/renderer/HostConfig.js.map +1 -1
- package/lib/module/renderer/Offscreen.d.ts +2 -0
- package/lib/module/renderer/Offscreen.js +19 -0
- package/lib/module/renderer/Offscreen.js.map +1 -0
- package/lib/module/renderer/Reconciler.js +0 -1
- package/lib/module/renderer/Reconciler.js.map +1 -1
- package/lib/module/skia/types/Surface/Surface.d.ts +4 -0
- package/lib/module/skia/types/Surface/Surface.js.map +1 -1
- package/lib/module/skia/types/Surface/SurfaceFactory.d.ts +6 -0
- package/lib/module/skia/types/Surface/SurfaceFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkDataFactory.js +0 -1
- package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.d.ts +1 -0
- package/lib/module/skia/web/JsiSkImage.js +31 -3
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkSurface.d.ts +1 -0
- package/lib/module/skia/web/JsiSkSurface.js +4 -0
- package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/module/skia/web/JsiSkSurfaceFactory.d.ts +2 -1
- package/lib/module/skia/web/JsiSkSurfaceFactory.js +21 -1
- package/lib/module/skia/web/JsiSkSurfaceFactory.js.map +1 -1
- package/lib/module/views/SkiaBaseWebView.js +14 -8
- package/lib/module/views/SkiaBaseWebView.js.map +1 -1
- package/lib/module/views/SkiaDomView.web.js +2 -11
- package/lib/module/views/SkiaDomView.web.js.map +1 -1
- package/lib/module/views/SkiaPictureView.web.js +0 -5
- package/lib/module/views/SkiaPictureView.web.js.map +1 -1
- package/lib/module/views/SkiaView.web.js +0 -5
- package/lib/module/views/SkiaView.web.js.map +1 -1
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +33 -34
- package/lib/typescript/src/dom/nodes/Node.d.ts +6 -11
- package/lib/typescript/src/dom/nodes/PaintNode.d.ts +3 -3
- package/lib/typescript/src/dom/nodes/RenderNode.d.ts +2 -3
- package/lib/typescript/src/dom/nodes/drawings/BackdropFilterNode.d.ts +1 -1
- package/lib/typescript/src/dom/nodes/drawings/Box.d.ts +3 -1
- package/lib/typescript/src/dom/nodes/paint/BlendNode.d.ts +3 -7
- package/lib/typescript/src/dom/nodes/paint/ColorFilters.d.ts +10 -11
- package/lib/typescript/src/dom/nodes/paint/ImageFilters.d.ts +11 -11
- package/lib/typescript/src/dom/nodes/paint/MaskFilters.d.ts +3 -3
- package/lib/typescript/src/dom/nodes/paint/PathEffects.d.ts +15 -18
- package/lib/typescript/src/dom/nodes/paint/Shaders.d.ts +11 -12
- package/lib/typescript/src/dom/types/DeclarationContext.d.ts +29 -0
- package/lib/typescript/src/dom/types/DrawingContext.d.ts +18 -1
- package/lib/typescript/src/dom/types/Node.d.ts +4 -10
- package/lib/typescript/src/dom/types/SkDOM.d.ts +22 -23
- package/lib/typescript/src/dom/types/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/renderer/DrawingContext.d.ts +4 -3
- package/lib/typescript/src/renderer/HostComponents.d.ts +35 -35
- package/lib/typescript/src/renderer/Offscreen.d.ts +2 -0
- package/lib/typescript/src/skia/types/Surface/Surface.d.ts +4 -0
- package/lib/typescript/src/skia/types/Surface/SurfaceFactory.d.ts +6 -0
- package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkSurfaceFactory.d.ts +2 -1
- package/package.json +1 -1
- package/src/dom/nodes/DrawingNode.ts +5 -1
- package/src/dom/nodes/LayerNode.ts +13 -11
- package/src/dom/nodes/Node.ts +18 -41
- package/src/dom/nodes/PaintContext.ts +1 -0
- package/src/dom/nodes/PaintNode.ts +28 -18
- package/src/dom/nodes/RenderNode.ts +25 -183
- package/src/dom/nodes/drawings/BackdropFilterNode.ts +18 -11
- package/src/dom/nodes/drawings/Box.ts +6 -4
- package/src/dom/nodes/paint/BlendNode.ts +16 -63
- package/src/dom/nodes/paint/ColorFilters.ts +32 -55
- package/src/dom/nodes/paint/ImageFilters.ts +58 -53
- package/src/dom/nodes/paint/MaskFilters.ts +5 -7
- package/src/dom/nodes/paint/PathEffects.ts +37 -90
- package/src/dom/nodes/paint/Shaders.ts +31 -29
- package/src/dom/types/DeclarationContext.ts +105 -0
- package/src/dom/types/DrawingContext.ts +304 -1
- package/src/dom/types/Node.ts +4 -20
- package/src/dom/types/SkDOM.ts +22 -43
- package/src/dom/types/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/renderer/Canvas.tsx +3 -3
- package/src/renderer/DrawingContext.ts +4 -5
- package/src/renderer/HostComponents.ts +34 -53
- package/src/renderer/HostConfig.ts +1 -0
- package/src/renderer/Offscreen.tsx +24 -0
- package/src/renderer/Reconciler.tsx +0 -1
- package/src/skia/types/Surface/Surface.ts +5 -0
- package/src/skia/types/Surface/SurfaceFactory.ts +7 -0
- package/src/skia/web/JsiSkDataFactory.ts +0 -1
- package/src/skia/web/JsiSkImage.ts +26 -2
- package/src/skia/web/JsiSkSurface.ts +4 -0
- package/src/skia/web/JsiSkSurfaceFactory.ts +21 -2
- package/src/views/SkiaBaseWebView.tsx +9 -2
- package/src/views/SkiaDomView.web.tsx +2 -13
- package/src/views/SkiaPictureView.web.tsx +0 -7
- package/src/views/SkiaView.web.tsx +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlendMode","ColorChannel","processUniforms","TileMode","DeclarationType","NodeType","processRadius","enumKey","JsiDeclarationNode","Black","Float32Array","of","MakeInnerShadow","Skia","shadowOnly","dx","dy","sigmaX","sigmaY","color","input","sourceGraphic","ImageFilter","MakeColorFilter","ColorFilter","MakeBlend","Dst","sourceAlpha","SrcIn","f1","SrcOut","f2","MakeOffset","f3","MakeBlur","Decal","f4","MakeCompose","SrcOver","ImageFilterDeclaration","constructor","ctx","type","props","getOptionalChildInstance","index","child","_children","getMandatoryChildInstance","isImageFilter","materialize","isShader","MakeShader","declarationType","Error","OffsetImageFilterNode","OffsetImageFilter","x","y","DisplacementMapImageFilterNode","DisplacementMapImageFilter","channelX","channelY","scale","MakeDisplacementMap","BlurImageFilterNode","BlurImageFilter","mode","blur","sigma","DropShadowImageFilterNode","DropShadowImageFilter","cl","inner","Color","factory","bind","MakeDropShadowOnly","MakeDropShadow","MorphologyOperator","MorphologyImageFilterNode","MorphologyImageFilter","operator","r","radius","Erode","MakeErode","MakeDilate","BlendImageFilterNode","BlendImageFilter","a","b","RuntimeShaderImageFilterNode","RuntimeShaderImageFilter","source","uniforms","rtb","RuntimeShaderBuilder","MakeRuntimeShader"],"sources":["ImageFilters.ts"],"sourcesContent":["import type { SkImageFilter, SkColor, Skia } from \"../../../skia/types\";\nimport {\n BlendMode,\n ColorChannel,\n processUniforms,\n TileMode,\n} from \"../../../skia/types\";\nimport type {\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { processRadius, enumKey } from \"../datatypes\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\n\nconst Black = Float32Array.of(0, 0, 0, 1);\n\nconst MakeInnerShadow = (\n Skia: Skia,\n shadowOnly: boolean | undefined,\n dx: number,\n dy: number,\n sigmaX: number,\n sigmaY: number,\n color: SkColor,\n input: SkImageFilter | null\n) => {\n const sourceGraphic = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.Dst),\n null\n );\n const sourceAlpha = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.SrcIn),\n null\n );\n const f1 = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(color, BlendMode.SrcOut),\n null\n );\n const f2 = Skia.ImageFilter.MakeOffset(dx, dy, f1);\n const f3 = Skia.ImageFilter.MakeBlur(sigmaX, sigmaY, TileMode.Decal, f2);\n const f4 = Skia.ImageFilter.MakeBlend(BlendMode.SrcIn, sourceAlpha, f3);\n if (shadowOnly) {\n return f4;\n }\n return Skia.ImageFilter.MakeCompose(\n input,\n Skia.ImageFilter.MakeBlend(BlendMode.SrcOver, sourceGraphic, f4)\n );\n};\n\nexport abstract class ImageFilterDeclaration<\n P,\n Nullable extends null | never = never\n> extends JsiDeclarationNode<P, SkImageFilter, Nullable> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.ImageFilter, type, props);\n }\n\n getOptionalChildInstance(index: number) {\n const child = this._children[index];\n if (!child) {\n return null;\n }\n return this.getMandatoryChildInstance(index);\n }\n\n getMandatoryChildInstance(index: number) {\n const child = this._children[index];\n if (child instanceof JsiDeclarationNode) {\n if (child.isImageFilter()) {\n return child.materialize();\n } else if (child.isShader()) {\n return this.Skia.ImageFilter.MakeShader(child.materialize(), null);\n } else if (child.declarationType === DeclarationType.ColorFilter) {\n return this.Skia.ImageFilter.MakeColorFilter(child.materialize(), null);\n } else {\n throw new Error(`Found invalid child ${child.type} in ${this.type}`);\n }\n } else {\n throw new Error(`Found invalid child ${child.type} in ${this.type}`);\n }\n }\n}\n\nexport class OffsetImageFilterNode extends ImageFilterDeclaration<OffsetImageFilterProps> {\n constructor(ctx: NodeContext, props: OffsetImageFilterProps) {\n super(ctx, NodeType.OffsetImageFilter, props);\n }\n\n materialize() {\n const { x, y } = this.props;\n return this.Skia.ImageFilter.MakeOffset(\n x,\n y,\n this.getOptionalChildInstance(0)\n );\n }\n}\n\nexport class DisplacementMapImageFilterNode extends ImageFilterDeclaration<DisplacementMapImageFilterProps> {\n constructor(ctx: NodeContext, props: DisplacementMapImageFilterProps) {\n super(ctx, NodeType.DisplacementMapImageFilter, props);\n }\n\n materialize() {\n const { channelX, channelY, scale } = this.props;\n return this.Skia.ImageFilter.MakeDisplacementMap(\n ColorChannel[enumKey(channelX)],\n ColorChannel[enumKey(channelY)],\n scale,\n this.getMandatoryChildInstance(0),\n this.getOptionalChildInstance(1)\n );\n }\n}\n\nexport class BlurImageFilterNode extends ImageFilterDeclaration<BlurImageFilterProps> {\n constructor(ctx: NodeContext, props: BlurImageFilterProps) {\n super(ctx, NodeType.BlurImageFilter, props);\n }\n\n materialize() {\n const { mode, blur } = this.props;\n const sigma = processRadius(this.Skia, blur);\n return this.Skia.ImageFilter.MakeBlur(\n sigma.x,\n sigma.y,\n TileMode[enumKey(mode)],\n this.getOptionalChildInstance(0)\n );\n }\n}\n\nexport class DropShadowImageFilterNode extends ImageFilterDeclaration<DropShadowImageFilterProps> {\n constructor(ctx: NodeContext, props: DropShadowImageFilterProps) {\n super(ctx, NodeType.DropShadowImageFilter, props);\n }\n\n materialize() {\n const { dx, dy, blur, shadowOnly, color: cl, inner } = this.props;\n const color = this.Skia.Color(cl);\n const input = this.getOptionalChildInstance(0);\n let factory;\n if (inner) {\n factory = MakeInnerShadow.bind(null, this.Skia, shadowOnly);\n } else {\n factory = shadowOnly\n ? this.Skia.ImageFilter.MakeDropShadowOnly.bind(this.Skia.ImageFilter)\n : this.Skia.ImageFilter.MakeDropShadow.bind(this.Skia.ImageFilter);\n }\n return factory(dx, dy, blur, blur, color, input);\n }\n}\n\nexport enum MorphologyOperator {\n Erode,\n Dilate,\n}\n\nexport class MorphologyImageFilterNode extends ImageFilterDeclaration<MorphologyImageFilterProps> {\n constructor(ctx: NodeContext, props: MorphologyImageFilterProps) {\n super(ctx, NodeType.MorphologyImageFilter, props);\n }\n\n materialize() {\n const { operator } = this.props;\n const r = processRadius(this.Skia, this.props.radius);\n const input = this.getOptionalChildInstance(0);\n if (MorphologyOperator[enumKey(operator)] === MorphologyOperator.Erode) {\n return this.Skia.ImageFilter.MakeErode(r.x, r.y, input);\n }\n return this.Skia.ImageFilter.MakeDilate(r.x, r.y, input);\n }\n}\n\nexport class BlendImageFilterNode extends ImageFilterDeclaration<BlendImageFilterProps> {\n constructor(ctx: NodeContext, props: BlendImageFilterProps) {\n super(ctx, NodeType.BlendImageFilter, props);\n }\n\n materialize() {\n const { mode } = this.props;\n const a = this.getMandatoryChildInstance(0);\n const b = this.getMandatoryChildInstance(1);\n return this.Skia.ImageFilter.MakeBlend(mode, a, b);\n }\n}\n\nexport class RuntimeShaderImageFilterNode extends ImageFilterDeclaration<RuntimeShaderImageFilterProps> {\n constructor(ctx: NodeContext, props: RuntimeShaderImageFilterProps) {\n super(ctx, NodeType.RuntimeShaderImageFilter, props);\n }\n\n materialize() {\n const { source, uniforms } = this.props;\n const rtb = this.Skia.RuntimeShaderBuilder(source);\n if (uniforms) {\n processUniforms(source, uniforms, rtb);\n }\n const input = this.getOptionalChildInstance(0);\n return this.Skia.ImageFilter.MakeRuntimeShader(rtb, null, input);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BlendMode","ColorChannel","processUniforms","TileMode","DeclarationType","NodeType","processRadius","enumKey","JsiDeclarationNode","Black","Float32Array","of","MakeInnerShadow","Skia","shadowOnly","dx","dy","sigmaX","sigmaY","color","input","sourceGraphic","ImageFilter","MakeColorFilter","ColorFilter","MakeBlend","Dst","sourceAlpha","SrcIn","f1","SrcOut","f2","MakeOffset","f3","MakeBlur","Decal","f4","MakeCompose","SrcOver","ImageFilterDeclaration","constructor","ctx","type","props","imageFilters","pop","composeAndPush","imgf1","save","decorateChildren","imgf2","popAllAsOne","cf","colorFilters","restore","imgf","push","OffsetImageFilterNode","OffsetImageFilter","decorate","x","y","DisplacementMapImageFilterNode","DisplacementMapImageFilter","channelX","channelY","scale","MakeDisplacementMap","BlurImageFilterNode","BlurImageFilter","mode","blur","sigma","DropShadowImageFilterNode","DropShadowImageFilter","cl","inner","Color","factory","bind","MakeDropShadowOnly","MakeDropShadow","MorphologyOperator","MorphologyImageFilterNode","MorphologyImageFilter","operator","r","radius","Erode","MakeErode","MakeDilate","BlendImageFilterNode","BlendImageFilter","a","b","Error","RuntimeShaderImageFilterNode","RuntimeShaderImageFilter","source","uniforms","rtb","RuntimeShaderBuilder","MakeRuntimeShader"],"sources":["ImageFilters.ts"],"sourcesContent":["import type { SkImageFilter, SkColor, Skia } from \"../../../skia/types\";\nimport {\n BlendMode,\n ColorChannel,\n processUniforms,\n TileMode,\n} from \"../../../skia/types\";\nimport type {\n BlendImageFilterProps,\n BlurImageFilterProps,\n DeclarationContext,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { processRadius, enumKey } from \"../datatypes\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\n\nconst Black = Float32Array.of(0, 0, 0, 1);\n\nconst MakeInnerShadow = (\n Skia: Skia,\n shadowOnly: boolean | undefined,\n dx: number,\n dy: number,\n sigmaX: number,\n sigmaY: number,\n color: SkColor,\n input: SkImageFilter | null\n) => {\n const sourceGraphic = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.Dst),\n null\n );\n const sourceAlpha = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.SrcIn),\n null\n );\n const f1 = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(color, BlendMode.SrcOut),\n null\n );\n const f2 = Skia.ImageFilter.MakeOffset(dx, dy, f1);\n const f3 = Skia.ImageFilter.MakeBlur(sigmaX, sigmaY, TileMode.Decal, f2);\n const f4 = Skia.ImageFilter.MakeBlend(BlendMode.SrcIn, sourceAlpha, f3);\n if (shadowOnly) {\n return f4;\n }\n return Skia.ImageFilter.MakeCompose(\n input,\n Skia.ImageFilter.MakeBlend(BlendMode.SrcOver, sourceGraphic, f4)\n );\n};\n\nexport abstract class ImageFilterDeclaration<P> extends JsiDeclarationNode<P> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.ImageFilter, type, props);\n }\n\n protected input(ctx: DeclarationContext) {\n return ctx.imageFilters.pop() ?? null;\n }\n\n protected composeAndPush(ctx: DeclarationContext, imgf1: SkImageFilter) {\n ctx.save();\n this.decorateChildren(ctx);\n let imgf2 = ctx.imageFilters.popAllAsOne();\n const cf = ctx.colorFilters.popAllAsOne();\n ctx.restore();\n if (cf) {\n imgf2 = this.Skia.ImageFilter.MakeCompose(\n imgf2 ?? null,\n this.Skia.ImageFilter.MakeColorFilter(cf, null)\n );\n }\n const imgf = imgf2\n ? this.Skia.ImageFilter.MakeCompose(imgf1, imgf2)\n : imgf1;\n ctx.imageFilters.push(imgf);\n }\n}\n\nexport class OffsetImageFilterNode extends ImageFilterDeclaration<OffsetImageFilterProps> {\n constructor(ctx: NodeContext, props: OffsetImageFilterProps) {\n super(ctx, NodeType.OffsetImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n this.decorateChildren(ctx);\n const { x, y } = this.props;\n const imgf = this.Skia.ImageFilter.MakeOffset(x, y, null);\n this.composeAndPush(ctx, imgf);\n }\n}\n\nexport class DisplacementMapImageFilterNode extends ImageFilterDeclaration<DisplacementMapImageFilterProps> {\n constructor(ctx: NodeContext, props: DisplacementMapImageFilterProps) {\n super(ctx, NodeType.DisplacementMapImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { channelX, channelY, scale } = this.props;\n const imgf = this.Skia.ImageFilter.MakeDisplacementMap(\n ColorChannel[enumKey(channelX)],\n ColorChannel[enumKey(channelY)],\n scale,\n ctx.imageFilters.pop()!,\n this.input(ctx)\n );\n this.composeAndPush(ctx, imgf);\n }\n}\n\nexport class BlurImageFilterNode extends ImageFilterDeclaration<BlurImageFilterProps> {\n constructor(ctx: NodeContext, props: BlurImageFilterProps) {\n super(ctx, NodeType.BlurImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { mode, blur } = this.props;\n const sigma = processRadius(this.Skia, blur);\n const imgf = this.Skia.ImageFilter.MakeBlur(\n sigma.x,\n sigma.y,\n TileMode[enumKey(mode)],\n this.input(ctx)\n );\n this.composeAndPush(ctx, imgf);\n }\n}\n\nexport class DropShadowImageFilterNode extends ImageFilterDeclaration<DropShadowImageFilterProps> {\n constructor(ctx: NodeContext, props: DropShadowImageFilterProps) {\n super(ctx, NodeType.DropShadowImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { dx, dy, blur, shadowOnly, color: cl, inner } = this.props;\n const color = this.Skia.Color(cl);\n let factory;\n if (inner) {\n factory = MakeInnerShadow.bind(null, this.Skia, shadowOnly);\n } else {\n factory = shadowOnly\n ? this.Skia.ImageFilter.MakeDropShadowOnly.bind(this.Skia.ImageFilter)\n : this.Skia.ImageFilter.MakeDropShadow.bind(this.Skia.ImageFilter);\n }\n const imgf = factory(dx, dy, blur, blur, color, this.input(ctx));\n this.composeAndPush(ctx, imgf);\n }\n}\n\nexport enum MorphologyOperator {\n Erode,\n Dilate,\n}\n\nexport class MorphologyImageFilterNode extends ImageFilterDeclaration<MorphologyImageFilterProps> {\n constructor(ctx: NodeContext, props: MorphologyImageFilterProps) {\n super(ctx, NodeType.MorphologyImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { operator } = this.props;\n const r = processRadius(this.Skia, this.props.radius);\n let imgf;\n if (MorphologyOperator[enumKey(operator)] === MorphologyOperator.Erode) {\n imgf = this.Skia.ImageFilter.MakeErode(r.x, r.y, this.input(ctx));\n } else {\n imgf = this.Skia.ImageFilter.MakeDilate(r.x, r.y, this.input(ctx));\n }\n this.composeAndPush(ctx, imgf);\n }\n}\n\nexport class BlendImageFilterNode extends ImageFilterDeclaration<BlendImageFilterProps> {\n constructor(ctx: NodeContext, props: BlendImageFilterProps) {\n super(ctx, NodeType.BlendImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { mode } = this.props;\n const a = ctx.imageFilters.pop();\n const b = ctx.imageFilters.pop();\n if (!a || !b) {\n throw new Error(\"BlendImageFilter requires two image filters\");\n }\n const imgf = this.Skia.ImageFilter.MakeBlend(mode, a, b);\n this.composeAndPush(ctx, imgf);\n }\n}\n\nexport class RuntimeShaderImageFilterNode extends ImageFilterDeclaration<RuntimeShaderImageFilterProps> {\n constructor(ctx: NodeContext, props: RuntimeShaderImageFilterProps) {\n super(ctx, NodeType.RuntimeShaderImageFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { source, uniforms } = this.props;\n const rtb = this.Skia.RuntimeShaderBuilder(source);\n if (uniforms) {\n processUniforms(source, uniforms, rtb);\n }\n const imgf = this.Skia.ImageFilter.MakeRuntimeShader(\n rtb,\n null,\n this.input(ctx)\n );\n this.composeAndPush(ctx, imgf);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SkMaskFilter } from "../../../skia/types";
|
|
2
1
|
import type { NodeContext } from "../Node";
|
|
3
2
|
import { JsiDeclarationNode } from "../Node";
|
|
4
3
|
import type { BlurMaskFilterProps } from "../../types";
|
|
5
|
-
|
|
4
|
+
import type { DeclarationContext } from "../../types/DeclarationContext";
|
|
5
|
+
export declare class BlurMaskFilterNode extends JsiDeclarationNode<BlurMaskFilterProps> {
|
|
6
6
|
constructor(ctx: NodeContext, props: BlurMaskFilterProps);
|
|
7
|
-
|
|
7
|
+
decorate(ctx: DeclarationContext): void;
|
|
8
8
|
}
|
|
@@ -7,13 +7,14 @@ export class BlurMaskFilterNode extends JsiDeclarationNode {
|
|
|
7
7
|
super(ctx, DeclarationType.MaskFilter, NodeType.BlurMaskFilter, props);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
decorate(ctx) {
|
|
11
11
|
const {
|
|
12
12
|
style,
|
|
13
13
|
blur,
|
|
14
14
|
respectCTM
|
|
15
15
|
} = this.props;
|
|
16
|
-
|
|
16
|
+
const mf = this.Skia.MaskFilter.MakeBlur(BlurStyle[enumKey(style)], blur, respectCTM);
|
|
17
|
+
ctx.maskFilters.push(mf);
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlurStyle","JsiDeclarationNode","DeclarationType","NodeType","enumKey","BlurMaskFilterNode","constructor","ctx","props","MaskFilter","BlurMaskFilter","
|
|
1
|
+
{"version":3,"names":["BlurStyle","JsiDeclarationNode","DeclarationType","NodeType","enumKey","BlurMaskFilterNode","constructor","ctx","props","MaskFilter","BlurMaskFilter","decorate","style","blur","respectCTM","mf","Skia","MakeBlur","maskFilters","push"],"sources":["MaskFilters.ts"],"sourcesContent":["import { BlurStyle } from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type { BlurMaskFilterProps } from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { enumKey } from \"../datatypes\";\nimport type { DeclarationContext } from \"../../types/DeclarationContext\";\n\nexport class BlurMaskFilterNode extends JsiDeclarationNode<BlurMaskFilterProps> {\n constructor(ctx: NodeContext, props: BlurMaskFilterProps) {\n super(ctx, DeclarationType.MaskFilter, NodeType.BlurMaskFilter, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { style, blur, respectCTM } = this.props;\n const mf = this.Skia.MaskFilter.MakeBlur(\n BlurStyle[enumKey(style)],\n blur,\n respectCTM\n );\n ctx.maskFilters.push(mf);\n }\n}\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,qBAA1B;AAEA,SAASC,kBAAT,QAAmC,SAAnC;AAEA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,aAA1C;AACA,SAASC,OAAT,QAAwB,cAAxB;AAGA,OAAO,MAAMC,kBAAN,SAAiCJ,kBAAjC,CAAyE;EAC9EK,WAAW,CAACC,GAAD,EAAmBC,KAAnB,EAA+C;IACxD,MAAMD,GAAN,EAAWL,eAAe,CAACO,UAA3B,EAAuCN,QAAQ,CAACO,cAAhD,EAAgEF,KAAhE;EACD;;EAEDG,QAAQ,CAACJ,GAAD,EAA0B;IAChC,MAAM;MAAEK,KAAF;MAASC,IAAT;MAAeC;IAAf,IAA8B,KAAKN,KAAzC;IACA,MAAMO,EAAE,GAAG,KAAKC,IAAL,CAAUP,UAAV,CAAqBQ,QAArB,CACTjB,SAAS,CAACI,OAAO,CAACQ,KAAD,CAAR,CADA,EAETC,IAFS,EAGTC,UAHS,CAAX;IAKAP,GAAG,CAACW,WAAJ,CAAgBC,IAAhB,CAAqBJ,EAArB;EACD;;AAb6E"}
|
|
@@ -1,42 +1,39 @@
|
|
|
1
1
|
import type { SkPathEffect } from "../../../skia/types";
|
|
2
2
|
import type { NodeContext } from "../Node";
|
|
3
3
|
import { JsiDeclarationNode } from "../Node";
|
|
4
|
-
import type { CornerPathEffectProps, DashPathEffectProps, DiscretePathEffectProps, Line2DPathEffectProps,
|
|
4
|
+
import type { CornerPathEffectProps, DashPathEffectProps, DiscretePathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps } from "../../types";
|
|
5
5
|
import { NodeType } from "../../types";
|
|
6
|
-
|
|
6
|
+
import type { DeclarationContext } from "../../types/DeclarationContext";
|
|
7
|
+
declare abstract class PathEffectDeclaration<P> extends JsiDeclarationNode<P> {
|
|
7
8
|
constructor(ctx: NodeContext, type: NodeType, props: P);
|
|
8
|
-
|
|
9
|
-
insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;
|
|
10
|
-
compose(pe: SkPathEffect): SkPathEffect;
|
|
11
|
-
getOptionalChildInstance(index: number): any;
|
|
12
|
-
getMandatoryChildInstance(index: number): any;
|
|
9
|
+
protected composeAndPush(ctx: DeclarationContext, pe1: SkPathEffect): void;
|
|
13
10
|
}
|
|
14
11
|
export declare class DiscretePathEffectNode extends PathEffectDeclaration<DiscretePathEffectProps> {
|
|
15
12
|
constructor(ctx: NodeContext, props: DiscretePathEffectProps);
|
|
16
|
-
|
|
13
|
+
decorate(ctx: DeclarationContext): void;
|
|
17
14
|
}
|
|
18
|
-
export declare class Path2DPathEffectNode extends PathEffectDeclaration<Path2DPathEffectProps
|
|
15
|
+
export declare class Path2DPathEffectNode extends PathEffectDeclaration<Path2DPathEffectProps> {
|
|
19
16
|
constructor(ctx: NodeContext, props: Path2DPathEffectProps);
|
|
20
|
-
|
|
17
|
+
decorate(ctx: DeclarationContext): void;
|
|
21
18
|
}
|
|
22
19
|
export declare class DashPathEffectNode extends PathEffectDeclaration<DashPathEffectProps> {
|
|
23
20
|
constructor(ctx: NodeContext, props: DashPathEffectProps);
|
|
24
|
-
|
|
21
|
+
decorate(ctx: DeclarationContext): void;
|
|
25
22
|
}
|
|
26
|
-
export declare class CornerPathEffectNode extends PathEffectDeclaration<CornerPathEffectProps
|
|
23
|
+
export declare class CornerPathEffectNode extends PathEffectDeclaration<CornerPathEffectProps> {
|
|
27
24
|
constructor(ctx: NodeContext, props: CornerPathEffectProps);
|
|
28
|
-
|
|
25
|
+
decorate(ctx: DeclarationContext): void;
|
|
29
26
|
}
|
|
30
27
|
export declare class SumPathEffectNode extends PathEffectDeclaration<null> {
|
|
31
28
|
constructor(ctx: NodeContext);
|
|
32
|
-
|
|
29
|
+
decorate(ctx: DeclarationContext): void;
|
|
33
30
|
}
|
|
34
|
-
export declare class Line2DPathEffectNode extends PathEffectDeclaration<Line2DPathEffectProps
|
|
31
|
+
export declare class Line2DPathEffectNode extends PathEffectDeclaration<Line2DPathEffectProps> {
|
|
35
32
|
constructor(ctx: NodeContext, props: Line2DPathEffectProps);
|
|
36
|
-
|
|
33
|
+
decorate(ctx: DeclarationContext): void;
|
|
37
34
|
}
|
|
38
|
-
export declare class Path1DPathEffectNode extends PathEffectDeclaration<Path1DPathEffectProps
|
|
35
|
+
export declare class Path1DPathEffectNode extends PathEffectDeclaration<Path1DPathEffectProps> {
|
|
39
36
|
constructor(ctx: NodeContext, props: Path1DPathEffectProps);
|
|
40
|
-
|
|
37
|
+
decorate(ctx: DeclarationContext): void;
|
|
41
38
|
}
|
|
42
39
|
export {};
|
|
@@ -3,66 +3,20 @@ import { JsiDeclarationNode } from "../Node";
|
|
|
3
3
|
import { DeclarationType, NodeType } from "../../types";
|
|
4
4
|
import { enumKey } from "../datatypes/Enum";
|
|
5
5
|
import { processPath } from "../datatypes";
|
|
6
|
+
import { composeDeclarations } from "../../types/DeclarationContext";
|
|
6
7
|
|
|
7
8
|
class PathEffectDeclaration extends JsiDeclarationNode {
|
|
8
9
|
constructor(ctx, type, props) {
|
|
9
10
|
super(ctx, DeclarationType.PathEffect, type, props);
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
insertChildBefore(child, before) {
|
|
21
|
-
if (!(child instanceof PathEffectDeclaration)) {
|
|
22
|
-
throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
super.insertChildBefore(child, before);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
compose(pe) {
|
|
29
|
-
const children = this._children;
|
|
30
|
-
|
|
31
|
-
if (this._children.length === 0) {
|
|
32
|
-
return pe;
|
|
33
|
-
} else {
|
|
34
|
-
return this.Skia.PathEffect.MakeCompose(pe, children.reduce((acc, child) => {
|
|
35
|
-
if (acc === null) {
|
|
36
|
-
return child.materialize();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return this.Skia.PathEffect.MakeCompose(acc, child.materialize());
|
|
40
|
-
}, null));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
getOptionalChildInstance(index) {
|
|
45
|
-
const child = this._children[index];
|
|
46
|
-
|
|
47
|
-
if (!child) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return this.getMandatoryChildInstance(index);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
getMandatoryChildInstance(index) {
|
|
55
|
-
const child = this._children[index];
|
|
56
|
-
|
|
57
|
-
if (child instanceof JsiDeclarationNode) {
|
|
58
|
-
if (child.isPathEffect()) {
|
|
59
|
-
return child.materialize();
|
|
60
|
-
} else {
|
|
61
|
-
throw new Error(`Found invalid child ${child.type} in ${this.type}`);
|
|
62
|
-
}
|
|
63
|
-
} else {
|
|
64
|
-
throw new Error(`Found invalid child ${child.type} in ${this.type}`);
|
|
65
|
-
}
|
|
13
|
+
composeAndPush(ctx, pe1) {
|
|
14
|
+
ctx.save();
|
|
15
|
+
this.decorateChildren(ctx);
|
|
16
|
+
const pe2 = ctx.pathEffects.popAllAsOne();
|
|
17
|
+
ctx.restore();
|
|
18
|
+
const pe = pe2 ? this.Skia.PathEffect.MakeCompose(pe1, pe2) : pe1;
|
|
19
|
+
ctx.pathEffects.push(pe);
|
|
66
20
|
}
|
|
67
21
|
|
|
68
22
|
}
|
|
@@ -72,14 +26,14 @@ export class DiscretePathEffectNode extends PathEffectDeclaration {
|
|
|
72
26
|
super(ctx, NodeType.DiscretePathEffect, props);
|
|
73
27
|
}
|
|
74
28
|
|
|
75
|
-
|
|
29
|
+
decorate(ctx) {
|
|
76
30
|
const {
|
|
77
31
|
length,
|
|
78
32
|
deviation,
|
|
79
33
|
seed
|
|
80
34
|
} = this.props;
|
|
81
35
|
const pe = this.Skia.PathEffect.MakeDiscrete(length, deviation, seed);
|
|
82
|
-
|
|
36
|
+
this.composeAndPush(ctx, pe);
|
|
83
37
|
}
|
|
84
38
|
|
|
85
39
|
}
|
|
@@ -88,7 +42,7 @@ export class Path2DPathEffectNode extends PathEffectDeclaration {
|
|
|
88
42
|
super(ctx, NodeType.Path2DPathEffect, props);
|
|
89
43
|
}
|
|
90
44
|
|
|
91
|
-
|
|
45
|
+
decorate(ctx) {
|
|
92
46
|
const {
|
|
93
47
|
matrix
|
|
94
48
|
} = this.props;
|
|
@@ -96,10 +50,10 @@ export class Path2DPathEffectNode extends PathEffectDeclaration {
|
|
|
96
50
|
const pe = this.Skia.PathEffect.MakePath2D(matrix, path);
|
|
97
51
|
|
|
98
52
|
if (pe === null) {
|
|
99
|
-
|
|
53
|
+
throw new Error("Path2DPathEffectNode: invalid path");
|
|
100
54
|
}
|
|
101
55
|
|
|
102
|
-
|
|
56
|
+
this.composeAndPush(ctx, pe);
|
|
103
57
|
}
|
|
104
58
|
|
|
105
59
|
}
|
|
@@ -108,13 +62,13 @@ export class DashPathEffectNode extends PathEffectDeclaration {
|
|
|
108
62
|
super(ctx, NodeType.DashPathEffect, props);
|
|
109
63
|
}
|
|
110
64
|
|
|
111
|
-
|
|
65
|
+
decorate(ctx) {
|
|
112
66
|
const {
|
|
113
67
|
intervals,
|
|
114
68
|
phase
|
|
115
69
|
} = this.props;
|
|
116
70
|
const pe = this.Skia.PathEffect.MakeDash(intervals, phase);
|
|
117
|
-
|
|
71
|
+
this.composeAndPush(ctx, pe);
|
|
118
72
|
}
|
|
119
73
|
|
|
120
74
|
}
|
|
@@ -123,17 +77,17 @@ export class CornerPathEffectNode extends PathEffectDeclaration {
|
|
|
123
77
|
super(ctx, NodeType.CornerPathEffect, props);
|
|
124
78
|
}
|
|
125
79
|
|
|
126
|
-
|
|
80
|
+
decorate(ctx) {
|
|
127
81
|
const {
|
|
128
82
|
r
|
|
129
83
|
} = this.props;
|
|
130
84
|
const pe = this.Skia.PathEffect.MakeCorner(r);
|
|
131
85
|
|
|
132
86
|
if (pe === null) {
|
|
133
|
-
|
|
87
|
+
throw new Error("CornerPathEffectNode: couldn't create path effect");
|
|
134
88
|
}
|
|
135
89
|
|
|
136
|
-
|
|
90
|
+
this.composeAndPush(ctx, pe);
|
|
137
91
|
}
|
|
138
92
|
|
|
139
93
|
}
|
|
@@ -142,8 +96,11 @@ export class SumPathEffectNode extends PathEffectDeclaration {
|
|
|
142
96
|
super(ctx, NodeType.SumPathEffect, null);
|
|
143
97
|
}
|
|
144
98
|
|
|
145
|
-
|
|
146
|
-
|
|
99
|
+
decorate(ctx) {
|
|
100
|
+
this.decorateChildren(ctx);
|
|
101
|
+
const pes = ctx.pathEffects.popAll();
|
|
102
|
+
const pe = composeDeclarations(pes, this.Skia.PathEffect.MakeSum.bind(this.Skia.PathEffect));
|
|
103
|
+
ctx.pathEffects.push(pe);
|
|
147
104
|
}
|
|
148
105
|
|
|
149
106
|
}
|
|
@@ -152,7 +109,7 @@ export class Line2DPathEffectNode extends PathEffectDeclaration {
|
|
|
152
109
|
super(ctx, NodeType.Line2DPathEffect, props);
|
|
153
110
|
}
|
|
154
111
|
|
|
155
|
-
|
|
112
|
+
decorate(ctx) {
|
|
156
113
|
const {
|
|
157
114
|
width,
|
|
158
115
|
matrix
|
|
@@ -160,10 +117,10 @@ export class Line2DPathEffectNode extends PathEffectDeclaration {
|
|
|
160
117
|
const pe = this.Skia.PathEffect.MakeLine2D(width, matrix);
|
|
161
118
|
|
|
162
119
|
if (pe === null) {
|
|
163
|
-
|
|
120
|
+
throw new Error("Line2DPathEffectNode: could not create path effect");
|
|
164
121
|
}
|
|
165
122
|
|
|
166
|
-
|
|
123
|
+
this.composeAndPush(ctx, pe);
|
|
167
124
|
}
|
|
168
125
|
|
|
169
126
|
}
|
|
@@ -172,7 +129,7 @@ export class Path1DPathEffectNode extends PathEffectDeclaration {
|
|
|
172
129
|
super(ctx, NodeType.Path1DPathEffect, props);
|
|
173
130
|
}
|
|
174
131
|
|
|
175
|
-
|
|
132
|
+
decorate(ctx) {
|
|
176
133
|
const {
|
|
177
134
|
advance,
|
|
178
135
|
phase,
|
|
@@ -182,10 +139,10 @@ export class Path1DPathEffectNode extends PathEffectDeclaration {
|
|
|
182
139
|
const pe = this.Skia.PathEffect.MakePath1D(path, advance, phase, Path1DEffectStyle[enumKey(style)]);
|
|
183
140
|
|
|
184
141
|
if (pe === null) {
|
|
185
|
-
|
|
142
|
+
throw new Error("Path1DPathEffectNode: could not create path effect");
|
|
186
143
|
}
|
|
187
144
|
|
|
188
|
-
|
|
145
|
+
this.composeAndPush(ctx, pe);
|
|
189
146
|
}
|
|
190
147
|
|
|
191
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Path1DEffectStyle","JsiDeclarationNode","DeclarationType","NodeType","enumKey","processPath","PathEffectDeclaration","constructor","ctx","type","props","PathEffect","addChild","child","Error","insertChildBefore","before","compose","pe","children","_children","length","Skia","MakeCompose","reduce","acc","materialize","getOptionalChildInstance","index","getMandatoryChildInstance","isPathEffect","DiscretePathEffectNode","DiscretePathEffect","deviation","seed","MakeDiscrete","Path2DPathEffectNode","Path2DPathEffect","matrix","path","MakePath2D","DashPathEffectNode","DashPathEffect","intervals","phase","MakeDash","CornerPathEffectNode","CornerPathEffect","r","MakeCorner","SumPathEffectNode","SumPathEffect","MakeSum","Line2DPathEffectNode","Line2DPathEffect","width","MakeLine2D","Path1DPathEffectNode","Path1DPathEffect","advance","style","MakePath1D"],"sources":["PathEffects.ts"],"sourcesContent":["import { Path1DEffectStyle } from \"../../../skia/types\";\nimport type { SkPathEffect } from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Node,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { enumKey } from \"../datatypes/Enum\";\nimport { processPath } from \"../datatypes\";\n\nabstract class PathEffectDeclaration<\n P,\n Nullable extends null | never = never\n> extends JsiDeclarationNode<P, SkPathEffect, Nullable> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.PathEffect, type, props);\n }\n\n addChild(child: Node<unknown>) {\n if (!(child instanceof PathEffectDeclaration)) {\n throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);\n }\n super.addChild(child);\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>): void {\n if (!(child instanceof PathEffectDeclaration)) {\n throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);\n }\n super.insertChildBefore(child, before);\n }\n\n compose(pe: SkPathEffect) {\n const children = this._children as PathEffectDeclaration<unknown>[];\n if (this._children.length === 0) {\n return pe;\n } else {\n return this.Skia.PathEffect.MakeCompose(\n pe,\n children.reduce<SkPathEffect | null>((acc, child) => {\n if (acc === null) {\n return child.materialize();\n }\n return this.Skia.PathEffect.MakeCompose(acc, child.materialize());\n }, null) as SkPathEffect\n );\n }\n }\n getOptionalChildInstance(index: number) {\n const child = this._children[index];\n if (!child) {\n return null;\n }\n return this.getMandatoryChildInstance(index);\n }\n\n getMandatoryChildInstance(index: number) {\n const child = this._children[index];\n if (child instanceof JsiDeclarationNode) {\n if (child.isPathEffect()) {\n return child.materialize();\n } else {\n throw new Error(`Found invalid child ${child.type} in ${this.type}`);\n }\n } else {\n throw new Error(`Found invalid child ${child.type} in ${this.type}`);\n }\n }\n}\n\nexport class DiscretePathEffectNode extends PathEffectDeclaration<DiscretePathEffectProps> {\n constructor(ctx: NodeContext, props: DiscretePathEffectProps) {\n super(ctx, NodeType.DiscretePathEffect, props);\n }\n\n materialize() {\n const { length, deviation, seed } = this.props;\n const pe = this.Skia.PathEffect.MakeDiscrete(length, deviation, seed);\n return this.compose(pe);\n }\n}\n\nexport class Path2DPathEffectNode extends PathEffectDeclaration<\n Path2DPathEffectProps,\n null\n> {\n constructor(ctx: NodeContext, props: Path2DPathEffectProps) {\n super(ctx, NodeType.Path2DPathEffect, props);\n }\n\n materialize() {\n const { matrix } = this.props;\n const path = processPath(this.Skia, this.props.path);\n const pe = this.Skia.PathEffect.MakePath2D(matrix, path);\n if (pe === null) {\n return null;\n }\n return this.compose(pe);\n }\n}\n\nexport class DashPathEffectNode extends PathEffectDeclaration<DashPathEffectProps> {\n constructor(ctx: NodeContext, props: DashPathEffectProps) {\n super(ctx, NodeType.DashPathEffect, props);\n }\n\n materialize() {\n const { intervals, phase } = this.props;\n const pe = this.Skia.PathEffect.MakeDash(intervals, phase);\n return this.compose(pe);\n }\n}\n\nexport class CornerPathEffectNode extends PathEffectDeclaration<\n CornerPathEffectProps,\n null\n> {\n constructor(ctx: NodeContext, props: CornerPathEffectProps) {\n super(ctx, NodeType.CornerPathEffect, props);\n }\n\n materialize() {\n const { r } = this.props;\n const pe = this.Skia.PathEffect.MakeCorner(r);\n if (pe === null) {\n return null;\n }\n return this.compose(pe);\n }\n}\n\nexport class SumPathEffectNode extends PathEffectDeclaration<null> {\n constructor(ctx: NodeContext) {\n super(ctx, NodeType.SumPathEffect, null);\n }\n\n materialize() {\n return this.Skia.PathEffect.MakeSum(\n this.getMandatoryChildInstance(0),\n this.getMandatoryChildInstance(1)\n );\n }\n}\n\nexport class Line2DPathEffectNode extends PathEffectDeclaration<\n Line2DPathEffectProps,\n null\n> {\n constructor(ctx: NodeContext, props: Line2DPathEffectProps) {\n super(ctx, NodeType.Line2DPathEffect, props);\n }\n\n materialize() {\n const { width, matrix } = this.props;\n const pe = this.Skia.PathEffect.MakeLine2D(width, matrix);\n if (pe === null) {\n return null;\n }\n return this.compose(pe);\n }\n}\n\nexport class Path1DPathEffectNode extends PathEffectDeclaration<\n Path1DPathEffectProps,\n null\n> {\n constructor(ctx: NodeContext, props: Path1DPathEffectProps) {\n super(ctx, NodeType.Path1DPathEffect, props);\n }\n\n materialize() {\n const { advance, phase, style } = this.props;\n const path = processPath(this.Skia, this.props.path);\n const pe = this.Skia.PathEffect.MakePath1D(\n path,\n advance,\n phase,\n Path1DEffectStyle[enumKey(style)]\n );\n if (pe === null) {\n return null;\n }\n return this.compose(pe);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Path1DEffectStyle","JsiDeclarationNode","DeclarationType","NodeType","enumKey","processPath","composeDeclarations","PathEffectDeclaration","constructor","ctx","type","props","PathEffect","composeAndPush","pe1","save","decorateChildren","pe2","pathEffects","popAllAsOne","restore","pe","Skia","MakeCompose","push","DiscretePathEffectNode","DiscretePathEffect","decorate","length","deviation","seed","MakeDiscrete","Path2DPathEffectNode","Path2DPathEffect","matrix","path","MakePath2D","Error","DashPathEffectNode","DashPathEffect","intervals","phase","MakeDash","CornerPathEffectNode","CornerPathEffect","r","MakeCorner","SumPathEffectNode","SumPathEffect","pes","popAll","MakeSum","bind","Line2DPathEffectNode","Line2DPathEffect","width","MakeLine2D","Path1DPathEffectNode","Path1DPathEffect","advance","style","MakePath1D"],"sources":["PathEffects.ts"],"sourcesContent":["import { Path1DEffectStyle } from \"../../../skia/types\";\nimport type { SkPathEffect } from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { enumKey } from \"../datatypes/Enum\";\nimport { processPath } from \"../datatypes\";\nimport type { DeclarationContext } from \"../../types/DeclarationContext\";\nimport { composeDeclarations } from \"../../types/DeclarationContext\";\n\nabstract class PathEffectDeclaration<P> extends JsiDeclarationNode<P> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.PathEffect, type, props);\n }\n\n protected composeAndPush(ctx: DeclarationContext, pe1: SkPathEffect) {\n ctx.save();\n this.decorateChildren(ctx);\n const pe2 = ctx.pathEffects.popAllAsOne();\n ctx.restore();\n const pe = pe2 ? this.Skia.PathEffect.MakeCompose(pe1, pe2) : pe1;\n ctx.pathEffects.push(pe);\n }\n}\n\nexport class DiscretePathEffectNode extends PathEffectDeclaration<DiscretePathEffectProps> {\n constructor(ctx: NodeContext, props: DiscretePathEffectProps) {\n super(ctx, NodeType.DiscretePathEffect, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { length, deviation, seed } = this.props;\n const pe = this.Skia.PathEffect.MakeDiscrete(length, deviation, seed);\n this.composeAndPush(ctx, pe);\n }\n}\n\nexport class Path2DPathEffectNode extends PathEffectDeclaration<Path2DPathEffectProps> {\n constructor(ctx: NodeContext, props: Path2DPathEffectProps) {\n super(ctx, NodeType.Path2DPathEffect, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { matrix } = this.props;\n const path = processPath(this.Skia, this.props.path);\n const pe = this.Skia.PathEffect.MakePath2D(matrix, path);\n if (pe === null) {\n throw new Error(\"Path2DPathEffectNode: invalid path\");\n }\n this.composeAndPush(ctx, pe);\n }\n}\n\nexport class DashPathEffectNode extends PathEffectDeclaration<DashPathEffectProps> {\n constructor(ctx: NodeContext, props: DashPathEffectProps) {\n super(ctx, NodeType.DashPathEffect, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { intervals, phase } = this.props;\n const pe = this.Skia.PathEffect.MakeDash(intervals, phase);\n this.composeAndPush(ctx, pe);\n }\n}\n\nexport class CornerPathEffectNode extends PathEffectDeclaration<CornerPathEffectProps> {\n constructor(ctx: NodeContext, props: CornerPathEffectProps) {\n super(ctx, NodeType.CornerPathEffect, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { r } = this.props;\n const pe = this.Skia.PathEffect.MakeCorner(r);\n if (pe === null) {\n throw new Error(\"CornerPathEffectNode: couldn't create path effect\");\n }\n this.composeAndPush(ctx, pe);\n }\n}\n\nexport class SumPathEffectNode extends PathEffectDeclaration<null> {\n constructor(ctx: NodeContext) {\n super(ctx, NodeType.SumPathEffect, null);\n }\n\n decorate(ctx: DeclarationContext) {\n this.decorateChildren(ctx);\n const pes = ctx.pathEffects.popAll();\n const pe = composeDeclarations(\n pes,\n this.Skia.PathEffect.MakeSum.bind(this.Skia.PathEffect)\n );\n ctx.pathEffects.push(pe);\n }\n}\n\nexport class Line2DPathEffectNode extends PathEffectDeclaration<Line2DPathEffectProps> {\n constructor(ctx: NodeContext, props: Line2DPathEffectProps) {\n super(ctx, NodeType.Line2DPathEffect, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { width, matrix } = this.props;\n const pe = this.Skia.PathEffect.MakeLine2D(width, matrix);\n if (pe === null) {\n throw new Error(\"Line2DPathEffectNode: could not create path effect\");\n }\n this.composeAndPush(ctx, pe);\n }\n}\n\nexport class Path1DPathEffectNode extends PathEffectDeclaration<Path1DPathEffectProps> {\n constructor(ctx: NodeContext, props: Path1DPathEffectProps) {\n super(ctx, NodeType.Path1DPathEffect, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { advance, phase, style } = this.props;\n const path = processPath(this.Skia, this.props.path);\n const pe = this.Skia.PathEffect.MakePath1D(\n path,\n advance,\n phase,\n Path1DEffectStyle[enumKey(style)]\n );\n if (pe === null) {\n throw new Error(\"Path1DPathEffectNode: could not create path effect\");\n }\n this.composeAndPush(ctx, pe);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,44 +1,43 @@
|
|
|
1
|
-
import type { SkShader } from "../../../skia/types";
|
|
2
1
|
import type { NodeContext } from "../Node";
|
|
3
2
|
import { JsiDeclarationNode } from "../Node";
|
|
4
|
-
import type { ColorProps, FractalNoiseProps, ImageShaderProps, LinearGradientProps, RadialGradientProps, ShaderProps, SweepGradientProps, TurbulenceProps, TwoPointConicalGradientProps } from "../../types";
|
|
3
|
+
import type { ColorProps, DeclarationContext, FractalNoiseProps, ImageShaderProps, LinearGradientProps, RadialGradientProps, ShaderProps, SweepGradientProps, TurbulenceProps, TwoPointConicalGradientProps } from "../../types";
|
|
5
4
|
import { NodeType } from "../../types";
|
|
6
|
-
export declare abstract class ShaderDeclaration<P> extends JsiDeclarationNode<P
|
|
5
|
+
export declare abstract class ShaderDeclaration<P> extends JsiDeclarationNode<P> {
|
|
7
6
|
constructor(ctx: NodeContext, type: NodeType, props: P);
|
|
8
7
|
}
|
|
9
8
|
export declare class ShaderNode extends ShaderDeclaration<ShaderProps> {
|
|
10
9
|
constructor(ctx: NodeContext, props: ShaderProps);
|
|
11
|
-
|
|
10
|
+
decorate(ctx: DeclarationContext): void;
|
|
12
11
|
}
|
|
13
12
|
export declare class ImageShaderNode extends ShaderDeclaration<ImageShaderProps> {
|
|
14
13
|
constructor(ctx: NodeContext, props: ImageShaderProps);
|
|
15
|
-
|
|
14
|
+
decorate(ctx: DeclarationContext): void;
|
|
16
15
|
}
|
|
17
16
|
export declare class ColorNode extends ShaderDeclaration<ColorProps> {
|
|
18
17
|
constructor(ctx: NodeContext, props: ColorProps);
|
|
19
|
-
|
|
18
|
+
decorate(ctx: DeclarationContext): void;
|
|
20
19
|
}
|
|
21
20
|
export declare class TurbulenceNode extends ShaderDeclaration<TurbulenceProps> {
|
|
22
21
|
constructor(ctx: NodeContext, props: TurbulenceProps);
|
|
23
|
-
|
|
22
|
+
decorate(ctx: DeclarationContext): void;
|
|
24
23
|
}
|
|
25
24
|
export declare class FractalNoiseNode extends ShaderDeclaration<FractalNoiseProps> {
|
|
26
25
|
constructor(ctx: NodeContext, props: FractalNoiseProps);
|
|
27
|
-
|
|
26
|
+
decorate(ctx: DeclarationContext): void;
|
|
28
27
|
}
|
|
29
28
|
export declare class LinearGradientNode extends ShaderDeclaration<LinearGradientProps> {
|
|
30
29
|
constructor(ctx: NodeContext, props: LinearGradientProps);
|
|
31
|
-
|
|
30
|
+
decorate(ctx: DeclarationContext): void;
|
|
32
31
|
}
|
|
33
32
|
export declare class RadialGradientNode extends ShaderDeclaration<RadialGradientProps> {
|
|
34
33
|
constructor(ctx: NodeContext, props: RadialGradientProps);
|
|
35
|
-
|
|
34
|
+
decorate(ctx: DeclarationContext): void;
|
|
36
35
|
}
|
|
37
36
|
export declare class SweepGradientNode extends ShaderDeclaration<SweepGradientProps> {
|
|
38
37
|
constructor(ctx: NodeContext, props: SweepGradientProps);
|
|
39
|
-
|
|
38
|
+
decorate(ctx: DeclarationContext): void;
|
|
40
39
|
}
|
|
41
40
|
export declare class TwoPointConicalGradientNode extends ShaderDeclaration<TwoPointConicalGradientProps> {
|
|
42
41
|
constructor(ctx: NodeContext, props: TwoPointConicalGradientProps);
|
|
43
|
-
|
|
42
|
+
decorate(ctx: DeclarationContext): void;
|
|
44
43
|
}
|