@shopify/react-native-skia 1.8.0 → 1.8.2
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/external/reanimated/useAnimatedImageValue.js +1 -8
- package/lib/commonjs/external/reanimated/useAnimatedImageValue.js.map +1 -1
- package/lib/commonjs/skia/core/AnimatedImage.d.ts +1 -1
- package/lib/commonjs/skia/core/AnimatedImage.js +1 -1
- package/lib/commonjs/skia/core/AnimatedImage.js.map +1 -1
- package/lib/commonjs/skia/core/Data.d.ts +1 -1
- package/lib/commonjs/skia/core/Data.js +2 -8
- package/lib/commonjs/skia/core/Data.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/external/reanimated/useAnimatedImageValue.js +1 -8
- package/lib/module/external/reanimated/useAnimatedImageValue.js.map +1 -1
- package/lib/module/skia/core/AnimatedImage.d.ts +1 -1
- package/lib/module/skia/core/AnimatedImage.js +1 -1
- package/lib/module/skia/core/AnimatedImage.js.map +1 -1
- package/lib/module/skia/core/Data.d.ts +1 -1
- package/lib/module/skia/core/Data.js +2 -8
- package/lib/module/skia/core/Data.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/core/AnimatedImage.d.ts +1 -1
- package/lib/typescript/lib/commonjs/skia/core/Data.d.ts +1 -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/mock/index.d.ts +1 -1
- package/lib/typescript/lib/module/skia/core/AnimatedImage.d.ts +1 -1
- package/lib/typescript/lib/module/skia/core/Data.d.ts +1 -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/core/AnimatedImage.d.ts +1 -1
- package/lib/typescript/src/skia/core/Data.d.ts +1 -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/external/reanimated/useAnimatedImageValue.ts +4 -15
- 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/core/AnimatedImage.ts +2 -3
- package/src/skia/core/Data.ts +3 -9
- 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 @@
|
|
1
|
+
{"version":3,"names":["_types","require","_utils","_Node","_Core","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Recorder","constructor","processProps","props","animatedProps","hasAnimatedProps","key","prop","isSharedValue","undefined","add","command","commands","push","savePaint","type","CommandType","SavePaint","restorePaint","RestorePaint","restorePaintDeclaration","RestorePaintDeclaration","materializePaint","MaterializePaint","pushPathEffect","pathEffectType","isPathEffect","Error","PushPathEffect","pushImageFilter","imageFilterType","isImageFilter","PushImageFilter","pushColorFilter","colorFilterType","isColorFilter","PushColorFilter","pushShader","shaderType","isShader","NodeType","Blend","PushShader","pushBlurMaskFilter","PushBlurMaskFilter","composePathEffect","ComposePathEffect","composeColorFilter","ComposeColorFilter","composeImageFilter","ComposeImageFilter","saveCTM","SaveCTM","restoreCTM","RestoreCTM","drawPaint","DrawPaint","saveLayer","SaveLayer","saveBackdropFilter","SaveBackdropFilter","drawBox","boxProps","shadows","forEach","shadow","DrawBox","drawImage","DrawImage","drawCircle","DrawCircle","drawPoints","DrawPoints","drawPath","DrawPath","drawRect","DrawRect","drawRRect","DrawRRect","drawOval","DrawOval","drawLine","DrawLine","drawPatch","DrawPatch","drawVertices","DrawVertices","drawDiffRect","DrawDiffRect","drawText","DrawText","drawTextPath","DrawTextPath","drawTextBlob","DrawTextBlob","drawGlyphs","DrawGlyphs","drawPicture","DrawPicture","drawImageSVG","DrawImageSVG","drawParagraph","DrawParagraph","drawAtlas","DrawAtlas","exports"],"sources":["Recorder.ts"],"sourcesContent":["import type { SharedValue } from \"react-native-reanimated\";\n\nimport { NodeType } from \"../../dom/types\";\nimport type {\n BlurMaskFilterProps,\n CircleProps,\n CTMProps,\n ImageProps,\n PaintProps,\n PointsProps,\n PathProps,\n RectProps,\n RoundedRectProps,\n OvalProps,\n LineProps,\n PatchProps,\n VerticesProps,\n DiffRectProps,\n TextProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n PictureProps,\n ImageSVGProps,\n ParagraphProps,\n AtlasProps,\n BoxProps,\n BoxShadowProps,\n} from \"../../dom/types\";\nimport type { AnimatedProps } from \"../../renderer\";\nimport { isSharedValue } from \"../utils\";\nimport { isColorFilter, isImageFilter, isPathEffect, isShader } from \"../Node\";\n\nimport { CommandType } from \"./Core\";\nimport type { Command } from \"./Core\";\n\nexport class Recorder {\n commands: Command[] = [];\n\n private processProps(props: Record<string, unknown>) {\n const animatedProps: Record<string, SharedValue<unknown>> = {};\n let hasAnimatedProps = false;\n\n for (const key in props) {\n const prop = props[key];\n if (isSharedValue(prop)) {\n props[key] = prop.value;\n animatedProps[key] = prop;\n hasAnimatedProps = true;\n }\n }\n\n return {\n props,\n animatedProps: hasAnimatedProps ? animatedProps : undefined,\n };\n }\n\n private add(command: Command) {\n if (command.props) {\n const { animatedProps } = this.processProps(\n command.props as Record<string, unknown>\n );\n if (animatedProps) {\n command.animatedProps = animatedProps;\n }\n }\n this.commands.push(command);\n }\n\n savePaint(props: AnimatedProps<PaintProps>) {\n this.add({ type: CommandType.SavePaint, props });\n }\n\n restorePaint() {\n this.add({ type: CommandType.RestorePaint });\n }\n\n restorePaintDeclaration() {\n this.add({ type: CommandType.RestorePaintDeclaration });\n }\n\n materializePaint() {\n this.add({ type: CommandType.MaterializePaint });\n }\n\n pushPathEffect(pathEffectType: NodeType, props: AnimatedProps<unknown>) {\n if (!isPathEffect(pathEffectType)) {\n throw new Error(\"Invalid color filter type: \" + pathEffectType);\n }\n this.add({\n type: CommandType.PushPathEffect,\n pathEffectType,\n props,\n });\n }\n\n pushImageFilter(imageFilterType: NodeType, props: AnimatedProps<unknown>) {\n if (!isImageFilter(imageFilterType)) {\n throw new Error(\"Invalid color filter type: \" + imageFilterType);\n }\n this.add({\n type: CommandType.PushImageFilter,\n imageFilterType,\n props,\n });\n }\n\n pushColorFilter(colorFilterType: NodeType, props: AnimatedProps<unknown>) {\n if (!isColorFilter(colorFilterType)) {\n throw new Error(\"Invalid color filter type: \" + colorFilterType);\n }\n this.add({\n type: CommandType.PushColorFilter,\n colorFilterType,\n props,\n });\n }\n\n pushShader(shaderType: NodeType, props: AnimatedProps<unknown>) {\n if (!isShader(shaderType) && !(shaderType === NodeType.Blend)) {\n throw new Error(\"Invalid color filter type: \" + shaderType);\n }\n this.add({ type: CommandType.PushShader, shaderType, props });\n }\n\n pushBlurMaskFilter(props: AnimatedProps<BlurMaskFilterProps>) {\n this.add({ type: CommandType.PushBlurMaskFilter, props });\n }\n\n composePathEffect() {\n this.add({ type: CommandType.ComposePathEffect });\n }\n\n composeColorFilter() {\n this.add({ type: CommandType.ComposeColorFilter });\n }\n\n composeImageFilter() {\n this.add({ type: CommandType.ComposeImageFilter });\n }\n\n saveCTM(props: AnimatedProps<CTMProps>) {\n this.add({ type: CommandType.SaveCTM, props });\n }\n\n restoreCTM() {\n this.add({ type: CommandType.RestoreCTM });\n }\n\n drawPaint() {\n this.add({ type: CommandType.DrawPaint });\n }\n\n saveLayer() {\n this.add({ type: CommandType.SaveLayer });\n }\n\n saveBackdropFilter() {\n this.add({ type: CommandType.SaveBackdropFilter });\n }\n\n drawBox(\n boxProps: AnimatedProps<BoxProps>,\n shadows: {\n props: BoxShadowProps;\n animatedProps?: Record<string, SharedValue<unknown>>;\n }[]\n ) {\n shadows.forEach((shadow) => {\n if (shadow.props) {\n if (shadow.props) {\n const { animatedProps } = this.processProps(\n shadow.props as unknown as Record<string, unknown>\n );\n if (animatedProps) {\n shadow.animatedProps = animatedProps;\n }\n }\n }\n });\n this.add({ type: CommandType.DrawBox, props: boxProps, shadows });\n }\n\n drawImage(props: AnimatedProps<ImageProps>) {\n this.add({ type: CommandType.DrawImage, props });\n }\n\n drawCircle(props: AnimatedProps<CircleProps>) {\n this.add({ type: CommandType.DrawCircle, props });\n }\n drawPoints(props: AnimatedProps<PointsProps>) {\n this.add({ type: CommandType.DrawPoints, props });\n }\n\n drawPath(props: AnimatedProps<PathProps>) {\n this.add({ type: CommandType.DrawPath, props });\n }\n\n drawRect(props: AnimatedProps<RectProps>) {\n this.add({ type: CommandType.DrawRect, props });\n }\n\n drawRRect(props: AnimatedProps<RoundedRectProps>) {\n this.add({ type: CommandType.DrawRRect, props });\n }\n\n drawOval(props: AnimatedProps<OvalProps>) {\n this.add({ type: CommandType.DrawOval, props });\n }\n\n drawLine(props: AnimatedProps<LineProps>) {\n this.add({ type: CommandType.DrawLine, props });\n }\n\n drawPatch(props: AnimatedProps<PatchProps>) {\n this.add({ type: CommandType.DrawPatch, props });\n }\n\n drawVertices(props: AnimatedProps<VerticesProps>) {\n this.add({ type: CommandType.DrawVertices, props });\n }\n\n drawDiffRect(props: AnimatedProps<DiffRectProps>) {\n this.add({ type: CommandType.DrawDiffRect, props });\n }\n\n drawText(props: AnimatedProps<TextProps>) {\n this.add({ type: CommandType.DrawText, props });\n }\n\n drawTextPath(props: AnimatedProps<TextPathProps>) {\n this.add({ type: CommandType.DrawTextPath, props });\n }\n\n drawTextBlob(props: AnimatedProps<TextBlobProps>) {\n this.add({ type: CommandType.DrawTextBlob, props });\n }\n\n drawGlyphs(props: AnimatedProps<GlyphsProps>) {\n this.add({ type: CommandType.DrawGlyphs, props });\n }\n\n drawPicture(props: AnimatedProps<PictureProps>) {\n this.add({ type: CommandType.DrawPicture, props });\n }\n\n drawImageSVG(props: AnimatedProps<ImageSVGProps>) {\n this.add({ type: CommandType.DrawImageSVG, props });\n }\n\n drawParagraph(props: AnimatedProps<ParagraphProps>) {\n this.add({ type: CommandType.DrawParagraph, props });\n }\n\n drawAtlas(props: AnimatedProps<AtlasProps>) {\n this.add({ type: CommandType.DrawAtlas, props });\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AA4BA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AAAqC,SAAAI,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAG9B,MAAMgB,QAAQ,CAAC;EAAAC,YAAA;IAAApB,eAAA,mBACE,EAAE;EAAA;EAEhBqB,YAAYA,CAACC,KAA8B,EAAE;IACnD,MAAMC,aAAmD,GAAG,CAAC,CAAC;IAC9D,IAAIC,gBAAgB,GAAG,KAAK;IAE5B,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;MACvB,MAAMI,IAAI,GAAGJ,KAAK,CAACG,GAAG,CAAC;MACvB,IAAI,IAAAE,oBAAa,EAACD,IAAI,CAAC,EAAE;QACvBJ,KAAK,CAACG,GAAG,CAAC,GAAGC,IAAI,CAACnB,KAAK;QACvBgB,aAAa,CAACE,GAAG,CAAC,GAAGC,IAAI;QACzBF,gBAAgB,GAAG,IAAI;MACzB;IACF;IAEA,OAAO;MACLF,KAAK;MACLC,aAAa,EAAEC,gBAAgB,GAAGD,aAAa,GAAGK;IACpD,CAAC;EACH;EAEQC,GAAGA,CAACC,OAAgB,EAAE;IAC5B,IAAIA,OAAO,CAACR,KAAK,EAAE;MACjB,MAAM;QAAEC;MAAc,CAAC,GAAG,IAAI,CAACF,YAAY,CACzCS,OAAO,CAACR,KACV,CAAC;MACD,IAAIC,aAAa,EAAE;QACjBO,OAAO,CAACP,aAAa,GAAGA,aAAa;MACvC;IACF;IACA,IAAI,CAACQ,QAAQ,CAACC,IAAI,CAACF,OAAO,CAAC;EAC7B;EAEAG,SAASA,CAACX,KAAgC,EAAE;IAC1C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACC,SAAS;MAAEd;IAAM,CAAC,CAAC;EAClD;EAEAe,YAAYA,CAAA,EAAG;IACb,IAAI,CAACR,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACG;IAAa,CAAC,CAAC;EAC9C;EAEAC,uBAAuBA,CAAA,EAAG;IACxB,IAAI,CAACV,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACK;IAAwB,CAAC,CAAC;EACzD;EAEAC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACZ,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACO;IAAiB,CAAC,CAAC;EAClD;EAEAC,cAAcA,CAACC,cAAwB,EAAEtB,KAA6B,EAAE;IACtE,IAAI,CAAC,IAAAuB,kBAAY,EAACD,cAAc,CAAC,EAAE;MACjC,MAAM,IAAIE,KAAK,CAAC,6BAA6B,GAAGF,cAAc,CAAC;IACjE;IACA,IAAI,CAACf,GAAG,CAAC;MACPK,IAAI,EAAEC,iBAAW,CAACY,cAAc;MAChCH,cAAc;MACdtB;IACF,CAAC,CAAC;EACJ;EAEA0B,eAAeA,CAACC,eAAyB,EAAE3B,KAA6B,EAAE;IACxE,IAAI,CAAC,IAAA4B,mBAAa,EAACD,eAAe,CAAC,EAAE;MACnC,MAAM,IAAIH,KAAK,CAAC,6BAA6B,GAAGG,eAAe,CAAC;IAClE;IACA,IAAI,CAACpB,GAAG,CAAC;MACPK,IAAI,EAAEC,iBAAW,CAACgB,eAAe;MACjCF,eAAe;MACf3B;IACF,CAAC,CAAC;EACJ;EAEA8B,eAAeA,CAACC,eAAyB,EAAE/B,KAA6B,EAAE;IACxE,IAAI,CAAC,IAAAgC,mBAAa,EAACD,eAAe,CAAC,EAAE;MACnC,MAAM,IAAIP,KAAK,CAAC,6BAA6B,GAAGO,eAAe,CAAC;IAClE;IACA,IAAI,CAACxB,GAAG,CAAC;MACPK,IAAI,EAAEC,iBAAW,CAACoB,eAAe;MACjCF,eAAe;MACf/B;IACF,CAAC,CAAC;EACJ;EAEAkC,UAAUA,CAACC,UAAoB,EAAEnC,KAA6B,EAAE;IAC9D,IAAI,CAAC,IAAAoC,cAAQ,EAACD,UAAU,CAAC,IAAI,EAAEA,UAAU,KAAKE,eAAQ,CAACC,KAAK,CAAC,EAAE;MAC7D,MAAM,IAAId,KAAK,CAAC,6BAA6B,GAAGW,UAAU,CAAC;IAC7D;IACA,IAAI,CAAC5B,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0B,UAAU;MAAEJ,UAAU;MAAEnC;IAAM,CAAC,CAAC;EAC/D;EAEAwC,kBAAkBA,CAACxC,KAAyC,EAAE;IAC5D,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4B,kBAAkB;MAAEzC;IAAM,CAAC,CAAC;EAC3D;EAEA0C,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACnC,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC8B;IAAkB,CAAC,CAAC;EACnD;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACrC,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACgC;IAAmB,CAAC,CAAC;EACpD;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACvC,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkC;IAAmB,CAAC,CAAC;EACpD;EAEAC,OAAOA,CAAChD,KAA8B,EAAE;IACtC,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoC,OAAO;MAAEjD;IAAM,CAAC,CAAC;EAChD;EAEAkD,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC3C,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsC;IAAW,CAAC,CAAC;EAC5C;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,CAAC7C,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwC;IAAU,CAAC,CAAC;EAC3C;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,CAAC/C,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0C;IAAU,CAAC,CAAC;EAC3C;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACjD,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4C;IAAmB,CAAC,CAAC;EACpD;EAEAC,OAAOA,CACLC,QAAiC,EACjCC,OAGG,EACH;IACAA,OAAO,CAACC,OAAO,CAAEC,MAAM,IAAK;MAC1B,IAAIA,MAAM,CAAC9D,KAAK,EAAE;QAChB,IAAI8D,MAAM,CAAC9D,KAAK,EAAE;UAChB,MAAM;YAAEC;UAAc,CAAC,GAAG,IAAI,CAACF,YAAY,CACzC+D,MAAM,CAAC9D,KACT,CAAC;UACD,IAAIC,aAAa,EAAE;YACjB6D,MAAM,CAAC7D,aAAa,GAAGA,aAAa;UACtC;QACF;MACF;IACF,CAAC,CAAC;IACF,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkD,OAAO;MAAE/D,KAAK,EAAE2D,QAAQ;MAAEC;IAAQ,CAAC,CAAC;EACnE;EAEAI,SAASA,CAAChE,KAAgC,EAAE;IAC1C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoD,SAAS;MAAEjE;IAAM,CAAC,CAAC;EAClD;EAEAkE,UAAUA,CAAClE,KAAiC,EAAE;IAC5C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsD,UAAU;MAAEnE;IAAM,CAAC,CAAC;EACnD;EACAoE,UAAUA,CAACpE,KAAiC,EAAE;IAC5C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwD,UAAU;MAAErE;IAAM,CAAC,CAAC;EACnD;EAEAsE,QAAQA,CAACtE,KAA+B,EAAE;IACxC,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0D,QAAQ;MAAEvE;IAAM,CAAC,CAAC;EACjD;EAEAwE,QAAQA,CAACxE,KAA+B,EAAE;IACxC,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4D,QAAQ;MAAEzE;IAAM,CAAC,CAAC;EACjD;EAEA0E,SAASA,CAAC1E,KAAsC,EAAE;IAChD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC8D,SAAS;MAAE3E;IAAM,CAAC,CAAC;EAClD;EAEA4E,QAAQA,CAAC5E,KAA+B,EAAE;IACxC,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACgE,QAAQ;MAAE7E;IAAM,CAAC,CAAC;EACjD;EAEA8E,QAAQA,CAAC9E,KAA+B,EAAE;IACxC,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkE,QAAQ;MAAE/E;IAAM,CAAC,CAAC;EACjD;EAEAgF,SAASA,CAAChF,KAAgC,EAAE;IAC1C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoE,SAAS;MAAEjF;IAAM,CAAC,CAAC;EAClD;EAEAkF,YAAYA,CAAClF,KAAmC,EAAE;IAChD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsE,YAAY;MAAEnF;IAAM,CAAC,CAAC;EACrD;EAEAoF,YAAYA,CAACpF,KAAmC,EAAE;IAChD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwE,YAAY;MAAErF;IAAM,CAAC,CAAC;EACrD;EAEAsF,QAAQA,CAACtF,KAA+B,EAAE;IACxC,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0E,QAAQ;MAAEvF;IAAM,CAAC,CAAC;EACjD;EAEAwF,YAAYA,CAACxF,KAAmC,EAAE;IAChD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4E,YAAY;MAAEzF;IAAM,CAAC,CAAC;EACrD;EAEA0F,YAAYA,CAAC1F,KAAmC,EAAE;IAChD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC8E,YAAY;MAAE3F;IAAM,CAAC,CAAC;EACrD;EAEA4F,UAAUA,CAAC5F,KAAiC,EAAE;IAC5C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACgF,UAAU;MAAE7F;IAAM,CAAC,CAAC;EACnD;EAEA8F,WAAWA,CAAC9F,KAAkC,EAAE;IAC9C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkF,WAAW;MAAE/F;IAAM,CAAC,CAAC;EACpD;EAEAgG,YAAYA,CAAChG,KAAmC,EAAE;IAChD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoF,YAAY;MAAEjG;IAAM,CAAC,CAAC;EACrD;EAEAkG,aAAaA,CAAClG,KAAoC,EAAE;IAClD,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsF,aAAa;MAAEnG;IAAM,CAAC,CAAC;EACtD;EAEAoG,SAASA,CAACpG,KAAgC,EAAE;IAC1C,IAAI,CAACO,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwF,SAAS;MAAErG;IAAM,CAAC,CAAC;EAClD;AACF;AAACsG,OAAA,CAAAzG,QAAA,GAAAA,QAAA","ignoreList":[]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createRecording = void 0;
|
7
|
+
const createRecording = commands => ({
|
8
|
+
commands,
|
9
|
+
paintPool: []
|
10
|
+
});
|
11
|
+
exports.createRecording = createRecording;
|
12
|
+
//# sourceMappingURL=Recording.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createRecording","commands","paintPool","exports"],"sources":["Recording.ts"],"sourcesContent":["import type { SkPaint } from \"../../skia/types\";\n\nimport type { Command } from \"./Core\";\n\nexport interface Recording {\n commands: Command[];\n paintPool: SkPaint[];\n}\n\nexport const createRecording = (commands: Command[]): Recording => ({\n commands,\n paintPool: [],\n});\n"],"mappings":";;;;;;AASO,MAAMA,eAAe,GAAIC,QAAmB,KAAiB;EAClEA,QAAQ;EACRC,SAAS,EAAE;AACb,CAAC,CAAC;AAACC,OAAA,CAAAH,eAAA,GAAAA,eAAA","ignoreList":[]}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { DrawingNodeProps } from "../../dom/types";
|
2
|
+
import type { Node } from "../Node";
|
3
|
+
import type { Recorder } from "./Recorder";
|
4
|
+
export declare const processPaint: ({ opacity, color, strokeWidth, blendMode, style, strokeJoin, strokeCap, strokeMiter, antiAlias, dither, paint: paintRef, }: DrawingNodeProps) => DrawingNodeProps | null;
|
5
|
+
export declare const visit: (recorder: Recorder, root: Node[]) => void;
|
@@ -0,0 +1,293 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.visit = exports.processPaint = void 0;
|
7
|
+
var _types = require("../../dom/types");
|
8
|
+
var _Node = require("../Node");
|
9
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
10
|
+
|
11
|
+
const processPaint = ({
|
12
|
+
opacity,
|
13
|
+
color,
|
14
|
+
strokeWidth,
|
15
|
+
blendMode,
|
16
|
+
style,
|
17
|
+
strokeJoin,
|
18
|
+
strokeCap,
|
19
|
+
strokeMiter,
|
20
|
+
antiAlias,
|
21
|
+
dither,
|
22
|
+
paint: paintRef
|
23
|
+
}) => {
|
24
|
+
const paint = {};
|
25
|
+
if (opacity !== undefined) {
|
26
|
+
paint.opacity = opacity;
|
27
|
+
}
|
28
|
+
if (color !== undefined) {
|
29
|
+
paint.color = color;
|
30
|
+
}
|
31
|
+
if (strokeWidth !== undefined) {
|
32
|
+
paint.strokeWidth = strokeWidth;
|
33
|
+
}
|
34
|
+
if (blendMode !== undefined) {
|
35
|
+
paint.blendMode = blendMode;
|
36
|
+
}
|
37
|
+
if (style !== undefined) {
|
38
|
+
paint.style = style;
|
39
|
+
}
|
40
|
+
if (strokeJoin !== undefined) {
|
41
|
+
paint.strokeJoin = strokeJoin;
|
42
|
+
}
|
43
|
+
if (strokeCap !== undefined) {
|
44
|
+
paint.strokeCap = strokeCap;
|
45
|
+
}
|
46
|
+
if (strokeMiter !== undefined) {
|
47
|
+
paint.strokeMiter = strokeMiter;
|
48
|
+
}
|
49
|
+
if (antiAlias !== undefined) {
|
50
|
+
paint.antiAlias = antiAlias;
|
51
|
+
}
|
52
|
+
if (dither !== undefined) {
|
53
|
+
paint.dither = dither;
|
54
|
+
}
|
55
|
+
if (paintRef !== undefined) {
|
56
|
+
paint.paint = paintRef;
|
57
|
+
}
|
58
|
+
if (opacity !== undefined || color !== undefined || strokeWidth !== undefined || blendMode !== undefined || style !== undefined || strokeJoin !== undefined || strokeCap !== undefined || strokeMiter !== undefined || antiAlias !== undefined || dither !== undefined || paintRef !== undefined) {
|
59
|
+
return paint;
|
60
|
+
}
|
61
|
+
return null;
|
62
|
+
};
|
63
|
+
exports.processPaint = processPaint;
|
64
|
+
const processCTM = ({
|
65
|
+
clip,
|
66
|
+
invertClip,
|
67
|
+
transform,
|
68
|
+
origin,
|
69
|
+
matrix,
|
70
|
+
layer
|
71
|
+
}) => {
|
72
|
+
const ctm = {};
|
73
|
+
if (clip) {
|
74
|
+
ctm.clip = clip;
|
75
|
+
}
|
76
|
+
if (invertClip) {
|
77
|
+
ctm.invertClip = invertClip;
|
78
|
+
}
|
79
|
+
if (transform) {
|
80
|
+
ctm.transform = transform;
|
81
|
+
}
|
82
|
+
if (origin) {
|
83
|
+
ctm.origin = origin;
|
84
|
+
}
|
85
|
+
if (matrix) {
|
86
|
+
ctm.matrix = matrix;
|
87
|
+
}
|
88
|
+
if (layer) {
|
89
|
+
ctm.layer = layer;
|
90
|
+
}
|
91
|
+
if (clip !== undefined || invertClip !== undefined || transform !== undefined || origin !== undefined || matrix !== undefined || layer !== undefined) {
|
92
|
+
return ctm;
|
93
|
+
}
|
94
|
+
return null;
|
95
|
+
};
|
96
|
+
const pushColorFilters = (recorder, colorFilters) => {
|
97
|
+
colorFilters.forEach(colorFilter => {
|
98
|
+
if (colorFilter.children.length > 0) {
|
99
|
+
pushColorFilters(recorder, colorFilter.children);
|
100
|
+
}
|
101
|
+
recorder.pushColorFilter(colorFilter.type, colorFilter.props);
|
102
|
+
const needsComposition = colorFilter.type !== _types.NodeType.LerpColorFilter && colorFilter.children.length > 0;
|
103
|
+
if (needsComposition) {
|
104
|
+
recorder.composeColorFilter();
|
105
|
+
}
|
106
|
+
});
|
107
|
+
};
|
108
|
+
const pushPathEffects = (recorder, pathEffects) => {
|
109
|
+
pathEffects.forEach(pathEffect => {
|
110
|
+
if (pathEffect.children.length > 0) {
|
111
|
+
pushPathEffects(recorder, pathEffect.children);
|
112
|
+
}
|
113
|
+
recorder.pushPathEffect(pathEffect.type, pathEffect.props);
|
114
|
+
const needsComposition = pathEffect.type !== _types.NodeType.SumPathEffect && pathEffect.children.length > 0;
|
115
|
+
if (needsComposition) {
|
116
|
+
recorder.composePathEffect();
|
117
|
+
}
|
118
|
+
});
|
119
|
+
};
|
120
|
+
const pushImageFilters = (recorder, imageFilters) => {
|
121
|
+
imageFilters.forEach(imageFilter => {
|
122
|
+
if (imageFilter.children.length > 0) {
|
123
|
+
pushImageFilters(recorder, imageFilter.children);
|
124
|
+
}
|
125
|
+
if ((0, _Node.isImageFilter)(imageFilter.type)) {
|
126
|
+
recorder.pushImageFilter(imageFilter.type, imageFilter.props);
|
127
|
+
} else if ((0, _Node.isShader)(imageFilter.type)) {
|
128
|
+
recorder.pushShader(imageFilter.type, imageFilter.props);
|
129
|
+
}
|
130
|
+
const needsComposition = imageFilter.type !== _types.NodeType.BlendImageFilter && imageFilter.children.length > 0;
|
131
|
+
if (needsComposition) {
|
132
|
+
recorder.composeImageFilter();
|
133
|
+
}
|
134
|
+
});
|
135
|
+
};
|
136
|
+
const pushShaders = (recorder, shaders) => {
|
137
|
+
shaders.forEach(shader => {
|
138
|
+
if (shader.children.length > 0) {
|
139
|
+
pushShaders(recorder, shader.children);
|
140
|
+
}
|
141
|
+
recorder.pushShader(shader.type, shader.props);
|
142
|
+
});
|
143
|
+
};
|
144
|
+
const pushMaskFilters = (recorder, maskFilters) => {
|
145
|
+
if (maskFilters.length > 0) {
|
146
|
+
recorder.pushBlurMaskFilter(maskFilters[maskFilters.length - 1].props);
|
147
|
+
}
|
148
|
+
};
|
149
|
+
const pushPaints = (recorder, paints) => {
|
150
|
+
paints.forEach(paint => {
|
151
|
+
recorder.savePaint(paint.props);
|
152
|
+
const {
|
153
|
+
colorFilters,
|
154
|
+
maskFilters,
|
155
|
+
shaders,
|
156
|
+
imageFilters,
|
157
|
+
pathEffects
|
158
|
+
} = (0, _Node.sortNodeChildren)(paint);
|
159
|
+
pushColorFilters(recorder, colorFilters);
|
160
|
+
pushImageFilters(recorder, imageFilters);
|
161
|
+
pushMaskFilters(recorder, maskFilters);
|
162
|
+
pushShaders(recorder, shaders);
|
163
|
+
pushPathEffects(recorder, pathEffects);
|
164
|
+
recorder.restorePaintDeclaration();
|
165
|
+
});
|
166
|
+
};
|
167
|
+
const visitNode = (recorder, node) => {
|
168
|
+
const {
|
169
|
+
props
|
170
|
+
} = node;
|
171
|
+
const {
|
172
|
+
colorFilters,
|
173
|
+
maskFilters,
|
174
|
+
drawings,
|
175
|
+
shaders,
|
176
|
+
imageFilters,
|
177
|
+
pathEffects,
|
178
|
+
paints
|
179
|
+
} = (0, _Node.sortNodeChildren)(node);
|
180
|
+
const paint = processPaint(props);
|
181
|
+
const shouldPushPaint = paint || colorFilters.length > 0 || maskFilters.length > 0 || imageFilters.length > 0 || pathEffects.length > 0 || shaders.length > 0;
|
182
|
+
if (shouldPushPaint) {
|
183
|
+
recorder.savePaint(paint !== null && paint !== void 0 ? paint : {});
|
184
|
+
pushColorFilters(recorder, colorFilters);
|
185
|
+
pushImageFilters(recorder, imageFilters);
|
186
|
+
pushMaskFilters(recorder, maskFilters);
|
187
|
+
pushShaders(recorder, shaders);
|
188
|
+
pushPathEffects(recorder, pathEffects);
|
189
|
+
// For mixed nodes like BackdropFilters we don't materialize the paint
|
190
|
+
if (node.type === _types.NodeType.BackdropFilter) {
|
191
|
+
recorder.saveBackdropFilter();
|
192
|
+
} else {
|
193
|
+
recorder.materializePaint();
|
194
|
+
}
|
195
|
+
}
|
196
|
+
pushPaints(recorder, paints);
|
197
|
+
if (node.type === _types.NodeType.Layer) {
|
198
|
+
recorder.saveLayer();
|
199
|
+
}
|
200
|
+
const ctm = processCTM(props);
|
201
|
+
const shouldRestore = !!ctm || node.type === _types.NodeType.Layer;
|
202
|
+
if (ctm) {
|
203
|
+
recorder.saveCTM(ctm);
|
204
|
+
}
|
205
|
+
switch (node.type) {
|
206
|
+
case _types.NodeType.Box:
|
207
|
+
const shadows = node.children.filter(n => n.type === _types.NodeType.BoxShadow)
|
208
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
209
|
+
.map(({
|
210
|
+
props
|
211
|
+
}) => ({
|
212
|
+
props
|
213
|
+
}));
|
214
|
+
recorder.drawBox(props, shadows);
|
215
|
+
break;
|
216
|
+
case _types.NodeType.Fill:
|
217
|
+
recorder.drawPaint();
|
218
|
+
break;
|
219
|
+
case _types.NodeType.Image:
|
220
|
+
recorder.drawImage(node.props);
|
221
|
+
break;
|
222
|
+
case _types.NodeType.Circle:
|
223
|
+
recorder.drawCircle(node.props);
|
224
|
+
break;
|
225
|
+
case _types.NodeType.Points:
|
226
|
+
recorder.drawPoints(props);
|
227
|
+
break;
|
228
|
+
case _types.NodeType.Path:
|
229
|
+
recorder.drawPath(props);
|
230
|
+
break;
|
231
|
+
case _types.NodeType.Rect:
|
232
|
+
recorder.drawRect(props);
|
233
|
+
break;
|
234
|
+
case _types.NodeType.RRect:
|
235
|
+
recorder.drawRRect(props);
|
236
|
+
break;
|
237
|
+
case _types.NodeType.Oval:
|
238
|
+
recorder.drawOval(props);
|
239
|
+
break;
|
240
|
+
case _types.NodeType.Line:
|
241
|
+
recorder.drawLine(props);
|
242
|
+
break;
|
243
|
+
case _types.NodeType.Patch:
|
244
|
+
recorder.drawPatch(props);
|
245
|
+
break;
|
246
|
+
case _types.NodeType.Vertices:
|
247
|
+
recorder.drawVertices(props);
|
248
|
+
break;
|
249
|
+
case _types.NodeType.DiffRect:
|
250
|
+
recorder.drawDiffRect(props);
|
251
|
+
break;
|
252
|
+
case _types.NodeType.Text:
|
253
|
+
recorder.drawText(props);
|
254
|
+
break;
|
255
|
+
case _types.NodeType.TextPath:
|
256
|
+
recorder.drawTextPath(props);
|
257
|
+
break;
|
258
|
+
case _types.NodeType.TextBlob:
|
259
|
+
recorder.drawTextBlob(props);
|
260
|
+
break;
|
261
|
+
case _types.NodeType.Glyphs:
|
262
|
+
recorder.drawGlyphs(props);
|
263
|
+
break;
|
264
|
+
case _types.NodeType.Picture:
|
265
|
+
recorder.drawPicture(props);
|
266
|
+
break;
|
267
|
+
case _types.NodeType.ImageSVG:
|
268
|
+
recorder.drawImageSVG(props);
|
269
|
+
break;
|
270
|
+
case _types.NodeType.Paragraph:
|
271
|
+
recorder.drawParagraph(props);
|
272
|
+
break;
|
273
|
+
case _types.NodeType.Atlas:
|
274
|
+
recorder.drawAtlas(props);
|
275
|
+
break;
|
276
|
+
}
|
277
|
+
drawings.forEach(drawing => {
|
278
|
+
visitNode(recorder, drawing);
|
279
|
+
});
|
280
|
+
if (shouldPushPaint) {
|
281
|
+
recorder.restorePaint();
|
282
|
+
}
|
283
|
+
if (shouldRestore) {
|
284
|
+
recorder.restoreCTM();
|
285
|
+
}
|
286
|
+
};
|
287
|
+
const visit = (recorder, root) => {
|
288
|
+
root.forEach(node => {
|
289
|
+
visitNode(recorder, node);
|
290
|
+
});
|
291
|
+
};
|
292
|
+
exports.visit = visit;
|
293
|
+
//# sourceMappingURL=Visitor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_types","require","_Node","processPaint","opacity","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","antiAlias","dither","paint","paintRef","undefined","exports","processCTM","clip","invertClip","transform","origin","matrix","layer","ctm","pushColorFilters","recorder","colorFilters","forEach","colorFilter","children","length","pushColorFilter","type","props","needsComposition","NodeType","LerpColorFilter","composeColorFilter","pushPathEffects","pathEffects","pathEffect","pushPathEffect","SumPathEffect","composePathEffect","pushImageFilters","imageFilters","imageFilter","isImageFilter","pushImageFilter","isShader","pushShader","BlendImageFilter","composeImageFilter","pushShaders","shaders","shader","pushMaskFilters","maskFilters","pushBlurMaskFilter","pushPaints","paints","savePaint","sortNodeChildren","restorePaintDeclaration","visitNode","node","drawings","shouldPushPaint","BackdropFilter","saveBackdropFilter","materializePaint","Layer","saveLayer","shouldRestore","saveCTM","Box","shadows","filter","n","BoxShadow","map","drawBox","Fill","drawPaint","Image","drawImage","Circle","drawCircle","Points","drawPoints","Path","drawPath","Rect","drawRect","RRect","drawRRect","Oval","drawOval","Line","drawLine","Patch","drawPatch","Vertices","drawVertices","DiffRect","drawDiffRect","Text","drawText","TextPath","drawTextPath","TextBlob","drawTextBlob","Glyphs","drawGlyphs","Picture","drawPicture","ImageSVG","drawImageSVG","Paragraph","drawParagraph","Atlas","drawAtlas","drawing","restorePaint","restoreCTM","visit","root"],"sources":["Visitor.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n CTMProps,\n DrawingNodeProps,\n BoxShadowProps,\n} from \"../../dom/types\";\nimport { NodeType } from \"../../dom/types\";\nimport type { Node } from \"../Node\";\nimport { isImageFilter, isShader, sortNodeChildren } from \"../Node\";\n\nimport type { Recorder } from \"./Recorder\";\n\nexport const processPaint = ({\n opacity,\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n antiAlias,\n dither,\n paint: paintRef,\n}: DrawingNodeProps) => {\n const paint: DrawingNodeProps = {};\n if (opacity !== undefined) {\n paint.opacity = opacity;\n }\n if (color !== undefined) {\n paint.color = color;\n }\n if (strokeWidth !== undefined) {\n paint.strokeWidth = strokeWidth;\n }\n if (blendMode !== undefined) {\n paint.blendMode = blendMode;\n }\n if (style !== undefined) {\n paint.style = style;\n }\n if (strokeJoin !== undefined) {\n paint.strokeJoin = strokeJoin;\n }\n if (strokeCap !== undefined) {\n paint.strokeCap = strokeCap;\n }\n if (strokeMiter !== undefined) {\n paint.strokeMiter = strokeMiter;\n }\n if (antiAlias !== undefined) {\n paint.antiAlias = antiAlias;\n }\n if (dither !== undefined) {\n paint.dither = dither;\n }\n\n if (paintRef !== undefined) {\n paint.paint = paintRef;\n }\n\n if (\n opacity !== undefined ||\n color !== undefined ||\n strokeWidth !== undefined ||\n blendMode !== undefined ||\n style !== undefined ||\n strokeJoin !== undefined ||\n strokeCap !== undefined ||\n strokeMiter !== undefined ||\n antiAlias !== undefined ||\n dither !== undefined ||\n paintRef !== undefined\n ) {\n return paint;\n }\n return null;\n};\n\nconst processCTM = ({\n clip,\n invertClip,\n transform,\n origin,\n matrix,\n layer,\n}: CTMProps) => {\n const ctm: CTMProps = {};\n if (clip) {\n ctm.clip = clip;\n }\n if (invertClip) {\n ctm.invertClip = invertClip;\n }\n if (transform) {\n ctm.transform = transform;\n }\n if (origin) {\n ctm.origin = origin;\n }\n if (matrix) {\n ctm.matrix = matrix;\n }\n if (layer) {\n ctm.layer = layer;\n }\n if (\n clip !== undefined ||\n invertClip !== undefined ||\n transform !== undefined ||\n origin !== undefined ||\n matrix !== undefined ||\n layer !== undefined\n ) {\n return ctm;\n }\n return null;\n};\n\nconst pushColorFilters = (recorder: Recorder, colorFilters: Node<any>[]) => {\n colorFilters.forEach((colorFilter) => {\n if (colorFilter.children.length > 0) {\n pushColorFilters(recorder, colorFilter.children);\n }\n recorder.pushColorFilter(colorFilter.type, colorFilter.props);\n const needsComposition =\n colorFilter.type !== NodeType.LerpColorFilter &&\n colorFilter.children.length > 0;\n if (needsComposition) {\n recorder.composeColorFilter();\n }\n });\n};\n\nconst pushPathEffects = (recorder: Recorder, pathEffects: Node<any>[]) => {\n pathEffects.forEach((pathEffect) => {\n if (pathEffect.children.length > 0) {\n pushPathEffects(recorder, pathEffect.children);\n }\n recorder.pushPathEffect(pathEffect.type, pathEffect.props);\n const needsComposition =\n pathEffect.type !== NodeType.SumPathEffect &&\n pathEffect.children.length > 0;\n if (needsComposition) {\n recorder.composePathEffect();\n }\n });\n};\n\nconst pushImageFilters = (recorder: Recorder, imageFilters: Node<any>[]) => {\n imageFilters.forEach((imageFilter) => {\n if (imageFilter.children.length > 0) {\n pushImageFilters(recorder, imageFilter.children);\n }\n if (isImageFilter(imageFilter.type)) {\n recorder.pushImageFilter(imageFilter.type, imageFilter.props);\n } else if (isShader(imageFilter.type)) {\n recorder.pushShader(imageFilter.type, imageFilter.props);\n }\n const needsComposition =\n imageFilter.type !== NodeType.BlendImageFilter &&\n imageFilter.children.length > 0;\n if (needsComposition) {\n recorder.composeImageFilter();\n }\n });\n};\n\nconst pushShaders = (recorder: Recorder, shaders: Node<any>[]) => {\n shaders.forEach((shader) => {\n if (shader.children.length > 0) {\n pushShaders(recorder, shader.children);\n }\n recorder.pushShader(shader.type, shader.props);\n });\n};\n\nconst pushMaskFilters = (recorder: Recorder, maskFilters: Node<any>[]) => {\n if (maskFilters.length > 0) {\n recorder.pushBlurMaskFilter(maskFilters[maskFilters.length - 1].props);\n }\n};\n\nconst pushPaints = (recorder: Recorder, paints: Node<any>[]) => {\n paints.forEach((paint) => {\n recorder.savePaint(paint.props);\n const { colorFilters, maskFilters, shaders, imageFilters, pathEffects } =\n sortNodeChildren(paint);\n pushColorFilters(recorder, colorFilters);\n pushImageFilters(recorder, imageFilters);\n pushMaskFilters(recorder, maskFilters);\n pushShaders(recorder, shaders);\n pushPathEffects(recorder, pathEffects);\n recorder.restorePaintDeclaration();\n });\n};\n\nconst visitNode = (recorder: Recorder, node: Node<any>) => {\n const { props } = node;\n const {\n colorFilters,\n maskFilters,\n drawings,\n shaders,\n imageFilters,\n pathEffects,\n paints,\n } = sortNodeChildren(node);\n const paint = processPaint(props);\n const shouldPushPaint =\n paint ||\n colorFilters.length > 0 ||\n maskFilters.length > 0 ||\n imageFilters.length > 0 ||\n pathEffects.length > 0 ||\n shaders.length > 0;\n if (shouldPushPaint) {\n recorder.savePaint(paint ?? {});\n pushColorFilters(recorder, colorFilters);\n pushImageFilters(recorder, imageFilters);\n pushMaskFilters(recorder, maskFilters);\n pushShaders(recorder, shaders);\n pushPathEffects(recorder, pathEffects);\n // For mixed nodes like BackdropFilters we don't materialize the paint\n if (node.type === NodeType.BackdropFilter) {\n recorder.saveBackdropFilter();\n } else {\n recorder.materializePaint();\n }\n }\n pushPaints(recorder, paints);\n if (node.type === NodeType.Layer) {\n recorder.saveLayer();\n }\n const ctm = processCTM(props);\n const shouldRestore = !!ctm || node.type === NodeType.Layer;\n if (ctm) {\n recorder.saveCTM(ctm);\n }\n switch (node.type) {\n case NodeType.Box:\n const shadows = node.children\n .filter((n) => n.type === NodeType.BoxShadow)\n // eslint-disable-next-line @typescript-eslint/no-shadow\n .map(({ props }) => ({ props } as { props: BoxShadowProps }));\n recorder.drawBox(props, shadows);\n break;\n case NodeType.Fill:\n recorder.drawPaint();\n break;\n case NodeType.Image:\n recorder.drawImage(node.props);\n break;\n case NodeType.Circle:\n recorder.drawCircle(node.props);\n break;\n case NodeType.Points:\n recorder.drawPoints(props);\n break;\n case NodeType.Path:\n recorder.drawPath(props);\n break;\n case NodeType.Rect:\n recorder.drawRect(props);\n break;\n case NodeType.RRect:\n recorder.drawRRect(props);\n break;\n case NodeType.Oval:\n recorder.drawOval(props);\n break;\n case NodeType.Line:\n recorder.drawLine(props);\n break;\n case NodeType.Patch:\n recorder.drawPatch(props);\n break;\n case NodeType.Vertices:\n recorder.drawVertices(props);\n break;\n case NodeType.DiffRect:\n recorder.drawDiffRect(props);\n break;\n case NodeType.Text:\n recorder.drawText(props);\n break;\n case NodeType.TextPath:\n recorder.drawTextPath(props);\n break;\n case NodeType.TextBlob:\n recorder.drawTextBlob(props);\n break;\n case NodeType.Glyphs:\n recorder.drawGlyphs(props);\n break;\n case NodeType.Picture:\n recorder.drawPicture(props);\n break;\n case NodeType.ImageSVG:\n recorder.drawImageSVG(props);\n break;\n case NodeType.Paragraph:\n recorder.drawParagraph(props);\n break;\n case NodeType.Atlas:\n recorder.drawAtlas(props);\n break;\n }\n drawings.forEach((drawing) => {\n visitNode(recorder, drawing);\n });\n if (shouldPushPaint) {\n recorder.restorePaint();\n }\n if (shouldRestore) {\n recorder.restoreCTM();\n }\n};\n\nexport const visit = (recorder: Recorder, root: Node[]) => {\n root.forEach((node) => {\n visitNode(recorder, node);\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type { BoxProps, BoxShadowProps } from "../../../dom/types";
|
2
|
+
import type { Command } from "../Core";
|
3
|
+
import { CommandType } from "../Core";
|
4
|
+
import type { DrawingContext } from "../DrawingContext";
|
5
|
+
interface BoxCommand extends Command<CommandType.DrawBox> {
|
6
|
+
props: BoxProps;
|
7
|
+
shadows: {
|
8
|
+
props: BoxShadowProps;
|
9
|
+
}[];
|
10
|
+
}
|
11
|
+
export declare const isBoxCommand: (command: Command) => command is BoxCommand;
|
12
|
+
export declare const drawBox: (ctx: DrawingContext, command: BoxCommand) => void;
|
13
|
+
export {};
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.isBoxCommand = exports.drawBox = void 0;
|
7
|
+
var _nodes = require("../../../dom/nodes");
|
8
|
+
var _types = require("../../../skia/types");
|
9
|
+
var _Core = require("../Core");
|
10
|
+
const isBoxCommand = command => {
|
11
|
+
"worklet";
|
12
|
+
|
13
|
+
return command.type === _Core.CommandType.DrawBox;
|
14
|
+
};
|
15
|
+
exports.isBoxCommand = isBoxCommand;
|
16
|
+
const drawBox = (ctx, command) => {
|
17
|
+
"worklet";
|
18
|
+
|
19
|
+
command.shadows.forEach(shadow => {
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
21
|
+
(0, _Core.materializeProps)(shadow);
|
22
|
+
});
|
23
|
+
const shadows = command.shadows.map(shadow => shadow.props);
|
24
|
+
const {
|
25
|
+
paint,
|
26
|
+
Skia,
|
27
|
+
canvas
|
28
|
+
} = ctx;
|
29
|
+
const {
|
30
|
+
box: defaultBox
|
31
|
+
} = command.props;
|
32
|
+
const opacity = paint.getAlphaf();
|
33
|
+
const box = (0, _types.isRRect)(defaultBox) ? defaultBox : Skia.RRectXY(defaultBox, 0, 0);
|
34
|
+
shadows.filter(shadow => !shadow.inner).map(shadow => {
|
35
|
+
const {
|
36
|
+
color = "black",
|
37
|
+
blur,
|
38
|
+
spread = 0,
|
39
|
+
dx = 0,
|
40
|
+
dy = 0
|
41
|
+
} = shadow;
|
42
|
+
const lPaint = Skia.Paint();
|
43
|
+
lPaint.setColor(Skia.Color(color));
|
44
|
+
lPaint.setAlphaf(paint.getAlphaf() * opacity);
|
45
|
+
lPaint.setMaskFilter(Skia.MaskFilter.MakeBlur(_types.BlurStyle.Normal, blur, true));
|
46
|
+
canvas.drawRRect((0, _nodes.inflate)(Skia, box, spread, spread, dx, dy), lPaint);
|
47
|
+
});
|
48
|
+
canvas.drawRRect(box, paint);
|
49
|
+
shadows.filter(shadow => shadow.inner).map(shadow => {
|
50
|
+
const {
|
51
|
+
color = "black",
|
52
|
+
blur,
|
53
|
+
spread = 0,
|
54
|
+
dx = 0,
|
55
|
+
dy = 0
|
56
|
+
} = shadow;
|
57
|
+
const delta = Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));
|
58
|
+
canvas.save();
|
59
|
+
canvas.clipRRect(box, _types.ClipOp.Intersect, false);
|
60
|
+
const lPaint = Skia.Paint();
|
61
|
+
lPaint.setColor(Skia.Color(color));
|
62
|
+
lPaint.setAlphaf(paint.getAlphaf() * opacity);
|
63
|
+
lPaint.setMaskFilter(Skia.MaskFilter.MakeBlur(_types.BlurStyle.Normal, blur, true));
|
64
|
+
const inner = (0, _nodes.deflate)(Skia, box, spread, spread, dx, dy);
|
65
|
+
const outer = (0, _nodes.inflate)(Skia, box, delta.x, delta.y);
|
66
|
+
canvas.drawDRRect(outer, inner, lPaint);
|
67
|
+
canvas.restore();
|
68
|
+
});
|
69
|
+
};
|
70
|
+
exports.drawBox = drawBox;
|
71
|
+
//# sourceMappingURL=Box.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_nodes","require","_types","_Core","isBoxCommand","command","type","CommandType","DrawBox","exports","drawBox","ctx","shadows","forEach","shadow","materializeProps","map","props","paint","Skia","canvas","box","defaultBox","opacity","getAlphaf","isRRect","RRectXY","filter","inner","color","blur","spread","dx","dy","lPaint","Paint","setColor","Color","setAlphaf","setMaskFilter","MaskFilter","MakeBlur","BlurStyle","Normal","drawRRect","inflate","delta","Point","Math","abs","save","clipRRect","ClipOp","Intersect","deflate","outer","x","y","drawDRRect","restore"],"sources":["Box.ts"],"sourcesContent":["import { deflate, inflate } from \"../../../dom/nodes\";\nimport type { BoxProps, BoxShadowProps } from \"../../../dom/types\";\nimport { BlurStyle, ClipOp, isRRect } from \"../../../skia/types\";\nimport type { Command } from \"../Core\";\nimport { CommandType, materializeProps } from \"../Core\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\ninterface BoxCommand extends Command<CommandType.DrawBox> {\n props: BoxProps;\n shadows: { props: BoxShadowProps }[];\n}\n\nexport const isBoxCommand = (command: Command): command is BoxCommand => {\n \"worklet\";\n return command.type === CommandType.DrawBox;\n};\n\nexport const drawBox = (ctx: DrawingContext, command: BoxCommand) => {\n \"worklet\";\n command.shadows.forEach((shadow) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n materializeProps(shadow as any);\n });\n const shadows = command.shadows.map((shadow) => shadow.props);\n const { paint, Skia, canvas } = ctx;\n const { box: defaultBox } = command.props;\n const opacity = paint.getAlphaf();\n const box = isRRect(defaultBox) ? defaultBox : Skia.RRectXY(defaultBox, 0, 0);\n shadows\n .filter((shadow) => !shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const lPaint = Skia.Paint();\n lPaint.setColor(Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n lPaint.setMaskFilter(\n Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n canvas.drawRRect(inflate(Skia, box, spread, spread, dx, dy), lPaint);\n });\n\n canvas.drawRRect(box, paint);\n\n shadows\n .filter((shadow) => shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const delta = Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));\n canvas.save();\n canvas.clipRRect(box, ClipOp.Intersect, false);\n const lPaint = Skia.Paint();\n lPaint.setColor(Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n\n lPaint.setMaskFilter(\n Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n const inner = deflate(Skia, box, spread, spread, dx, dy);\n const outer = inflate(Skia, box, delta.x, delta.y);\n canvas.drawDRRect(outer, inner, lPaint);\n canvas.restore();\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.saveCTM = void 0;
|
7
|
+
var _nodes = require("../../../dom/nodes");
|
8
|
+
var _types = require("../../../skia/types");
|
9
|
+
const computeClip = (Skia, clip) => {
|
10
|
+
"worklet";
|
11
|
+
|
12
|
+
if (clip) {
|
13
|
+
if ((0, _nodes.isPathDef)(clip)) {
|
14
|
+
return {
|
15
|
+
clipPath: (0, _nodes.processPath)(Skia, clip)
|
16
|
+
};
|
17
|
+
} else if ((0, _types.isRRect)(clip)) {
|
18
|
+
return {
|
19
|
+
clipRRect: clip
|
20
|
+
};
|
21
|
+
} else {
|
22
|
+
return {
|
23
|
+
clipRect: clip
|
24
|
+
};
|
25
|
+
}
|
26
|
+
}
|
27
|
+
return undefined;
|
28
|
+
};
|
29
|
+
const saveCTM = (ctx, props) => {
|
30
|
+
"worklet";
|
31
|
+
|
32
|
+
const {
|
33
|
+
canvas,
|
34
|
+
Skia
|
35
|
+
} = ctx;
|
36
|
+
const {
|
37
|
+
clip: rawClip,
|
38
|
+
invertClip,
|
39
|
+
matrix,
|
40
|
+
transform,
|
41
|
+
origin,
|
42
|
+
layer
|
43
|
+
} = props;
|
44
|
+
const hasTransform = matrix !== undefined || transform !== undefined;
|
45
|
+
const clip = computeClip(Skia, rawClip);
|
46
|
+
const hasClip = clip !== undefined;
|
47
|
+
const op = invertClip ? _types.ClipOp.Difference : _types.ClipOp.Intersect;
|
48
|
+
const m3 = (0, _nodes.processTransformProps2)(Skia, {
|
49
|
+
matrix,
|
50
|
+
transform,
|
51
|
+
origin
|
52
|
+
});
|
53
|
+
const shouldSave = hasTransform || hasClip || !!layer;
|
54
|
+
if (shouldSave) {
|
55
|
+
if (layer) {
|
56
|
+
if (typeof layer === "boolean") {
|
57
|
+
canvas.saveLayer();
|
58
|
+
} else {
|
59
|
+
canvas.saveLayer(layer);
|
60
|
+
}
|
61
|
+
} else {
|
62
|
+
canvas.save();
|
63
|
+
}
|
64
|
+
}
|
65
|
+
if (m3) {
|
66
|
+
canvas.concat(m3);
|
67
|
+
}
|
68
|
+
if (clip) {
|
69
|
+
if ("clipRect" in clip) {
|
70
|
+
canvas.clipRect(clip.clipRect, op, true);
|
71
|
+
} else if ("clipRRect" in clip) {
|
72
|
+
canvas.clipRRect(clip.clipRRect, op, true);
|
73
|
+
} else {
|
74
|
+
canvas.clipPath(clip.clipPath, op, true);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
};
|
78
|
+
exports.saveCTM = saveCTM;
|
79
|
+
//# sourceMappingURL=CTM.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_nodes","require","_types","computeClip","Skia","clip","isPathDef","clipPath","processPath","isRRect","clipRRect","clipRect","undefined","saveCTM","ctx","props","canvas","rawClip","invertClip","matrix","transform","origin","layer","hasTransform","hasClip","op","ClipOp","Difference","Intersect","m3","processTransformProps2","shouldSave","saveLayer","save","concat","exports"],"sources":["CTM.ts"],"sourcesContent":["import {\n isPathDef,\n processPath,\n processTransformProps2,\n} from \"../../../dom/nodes\";\nimport type { ClipDef, CTMProps } from \"../../../dom/types\";\nimport type { Skia, SkPath, SkRect, SkRRect } from \"../../../skia/types\";\nimport { ClipOp, isRRect } from \"../../../skia/types\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\nconst computeClip = (\n Skia: Skia,\n clip: ClipDef | undefined\n):\n | undefined\n | { clipPath: SkPath }\n | { clipRect: SkRect }\n | { clipRRect: SkRRect } => {\n \"worklet\";\n if (clip) {\n if (isPathDef(clip)) {\n return { clipPath: processPath(Skia, clip) };\n } else if (isRRect(clip)) {\n return { clipRRect: clip };\n } else {\n return { clipRect: clip };\n }\n }\n return undefined;\n};\n\nexport const saveCTM = (ctx: DrawingContext, props: CTMProps) => {\n \"worklet\";\n const { canvas, Skia } = ctx;\n const {\n clip: rawClip,\n invertClip,\n matrix,\n transform,\n origin,\n layer,\n } = props as CTMProps;\n const hasTransform = matrix !== undefined || transform !== undefined;\n const clip = computeClip(Skia, rawClip);\n const hasClip = clip !== undefined;\n const op = invertClip ? ClipOp.Difference : ClipOp.Intersect;\n const m3 = processTransformProps2(Skia, { matrix, transform, origin });\n const shouldSave = hasTransform || hasClip || !!layer;\n if (shouldSave) {\n if (layer) {\n if (typeof layer === \"boolean\") {\n canvas.saveLayer();\n } else {\n canvas.saveLayer(layer);\n }\n } else {\n canvas.save();\n }\n }\n if (m3) {\n canvas.concat(m3);\n }\n if (clip) {\n if (\"clipRect\" in clip) {\n canvas.clipRect(clip.clipRect, op, true);\n } else if (\"clipRRect\" in clip) {\n canvas.clipRRect(clip.clipRRect, op, true);\n } else {\n canvas.clipPath(clip.clipPath, op, true);\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AAGA,MAAME,WAAW,GAAGA,CAClBC,IAAU,EACVC,IAAyB,KAKG;EAC5B,SAAS;;EACT,IAAIA,IAAI,EAAE;IACR,IAAI,IAAAC,gBAAS,EAACD,IAAI,CAAC,EAAE;MACnB,OAAO;QAAEE,QAAQ,EAAE,IAAAC,kBAAW,EAACJ,IAAI,EAAEC,IAAI;MAAE,CAAC;IAC9C,CAAC,MAAM,IAAI,IAAAI,cAAO,EAACJ,IAAI,CAAC,EAAE;MACxB,OAAO;QAAEK,SAAS,EAAEL;MAAK,CAAC;IAC5B,CAAC,MAAM;MACL,OAAO;QAAEM,QAAQ,EAAEN;MAAK,CAAC;IAC3B;EACF;EACA,OAAOO,SAAS;AAClB,CAAC;AAEM,MAAMC,OAAO,GAAGA,CAACC,GAAmB,EAAEC,KAAe,KAAK;EAC/D,SAAS;;EACT,MAAM;IAAEC,MAAM;IAAEZ;EAAK,CAAC,GAAGU,GAAG;EAC5B,MAAM;IACJT,IAAI,EAAEY,OAAO;IACbC,UAAU;IACVC,MAAM;IACNC,SAAS;IACTC,MAAM;IACNC;EACF,CAAC,GAAGP,KAAiB;EACrB,MAAMQ,YAAY,GAAGJ,MAAM,KAAKP,SAAS,IAAIQ,SAAS,KAAKR,SAAS;EACpE,MAAMP,IAAI,GAAGF,WAAW,CAACC,IAAI,EAAEa,OAAO,CAAC;EACvC,MAAMO,OAAO,GAAGnB,IAAI,KAAKO,SAAS;EAClC,MAAMa,EAAE,GAAGP,UAAU,GAAGQ,aAAM,CAACC,UAAU,GAAGD,aAAM,CAACE,SAAS;EAC5D,MAAMC,EAAE,GAAG,IAAAC,6BAAsB,EAAC1B,IAAI,EAAE;IAAEe,MAAM;IAAEC,SAAS;IAAEC;EAAO,CAAC,CAAC;EACtE,MAAMU,UAAU,GAAGR,YAAY,IAAIC,OAAO,IAAI,CAAC,CAACF,KAAK;EACrD,IAAIS,UAAU,EAAE;IACd,IAAIT,KAAK,EAAE;MACT,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;QAC9BN,MAAM,CAACgB,SAAS,CAAC,CAAC;MACpB,CAAC,MAAM;QACLhB,MAAM,CAACgB,SAAS,CAACV,KAAK,CAAC;MACzB;IACF,CAAC,MAAM;MACLN,MAAM,CAACiB,IAAI,CAAC,CAAC;IACf;EACF;EACA,IAAIJ,EAAE,EAAE;IACNb,MAAM,CAACkB,MAAM,CAACL,EAAE,CAAC;EACnB;EACA,IAAIxB,IAAI,EAAE;IACR,IAAI,UAAU,IAAIA,IAAI,EAAE;MACtBW,MAAM,CAACL,QAAQ,CAACN,IAAI,CAACM,QAAQ,EAAEc,EAAE,EAAE,IAAI,CAAC;IAC1C,CAAC,MAAM,IAAI,WAAW,IAAIpB,IAAI,EAAE;MAC9BW,MAAM,CAACN,SAAS,CAACL,IAAI,CAACK,SAAS,EAAEe,EAAE,EAAE,IAAI,CAAC;IAC5C,CAAC,MAAM;MACLT,MAAM,CAACT,QAAQ,CAACF,IAAI,CAACE,QAAQ,EAAEkB,EAAE,EAAE,IAAI,CAAC;IAC1C;EACF;AACF,CAAC;AAACU,OAAA,CAAAtB,OAAA,GAAAA,OAAA","ignoreList":[]}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { CommandType } from "../Core";
|
2
|
+
import type { Command } from "../Core";
|
3
|
+
import type { DrawingContext } from "../DrawingContext";
|
4
|
+
export declare const isPushColorFilter: (command: Command) => command is Command<CommandType.PushColorFilter>;
|
5
|
+
export declare const composeColorFilters: (ctx: DrawingContext) => void;
|
6
|
+
export declare const pushColorFilter: (ctx: DrawingContext, command: Command<CommandType.PushColorFilter>) => void;
|