@shopify/react-native-skia 1.8.0 → 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/cpp/api/JsiSkPaint.h +8 -1
- package/lib/commonjs/dom/types/Common.d.ts +6 -4
- package/lib/commonjs/dom/types/Common.js.map +1 -1
- package/lib/commonjs/dom/types/ImageFilters.d.ts +1 -1
- package/lib/commonjs/dom/types/ImageFilters.js.map +1 -1
- package/lib/commonjs/dom/types/Node.d.ts +0 -2
- package/lib/commonjs/dom/types/Node.js.map +1 -1
- package/lib/commonjs/external/reanimated/index.d.ts +0 -1
- package/lib/commonjs/external/reanimated/index.js +0 -11
- package/lib/commonjs/external/reanimated/index.js.map +1 -1
- package/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -1
- package/lib/commonjs/external/reanimated/renderHelpers.js +5 -43
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/skia/types/Paint/Paint.d.ts +1 -0
- package/lib/commonjs/skia/types/Paint/Paint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkPaint.js +3 -0
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/sksg/Container.d.ts +3 -2
- package/lib/commonjs/sksg/Container.js +32 -26
- package/lib/commonjs/sksg/Container.js.map +1 -1
- package/lib/commonjs/sksg/HostConfig.d.ts +2 -2
- package/lib/commonjs/sksg/HostConfig.js +7 -25
- package/lib/commonjs/sksg/HostConfig.js.map +1 -1
- package/lib/commonjs/sksg/Node.d.ts +19 -0
- package/lib/commonjs/sksg/Node.js +78 -0
- package/lib/commonjs/sksg/Node.js.map +1 -0
- package/lib/commonjs/sksg/Reconciler.d.ts +1 -1
- package/lib/commonjs/sksg/Recorder/Core.d.ts +79 -0
- package/lib/commonjs/sksg/Recorder/Core.js +110 -0
- package/lib/commonjs/sksg/Recorder/Core.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/DrawingContext.d.ts +18 -0
- package/lib/commonjs/sksg/Recorder/DrawingContext.js +105 -0
- package/lib/commonjs/sksg/Recorder/DrawingContext.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/Player.d.ts +3 -0
- package/lib/commonjs/sksg/Recorder/Player.js +127 -0
- package/lib/commonjs/sksg/Recorder/Player.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/Recorder.d.ts +50 -0
- package/lib/commonjs/sksg/Recorder/Recorder.js +288 -0
- package/lib/commonjs/sksg/Recorder/Recorder.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/Recording.d.ts +7 -0
- package/lib/commonjs/sksg/Recorder/Recording.js +12 -0
- package/lib/commonjs/sksg/Recorder/Recording.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/Visitor.d.ts +5 -0
- package/lib/commonjs/sksg/Recorder/Visitor.js +293 -0
- package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/Box.d.ts +13 -0
- package/lib/commonjs/sksg/Recorder/commands/Box.js +71 -0
- package/lib/commonjs/sksg/Recorder/commands/Box.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/CTM.d.ts +3 -0
- package/lib/commonjs/sksg/Recorder/commands/CTM.js +79 -0
- package/lib/commonjs/sksg/Recorder/commands/CTM.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/ColorFilters.d.ts +6 -0
- package/lib/commonjs/sksg/Recorder/commands/ColorFilters.js +76 -0
- package/lib/commonjs/sksg/Recorder/commands/ColorFilters.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/Drawing.d.ts +24 -0
- package/lib/commonjs/sksg/{nodes/drawings.js → Recorder/commands/Drawing.js} +5 -5
- package/lib/commonjs/sksg/Recorder/commands/Drawing.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/ImageFilters.d.ts +12 -0
- package/lib/commonjs/sksg/Recorder/commands/ImageFilters.js +183 -0
- package/lib/commonjs/sksg/Recorder/commands/ImageFilters.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/Paint.d.ts +4 -0
- package/lib/commonjs/sksg/Recorder/commands/Paint.js +70 -0
- package/lib/commonjs/sksg/Recorder/commands/Paint.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/PathEffects.d.ts +6 -0
- package/lib/commonjs/sksg/Recorder/commands/PathEffects.js +137 -0
- package/lib/commonjs/sksg/Recorder/commands/PathEffects.js.map +1 -0
- package/lib/commonjs/sksg/Recorder/commands/Shaders.d.ts +5 -0
- package/lib/commonjs/sksg/{nodes/shaders.js → Recorder/commands/Shaders.js} +58 -15
- package/lib/commonjs/sksg/Recorder/commands/Shaders.js.map +1 -0
- package/lib/commonjs/sksg/{nodes/utils.d.ts → utils.d.ts} +3 -0
- package/lib/commonjs/sksg/{nodes/utils.js → utils.js} +12 -2
- package/lib/commonjs/sksg/utils.js.map +1 -0
- package/lib/module/dom/types/Common.d.ts +6 -4
- package/lib/module/dom/types/Common.js.map +1 -1
- package/lib/module/dom/types/ImageFilters.d.ts +1 -1
- package/lib/module/dom/types/ImageFilters.js.map +1 -1
- package/lib/module/dom/types/Node.d.ts +0 -2
- package/lib/module/dom/types/Node.js.map +1 -1
- package/lib/module/external/reanimated/index.d.ts +0 -1
- package/lib/module/external/reanimated/index.js +0 -1
- package/lib/module/external/reanimated/index.js.map +1 -1
- package/lib/module/external/reanimated/renderHelpers.d.ts +0 -1
- package/lib/module/external/reanimated/renderHelpers.js +4 -42
- package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/module/skia/types/Paint/Paint.d.ts +1 -0
- package/lib/module/skia/types/Paint/Paint.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/module/skia/web/JsiSkPaint.js +3 -0
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/sksg/Container.d.ts +3 -2
- package/lib/module/sksg/Container.js +30 -24
- package/lib/module/sksg/Container.js.map +1 -1
- package/lib/module/sksg/HostConfig.d.ts +2 -2
- package/lib/module/sksg/HostConfig.js +7 -25
- package/lib/module/sksg/HostConfig.js.map +1 -1
- package/lib/module/sksg/Node.d.ts +19 -0
- package/lib/module/sksg/Node.js +67 -0
- package/lib/module/sksg/Node.js.map +1 -0
- package/lib/module/sksg/Reconciler.d.ts +1 -1
- package/lib/module/sksg/Recorder/Core.d.ts +79 -0
- package/lib/module/sksg/Recorder/Core.js +101 -0
- package/lib/module/sksg/Recorder/Core.js.map +1 -0
- package/lib/module/sksg/Recorder/DrawingContext.d.ts +18 -0
- package/lib/module/sksg/Recorder/DrawingContext.js +98 -0
- package/lib/module/sksg/Recorder/DrawingContext.js.map +1 -0
- package/lib/module/sksg/Recorder/Player.d.ts +3 -0
- package/lib/module/sksg/Recorder/Player.js +120 -0
- package/lib/module/sksg/Recorder/Player.js.map +1 -0
- package/lib/module/sksg/Recorder/Recorder.d.ts +50 -0
- package/lib/module/sksg/Recorder/Recorder.js +281 -0
- package/lib/module/sksg/Recorder/Recorder.js.map +1 -0
- package/lib/module/sksg/Recorder/Recording.d.ts +7 -0
- package/lib/module/sksg/Recorder/Recording.js +5 -0
- package/lib/module/sksg/Recorder/Recording.js.map +1 -0
- package/lib/module/sksg/Recorder/Visitor.d.ts +5 -0
- package/lib/module/sksg/Recorder/Visitor.js +285 -0
- package/lib/module/sksg/Recorder/Visitor.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/Box.d.ts +13 -0
- package/lib/module/sksg/Recorder/commands/Box.js +63 -0
- package/lib/module/sksg/Recorder/commands/Box.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/CTM.d.ts +3 -0
- package/lib/module/sksg/Recorder/commands/CTM.js +72 -0
- package/lib/module/sksg/Recorder/commands/CTM.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/ColorFilters.d.ts +6 -0
- package/lib/module/sksg/Recorder/commands/ColorFilters.js +67 -0
- package/lib/module/sksg/Recorder/commands/ColorFilters.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/Drawing.d.ts +24 -0
- package/lib/module/sksg/{nodes/drawings.js → Recorder/commands/Drawing.js} +5 -5
- package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/ImageFilters.d.ts +12 -0
- package/lib/module/sksg/{nodes/imageFilters.js → Recorder/commands/ImageFilters.js} +87 -95
- package/lib/module/sksg/Recorder/commands/ImageFilters.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/Paint.d.ts +4 -0
- package/lib/module/sksg/Recorder/commands/Paint.js +62 -0
- package/lib/module/sksg/Recorder/commands/Paint.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/PathEffects.d.ts +6 -0
- package/lib/module/sksg/Recorder/commands/PathEffects.js +128 -0
- package/lib/module/sksg/Recorder/commands/PathEffects.js.map +1 -0
- package/lib/module/sksg/Recorder/commands/Shaders.d.ts +5 -0
- package/lib/module/sksg/{nodes/shaders.js → Recorder/commands/Shaders.js} +63 -13
- package/lib/module/sksg/Recorder/commands/Shaders.js.map +1 -0
- package/lib/module/sksg/{nodes/utils.d.ts → utils.d.ts} +3 -0
- package/lib/module/sksg/{nodes/utils.js → utils.js} +10 -1
- package/lib/module/sksg/utils.js.map +1 -0
- package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/Container.d.ts +4 -0
- package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +1 -3
- package/lib/typescript/lib/commonjs/sksg/Node.d.ts +14 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/Core.d.ts +5 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/DrawingContext.d.ts +17 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/Player.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/Recorder.d.ts +45 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/Recording.d.ts +5 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/Visitor.d.ts +27 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/Box.d.ts +3 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/CTM.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/ColorFilters.d.ts +4 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/ImageFilters.d.ts +6 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/Paint.d.ts +14 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/PathEffects.d.ts +4 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/commands/Shaders.d.ts +3 -0
- package/lib/typescript/lib/commonjs/sksg/{nodes/utils.d.ts → utils.d.ts} +1 -0
- package/lib/typescript/lib/module/external/reanimated/index.d.ts +0 -1
- package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Container.d.ts +4 -0
- package/lib/typescript/lib/module/sksg/HostConfig.d.ts +1 -3
- package/lib/typescript/lib/module/sksg/Node.d.ts +13 -0
- package/lib/typescript/lib/module/sksg/Recorder/Core.d.ts +4 -0
- package/lib/typescript/lib/module/sksg/Recorder/DrawingContext.d.ts +16 -0
- package/lib/typescript/lib/module/sksg/Recorder/Player.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Recorder/Recorder.d.ts +44 -0
- package/lib/typescript/lib/module/sksg/Recorder/Recording.d.ts +4 -0
- package/lib/typescript/lib/module/sksg/Recorder/Visitor.d.ts +26 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/Box.d.ts +2 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/CTM.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/ColorFilters.d.ts +3 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/ImageFilters.d.ts +5 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/Paint.d.ts +13 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/PathEffects.d.ts +3 -0
- package/lib/typescript/lib/module/sksg/Recorder/commands/Shaders.d.ts +2 -0
- package/lib/typescript/lib/module/sksg/{nodes/utils.d.ts → utils.d.ts} +1 -0
- package/lib/typescript/src/dom/types/Common.d.ts +6 -4
- package/lib/typescript/src/dom/types/ImageFilters.d.ts +1 -1
- package/lib/typescript/src/dom/types/Node.d.ts +0 -2
- package/lib/typescript/src/external/reanimated/index.d.ts +0 -1
- package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +0 -1
- package/lib/typescript/src/skia/types/Paint/Paint.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/typescript/src/sksg/Container.d.ts +3 -2
- package/lib/typescript/src/sksg/HostConfig.d.ts +2 -2
- package/lib/typescript/src/sksg/Node.d.ts +19 -0
- package/lib/typescript/src/sksg/Reconciler.d.ts +1 -1
- package/lib/typescript/src/sksg/Recorder/Core.d.ts +79 -0
- package/lib/typescript/src/sksg/Recorder/DrawingContext.d.ts +18 -0
- package/lib/typescript/src/sksg/Recorder/Player.d.ts +3 -0
- package/lib/typescript/src/sksg/Recorder/Recorder.d.ts +50 -0
- package/lib/typescript/src/sksg/Recorder/Recording.d.ts +7 -0
- package/lib/typescript/src/sksg/Recorder/Visitor.d.ts +5 -0
- package/lib/typescript/src/sksg/Recorder/commands/Box.d.ts +13 -0
- package/lib/typescript/src/sksg/Recorder/commands/CTM.d.ts +3 -0
- package/lib/typescript/src/sksg/Recorder/commands/ColorFilters.d.ts +6 -0
- package/lib/typescript/src/sksg/Recorder/commands/Drawing.d.ts +24 -0
- package/lib/typescript/src/sksg/Recorder/commands/ImageFilters.d.ts +12 -0
- package/lib/typescript/src/sksg/Recorder/commands/Paint.d.ts +4 -0
- package/lib/typescript/src/sksg/Recorder/commands/PathEffects.d.ts +6 -0
- package/lib/typescript/src/sksg/Recorder/commands/Shaders.d.ts +5 -0
- package/lib/typescript/src/sksg/{nodes/utils.d.ts → utils.d.ts} +3 -0
- package/package.json +1 -1
- package/src/__tests__/snapshots/image-filter/test-shadow.png +0 -0
- package/src/dom/types/Common.ts +7 -5
- package/src/dom/types/ImageFilters.ts +2 -1
- package/src/dom/types/Node.ts +0 -4
- package/src/external/reanimated/index.ts +0 -1
- package/src/external/reanimated/renderHelpers.ts +4 -44
- package/src/renderer/__tests__/e2e/ColorFilters.spec.tsx +15 -0
- package/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.tsx +23 -2
- package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +91 -2
- package/src/renderer/__tests__/setup.tsx +1 -1
- package/src/skia/types/Paint/Paint.ts +2 -0
- package/src/skia/web/JsiSkPaint.ts +4 -0
- package/src/sksg/Container.ts +35 -29
- package/src/sksg/HostConfig.ts +5 -50
- package/src/sksg/Node.ts +105 -0
- package/src/sksg/Recorder/Core.ts +171 -0
- package/src/sksg/Recorder/DrawingContext.ts +130 -0
- package/src/sksg/Recorder/Player.ts +160 -0
- package/src/sksg/Recorder/Recorder.ts +259 -0
- package/src/sksg/Recorder/Recording.ts +13 -0
- package/src/sksg/Recorder/Visitor.ts +324 -0
- package/src/sksg/Recorder/commands/Box.ts +63 -0
- package/src/sksg/Recorder/commands/CTM.ts +72 -0
- package/src/sksg/Recorder/commands/ColorFilters.ts +87 -0
- package/src/sksg/{nodes/drawings.ts → Recorder/commands/Drawing.ts} +29 -65
- package/src/sksg/Recorder/commands/ImageFilters.ts +255 -0
- package/src/sksg/Recorder/commands/Paint.ts +77 -0
- package/src/sksg/Recorder/commands/PathEffects.ts +169 -0
- package/src/sksg/{nodes/shaders.ts → Recorder/commands/Shaders.ts} +100 -26
- package/src/sksg/{nodes/utils.ts → utils.ts} +14 -1
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.d.ts +0 -1
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js +0 -24
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js.map +0 -1
- package/lib/commonjs/sksg/DeclarationContext.d.ts +0 -56
- package/lib/commonjs/sksg/DeclarationContext.js +0 -77
- package/lib/commonjs/sksg/DeclarationContext.js.map +0 -1
- package/lib/commonjs/sksg/DrawingContext.d.ts +0 -13
- package/lib/commonjs/sksg/DrawingContext.js +0 -172
- package/lib/commonjs/sksg/DrawingContext.js.map +0 -1
- package/lib/commonjs/sksg/__tests__/Declarations.spec.d.ts +0 -1
- package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +0 -57
- package/lib/commonjs/sksg/nodes/Node.d.ts +0 -7
- package/lib/commonjs/sksg/nodes/Node.js +0 -6
- package/lib/commonjs/sksg/nodes/Node.js.map +0 -1
- package/lib/commonjs/sksg/nodes/colorFilters.d.ts +0 -10
- package/lib/commonjs/sksg/nodes/colorFilters.js +0 -79
- package/lib/commonjs/sksg/nodes/colorFilters.js.map +0 -1
- package/lib/commonjs/sksg/nodes/context.d.ts +0 -3
- package/lib/commonjs/sksg/nodes/context.js +0 -394
- package/lib/commonjs/sksg/nodes/context.js.map +0 -1
- package/lib/commonjs/sksg/nodes/drawings.d.ts +0 -30
- package/lib/commonjs/sksg/nodes/drawings.js.map +0 -1
- package/lib/commonjs/sksg/nodes/imageFilters.d.ts +0 -17
- package/lib/commonjs/sksg/nodes/imageFilters.js +0 -197
- package/lib/commonjs/sksg/nodes/imageFilters.js.map +0 -1
- package/lib/commonjs/sksg/nodes/index.d.ts +0 -3
- package/lib/commonjs/sksg/nodes/index.js +0 -39
- package/lib/commonjs/sksg/nodes/index.js.map +0 -1
- package/lib/commonjs/sksg/nodes/paint.d.ts +0 -3
- package/lib/commonjs/sksg/nodes/paint.js +0 -81
- package/lib/commonjs/sksg/nodes/paint.js.map +0 -1
- package/lib/commonjs/sksg/nodes/pathEffects.d.ts +0 -11
- package/lib/commonjs/sksg/nodes/pathEffects.js +0 -111
- package/lib/commonjs/sksg/nodes/pathEffects.js.map +0 -1
- package/lib/commonjs/sksg/nodes/shaders.d.ts +0 -11
- package/lib/commonjs/sksg/nodes/shaders.js.map +0 -1
- package/lib/commonjs/sksg/nodes/utils.js.map +0 -1
- package/lib/module/external/reanimated/useDerivedValueOnJS.d.ts +0 -1
- package/lib/module/external/reanimated/useDerivedValueOnJS.js +0 -16
- package/lib/module/external/reanimated/useDerivedValueOnJS.js.map +0 -1
- package/lib/module/sksg/DeclarationContext.d.ts +0 -56
- package/lib/module/sksg/DeclarationContext.js +0 -69
- package/lib/module/sksg/DeclarationContext.js.map +0 -1
- package/lib/module/sksg/DrawingContext.d.ts +0 -13
- package/lib/module/sksg/DrawingContext.js +0 -165
- package/lib/module/sksg/DrawingContext.js.map +0 -1
- package/lib/module/sksg/__tests__/Declarations.spec.d.ts +0 -1
- package/lib/module/sksg/__tests__/MockDeclaration.d.ts +0 -57
- package/lib/module/sksg/nodes/Node.d.ts +0 -7
- package/lib/module/sksg/nodes/Node.js +0 -2
- package/lib/module/sksg/nodes/Node.js.map +0 -1
- package/lib/module/sksg/nodes/colorFilters.d.ts +0 -10
- package/lib/module/sksg/nodes/colorFilters.js +0 -66
- package/lib/module/sksg/nodes/colorFilters.js.map +0 -1
- package/lib/module/sksg/nodes/context.d.ts +0 -3
- package/lib/module/sksg/nodes/context.js +0 -387
- package/lib/module/sksg/nodes/context.js.map +0 -1
- package/lib/module/sksg/nodes/drawings.d.ts +0 -30
- package/lib/module/sksg/nodes/drawings.js.map +0 -1
- package/lib/module/sksg/nodes/imageFilters.d.ts +0 -17
- package/lib/module/sksg/nodes/imageFilters.js.map +0 -1
- package/lib/module/sksg/nodes/index.d.ts +0 -3
- package/lib/module/sksg/nodes/index.js +0 -4
- package/lib/module/sksg/nodes/index.js.map +0 -1
- package/lib/module/sksg/nodes/paint.d.ts +0 -3
- package/lib/module/sksg/nodes/paint.js +0 -74
- package/lib/module/sksg/nodes/paint.js.map +0 -1
- package/lib/module/sksg/nodes/pathEffects.d.ts +0 -11
- package/lib/module/sksg/nodes/pathEffects.js +0 -97
- package/lib/module/sksg/nodes/pathEffects.js.map +0 -1
- package/lib/module/sksg/nodes/shaders.d.ts +0 -11
- package/lib/module/sksg/nodes/shaders.js.map +0 -1
- package/lib/module/sksg/nodes/utils.js.map +0 -1
- package/lib/typescript/lib/commonjs/external/reanimated/useDerivedValueOnJS.d.ts +0 -2
- package/lib/typescript/lib/commonjs/sksg/DeclarationContext.d.ts +0 -53
- package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +0 -22
- package/lib/typescript/lib/commonjs/sksg/nodes/Node.d.ts +0 -1
- package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +0 -8
- package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +0 -2
- package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +0 -12
- package/lib/typescript/lib/commonjs/sksg/nodes/index.d.ts +0 -1
- package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +0 -2
- package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +0 -9
- package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +0 -10
- package/lib/typescript/lib/module/external/reanimated/useDerivedValueOnJS.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/DeclarationContext.d.ts +0 -52
- package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +0 -21
- package/lib/typescript/lib/module/sksg/nodes/Node.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +0 -7
- package/lib/typescript/lib/module/sksg/nodes/context.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +0 -11
- package/lib/typescript/lib/module/sksg/nodes/index.d.ts +0 -3
- package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +0 -8
- package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +0 -9
- package/lib/typescript/src/external/reanimated/useDerivedValueOnJS.d.ts +0 -1
- package/lib/typescript/src/sksg/DeclarationContext.d.ts +0 -56
- package/lib/typescript/src/sksg/DrawingContext.d.ts +0 -13
- package/lib/typescript/src/sksg/__tests__/Declarations.spec.d.ts +0 -1
- package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +0 -57
- package/lib/typescript/src/sksg/nodes/Node.d.ts +0 -7
- package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +0 -10
- package/lib/typescript/src/sksg/nodes/context.d.ts +0 -3
- package/lib/typescript/src/sksg/nodes/drawings.d.ts +0 -30
- package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +0 -17
- package/lib/typescript/src/sksg/nodes/index.d.ts +0 -3
- package/lib/typescript/src/sksg/nodes/paint.d.ts +0 -3
- package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +0 -11
- package/lib/typescript/src/sksg/nodes/shaders.d.ts +0 -11
- package/src/external/reanimated/useDerivedValueOnJS.ts +0 -20
- package/src/sksg/DeclarationContext.ts +0 -85
- package/src/sksg/DrawingContext.ts +0 -226
- package/src/sksg/__tests__/Declarations.spec.tsx +0 -235
- package/src/sksg/__tests__/MockDeclaration.ts +0 -138
- package/src/sksg/nodes/Node.ts +0 -8
- package/src/sksg/nodes/colorFilters.ts +0 -79
- package/src/sksg/nodes/context.ts +0 -412
- package/src/sksg/nodes/imageFilters.ts +0 -235
- package/src/sksg/nodes/index.ts +0 -3
- package/src/sksg/nodes/paint.ts +0 -75
- package/src/sksg/nodes/pathEffects.ts +0 -118
- /package/lib/typescript/lib/commonjs/sksg/{nodes/drawings.d.ts → Recorder/commands/Drawing.d.ts} +0 -0
- /package/lib/typescript/lib/module/sksg/{nodes/drawings.d.ts → Recorder/commands/Drawing.d.ts} +0 -0
@@ -0,0 +1,169 @@
|
|
1
|
+
import { enumKey, processPath } from "../../../dom/nodes";
|
2
|
+
import { NodeType } from "../../../dom/types";
|
3
|
+
import type {
|
4
|
+
CornerPathEffectProps,
|
5
|
+
DashPathEffectProps,
|
6
|
+
DiscretePathEffectProps,
|
7
|
+
Line2DPathEffectProps,
|
8
|
+
Path1DPathEffectProps,
|
9
|
+
Path2DPathEffectProps,
|
10
|
+
} from "../../../dom/types";
|
11
|
+
import { Path1DEffectStyle } from "../../../skia/types";
|
12
|
+
import { composeDeclarations } from "../../utils";
|
13
|
+
import type { Command } from "../Core";
|
14
|
+
import { CommandType } from "../Core";
|
15
|
+
import type { DrawingContext } from "../DrawingContext";
|
16
|
+
|
17
|
+
const declareDiscretePathEffect = (
|
18
|
+
ctx: DrawingContext,
|
19
|
+
props: DiscretePathEffectProps
|
20
|
+
) => {
|
21
|
+
"worklet";
|
22
|
+
const { length, deviation, seed } = props;
|
23
|
+
const pe = ctx.Skia.PathEffect.MakeDiscrete(length, deviation, seed);
|
24
|
+
ctx.pathEffects.push(pe);
|
25
|
+
};
|
26
|
+
|
27
|
+
const declarePath2DPathEffect = (
|
28
|
+
ctx: DrawingContext,
|
29
|
+
props: Path2DPathEffectProps
|
30
|
+
) => {
|
31
|
+
"worklet";
|
32
|
+
const { matrix } = props;
|
33
|
+
const path = processPath(ctx.Skia, props.path);
|
34
|
+
const pe = ctx.Skia.PathEffect.MakePath2D(matrix, path);
|
35
|
+
if (pe === null) {
|
36
|
+
throw new Error("Path2DPathEffect: invalid path");
|
37
|
+
}
|
38
|
+
ctx.pathEffects.push(pe);
|
39
|
+
};
|
40
|
+
|
41
|
+
const declareDashPathEffect = (
|
42
|
+
ctx: DrawingContext,
|
43
|
+
props: DashPathEffectProps
|
44
|
+
) => {
|
45
|
+
"worklet";
|
46
|
+
const { intervals, phase } = props;
|
47
|
+
const pe = ctx.Skia.PathEffect.MakeDash(intervals, phase);
|
48
|
+
ctx.pathEffects.push(pe);
|
49
|
+
};
|
50
|
+
|
51
|
+
const declareCornerPathEffect = (
|
52
|
+
ctx: DrawingContext,
|
53
|
+
props: CornerPathEffectProps
|
54
|
+
) => {
|
55
|
+
"worklet";
|
56
|
+
const { r } = props;
|
57
|
+
const pe = ctx.Skia.PathEffect.MakeCorner(r);
|
58
|
+
if (pe === null) {
|
59
|
+
throw new Error("CornerPathEffect: couldn't create path effect");
|
60
|
+
}
|
61
|
+
ctx.pathEffects.push(pe);
|
62
|
+
};
|
63
|
+
|
64
|
+
const declareSumPathEffect = (ctx: DrawingContext) => {
|
65
|
+
"worklet";
|
66
|
+
// Note: decorateChildren functionality needs to be handled differently
|
67
|
+
const pes = ctx.pathEffects.splice(0, ctx.pathEffects.length);
|
68
|
+
const pe = composeDeclarations(
|
69
|
+
pes,
|
70
|
+
ctx.Skia.PathEffect.MakeSum.bind(ctx.Skia.PathEffect)
|
71
|
+
);
|
72
|
+
ctx.pathEffects.push(pe);
|
73
|
+
};
|
74
|
+
|
75
|
+
const declareLine2DPathEffect = (
|
76
|
+
ctx: DrawingContext,
|
77
|
+
props: Line2DPathEffectProps
|
78
|
+
) => {
|
79
|
+
"worklet";
|
80
|
+
const { width, matrix } = props;
|
81
|
+
const pe = ctx.Skia.PathEffect.MakeLine2D(width, matrix);
|
82
|
+
if (pe === null) {
|
83
|
+
throw new Error("Line2DPathEffect: could not create path effect");
|
84
|
+
}
|
85
|
+
ctx.pathEffects.push(pe);
|
86
|
+
};
|
87
|
+
|
88
|
+
const declarePath1DPathEffect = (
|
89
|
+
ctx: DrawingContext,
|
90
|
+
props: Path1DPathEffectProps
|
91
|
+
) => {
|
92
|
+
"worklet";
|
93
|
+
const { advance, phase, style } = props;
|
94
|
+
const path = processPath(ctx.Skia, props.path);
|
95
|
+
const pe = ctx.Skia.PathEffect.MakePath1D(
|
96
|
+
path,
|
97
|
+
advance,
|
98
|
+
phase,
|
99
|
+
Path1DEffectStyle[enumKey(style)]
|
100
|
+
);
|
101
|
+
if (pe === null) {
|
102
|
+
throw new Error("Path1DPathEffect: could not create path effect");
|
103
|
+
}
|
104
|
+
ctx.pathEffects.push(pe);
|
105
|
+
};
|
106
|
+
|
107
|
+
export const isPushPathEffect = (
|
108
|
+
command: Command
|
109
|
+
): command is Command<CommandType.PushPathEffect> => {
|
110
|
+
"worklet";
|
111
|
+
return command.type === CommandType.PushPathEffect;
|
112
|
+
};
|
113
|
+
|
114
|
+
type Props = {
|
115
|
+
[NodeType.DiscretePathEffect]: DiscretePathEffectProps;
|
116
|
+
[NodeType.DashPathEffect]: DashPathEffectProps;
|
117
|
+
[NodeType.Path1DPathEffect]: Path1DPathEffectProps;
|
118
|
+
[NodeType.Path2DPathEffect]: Path2DPathEffectProps;
|
119
|
+
[NodeType.CornerPathEffect]: CornerPathEffectProps;
|
120
|
+
[NodeType.SumPathEffect]: Record<string, never>;
|
121
|
+
[NodeType.Line2DPathEffect]: Line2DPathEffectProps;
|
122
|
+
};
|
123
|
+
|
124
|
+
interface PushPathEffect<T extends keyof Props>
|
125
|
+
extends Command<CommandType.PushPathEffect> {
|
126
|
+
pathEffectType: T;
|
127
|
+
props: Props[T];
|
128
|
+
}
|
129
|
+
|
130
|
+
const isPathEffect = <T extends keyof Props>(
|
131
|
+
command: Command<CommandType.PushPathEffect>,
|
132
|
+
type: T
|
133
|
+
): command is PushPathEffect<T> => {
|
134
|
+
"worklet";
|
135
|
+
return command.pathEffectType === type;
|
136
|
+
};
|
137
|
+
|
138
|
+
export const composePathEffects = (ctx: DrawingContext) => {
|
139
|
+
"worklet";
|
140
|
+
if (ctx.pathEffects.length > 1) {
|
141
|
+
const outer = ctx.pathEffects.pop()!;
|
142
|
+
const inner = ctx.pathEffects.pop()!;
|
143
|
+
ctx.pathEffects.push(ctx.Skia.PathEffect.MakeCompose(outer, inner));
|
144
|
+
}
|
145
|
+
};
|
146
|
+
|
147
|
+
export const pushPathEffect = (
|
148
|
+
ctx: DrawingContext,
|
149
|
+
command: Command<CommandType.PushPathEffect>
|
150
|
+
) => {
|
151
|
+
"worklet";
|
152
|
+
if (isPathEffect(command, NodeType.DiscretePathEffect)) {
|
153
|
+
declareDiscretePathEffect(ctx, command.props);
|
154
|
+
} else if (isPathEffect(command, NodeType.DashPathEffect)) {
|
155
|
+
declareDashPathEffect(ctx, command.props);
|
156
|
+
} else if (isPathEffect(command, NodeType.Path1DPathEffect)) {
|
157
|
+
declarePath1DPathEffect(ctx, command.props);
|
158
|
+
} else if (isPathEffect(command, NodeType.Path2DPathEffect)) {
|
159
|
+
declarePath2DPathEffect(ctx, command.props);
|
160
|
+
} else if (isPathEffect(command, NodeType.CornerPathEffect)) {
|
161
|
+
declareCornerPathEffect(ctx, command.props);
|
162
|
+
} else if (isPathEffect(command, NodeType.SumPathEffect)) {
|
163
|
+
declareSumPathEffect(ctx);
|
164
|
+
} else if (isPathEffect(command, NodeType.Line2DPathEffect)) {
|
165
|
+
declareLine2DPathEffect(ctx, command.props);
|
166
|
+
} else {
|
167
|
+
throw new Error("Invalid image filter type: " + command.imageFilterType);
|
168
|
+
}
|
169
|
+
};
|
@@ -5,8 +5,10 @@ import {
|
|
5
5
|
processGradientProps,
|
6
6
|
processTransformProps,
|
7
7
|
rect2rect,
|
8
|
-
} from "
|
8
|
+
} from "../../../dom/nodes";
|
9
|
+
import { NodeType } from "../../../dom/types";
|
9
10
|
import type {
|
11
|
+
BlendProps,
|
10
12
|
ColorProps,
|
11
13
|
FractalNoiseProps,
|
12
14
|
ImageShaderProps,
|
@@ -16,40 +18,41 @@ import type {
|
|
16
18
|
SweepGradientProps,
|
17
19
|
TurbulenceProps,
|
18
20
|
TwoPointConicalGradientProps,
|
19
|
-
} from "
|
21
|
+
} from "../../../dom/types";
|
20
22
|
import {
|
23
|
+
BlendMode,
|
21
24
|
FilterMode,
|
22
25
|
MipmapMode,
|
23
26
|
processUniforms,
|
24
27
|
TileMode,
|
25
|
-
} from "
|
26
|
-
import
|
28
|
+
} from "../../../skia/types";
|
29
|
+
import { composeDeclarations } from "../../utils";
|
30
|
+
import type { Command } from "../Core";
|
31
|
+
import { CommandType } from "../Core";
|
32
|
+
import type { DrawingContext } from "../DrawingContext";
|
27
33
|
|
28
|
-
|
34
|
+
const declareShader = (ctx: DrawingContext, props: ShaderProps) => {
|
29
35
|
"worklet";
|
30
36
|
const { source, uniforms, ...transform } = props;
|
31
37
|
const m3 = ctx.Skia.Matrix();
|
32
38
|
processTransformProps(m3, transform);
|
33
39
|
const shader = source.makeShaderWithChildren(
|
34
40
|
processUniforms(source, uniforms),
|
35
|
-
ctx.shaders.
|
41
|
+
ctx.shaders.splice(0, ctx.shaders.length),
|
36
42
|
m3
|
37
43
|
);
|
38
44
|
ctx.shaders.push(shader);
|
39
45
|
};
|
40
46
|
|
41
|
-
|
42
|
-
ctx: DeclarationContext,
|
43
|
-
props: ColorProps
|
44
|
-
) => {
|
47
|
+
const declareColorShader = (ctx: DrawingContext, props: ColorProps) => {
|
45
48
|
"worklet";
|
46
49
|
const { color } = props;
|
47
50
|
const shader = ctx.Skia.Shader.MakeColor(ctx.Skia.Color(color));
|
48
51
|
ctx.shaders.push(shader);
|
49
52
|
};
|
50
53
|
|
51
|
-
|
52
|
-
ctx:
|
54
|
+
const declareFractalNoiseShader = (
|
55
|
+
ctx: DrawingContext,
|
53
56
|
props: FractalNoiseProps
|
54
57
|
) => {
|
55
58
|
"worklet";
|
@@ -65,8 +68,8 @@ export const declareFractalNoiseShader = (
|
|
65
68
|
ctx.shaders.push(shader);
|
66
69
|
};
|
67
70
|
|
68
|
-
|
69
|
-
ctx:
|
71
|
+
const declareTwoPointConicalGradientShader = (
|
72
|
+
ctx: DrawingContext,
|
70
73
|
props: TwoPointConicalGradientProps
|
71
74
|
) => {
|
72
75
|
"worklet";
|
@@ -89,8 +92,8 @@ export const declareTwoPointConicalGradientShader = (
|
|
89
92
|
ctx.shaders.push(shader);
|
90
93
|
};
|
91
94
|
|
92
|
-
|
93
|
-
ctx:
|
95
|
+
const declareRadialGradientShader = (
|
96
|
+
ctx: DrawingContext,
|
94
97
|
props: RadialGradientProps
|
95
98
|
) => {
|
96
99
|
"worklet";
|
@@ -111,8 +114,8 @@ export const declareRadialGradientShader = (
|
|
111
114
|
ctx.shaders.push(shader);
|
112
115
|
};
|
113
116
|
|
114
|
-
|
115
|
-
ctx:
|
117
|
+
const declareSweepGradientShader = (
|
118
|
+
ctx: DrawingContext,
|
116
119
|
props: SweepGradientProps
|
117
120
|
) => {
|
118
121
|
"worklet";
|
@@ -135,8 +138,8 @@ export const declareSweepGradientShader = (
|
|
135
138
|
ctx.shaders.push(shader);
|
136
139
|
};
|
137
140
|
|
138
|
-
|
139
|
-
ctx:
|
141
|
+
const declareLinearGradientShader = (
|
142
|
+
ctx: DrawingContext,
|
140
143
|
props: LinearGradientProps
|
141
144
|
) => {
|
142
145
|
"worklet";
|
@@ -157,8 +160,8 @@ export const declareLinearGradientShader = (
|
|
157
160
|
ctx.shaders.push(shader);
|
158
161
|
};
|
159
162
|
|
160
|
-
|
161
|
-
ctx:
|
163
|
+
const declareTurbulenceShader = (
|
164
|
+
ctx: DrawingContext,
|
162
165
|
props: TurbulenceProps
|
163
166
|
) => {
|
164
167
|
"worklet";
|
@@ -174,10 +177,7 @@ export const declareTurbulenceShader = (
|
|
174
177
|
ctx.shaders.push(shader);
|
175
178
|
};
|
176
179
|
|
177
|
-
|
178
|
-
ctx: DeclarationContext,
|
179
|
-
props: ImageShaderProps
|
180
|
-
) => {
|
180
|
+
const declareImageShader = (ctx: DrawingContext, props: ImageShaderProps) => {
|
181
181
|
"worklet";
|
182
182
|
const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = props;
|
183
183
|
if (!image) {
|
@@ -208,3 +208,77 @@ export const declareImageShader = (
|
|
208
208
|
);
|
209
209
|
ctx.shaders.push(shader);
|
210
210
|
};
|
211
|
+
|
212
|
+
const declareBlend = (ctx: DrawingContext, props: BlendProps) => {
|
213
|
+
"worklet";
|
214
|
+
const blend = BlendMode[enumKey(props.mode as BlendProps["mode"])];
|
215
|
+
const shaders = ctx.shaders.splice(0, ctx.shaders.length);
|
216
|
+
if (shaders.length > 0) {
|
217
|
+
const composer = ctx.Skia.Shader.MakeBlend.bind(ctx.Skia.Shader, blend);
|
218
|
+
ctx.shaders.push(composeDeclarations(shaders, composer));
|
219
|
+
}
|
220
|
+
};
|
221
|
+
|
222
|
+
export const isPushShader = (
|
223
|
+
command: Command
|
224
|
+
): command is Command<CommandType.PushShader> => {
|
225
|
+
"worklet";
|
226
|
+
return command.type === CommandType.PushShader;
|
227
|
+
};
|
228
|
+
|
229
|
+
type Props = {
|
230
|
+
[NodeType.Shader]: ShaderProps;
|
231
|
+
[NodeType.ImageShader]: ImageShaderProps;
|
232
|
+
[NodeType.ColorShader]: ColorProps;
|
233
|
+
[NodeType.Turbulence]: TurbulenceProps;
|
234
|
+
[NodeType.FractalNoise]: FractalNoiseProps;
|
235
|
+
[NodeType.LinearGradient]: LinearGradientProps;
|
236
|
+
[NodeType.RadialGradient]: RadialGradientProps;
|
237
|
+
[NodeType.SweepGradient]: SweepGradientProps;
|
238
|
+
[NodeType.TwoPointConicalGradient]: TwoPointConicalGradientProps;
|
239
|
+
[NodeType.Blend]: BlendProps;
|
240
|
+
};
|
241
|
+
|
242
|
+
interface PushShader<T extends keyof Props>
|
243
|
+
extends Command<CommandType.PushShader> {
|
244
|
+
shaderType: T;
|
245
|
+
props: Props[T];
|
246
|
+
}
|
247
|
+
|
248
|
+
const isShader = <T extends keyof Props>(
|
249
|
+
command: Command<CommandType.PushShader>,
|
250
|
+
type: T
|
251
|
+
): command is PushShader<T> => {
|
252
|
+
"worklet";
|
253
|
+
return command.shaderType === type;
|
254
|
+
};
|
255
|
+
|
256
|
+
export const pushShader = (
|
257
|
+
ctx: DrawingContext,
|
258
|
+
command: Command<CommandType.PushShader>
|
259
|
+
) => {
|
260
|
+
"worklet";
|
261
|
+
if (isShader(command, NodeType.Shader)) {
|
262
|
+
declareShader(ctx, command.props);
|
263
|
+
} else if (isShader(command, NodeType.ImageShader)) {
|
264
|
+
declareImageShader(ctx, command.props);
|
265
|
+
} else if (isShader(command, NodeType.ColorShader)) {
|
266
|
+
declareColorShader(ctx, command.props);
|
267
|
+
} else if (isShader(command, NodeType.Turbulence)) {
|
268
|
+
declareTurbulenceShader(ctx, command.props);
|
269
|
+
} else if (isShader(command, NodeType.FractalNoise)) {
|
270
|
+
declareFractalNoiseShader(ctx, command.props);
|
271
|
+
} else if (isShader(command, NodeType.LinearGradient)) {
|
272
|
+
declareLinearGradientShader(ctx, command.props);
|
273
|
+
} else if (isShader(command, NodeType.RadialGradient)) {
|
274
|
+
declareRadialGradientShader(ctx, command.props);
|
275
|
+
} else if (isShader(command, NodeType.SweepGradient)) {
|
276
|
+
declareSweepGradientShader(ctx, command.props);
|
277
|
+
} else if (isShader(command, NodeType.TwoPointConicalGradient)) {
|
278
|
+
declareTwoPointConicalGradientShader(ctx, command.props);
|
279
|
+
} else if (isShader(command, NodeType.Blend)) {
|
280
|
+
declareBlend(ctx, command.props);
|
281
|
+
} else {
|
282
|
+
throw new Error(`Unknown shader type: ${command.shaderType}`);
|
283
|
+
}
|
284
|
+
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { SharedValue } from "react-native-reanimated";
|
2
2
|
|
3
|
-
import { mapKeys } from "
|
3
|
+
import { mapKeys } from "../renderer/typeddash";
|
4
4
|
|
5
5
|
export const isSharedValue = <T = unknown>(
|
6
6
|
value: unknown
|
@@ -21,3 +21,16 @@ export const materialize = <T extends object>(props: T) => {
|
|
21
21
|
});
|
22
22
|
return result;
|
23
23
|
};
|
24
|
+
|
25
|
+
type Composer<T> = (outer: T, inner: T) => T;
|
26
|
+
|
27
|
+
export const composeDeclarations = <T>(filters: T[], composer: Composer<T>) => {
|
28
|
+
"worklet";
|
29
|
+
const len = filters.length;
|
30
|
+
if (len <= 1) {
|
31
|
+
return filters[0];
|
32
|
+
}
|
33
|
+
return filters.reduceRight((inner, outer) =>
|
34
|
+
inner ? composer(outer, inner) : outer
|
35
|
+
);
|
36
|
+
};
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare const useDerivedValueOnJS: (fn: () => any, deps: unknown[]) => import("react-native-reanimated").SharedValue<any>;
|
@@ -1,24 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.useDerivedValueOnJS = void 0;
|
7
|
-
var _react = require("react");
|
8
|
-
var _ReanimatedProxy = _interopRequireDefault(require("./ReanimatedProxy"));
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
10
|
-
const useDerivedValueOnJS = (fn, deps) => {
|
11
|
-
const init = (0, _react.useMemo)(() => fn(), [fn]);
|
12
|
-
const value = _ReanimatedProxy.default.useSharedValue(init);
|
13
|
-
(0, _react.useEffect)(() => {
|
14
|
-
const mapperId = _ReanimatedProxy.default.startMapper(() => {
|
15
|
-
"worklet";
|
16
|
-
|
17
|
-
_ReanimatedProxy.default.runOnJS(fn)();
|
18
|
-
}, deps);
|
19
|
-
return () => _ReanimatedProxy.default.stopMapper(mapperId);
|
20
|
-
}, [deps, fn]);
|
21
|
-
return value;
|
22
|
-
};
|
23
|
-
exports.useDerivedValueOnJS = useDerivedValueOnJS;
|
24
|
-
//# sourceMappingURL=useDerivedValueOnJS.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_react","require","_ReanimatedProxy","_interopRequireDefault","e","__esModule","default","useDerivedValueOnJS","fn","deps","init","useMemo","value","Rea","useSharedValue","useEffect","mapperId","startMapper","runOnJS","stopMapper","exports"],"sources":["useDerivedValueOnJS.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\n\nimport Rea from \"./ReanimatedProxy\";\n\nexport const useDerivedValueOnJS = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fn: () => any,\n deps: unknown[]\n) => {\n const init = useMemo(() => fn(), [fn]);\n const value = Rea.useSharedValue(init);\n useEffect(() => {\n const mapperId = Rea.startMapper(() => {\n \"worklet\";\n Rea.runOnJS(fn)();\n }, deps);\n return () => Rea.stopMapper(mapperId);\n }, [deps, fn]);\n return value;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAoC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7B,MAAMG,mBAAmB,GAAGA,CAEjCC,EAAa,EACbC,IAAe,KACZ;EACH,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAAC,MAAMH,EAAE,CAAC,CAAC,EAAE,CAACA,EAAE,CAAC,CAAC;EACtC,MAAMI,KAAK,GAAGC,wBAAG,CAACC,cAAc,CAACJ,IAAI,CAAC;EACtC,IAAAK,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGH,wBAAG,CAACI,WAAW,CAAC,MAAM;MACrC,SAAS;;MACTJ,wBAAG,CAACK,OAAO,CAACV,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,EAAEC,IAAI,CAAC;IACR,OAAO,MAAMI,wBAAG,CAACM,UAAU,CAACH,QAAQ,CAAC;EACvC,CAAC,EAAE,CAACP,IAAI,EAAED,EAAE,CAAC,CAAC;EACd,OAAOI,KAAK;AACd,CAAC;AAACQ,OAAA,CAAAb,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
@@ -1,56 +0,0 @@
|
|
1
|
-
import type { SkShader, SkPaint, SkImageFilter, SkMaskFilter, SkPathEffect, Skia, SkColorFilter } from "../skia/types";
|
2
|
-
type Composer<T> = (outer: T, inner: T) => T;
|
3
|
-
export declare const composeDeclarations: <T>(filters: T[], composer: Composer<T>) => T;
|
4
|
-
export declare const createDeclarationContext: (Skia: Skia) => {
|
5
|
-
Skia: Skia;
|
6
|
-
paints: {
|
7
|
-
save: () => void;
|
8
|
-
restore: () => void;
|
9
|
-
pop: () => SkPaint | undefined;
|
10
|
-
push: (decl: SkPaint) => void;
|
11
|
-
popAll: () => SkPaint[];
|
12
|
-
popAllAsOne: () => SkPaint | undefined;
|
13
|
-
};
|
14
|
-
maskFilters: {
|
15
|
-
save: () => void;
|
16
|
-
restore: () => void;
|
17
|
-
pop: () => SkMaskFilter | undefined;
|
18
|
-
push: (decl: SkMaskFilter) => void;
|
19
|
-
popAll: () => SkMaskFilter[];
|
20
|
-
popAllAsOne: () => SkMaskFilter | undefined;
|
21
|
-
};
|
22
|
-
shaders: {
|
23
|
-
save: () => void;
|
24
|
-
restore: () => void;
|
25
|
-
pop: () => SkShader | undefined;
|
26
|
-
push: (decl: SkShader) => void;
|
27
|
-
popAll: () => SkShader[];
|
28
|
-
popAllAsOne: () => SkShader | undefined;
|
29
|
-
};
|
30
|
-
pathEffects: {
|
31
|
-
save: () => void;
|
32
|
-
restore: () => void;
|
33
|
-
pop: () => SkPathEffect | undefined;
|
34
|
-
push: (decl: SkPathEffect) => void;
|
35
|
-
popAll: () => SkPathEffect[];
|
36
|
-
popAllAsOne: () => SkPathEffect | undefined;
|
37
|
-
};
|
38
|
-
imageFilters: {
|
39
|
-
save: () => void;
|
40
|
-
restore: () => void;
|
41
|
-
pop: () => SkImageFilter | undefined;
|
42
|
-
push: (decl: SkImageFilter) => void;
|
43
|
-
popAll: () => SkImageFilter[];
|
44
|
-
popAllAsOne: () => SkImageFilter | undefined;
|
45
|
-
};
|
46
|
-
colorFilters: {
|
47
|
-
save: () => void;
|
48
|
-
restore: () => void;
|
49
|
-
pop: () => SkColorFilter | undefined;
|
50
|
-
push: (decl: SkColorFilter) => void;
|
51
|
-
popAll: () => SkColorFilter[];
|
52
|
-
popAllAsOne: () => SkColorFilter | undefined;
|
53
|
-
};
|
54
|
-
};
|
55
|
-
export type DeclarationContext = ReturnType<typeof createDeclarationContext>;
|
56
|
-
export {};
|
@@ -1,77 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.createDeclarationContext = exports.composeDeclarations = void 0;
|
7
|
-
const composeDeclarations = (filters, composer) => {
|
8
|
-
"worklet";
|
9
|
-
|
10
|
-
const len = filters.length;
|
11
|
-
if (len <= 1) {
|
12
|
-
return filters[0];
|
13
|
-
}
|
14
|
-
return filters.reduceRight((inner, outer) => inner ? composer(outer, inner) : outer);
|
15
|
-
};
|
16
|
-
exports.composeDeclarations = composeDeclarations;
|
17
|
-
const createDeclaration = composer => {
|
18
|
-
"worklet";
|
19
|
-
|
20
|
-
const state = {
|
21
|
-
decls: [],
|
22
|
-
indexes: [0]
|
23
|
-
};
|
24
|
-
return {
|
25
|
-
save: () => {
|
26
|
-
state.indexes.push(state.decls.length);
|
27
|
-
},
|
28
|
-
restore: () => {
|
29
|
-
state.indexes.pop();
|
30
|
-
},
|
31
|
-
pop: () => state.decls.pop(),
|
32
|
-
push: decl => {
|
33
|
-
state.decls.push(decl);
|
34
|
-
},
|
35
|
-
popAll: () => {
|
36
|
-
const idx = state.indexes[state.indexes.length - 1];
|
37
|
-
return state.decls.splice(idx, state.decls.length - idx);
|
38
|
-
},
|
39
|
-
popAllAsOne: () => {
|
40
|
-
if (state.decls.length === 0) {
|
41
|
-
return undefined;
|
42
|
-
}
|
43
|
-
if (!composer) {
|
44
|
-
throw new Error("No composer for this type of declaration");
|
45
|
-
}
|
46
|
-
if (!state.decls.length) {
|
47
|
-
return undefined;
|
48
|
-
}
|
49
|
-
if (!composer) {
|
50
|
-
throw new Error("No composer for this type of declaration");
|
51
|
-
}
|
52
|
-
const idx = state.indexes[state.indexes.length - 1];
|
53
|
-
const decls = state.decls.splice(idx, state.decls.length - idx);
|
54
|
-
return composeDeclarations(decls, composer);
|
55
|
-
}
|
56
|
-
};
|
57
|
-
};
|
58
|
-
const createDeclarationContext = Skia => {
|
59
|
-
"worklet";
|
60
|
-
|
61
|
-
const composers = {
|
62
|
-
pathEffect: Skia.PathEffect.MakeCompose.bind(Skia.PathEffect),
|
63
|
-
imageFilter: Skia.ImageFilter.MakeCompose.bind(Skia.ImageFilter),
|
64
|
-
colorFilter: Skia.ColorFilter.MakeCompose.bind(Skia.ColorFilter)
|
65
|
-
};
|
66
|
-
return {
|
67
|
-
Skia,
|
68
|
-
paints: createDeclaration(),
|
69
|
-
maskFilters: createDeclaration(),
|
70
|
-
shaders: createDeclaration(),
|
71
|
-
pathEffects: createDeclaration(composers.pathEffect),
|
72
|
-
imageFilters: createDeclaration(composers.imageFilter),
|
73
|
-
colorFilters: createDeclaration(composers.colorFilter)
|
74
|
-
};
|
75
|
-
};
|
76
|
-
exports.createDeclarationContext = createDeclarationContext;
|
77
|
-
//# sourceMappingURL=DeclarationContext.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["composeDeclarations","filters","composer","len","length","reduceRight","inner","outer","exports","createDeclaration","state","decls","indexes","save","push","restore","pop","decl","popAll","idx","splice","popAllAsOne","undefined","Error","createDeclarationContext","Skia","composers","pathEffect","PathEffect","MakeCompose","bind","imageFilter","ImageFilter","colorFilter","ColorFilter","paints","maskFilters","shaders","pathEffects","imageFilters","colorFilters"],"sources":["DeclarationContext.ts"],"sourcesContent":["import type {\n SkShader,\n SkPaint,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n Skia,\n SkColorFilter,\n} from \"../skia/types\";\n\ntype Composer<T> = (outer: T, inner: T) => T;\n\nexport const composeDeclarations = <T>(filters: T[], composer: Composer<T>) => {\n \"worklet\";\n const len = filters.length;\n if (len <= 1) {\n return filters[0];\n }\n return filters.reduceRight((inner, outer) =>\n inner ? composer(outer, inner) : outer\n );\n};\n\nconst createDeclaration = <T>(composer?: Composer<T>) => {\n \"worklet\";\n const state = {\n decls: [] as T[],\n indexes: [0],\n };\n\n return {\n save: () => {\n state.indexes.push(state.decls.length);\n },\n restore: () => {\n state.indexes.pop();\n },\n pop: () => state.decls.pop(),\n push: (decl: T) => {\n state.decls.push(decl);\n },\n popAll: () => {\n const idx = state.indexes[state.indexes.length - 1];\n return state.decls.splice(idx, state.decls.length - idx);\n },\n popAllAsOne: () => {\n if (state.decls.length === 0) {\n return undefined;\n }\n if (!composer) {\n throw new Error(\"No composer for this type of declaration\");\n }\n if (!state.decls.length) {\n return undefined;\n }\n if (!composer) {\n throw new Error(\"No composer for this type of declaration\");\n }\n\n const idx = state.indexes[state.indexes.length - 1];\n const decls = state.decls.splice(idx, state.decls.length - idx);\n return composeDeclarations(decls, composer);\n },\n };\n};\n\nexport const createDeclarationContext = (Skia: Skia) => {\n \"worklet\";\n const composers = {\n pathEffect: Skia.PathEffect.MakeCompose.bind(Skia.PathEffect),\n imageFilter: Skia.ImageFilter.MakeCompose.bind(Skia.ImageFilter),\n colorFilter: Skia.ColorFilter.MakeCompose.bind(Skia.ColorFilter),\n };\n return {\n Skia,\n paints: createDeclaration<SkPaint>(),\n maskFilters: createDeclaration<SkMaskFilter>(),\n shaders: createDeclaration<SkShader>(),\n pathEffects: createDeclaration<SkPathEffect>(composers.pathEffect),\n imageFilters: createDeclaration<SkImageFilter>(composers.imageFilter),\n colorFilters: createDeclaration<SkColorFilter>(composers.colorFilter),\n };\n};\n\nexport type DeclarationContext = ReturnType<typeof createDeclarationContext>;\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import type { DrawingNodeProps, GroupProps } from "../dom/types";
|
2
|
-
import type { SkCanvas, Skia, SkPaint } from "../skia/types";
|
3
|
-
import type { DeclarationContext } from "./DeclarationContext";
|
4
|
-
export declare const createDrawingContext: (Skia: Skia, canvas: SkCanvas) => {
|
5
|
-
Skia: Skia;
|
6
|
-
canvas: SkCanvas;
|
7
|
-
save: () => number;
|
8
|
-
restore: () => SkPaint | undefined;
|
9
|
-
getPaint: () => SkPaint;
|
10
|
-
processPaint: ({ opacity, color, strokeWidth, blendMode, style, strokeJoin, strokeCap, strokeMiter, antiAlias, dither, paint: paintProp, }: DrawingNodeProps, declCtx: DeclarationContext) => boolean;
|
11
|
-
processMatrixAndClipping: (props: GroupProps, layer?: boolean | SkPaint) => boolean;
|
12
|
-
};
|
13
|
-
export type DrawingContext = ReturnType<typeof createDrawingContext>;
|