@shopify/react-native-skia 1.7.7 → 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/nodes/JsiSkDOM.d.ts +3 -7
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +58 -70
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Circle.js +4 -1
- package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Enum.js +5 -2
- package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js +10 -1
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Gradient.js +17 -10
- package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Path.js +4 -1
- package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Radius.js +2 -1
- package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js +16 -2
- package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.js +4 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -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 +1 -6
- package/lib/commonjs/dom/types/Node.js.map +1 -1
- package/lib/commonjs/dom/types/index.d.ts +0 -2
- package/lib/commonjs/dom/types/index.js +0 -22
- package/lib/commonjs/dom/types/index.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/headless/index.js +3 -5
- package/lib/commonjs/headless/index.js.map +1 -1
- package/lib/commonjs/index.d.ts +1 -0
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +9 -26
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.web.d.ts +10 -0
- package/lib/commonjs/renderer/Canvas.web.js +110 -0
- package/lib/commonjs/renderer/Canvas.web.js.map +1 -0
- package/lib/commonjs/renderer/Canvas2.d.ts +10 -0
- package/lib/commonjs/renderer/Canvas2.js +104 -0
- package/lib/commonjs/renderer/Canvas2.js.map +1 -0
- package/lib/commonjs/renderer/Canvas2.web.d.ts +3 -0
- package/lib/commonjs/renderer/Canvas2.web.js +9 -0
- package/lib/commonjs/renderer/Canvas2.web.js.map +1 -0
- package/lib/commonjs/renderer/Container.d.ts +3 -5
- package/lib/commonjs/renderer/Container.js +2 -7
- package/lib/commonjs/renderer/Container.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +3 -6
- package/lib/commonjs/renderer/HostComponents.js +1 -4
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/Offscreen.js +3 -5
- package/lib/commonjs/renderer/Offscreen.js.map +1 -1
- package/lib/commonjs/renderer/Reconciler.d.ts +2 -3
- package/lib/commonjs/renderer/Reconciler.js +2 -2
- package/lib/commonjs/renderer/Reconciler.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/types/Shader/Shader.js +6 -1
- package/lib/commonjs/skia/types/Shader/Shader.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 +3 -1
- package/lib/commonjs/sksg/Reconciler.js +7 -0
- package/lib/commonjs/sksg/Reconciler.js.map +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} +48 -11
- 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} +76 -16
- 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} +16 -3
- package/lib/commonjs/sksg/utils.js.map +1 -0
- package/lib/commonjs/views/SkiaDomView.web.d.ts +0 -7
- package/lib/commonjs/views/SkiaDomView.web.js +0 -30
- package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
- package/lib/commonjs/views/SkiaPictureView.web.d.ts +3 -1
- package/lib/commonjs/views/SkiaPictureView.web.js +10 -0
- package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
- package/lib/commonjs/views/types.d.ts +2 -7
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +3 -7
- package/lib/module/dom/nodes/JsiSkDOM.js +58 -70
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Circle.js +4 -2
- package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Enum.js +4 -2
- package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Fitting.js +10 -2
- package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Gradient.js +17 -11
- package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Path.js +4 -2
- package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Radius.js +2 -2
- package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +15 -2
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Transform.js +4 -2
- package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
- 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 +1 -6
- package/lib/module/dom/types/Node.js.map +1 -1
- package/lib/module/dom/types/index.d.ts +0 -2
- package/lib/module/dom/types/index.js +0 -2
- package/lib/module/dom/types/index.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/headless/index.js +3 -5
- package/lib/module/headless/index.js.map +1 -1
- package/lib/module/index.d.ts +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/renderer/Canvas.js +9 -26
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/Canvas.web.d.ts +10 -0
- package/lib/module/renderer/Canvas.web.js +105 -0
- package/lib/module/renderer/Canvas.web.js.map +1 -0
- package/lib/module/renderer/Canvas2.d.ts +10 -0
- package/lib/module/renderer/Canvas2.js +97 -0
- package/lib/module/renderer/Canvas2.js.map +1 -0
- package/lib/module/renderer/Canvas2.web.d.ts +3 -0
- package/lib/module/renderer/Canvas2.web.js +3 -0
- package/lib/module/renderer/Canvas2.web.js.map +1 -0
- package/lib/module/renderer/Container.d.ts +3 -5
- package/lib/module/renderer/Container.js +2 -7
- package/lib/module/renderer/Container.js.map +1 -1
- package/lib/module/renderer/HostComponents.d.ts +3 -6
- package/lib/module/renderer/HostComponents.js +0 -3
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/Offscreen.js +3 -5
- package/lib/module/renderer/Offscreen.js.map +1 -1
- package/lib/module/renderer/Reconciler.d.ts +2 -3
- package/lib/module/renderer/Reconciler.js +2 -2
- package/lib/module/renderer/Reconciler.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/types/Shader/Shader.js +6 -2
- package/lib/module/skia/types/Shader/Shader.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 +3 -1
- package/lib/module/sksg/Reconciler.js +7 -0
- package/lib/module/sksg/Reconciler.js.map +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} +47 -10
- 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/Recorder/commands/ImageFilters.js +173 -0
- 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} +80 -14
- 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} +14 -3
- package/lib/module/sksg/utils.js.map +1 -0
- package/lib/module/views/SkiaDomView.web.d.ts +0 -7
- package/lib/module/views/SkiaDomView.web.js +1 -24
- package/lib/module/views/SkiaDomView.web.js.map +1 -1
- package/lib/module/views/SkiaPictureView.web.d.ts +3 -1
- package/lib/module/views/SkiaPictureView.web.js +10 -0
- package/lib/module/views/SkiaPictureView.web.js.map +1 -1
- package/lib/module/views/types.d.ts +2 -7
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +57 -67
- package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -1
- package/lib/typescript/lib/commonjs/renderer/Canvas.web.d.ts +3 -0
- package/lib/typescript/lib/commonjs/renderer/Canvas2.d.ts +3 -0
- package/lib/typescript/lib/commonjs/{dom/nodes/drawings/index.d.ts → renderer/Canvas2.web.d.ts} +1 -0
- package/lib/typescript/lib/commonjs/renderer/Container.d.ts +1 -2
- package/lib/typescript/lib/commonjs/renderer/HostComponents.d.ts +0 -1
- package/lib/typescript/lib/commonjs/renderer/Reconciler.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/Reconciler.d.ts +2 -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/{nodes/drawings.d.ts → Recorder/commands/Drawing.d.ts} +0 -1
- 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/commonjs/views/SkiaDomView.web.d.ts +0 -5
- package/lib/typescript/lib/commonjs/views/SkiaPictureView.web.d.ts +2 -0
- package/lib/typescript/lib/module/dom/nodes/JsiSkDOM.d.ts +57 -117
- package/lib/typescript/lib/module/dom/types/index.d.ts +0 -2
- 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/index.d.ts +1 -0
- package/lib/typescript/lib/module/mock/index.d.ts +0 -3
- package/lib/typescript/lib/module/renderer/Canvas.web.d.ts +1 -0
- package/lib/typescript/lib/module/renderer/Canvas2.d.ts +1 -0
- package/lib/typescript/lib/module/renderer/Canvas2.web.d.ts +1 -0
- package/lib/typescript/lib/module/renderer/Container.d.ts +3 -4
- package/lib/typescript/lib/module/renderer/HostComponents.d.ts +0 -1
- package/lib/typescript/lib/module/renderer/Reconciler.d.ts +2 -2
- 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/Reconciler.d.ts +2 -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/{nodes/drawings.d.ts → Recorder/commands/Drawing.d.ts} +0 -1
- 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/lib/module/views/SkiaDomView.web.d.ts +0 -4
- package/lib/typescript/lib/module/views/SkiaPictureView.web.d.ts +2 -0
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +3 -7
- 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 +1 -6
- package/lib/typescript/src/dom/types/index.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/index.d.ts +1 -0
- package/lib/typescript/src/renderer/Canvas.web.d.ts +10 -0
- package/lib/typescript/src/renderer/Canvas2.d.ts +10 -0
- package/lib/typescript/src/renderer/Canvas2.web.d.ts +3 -0
- package/lib/typescript/src/renderer/Container.d.ts +3 -5
- package/lib/typescript/src/renderer/HostComponents.d.ts +3 -6
- package/lib/typescript/src/renderer/Reconciler.d.ts +2 -3
- 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 +3 -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/lib/typescript/src/views/SkiaDomView.web.d.ts +0 -7
- package/lib/typescript/src/views/SkiaPictureView.web.d.ts +3 -1
- package/lib/typescript/src/views/types.d.ts +2 -7
- package/package.json +1 -1
- package/src/__tests__/snapshots/image-filter/test-shadow.png +0 -0
- package/src/dom/nodes/JsiSkDOM.ts +58 -239
- package/src/dom/nodes/datatypes/Circle.ts +2 -2
- package/src/dom/nodes/datatypes/Enum.ts +4 -4
- package/src/dom/nodes/datatypes/Fitting.ts +5 -2
- package/src/dom/nodes/datatypes/Gradient.ts +12 -9
- package/src/dom/nodes/datatypes/Path.ts +2 -2
- package/src/dom/nodes/datatypes/Radius.ts +1 -2
- package/src/dom/nodes/datatypes/Rect.ts +7 -2
- package/src/dom/nodes/datatypes/Transform.ts +4 -2
- package/src/dom/types/Common.ts +7 -5
- package/src/dom/types/ImageFilters.ts +2 -1
- package/src/dom/types/Node.ts +1 -8
- package/src/dom/types/index.ts +0 -2
- package/src/external/reanimated/index.ts +0 -1
- package/src/external/reanimated/renderHelpers.ts +4 -44
- package/src/headless/index.ts +3 -5
- package/src/index.ts +1 -0
- package/src/renderer/Canvas.tsx +12 -31
- package/src/renderer/Canvas.web.tsx +134 -0
- package/src/renderer/Canvas2.tsx +128 -0
- package/src/renderer/Canvas2.web.tsx +6 -0
- package/src/renderer/Container.tsx +4 -16
- package/src/renderer/HostComponents.ts +2 -10
- package/src/renderer/Offscreen.tsx +3 -6
- package/src/renderer/Reconciler.tsx +1 -5
- 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/types/Shader/Shader.ts +3 -2
- 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/Reconciler.ts +8 -1
- 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} +50 -74
- 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/Recorder/commands/Shaders.ts +284 -0
- package/src/sksg/{nodes/utils.ts → utils.ts} +16 -3
- package/src/views/SkiaDomView.web.tsx +0 -23
- package/src/views/SkiaPictureView.web.tsx +10 -1
- package/src/views/types.ts +2 -8
- package/lib/commonjs/dom/nodes/DrawingNode.d.ts +0 -14
- package/lib/commonjs/dom/nodes/DrawingNode.js +0 -69
- package/lib/commonjs/dom/nodes/DrawingNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/GroupNode.d.ts +0 -7
- package/lib/commonjs/dom/nodes/GroupNode.js +0 -22
- package/lib/commonjs/dom/nodes/GroupNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/LayerNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/LayerNode.js +0 -39
- package/lib/commonjs/dom/nodes/LayerNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/Node.d.ts +0 -34
- package/lib/commonjs/dom/nodes/Node.js +0 -102
- package/lib/commonjs/dom/nodes/Node.js.map +0 -1
- package/lib/commonjs/dom/nodes/PaintNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/PaintNode.js +0 -90
- package/lib/commonjs/dom/nodes/PaintNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/RenderNode.d.ts +0 -26
- package/lib/commonjs/dom/nodes/RenderNode.js +0 -132
- package/lib/commonjs/dom/nodes/RenderNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/AtlasNode.js +0 -36
- package/lib/commonjs/dom/nodes/drawings/AtlasNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js +0 -42
- package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/Box.d.ts +0 -15
- package/lib/commonjs/dom/nodes/drawings/Box.js +0 -81
- package/lib/commonjs/dom/nodes/drawings/Box.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +0 -9
- package/lib/commonjs/dom/nodes/drawings/CircleNode.js +0 -32
- package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js +0 -28
- package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/FillNode.js +0 -24
- package/lib/commonjs/dom/nodes/drawings/FillNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +0 -25
- package/lib/commonjs/dom/nodes/drawings/ImageNode.js +0 -71
- package/lib/commonjs/dom/nodes/drawings/ImageNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +0 -13
- package/lib/commonjs/dom/nodes/drawings/ImageSVG.js +0 -57
- package/lib/commonjs/dom/nodes/drawings/ImageSVG.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/LineNode.js +0 -28
- package/lib/commonjs/dom/nodes/drawings/LineNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +0 -9
- package/lib/commonjs/dom/nodes/drawings/OvalNode.js +0 -28
- package/lib/commonjs/dom/nodes/drawings/OvalNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js +0 -32
- package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +0 -18
- package/lib/commonjs/dom/nodes/drawings/PatchNode.js +0 -53
- package/lib/commonjs/dom/nodes/drawings/PatchNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +0 -9
- package/lib/commonjs/dom/nodes/drawings/PathNode.js +0 -55
- package/lib/commonjs/dom/nodes/drawings/PathNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/PictureNode.js +0 -26
- package/lib/commonjs/dom/nodes/drawings/PictureNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/PointsNode.js +0 -30
- package/lib/commonjs/dom/nodes/drawings/PointsNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +0 -10
- package/lib/commonjs/dom/nodes/drawings/RRectNode.js +0 -32
- package/lib/commonjs/dom/nodes/drawings/RRectNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +0 -9
- package/lib/commonjs/dom/nodes/drawings/RectNode.js +0 -28
- package/lib/commonjs/dom/nodes/drawings/RectNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/Text.d.ts +0 -30
- package/lib/commonjs/dom/nodes/drawings/Text.js +0 -159
- package/lib/commonjs/dom/nodes/drawings/Text.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +0 -9
- package/lib/commonjs/dom/nodes/drawings/VerticesNode.js +0 -43
- package/lib/commonjs/dom/nodes/drawings/VerticesNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/index.d.ts +0 -18
- package/lib/commonjs/dom/nodes/drawings/index.js +0 -204
- package/lib/commonjs/dom/nodes/drawings/index.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/paint/BlendNode.js +0 -37
- package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +0 -35
- package/lib/commonjs/dom/nodes/paint/ColorFilters.js +0 -102
- package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +0 -42
- package/lib/commonjs/dom/nodes/paint/ImageFilters.js +0 -183
- package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +0 -8
- package/lib/commonjs/dom/nodes/paint/MaskFilters.js +0 -26
- package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +0 -39
- package/lib/commonjs/dom/nodes/paint/PathEffects.js +0 -136
- package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/Shaders.d.ts +0 -43
- package/lib/commonjs/dom/nodes/paint/Shaders.js +0 -209
- package/lib/commonjs/dom/nodes/paint/Shaders.js.map +0 -1
- package/lib/commonjs/dom/nodes/paint/index.d.ts +0 -6
- package/lib/commonjs/dom/nodes/paint/index.js +0 -72
- package/lib/commonjs/dom/nodes/paint/index.js.map +0 -1
- package/lib/commonjs/dom/types/DeclarationContext.d.ts +0 -29
- package/lib/commonjs/dom/types/DeclarationContext.js +0 -97
- package/lib/commonjs/dom/types/DeclarationContext.js.map +0 -1
- package/lib/commonjs/dom/types/DrawingContext.d.ts +0 -22
- package/lib/commonjs/dom/types/DrawingContext.js +0 -263
- package/lib/commonjs/dom/types/DrawingContext.js.map +0 -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/renderer/DrawingContext.d.ts +0 -7
- package/lib/commonjs/renderer/DrawingContext.js +0 -6
- package/lib/commonjs/renderer/DrawingContext.js.map +0 -1
- package/lib/commonjs/sksg/DrawingContext.d.ts +0 -16
- package/lib/commonjs/sksg/DrawingContext.js +0 -186
- 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 -7
- package/lib/commonjs/sksg/nodes/colorFilters.js +0 -55
- 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 -448
- package/lib/commonjs/sksg/nodes/context.js.map +0 -1
- package/lib/commonjs/sksg/nodes/drawings.d.ts +0 -31
- package/lib/commonjs/sksg/nodes/drawings.js.map +0 -1
- package/lib/commonjs/sksg/nodes/imageFilters.d.ts +0 -14
- package/lib/commonjs/sksg/nodes/imageFilters.js +0 -135
- 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 -2
- package/lib/commonjs/sksg/nodes/paint.js +0 -80
- package/lib/commonjs/sksg/nodes/paint.js.map +0 -1
- package/lib/commonjs/sksg/nodes/pathEffects.d.ts +0 -8
- package/lib/commonjs/sksg/nodes/pathEffects.js +0 -84
- package/lib/commonjs/sksg/nodes/pathEffects.js.map +0 -1
- package/lib/commonjs/sksg/nodes/shaders.d.ts +0 -10
- package/lib/commonjs/sksg/nodes/shaders.js.map +0 -1
- package/lib/commonjs/sksg/nodes/utils.js.map +0 -1
- package/lib/commonjs/views/SkiaJSDomView.d.ts +0 -38
- package/lib/commonjs/views/SkiaJSDomView.js +0 -131
- package/lib/commonjs/views/SkiaJSDomView.js.map +0 -1
- package/lib/commonjs/views/SkiaJSDomView.web.d.ts +0 -1
- package/lib/commonjs/views/SkiaJSDomView.web.js +0 -13
- package/lib/commonjs/views/SkiaJSDomView.web.js.map +0 -1
- package/lib/module/dom/nodes/DrawingNode.d.ts +0 -14
- package/lib/module/dom/nodes/DrawingNode.js +0 -62
- package/lib/module/dom/nodes/DrawingNode.js.map +0 -1
- package/lib/module/dom/nodes/GroupNode.d.ts +0 -7
- package/lib/module/dom/nodes/GroupNode.js +0 -15
- package/lib/module/dom/nodes/GroupNode.js.map +0 -1
- package/lib/module/dom/nodes/LayerNode.d.ts +0 -8
- package/lib/module/dom/nodes/LayerNode.js +0 -32
- package/lib/module/dom/nodes/LayerNode.js.map +0 -1
- package/lib/module/dom/nodes/Node.d.ts +0 -34
- package/lib/module/dom/nodes/Node.js +0 -94
- package/lib/module/dom/nodes/Node.js.map +0 -1
- package/lib/module/dom/nodes/PaintNode.d.ts +0 -8
- package/lib/module/dom/nodes/PaintNode.js +0 -83
- package/lib/module/dom/nodes/PaintNode.js.map +0 -1
- package/lib/module/dom/nodes/RenderNode.d.ts +0 -26
- package/lib/module/dom/nodes/RenderNode.js +0 -125
- package/lib/module/dom/nodes/RenderNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/AtlasNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/AtlasNode.js +0 -29
- package/lib/module/dom/nodes/drawings/AtlasNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/BackdropFilterNode.js +0 -35
- package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/Box.d.ts +0 -15
- package/lib/module/dom/nodes/drawings/Box.js +0 -73
- package/lib/module/dom/nodes/drawings/Box.js.map +0 -1
- package/lib/module/dom/nodes/drawings/CircleNode.d.ts +0 -9
- package/lib/module/dom/nodes/drawings/CircleNode.js +0 -25
- package/lib/module/dom/nodes/drawings/CircleNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/DiffRectNode.js +0 -21
- package/lib/module/dom/nodes/drawings/DiffRectNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/FillNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/FillNode.js +0 -17
- package/lib/module/dom/nodes/drawings/FillNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/ImageNode.d.ts +0 -25
- package/lib/module/dom/nodes/drawings/ImageNode.js +0 -64
- package/lib/module/dom/nodes/drawings/ImageNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/ImageSVG.d.ts +0 -13
- package/lib/module/dom/nodes/drawings/ImageSVG.js +0 -50
- package/lib/module/dom/nodes/drawings/ImageSVG.js.map +0 -1
- package/lib/module/dom/nodes/drawings/LineNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/LineNode.js +0 -21
- package/lib/module/dom/nodes/drawings/LineNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/OvalNode.d.ts +0 -9
- package/lib/module/dom/nodes/drawings/OvalNode.js +0 -21
- package/lib/module/dom/nodes/drawings/OvalNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/ParagraphNode.js +0 -25
- package/lib/module/dom/nodes/drawings/ParagraphNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/PatchNode.d.ts +0 -18
- package/lib/module/dom/nodes/drawings/PatchNode.js +0 -46
- package/lib/module/dom/nodes/drawings/PatchNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/PathNode.d.ts +0 -9
- package/lib/module/dom/nodes/drawings/PathNode.js +0 -48
- package/lib/module/dom/nodes/drawings/PathNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/PictureNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/PictureNode.js +0 -19
- package/lib/module/dom/nodes/drawings/PictureNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/PointsNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/PointsNode.js +0 -23
- package/lib/module/dom/nodes/drawings/PointsNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/RRectNode.d.ts +0 -10
- package/lib/module/dom/nodes/drawings/RRectNode.js +0 -25
- package/lib/module/dom/nodes/drawings/RRectNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/RectNode.d.ts +0 -9
- package/lib/module/dom/nodes/drawings/RectNode.js +0 -21
- package/lib/module/dom/nodes/drawings/RectNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/Text.d.ts +0 -30
- package/lib/module/dom/nodes/drawings/Text.js +0 -149
- package/lib/module/dom/nodes/drawings/Text.js.map +0 -1
- package/lib/module/dom/nodes/drawings/VerticesNode.d.ts +0 -9
- package/lib/module/dom/nodes/drawings/VerticesNode.js +0 -36
- package/lib/module/dom/nodes/drawings/VerticesNode.js.map +0 -1
- package/lib/module/dom/nodes/drawings/index.d.ts +0 -18
- package/lib/module/dom/nodes/drawings/index.js +0 -19
- package/lib/module/dom/nodes/drawings/index.js.map +0 -1
- package/lib/module/dom/nodes/paint/BlendNode.d.ts +0 -8
- package/lib/module/dom/nodes/paint/BlendNode.js +0 -30
- package/lib/module/dom/nodes/paint/BlendNode.js.map +0 -1
- package/lib/module/dom/nodes/paint/ColorFilters.d.ts +0 -35
- package/lib/module/dom/nodes/paint/ColorFilters.js +0 -89
- package/lib/module/dom/nodes/paint/ColorFilters.js.map +0 -1
- package/lib/module/dom/nodes/paint/ImageFilters.d.ts +0 -42
- package/lib/module/dom/nodes/paint/ImageFilters.js +0 -169
- package/lib/module/dom/nodes/paint/ImageFilters.js.map +0 -1
- package/lib/module/dom/nodes/paint/MaskFilters.d.ts +0 -8
- package/lib/module/dom/nodes/paint/MaskFilters.js +0 -19
- package/lib/module/dom/nodes/paint/MaskFilters.js.map +0 -1
- package/lib/module/dom/nodes/paint/PathEffects.d.ts +0 -39
- package/lib/module/dom/nodes/paint/PathEffects.js +0 -123
- package/lib/module/dom/nodes/paint/PathEffects.js.map +0 -1
- package/lib/module/dom/nodes/paint/Shaders.d.ts +0 -43
- package/lib/module/dom/nodes/paint/Shaders.js +0 -193
- package/lib/module/dom/nodes/paint/Shaders.js.map +0 -1
- package/lib/module/dom/nodes/paint/index.d.ts +0 -6
- package/lib/module/dom/nodes/paint/index.js +0 -7
- package/lib/module/dom/nodes/paint/index.js.map +0 -1
- package/lib/module/dom/types/DeclarationContext.d.ts +0 -29
- package/lib/module/dom/types/DeclarationContext.js +0 -90
- package/lib/module/dom/types/DeclarationContext.js.map +0 -1
- package/lib/module/dom/types/DrawingContext.d.ts +0 -22
- package/lib/module/dom/types/DrawingContext.js +0 -256
- package/lib/module/dom/types/DrawingContext.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/renderer/DrawingContext.d.ts +0 -7
- package/lib/module/renderer/DrawingContext.js +0 -2
- package/lib/module/renderer/DrawingContext.js.map +0 -1
- package/lib/module/sksg/DrawingContext.d.ts +0 -16
- package/lib/module/sksg/DrawingContext.js +0 -180
- 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 -7
- package/lib/module/sksg/nodes/colorFilters.js +0 -44
- 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 -443
- package/lib/module/sksg/nodes/context.js.map +0 -1
- package/lib/module/sksg/nodes/drawings.d.ts +0 -31
- package/lib/module/sksg/nodes/drawings.js.map +0 -1
- package/lib/module/sksg/nodes/imageFilters.d.ts +0 -14
- package/lib/module/sksg/nodes/imageFilters.js +0 -122
- 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 -2
- 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 -8
- package/lib/module/sksg/nodes/pathEffects.js +0 -72
- package/lib/module/sksg/nodes/pathEffects.js.map +0 -1
- package/lib/module/sksg/nodes/shaders.d.ts +0 -10
- package/lib/module/sksg/nodes/shaders.js.map +0 -1
- package/lib/module/sksg/nodes/utils.js.map +0 -1
- package/lib/module/views/SkiaJSDomView.d.ts +0 -38
- package/lib/module/views/SkiaJSDomView.js +0 -123
- package/lib/module/views/SkiaJSDomView.js.map +0 -1
- package/lib/module/views/SkiaJSDomView.web.d.ts +0 -1
- package/lib/module/views/SkiaJSDomView.web.js +0 -2
- package/lib/module/views/SkiaJSDomView.web.js.map +0 -1
- package/lib/typescript/lib/commonjs/dom/nodes/DrawingNode.d.ts +0 -6
- package/lib/typescript/lib/commonjs/dom/nodes/GroupNode.d.ts +0 -6
- package/lib/typescript/lib/commonjs/dom/nodes/LayerNode.d.ts +0 -6
- package/lib/typescript/lib/commonjs/dom/nodes/Node.d.ts +0 -20
- package/lib/typescript/lib/commonjs/dom/nodes/PaintNode.d.ts +0 -6
- package/lib/typescript/lib/commonjs/dom/nodes/RenderNode.d.ts +0 -16
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/Box.d.ts +0 -15
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +0 -13
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +0 -9
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +0 -9
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +0 -14
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +0 -9
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/Text.d.ts +0 -34
- package/lib/typescript/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +0 -10
- package/lib/typescript/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +0 -6
- package/lib/typescript/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +0 -29
- package/lib/typescript/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +0 -35
- package/lib/typescript/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +0 -6
- package/lib/typescript/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +0 -34
- package/lib/typescript/lib/commonjs/dom/nodes/paint/Shaders.d.ts +0 -40
- package/lib/typescript/lib/commonjs/dom/nodes/paint/index.d.ts +0 -1
- package/lib/typescript/lib/commonjs/dom/types/DeclarationContext.d.ts +0 -26
- package/lib/typescript/lib/commonjs/dom/types/DrawingContext.d.ts +0 -13
- package/lib/typescript/lib/commonjs/external/reanimated/useDerivedValueOnJS.d.ts +0 -2
- package/lib/typescript/lib/commonjs/renderer/DrawingContext.d.ts +0 -1
- package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +0 -26
- package/lib/typescript/lib/commonjs/sksg/nodes/Node.d.ts +0 -1
- package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +0 -7
- package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +0 -2
- package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +0 -10
- 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 -8
- package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +0 -10
- package/lib/typescript/lib/commonjs/views/SkiaJSDomView.d.ts +0 -29
- package/lib/typescript/lib/commonjs/views/SkiaJSDomView.web.d.ts +0 -3
- package/lib/typescript/lib/module/dom/nodes/DrawingNode.d.ts +0 -5
- package/lib/typescript/lib/module/dom/nodes/GroupNode.d.ts +0 -5
- package/lib/typescript/lib/module/dom/nodes/LayerNode.d.ts +0 -5
- package/lib/typescript/lib/module/dom/nodes/Node.d.ts +0 -19
- package/lib/typescript/lib/module/dom/nodes/PaintNode.d.ts +0 -5
- package/lib/typescript/lib/module/dom/nodes/RenderNode.d.ts +0 -15
- package/lib/typescript/lib/module/dom/nodes/drawings/AtlasNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/Box.d.ts +0 -14
- package/lib/typescript/lib/module/dom/nodes/drawings/CircleNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/FillNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/ImageNode.d.ts +0 -22
- package/lib/typescript/lib/module/dom/nodes/drawings/ImageSVG.d.ts +0 -8
- package/lib/typescript/lib/module/dom/nodes/drawings/LineNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/OvalNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
- package/lib/typescript/lib/module/dom/nodes/drawings/PatchNode.d.ts +0 -13
- package/lib/typescript/lib/module/dom/nodes/drawings/PathNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/PictureNode.d.ts +0 -8
- package/lib/typescript/lib/module/dom/nodes/drawings/PointsNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/RRectNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/RectNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/Text.d.ts +0 -33
- package/lib/typescript/lib/module/dom/nodes/drawings/VerticesNode.d.ts +0 -9
- package/lib/typescript/lib/module/dom/nodes/drawings/index.d.ts +0 -18
- package/lib/typescript/lib/module/dom/nodes/paint/BlendNode.d.ts +0 -5
- package/lib/typescript/lib/module/dom/nodes/paint/ColorFilters.d.ts +0 -28
- package/lib/typescript/lib/module/dom/nodes/paint/ImageFilters.d.ts +0 -34
- package/lib/typescript/lib/module/dom/nodes/paint/MaskFilters.d.ts +0 -5
- package/lib/typescript/lib/module/dom/nodes/paint/PathEffects.d.ts +0 -33
- package/lib/typescript/lib/module/dom/nodes/paint/Shaders.d.ts +0 -39
- package/lib/typescript/lib/module/dom/nodes/paint/index.d.ts +0 -6
- package/lib/typescript/lib/module/dom/types/DeclarationContext.d.ts +0 -25
- package/lib/typescript/lib/module/dom/types/DrawingContext.d.ts +0 -12
- package/lib/typescript/lib/module/external/reanimated/useDerivedValueOnJS.d.ts +0 -1
- package/lib/typescript/lib/module/renderer/DrawingContext.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +0 -26
- package/lib/typescript/lib/module/sksg/nodes/Node.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +0 -6
- package/lib/typescript/lib/module/sksg/nodes/context.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +0 -9
- 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 -7
- package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +0 -9
- package/lib/typescript/lib/module/views/SkiaJSDomView.d.ts +0 -26
- package/lib/typescript/lib/module/views/SkiaJSDomView.web.d.ts +0 -1
- package/lib/typescript/src/dom/nodes/DrawingNode.d.ts +0 -14
- package/lib/typescript/src/dom/nodes/GroupNode.d.ts +0 -7
- package/lib/typescript/src/dom/nodes/LayerNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/Node.d.ts +0 -34
- package/lib/typescript/src/dom/nodes/PaintNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/RenderNode.d.ts +0 -26
- package/lib/typescript/src/dom/nodes/drawings/AtlasNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/BackdropFilterNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/Box.d.ts +0 -15
- package/lib/typescript/src/dom/nodes/drawings/CircleNode.d.ts +0 -9
- package/lib/typescript/src/dom/nodes/drawings/DiffRectNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/FillNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/ImageNode.d.ts +0 -25
- package/lib/typescript/src/dom/nodes/drawings/ImageSVG.d.ts +0 -13
- package/lib/typescript/src/dom/nodes/drawings/LineNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/OvalNode.d.ts +0 -9
- package/lib/typescript/src/dom/nodes/drawings/ParagraphNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/PatchNode.d.ts +0 -18
- package/lib/typescript/src/dom/nodes/drawings/PathNode.d.ts +0 -9
- package/lib/typescript/src/dom/nodes/drawings/PictureNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/PointsNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/drawings/RRectNode.d.ts +0 -10
- package/lib/typescript/src/dom/nodes/drawings/RectNode.d.ts +0 -9
- package/lib/typescript/src/dom/nodes/drawings/Text.d.ts +0 -30
- package/lib/typescript/src/dom/nodes/drawings/VerticesNode.d.ts +0 -9
- package/lib/typescript/src/dom/nodes/drawings/index.d.ts +0 -18
- package/lib/typescript/src/dom/nodes/paint/BlendNode.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/paint/ColorFilters.d.ts +0 -35
- package/lib/typescript/src/dom/nodes/paint/ImageFilters.d.ts +0 -42
- package/lib/typescript/src/dom/nodes/paint/MaskFilters.d.ts +0 -8
- package/lib/typescript/src/dom/nodes/paint/PathEffects.d.ts +0 -39
- package/lib/typescript/src/dom/nodes/paint/Shaders.d.ts +0 -43
- package/lib/typescript/src/dom/nodes/paint/index.d.ts +0 -6
- package/lib/typescript/src/dom/types/DeclarationContext.d.ts +0 -29
- package/lib/typescript/src/dom/types/DrawingContext.d.ts +0 -22
- package/lib/typescript/src/external/reanimated/useDerivedValueOnJS.d.ts +0 -1
- package/lib/typescript/src/renderer/DrawingContext.d.ts +0 -7
- package/lib/typescript/src/sksg/DrawingContext.d.ts +0 -16
- 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 -7
- package/lib/typescript/src/sksg/nodes/context.d.ts +0 -3
- package/lib/typescript/src/sksg/nodes/drawings.d.ts +0 -31
- package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +0 -14
- package/lib/typescript/src/sksg/nodes/index.d.ts +0 -3
- package/lib/typescript/src/sksg/nodes/paint.d.ts +0 -2
- package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +0 -8
- package/lib/typescript/src/sksg/nodes/shaders.d.ts +0 -10
- package/lib/typescript/src/views/SkiaJSDomView.d.ts +0 -38
- package/lib/typescript/src/views/SkiaJSDomView.web.d.ts +0 -1
- package/src/dom/nodes/DrawingNode.ts +0 -74
- package/src/dom/nodes/GroupNode.ts +0 -19
- package/src/dom/nodes/LayerNode.ts +0 -37
- package/src/dom/nodes/Node.ts +0 -121
- package/src/dom/nodes/PaintNode.ts +0 -91
- package/src/dom/nodes/RenderNode.ts +0 -172
- package/src/dom/nodes/drawings/AtlasNode.ts +0 -24
- package/src/dom/nodes/drawings/BackdropFilterNode.ts +0 -37
- package/src/dom/nodes/drawings/Box.ts +0 -82
- package/src/dom/nodes/drawings/CircleNode.ts +0 -24
- package/src/dom/nodes/drawings/DiffRectNode.ts +0 -19
- package/src/dom/nodes/drawings/FillNode.ts +0 -18
- package/src/dom/nodes/drawings/ImageNode.ts +0 -49
- package/src/dom/nodes/drawings/ImageSVG.ts +0 -38
- package/src/dom/nodes/drawings/LineNode.ts +0 -19
- package/src/dom/nodes/drawings/OvalNode.ts +0 -23
- package/src/dom/nodes/drawings/ParagraphNode.ts +0 -22
- package/src/dom/nodes/drawings/PatchNode.ts +0 -54
- package/src/dom/nodes/drawings/PathNode.ts +0 -51
- package/src/dom/nodes/drawings/PictureNode.ts +0 -19
- package/src/dom/nodes/drawings/PointsNode.ts +0 -21
- package/src/dom/nodes/drawings/RRectNode.ts +0 -25
- package/src/dom/nodes/drawings/RectNode.ts +0 -23
- package/src/dom/nodes/drawings/Text.ts +0 -145
- package/src/dom/nodes/drawings/VerticesNode.ts +0 -35
- package/src/dom/nodes/drawings/index.ts +0 -18
- package/src/dom/nodes/paint/BlendNode.ts +0 -32
- package/src/dom/nodes/paint/ColorFilters.ts +0 -106
- package/src/dom/nodes/paint/ImageFilters.ts +0 -221
- package/src/dom/nodes/paint/MaskFilters.ts +0 -23
- package/src/dom/nodes/paint/PathEffects.ts +0 -139
- package/src/dom/nodes/paint/Shaders.ts +0 -233
- package/src/dom/nodes/paint/index.ts +0 -6
- package/src/dom/types/DeclarationContext.ts +0 -115
- package/src/dom/types/DrawingContext.ts +0 -322
- package/src/external/reanimated/useDerivedValueOnJS.ts +0 -20
- package/src/renderer/DrawingContext.ts +0 -8
- package/src/sksg/DrawingContext.ts +0 -221
- package/src/sksg/__tests__/Declarations.spec.tsx +0 -235
- package/src/sksg/__tests__/MockDeclaration.ts +0 -140
- package/src/sksg/nodes/Node.ts +0 -8
- package/src/sksg/nodes/colorFilters.ts +0 -60
- package/src/sksg/nodes/context.ts +0 -489
- package/src/sksg/nodes/imageFilters.ts +0 -183
- package/src/sksg/nodes/index.ts +0 -3
- package/src/sksg/nodes/paint.ts +0 -75
- package/src/sksg/nodes/pathEffects.ts +0 -95
- package/src/sksg/nodes/shaders.ts +0 -203
- package/src/views/SkiaJSDomView.tsx +0 -143
- package/src/views/SkiaJSDomView.web.tsx +0 -1
@@ -0,0 +1,173 @@
|
|
1
|
+
import { enumKey, processRadius } from "../../../dom/nodes";
|
2
|
+
import { NodeType } from "../../../dom/types";
|
3
|
+
import { BlendMode, BlurStyle, ColorChannel, processUniforms, TileMode } from "../../../skia/types";
|
4
|
+
import { composeDeclarations } from "../../utils";
|
5
|
+
import { CommandType } from "../Core";
|
6
|
+
export let MorphologyOperator = /*#__PURE__*/function (MorphologyOperator) {
|
7
|
+
MorphologyOperator[MorphologyOperator["Erode"] = 0] = "Erode";
|
8
|
+
MorphologyOperator[MorphologyOperator["Dilate"] = 1] = "Dilate";
|
9
|
+
return MorphologyOperator;
|
10
|
+
}({});
|
11
|
+
const Black = Float32Array.of(0, 0, 0, 1);
|
12
|
+
const MakeInnerShadow = (Skia, shadowOnly, dx, dy, sigmaX, sigmaY, color, input) => {
|
13
|
+
"worklet";
|
14
|
+
|
15
|
+
const sourceGraphic = Skia.ImageFilter.MakeColorFilter(Skia.ColorFilter.MakeBlend(Black, BlendMode.Dst), null);
|
16
|
+
const sourceAlpha = Skia.ImageFilter.MakeColorFilter(Skia.ColorFilter.MakeBlend(Black, BlendMode.SrcIn), null);
|
17
|
+
const f1 = Skia.ImageFilter.MakeColorFilter(Skia.ColorFilter.MakeBlend(color, BlendMode.SrcOut), null);
|
18
|
+
const f2 = Skia.ImageFilter.MakeOffset(dx, dy, f1);
|
19
|
+
const f3 = Skia.ImageFilter.MakeBlur(sigmaX, sigmaY, TileMode.Decal, f2);
|
20
|
+
const f4 = Skia.ImageFilter.MakeBlend(BlendMode.SrcIn, sourceAlpha, f3);
|
21
|
+
if (shadowOnly) {
|
22
|
+
return f4;
|
23
|
+
}
|
24
|
+
return Skia.ImageFilter.MakeCompose(input, Skia.ImageFilter.MakeBlend(BlendMode.SrcOver, sourceGraphic, f4));
|
25
|
+
};
|
26
|
+
const declareBlurImageFilter = (ctx, props) => {
|
27
|
+
"worklet";
|
28
|
+
|
29
|
+
const {
|
30
|
+
mode,
|
31
|
+
blur
|
32
|
+
} = props;
|
33
|
+
const sigma = processRadius(ctx.Skia, blur);
|
34
|
+
const imgf = ctx.Skia.ImageFilter.MakeBlur(sigma.x, sigma.y, TileMode[enumKey(mode)], null);
|
35
|
+
ctx.imageFilters.push(imgf);
|
36
|
+
};
|
37
|
+
const declareMorphologyImageFilter = (ctx, props) => {
|
38
|
+
"worklet";
|
39
|
+
|
40
|
+
const {
|
41
|
+
operator
|
42
|
+
} = props;
|
43
|
+
const r = processRadius(ctx.Skia, props.radius);
|
44
|
+
let imgf;
|
45
|
+
if (MorphologyOperator[enumKey(operator)] === MorphologyOperator.Erode) {
|
46
|
+
imgf = ctx.Skia.ImageFilter.MakeErode(r.x, r.y, null);
|
47
|
+
} else {
|
48
|
+
imgf = ctx.Skia.ImageFilter.MakeDilate(r.x, r.y, null);
|
49
|
+
}
|
50
|
+
ctx.imageFilters.push(imgf);
|
51
|
+
};
|
52
|
+
const declareOffsetImageFilter = (ctx, props) => {
|
53
|
+
"worklet";
|
54
|
+
|
55
|
+
const {
|
56
|
+
x,
|
57
|
+
y
|
58
|
+
} = props;
|
59
|
+
const imgf = ctx.Skia.ImageFilter.MakeOffset(x, y, null);
|
60
|
+
ctx.imageFilters.push(imgf);
|
61
|
+
};
|
62
|
+
const declareDropShadowImageFilter = (ctx, props) => {
|
63
|
+
"worklet";
|
64
|
+
|
65
|
+
const {
|
66
|
+
dx,
|
67
|
+
dy,
|
68
|
+
blur,
|
69
|
+
shadowOnly,
|
70
|
+
color: cl,
|
71
|
+
inner
|
72
|
+
} = props;
|
73
|
+
const color = ctx.Skia.Color(cl);
|
74
|
+
let factory;
|
75
|
+
if (inner) {
|
76
|
+
factory = MakeInnerShadow.bind(null, ctx.Skia, shadowOnly);
|
77
|
+
} else {
|
78
|
+
factory = shadowOnly ? ctx.Skia.ImageFilter.MakeDropShadowOnly.bind(ctx.Skia.ImageFilter) : ctx.Skia.ImageFilter.MakeDropShadow.bind(ctx.Skia.ImageFilter);
|
79
|
+
}
|
80
|
+
const imgf = factory(dx, dy, blur, blur, color, null);
|
81
|
+
ctx.imageFilters.push(imgf);
|
82
|
+
};
|
83
|
+
const declareBlendImageFilter = (ctx, props) => {
|
84
|
+
"worklet";
|
85
|
+
|
86
|
+
const blend = BlendMode[enumKey(props.mode)];
|
87
|
+
// Blend ImageFilters
|
88
|
+
const imageFilters = ctx.imageFilters.splice(0, ctx.imageFilters.length);
|
89
|
+
const composer = ctx.Skia.ImageFilter.MakeBlend.bind(ctx.Skia.ImageFilter, blend);
|
90
|
+
ctx.imageFilters.push(composeDeclarations(imageFilters, composer));
|
91
|
+
};
|
92
|
+
const declareDisplacementMapImageFilter = (ctx, props) => {
|
93
|
+
"worklet";
|
94
|
+
|
95
|
+
const {
|
96
|
+
channelX,
|
97
|
+
channelY,
|
98
|
+
scale
|
99
|
+
} = props;
|
100
|
+
const shader = ctx.shaders.pop();
|
101
|
+
if (!shader) {
|
102
|
+
throw new Error("DisplacementMap expects a shader as child");
|
103
|
+
}
|
104
|
+
const map = ctx.Skia.ImageFilter.MakeShader(shader, null);
|
105
|
+
const imgf = ctx.Skia.ImageFilter.MakeDisplacementMap(ColorChannel[enumKey(channelX)], ColorChannel[enumKey(channelY)], scale, map, null);
|
106
|
+
ctx.imageFilters.push(imgf);
|
107
|
+
};
|
108
|
+
const declareRuntimeShaderImageFilter = (ctx, props) => {
|
109
|
+
"worklet";
|
110
|
+
|
111
|
+
const {
|
112
|
+
source,
|
113
|
+
uniforms
|
114
|
+
} = props;
|
115
|
+
const rtb = ctx.Skia.RuntimeShaderBuilder(source);
|
116
|
+
if (uniforms) {
|
117
|
+
processUniforms(source, uniforms, rtb);
|
118
|
+
}
|
119
|
+
const imgf = ctx.Skia.ImageFilter.MakeRuntimeShader(rtb, null, null);
|
120
|
+
ctx.imageFilters.push(imgf);
|
121
|
+
};
|
122
|
+
export const composeImageFilters = ctx => {
|
123
|
+
"worklet";
|
124
|
+
|
125
|
+
if (ctx.imageFilters.length > 1) {
|
126
|
+
const outer = ctx.imageFilters.pop();
|
127
|
+
const inner = ctx.imageFilters.pop();
|
128
|
+
ctx.imageFilters.push(ctx.Skia.ImageFilter.MakeCompose(outer, inner));
|
129
|
+
}
|
130
|
+
};
|
131
|
+
export const setBlurMaskFilter = (ctx, props) => {
|
132
|
+
"worklet";
|
133
|
+
|
134
|
+
const {
|
135
|
+
blur,
|
136
|
+
style,
|
137
|
+
respectCTM
|
138
|
+
} = props;
|
139
|
+
const mf = ctx.Skia.MaskFilter.MakeBlur(BlurStyle[enumKey(style)], blur, respectCTM);
|
140
|
+
ctx.paint.setMaskFilter(mf);
|
141
|
+
};
|
142
|
+
export const isPushImageFilter = command => {
|
143
|
+
"worklet";
|
144
|
+
|
145
|
+
return command.type === CommandType.PushImageFilter;
|
146
|
+
};
|
147
|
+
const isImageFilter = (command, type) => {
|
148
|
+
"worklet";
|
149
|
+
|
150
|
+
return command.imageFilterType === type;
|
151
|
+
};
|
152
|
+
export const pushImageFilter = (ctx, command) => {
|
153
|
+
"worklet";
|
154
|
+
|
155
|
+
if (isImageFilter(command, NodeType.BlurImageFilter)) {
|
156
|
+
declareBlurImageFilter(ctx, command.props);
|
157
|
+
} else if (isImageFilter(command, NodeType.MorphologyImageFilter)) {
|
158
|
+
declareMorphologyImageFilter(ctx, command.props);
|
159
|
+
} else if (isImageFilter(command, NodeType.BlendImageFilter)) {
|
160
|
+
declareBlendImageFilter(ctx, command.props);
|
161
|
+
} else if (isImageFilter(command, NodeType.DisplacementMapImageFilter)) {
|
162
|
+
declareDisplacementMapImageFilter(ctx, command.props);
|
163
|
+
} else if (isImageFilter(command, NodeType.DropShadowImageFilter)) {
|
164
|
+
declareDropShadowImageFilter(ctx, command.props);
|
165
|
+
} else if (isImageFilter(command, NodeType.OffsetImageFilter)) {
|
166
|
+
declareOffsetImageFilter(ctx, command.props);
|
167
|
+
} else if (isImageFilter(command, NodeType.RuntimeShaderImageFilter)) {
|
168
|
+
declareRuntimeShaderImageFilter(ctx, command.props);
|
169
|
+
} else {
|
170
|
+
throw new Error("Invalid image filter type: " + command.imageFilterType);
|
171
|
+
}
|
172
|
+
};
|
173
|
+
//# sourceMappingURL=ImageFilters.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["enumKey","processRadius","NodeType","BlendMode","BlurStyle","ColorChannel","processUniforms","TileMode","composeDeclarations","CommandType","MorphologyOperator","Black","Float32Array","of","MakeInnerShadow","Skia","shadowOnly","dx","dy","sigmaX","sigmaY","color","input","sourceGraphic","ImageFilter","MakeColorFilter","ColorFilter","MakeBlend","Dst","sourceAlpha","SrcIn","f1","SrcOut","f2","MakeOffset","f3","MakeBlur","Decal","f4","MakeCompose","SrcOver","declareBlurImageFilter","ctx","props","mode","blur","sigma","imgf","x","y","imageFilters","push","declareMorphologyImageFilter","operator","r","radius","Erode","MakeErode","MakeDilate","declareOffsetImageFilter","declareDropShadowImageFilter","cl","inner","Color","factory","bind","MakeDropShadowOnly","MakeDropShadow","declareBlendImageFilter","blend","splice","length","composer","declareDisplacementMapImageFilter","channelX","channelY","scale","shader","shaders","pop","Error","map","MakeShader","MakeDisplacementMap","declareRuntimeShaderImageFilter","source","uniforms","rtb","RuntimeShaderBuilder","MakeRuntimeShader","composeImageFilters","outer","setBlurMaskFilter","style","respectCTM","mf","MaskFilter","paint","setMaskFilter","isPushImageFilter","command","type","PushImageFilter","isImageFilter","imageFilterType","pushImageFilter","BlurImageFilter","MorphologyImageFilter","BlendImageFilter","DisplacementMapImageFilter","DropShadowImageFilter","OffsetImageFilter","RuntimeShaderImageFilter"],"sources":["ImageFilters.ts"],"sourcesContent":["import { enumKey, processRadius } from \"../../../dom/nodes\";\nimport type {\n BlendImageFilterProps,\n BlurImageFilterProps,\n BlurMaskFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../../../dom/types\";\nimport { NodeType } from \"../../../dom/types\";\nimport type { SkColor, SkImageFilter, Skia } from \"../../../skia/types\";\nimport {\n BlendMode,\n BlurStyle,\n ColorChannel,\n processUniforms,\n TileMode,\n} from \"../../../skia/types\";\nimport { composeDeclarations } from \"../../utils\";\nimport type { Command } from \"../Core\";\nimport { CommandType } from \"../Core\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\nexport enum MorphologyOperator {\n Erode,\n Dilate,\n}\n\nconst Black = Float32Array.of(0, 0, 0, 1);\n\nconst MakeInnerShadow = (\n Skia: Skia,\n shadowOnly: boolean | undefined,\n dx: number,\n dy: number,\n sigmaX: number,\n sigmaY: number,\n color: SkColor,\n input: SkImageFilter | null\n) => {\n \"worklet\";\n const sourceGraphic = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.Dst),\n null\n );\n const sourceAlpha = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.SrcIn),\n null\n );\n const f1 = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(color, BlendMode.SrcOut),\n null\n );\n const f2 = Skia.ImageFilter.MakeOffset(dx, dy, f1);\n const f3 = Skia.ImageFilter.MakeBlur(sigmaX, sigmaY, TileMode.Decal, f2);\n const f4 = Skia.ImageFilter.MakeBlend(BlendMode.SrcIn, sourceAlpha, f3);\n if (shadowOnly) {\n return f4;\n }\n return Skia.ImageFilter.MakeCompose(\n input,\n Skia.ImageFilter.MakeBlend(BlendMode.SrcOver, sourceGraphic, f4)\n );\n};\n\nconst declareBlurImageFilter = (\n ctx: DrawingContext,\n props: BlurImageFilterProps\n) => {\n \"worklet\";\n const { mode, blur } = props;\n const sigma = processRadius(ctx.Skia, blur);\n const imgf = ctx.Skia.ImageFilter.MakeBlur(\n sigma.x,\n sigma.y,\n TileMode[enumKey(mode)],\n null\n );\n ctx.imageFilters.push(imgf);\n};\n\nconst declareMorphologyImageFilter = (\n ctx: DrawingContext,\n props: MorphologyImageFilterProps\n) => {\n \"worklet\";\n const { operator } = props;\n const r = processRadius(ctx.Skia, props.radius);\n let imgf;\n if (MorphologyOperator[enumKey(operator)] === MorphologyOperator.Erode) {\n imgf = ctx.Skia.ImageFilter.MakeErode(r.x, r.y, null);\n } else {\n imgf = ctx.Skia.ImageFilter.MakeDilate(r.x, r.y, null);\n }\n ctx.imageFilters.push(imgf);\n};\n\nconst declareOffsetImageFilter = (\n ctx: DrawingContext,\n props: OffsetImageFilterProps\n) => {\n \"worklet\";\n const { x, y } = props;\n const imgf = ctx.Skia.ImageFilter.MakeOffset(x, y, null);\n ctx.imageFilters.push(imgf);\n};\n\nconst declareDropShadowImageFilter = (\n ctx: DrawingContext,\n props: DropShadowImageFilterProps\n) => {\n \"worklet\";\n const { dx, dy, blur, shadowOnly, color: cl, inner } = props;\n const color = ctx.Skia.Color(cl);\n let factory;\n if (inner) {\n factory = MakeInnerShadow.bind(null, ctx.Skia, shadowOnly);\n } else {\n factory = shadowOnly\n ? ctx.Skia.ImageFilter.MakeDropShadowOnly.bind(ctx.Skia.ImageFilter)\n : ctx.Skia.ImageFilter.MakeDropShadow.bind(ctx.Skia.ImageFilter);\n }\n const imgf = factory(dx, dy, blur, blur, color, null);\n ctx.imageFilters.push(imgf);\n};\n\nconst declareBlendImageFilter = (\n ctx: DrawingContext,\n props: BlendImageFilterProps\n) => {\n \"worklet\";\n const blend = BlendMode[enumKey(props.mode)];\n // Blend ImageFilters\n const imageFilters = ctx.imageFilters.splice(0, ctx.imageFilters.length);\n const composer = ctx.Skia.ImageFilter.MakeBlend.bind(\n ctx.Skia.ImageFilter,\n blend\n );\n ctx.imageFilters.push(composeDeclarations(imageFilters, composer));\n};\n\nconst declareDisplacementMapImageFilter = (\n ctx: DrawingContext,\n props: DisplacementMapImageFilterProps\n) => {\n \"worklet\";\n const { channelX, channelY, scale } = props;\n const shader = ctx.shaders.pop();\n if (!shader) {\n throw new Error(\"DisplacementMap expects a shader as child\");\n }\n const map = ctx.Skia.ImageFilter.MakeShader(shader, null);\n const imgf = ctx.Skia.ImageFilter.MakeDisplacementMap(\n ColorChannel[enumKey(channelX)],\n ColorChannel[enumKey(channelY)],\n scale,\n map,\n null\n );\n ctx.imageFilters.push(imgf);\n};\n\nconst declareRuntimeShaderImageFilter = (\n ctx: DrawingContext,\n props: RuntimeShaderImageFilterProps\n) => {\n \"worklet\";\n const { source, uniforms } = props;\n const rtb = ctx.Skia.RuntimeShaderBuilder(source);\n if (uniforms) {\n processUniforms(source, uniforms, rtb);\n }\n const imgf = ctx.Skia.ImageFilter.MakeRuntimeShader(rtb, null, null);\n ctx.imageFilters.push(imgf);\n};\n\nexport const composeImageFilters = (ctx: DrawingContext) => {\n \"worklet\";\n if (ctx.imageFilters.length > 1) {\n const outer = ctx.imageFilters.pop()!;\n const inner = ctx.imageFilters.pop()!;\n ctx.imageFilters.push(ctx.Skia.ImageFilter.MakeCompose(outer, inner));\n }\n};\n\nexport const setBlurMaskFilter = (\n ctx: DrawingContext,\n props: BlurMaskFilterProps\n) => {\n \"worklet\";\n const { blur, style, respectCTM } = props;\n const mf = ctx.Skia.MaskFilter.MakeBlur(\n BlurStyle[enumKey(style)],\n blur,\n respectCTM\n );\n ctx.paint.setMaskFilter(mf);\n};\n\nexport const isPushImageFilter = (\n command: Command\n): command is Command<CommandType.PushImageFilter> => {\n \"worklet\";\n return command.type === CommandType.PushImageFilter;\n};\n\ntype Props = {\n [NodeType.OffsetImageFilter]: OffsetImageFilterProps;\n [NodeType.DisplacementMapImageFilter]: DisplacementMapImageFilterProps;\n [NodeType.BlurImageFilter]: BlurImageFilterProps;\n [NodeType.DropShadowImageFilter]: DropShadowImageFilterProps;\n [NodeType.MorphologyImageFilter]: MorphologyImageFilterProps;\n [NodeType.BlendImageFilter]: BlendImageFilterProps;\n [NodeType.RuntimeShaderImageFilter]: RuntimeShaderImageFilterProps;\n};\n\ninterface PushImageFilter<T extends keyof Props>\n extends Command<CommandType.PushImageFilter> {\n imageFilterType: T;\n props: Props[T];\n}\n\nconst isImageFilter = <T extends keyof Props>(\n command: Command<CommandType.PushImageFilter>,\n type: T\n): command is PushImageFilter<T> => {\n \"worklet\";\n return command.imageFilterType === type;\n};\n\nexport const pushImageFilter = (\n ctx: DrawingContext,\n command: Command<CommandType.PushImageFilter>\n) => {\n \"worklet\";\n if (isImageFilter(command, NodeType.BlurImageFilter)) {\n declareBlurImageFilter(ctx, command.props);\n } else if (isImageFilter(command, NodeType.MorphologyImageFilter)) {\n declareMorphologyImageFilter(ctx, command.props);\n } else if (isImageFilter(command, NodeType.BlendImageFilter)) {\n declareBlendImageFilter(ctx, command.props);\n } else if (isImageFilter(command, NodeType.DisplacementMapImageFilter)) {\n declareDisplacementMapImageFilter(ctx, command.props);\n } else if (isImageFilter(command, NodeType.DropShadowImageFilter)) {\n declareDropShadowImageFilter(ctx, command.props);\n } else if (isImageFilter(command, NodeType.OffsetImageFilter)) {\n declareOffsetImageFilter(ctx, command.props);\n } else if (isImageFilter(command, NodeType.RuntimeShaderImageFilter)) {\n declareRuntimeShaderImageFilter(ctx, command.props);\n } else {\n throw new Error(\"Invalid image filter type: \" + command.imageFilterType);\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import type { PaintProps } from "../../../dom/types";
|
2
|
+
import type { SkPaint, Skia } from "../../../skia/types";
|
3
|
+
export declare const processColor: (Skia: Skia, color: number | string | Float32Array | number[]) => Float32Array;
|
4
|
+
export declare const setPaintProperties: (Skia: Skia, paint: SkPaint, { opacity, color, blendMode, strokeWidth, style, strokeJoin, strokeCap, strokeMiter, antiAlias, dither, }: PaintProps) => void;
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { enumKey } from "../../../dom/nodes";
|
2
|
+
import { BlendMode, PaintStyle, StrokeCap, StrokeJoin } from "../../../skia/types";
|
3
|
+
export const processColor = (Skia, color) => {
|
4
|
+
"worklet";
|
5
|
+
|
6
|
+
if (typeof color === "string" || typeof color === "number") {
|
7
|
+
return Skia.Color(color);
|
8
|
+
} else if (Array.isArray(color) || color instanceof Float32Array) {
|
9
|
+
return color instanceof Float32Array ? color : new Float32Array(color);
|
10
|
+
} else {
|
11
|
+
throw new Error(`Invalid color type: ${typeof color}. Expected number, string, or array.`);
|
12
|
+
}
|
13
|
+
};
|
14
|
+
export const setPaintProperties = (Skia, paint, {
|
15
|
+
opacity,
|
16
|
+
color,
|
17
|
+
blendMode,
|
18
|
+
strokeWidth,
|
19
|
+
style,
|
20
|
+
strokeJoin,
|
21
|
+
strokeCap,
|
22
|
+
strokeMiter,
|
23
|
+
antiAlias,
|
24
|
+
dither
|
25
|
+
}) => {
|
26
|
+
"worklet";
|
27
|
+
|
28
|
+
if (opacity !== undefined) {
|
29
|
+
paint.setAlphaf(paint.getAlphaf() * opacity);
|
30
|
+
}
|
31
|
+
if (color !== undefined) {
|
32
|
+
const currentOpacity = paint.getAlphaf();
|
33
|
+
paint.setShader(null);
|
34
|
+
paint.setColor(processColor(Skia, color));
|
35
|
+
paint.setAlphaf(currentOpacity * paint.getAlphaf());
|
36
|
+
}
|
37
|
+
if (blendMode !== undefined) {
|
38
|
+
paint.setBlendMode(BlendMode[enumKey(blendMode)]);
|
39
|
+
}
|
40
|
+
if (strokeWidth !== undefined) {
|
41
|
+
paint.setStrokeWidth(strokeWidth);
|
42
|
+
}
|
43
|
+
if (style !== undefined) {
|
44
|
+
paint.setStyle(PaintStyle[enumKey(style)]);
|
45
|
+
}
|
46
|
+
if (strokeJoin !== undefined) {
|
47
|
+
paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);
|
48
|
+
}
|
49
|
+
if (strokeCap !== undefined) {
|
50
|
+
paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);
|
51
|
+
}
|
52
|
+
if (strokeMiter !== undefined) {
|
53
|
+
paint.setStrokeMiter(strokeMiter);
|
54
|
+
}
|
55
|
+
if (antiAlias !== undefined) {
|
56
|
+
paint.setAntiAlias(antiAlias);
|
57
|
+
}
|
58
|
+
if (dither !== undefined) {
|
59
|
+
paint.setDither(dither);
|
60
|
+
}
|
61
|
+
};
|
62
|
+
//# sourceMappingURL=Paint.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["enumKey","BlendMode","PaintStyle","StrokeCap","StrokeJoin","processColor","Skia","color","Color","Array","isArray","Float32Array","Error","setPaintProperties","paint","opacity","blendMode","strokeWidth","style","strokeJoin","strokeCap","strokeMiter","antiAlias","dither","undefined","setAlphaf","getAlphaf","currentOpacity","setShader","setColor","setBlendMode","setStrokeWidth","setStyle","setStrokeJoin","setStrokeCap","setStrokeMiter","setAntiAlias","setDither"],"sources":["Paint.ts"],"sourcesContent":["import { enumKey } from \"../../../dom/nodes\";\nimport type { PaintProps } from \"../../../dom/types\";\nimport {\n BlendMode,\n PaintStyle,\n StrokeCap,\n StrokeJoin,\n} from \"../../../skia/types\";\nimport type { SkPaint, Skia } from \"../../../skia/types\";\n\nexport const processColor = (\n Skia: Skia,\n color: number | string | Float32Array | number[]\n) => {\n \"worklet\";\n if (typeof color === \"string\" || typeof color === \"number\") {\n return Skia.Color(color);\n } else if (Array.isArray(color) || color instanceof Float32Array) {\n return color instanceof Float32Array ? color : new Float32Array(color);\n } else {\n throw new Error(\n `Invalid color type: ${typeof color}. Expected number, string, or array.`\n );\n }\n};\n\nexport const setPaintProperties = (\n Skia: Skia,\n paint: SkPaint,\n {\n opacity,\n color,\n blendMode,\n strokeWidth,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n antiAlias,\n dither,\n }: PaintProps\n) => {\n \"worklet\";\n if (opacity !== undefined) {\n paint.setAlphaf(paint.getAlphaf() * opacity);\n }\n if (color !== undefined) {\n const currentOpacity = paint.getAlphaf();\n paint.setShader(null);\n paint.setColor(processColor(Skia, color));\n paint.setAlphaf(currentOpacity * paint.getAlphaf());\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(BlendMode[enumKey(blendMode)]);\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (style !== undefined) {\n paint.setStyle(PaintStyle[enumKey(style)]);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n if (dither !== undefined) {\n paint.setDither(dither);\n }\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,oBAAoB;AAE5C,SACEC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,UAAU,QACL,qBAAqB;AAG5B,OAAO,MAAMC,YAAY,GAAGA,CAC1BC,IAAU,EACVC,KAAgD,KAC7C;EACH,SAAS;;EACT,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC1D,OAAOD,IAAI,CAACE,KAAK,CAACD,KAAK,CAAC;EAC1B,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,YAAYI,YAAY,EAAE;IAChE,OAAOJ,KAAK,YAAYI,YAAY,GAAGJ,KAAK,GAAG,IAAII,YAAY,CAACJ,KAAK,CAAC;EACxE,CAAC,MAAM;IACL,MAAM,IAAIK,KAAK,CACb,uBAAuB,OAAOL,KAAK,sCACrC,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMM,kBAAkB,GAAGA,CAChCP,IAAU,EACVQ,KAAc,EACd;EACEC,OAAO;EACPR,KAAK;EACLS,SAAS;EACTC,WAAW;EACXC,KAAK;EACLC,UAAU;EACVC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC;AACU,CAAC,KACV;EACH,SAAS;;EACT,IAAIR,OAAO,KAAKS,SAAS,EAAE;IACzBV,KAAK,CAACW,SAAS,CAACX,KAAK,CAACY,SAAS,CAAC,CAAC,GAAGX,OAAO,CAAC;EAC9C;EACA,IAAIR,KAAK,KAAKiB,SAAS,EAAE;IACvB,MAAMG,cAAc,GAAGb,KAAK,CAACY,SAAS,CAAC,CAAC;IACxCZ,KAAK,CAACc,SAAS,CAAC,IAAI,CAAC;IACrBd,KAAK,CAACe,QAAQ,CAACxB,YAAY,CAACC,IAAI,EAAEC,KAAK,CAAC,CAAC;IACzCO,KAAK,CAACW,SAAS,CAACE,cAAc,GAAGb,KAAK,CAACY,SAAS,CAAC,CAAC,CAAC;EACrD;EACA,IAAIV,SAAS,KAAKQ,SAAS,EAAE;IAC3BV,KAAK,CAACgB,YAAY,CAAC7B,SAAS,CAACD,OAAO,CAACgB,SAAS,CAAC,CAAC,CAAC;EACnD;EACA,IAAIC,WAAW,KAAKO,SAAS,EAAE;IAC7BV,KAAK,CAACiB,cAAc,CAACd,WAAW,CAAC;EACnC;EACA,IAAIC,KAAK,KAAKM,SAAS,EAAE;IACvBV,KAAK,CAACkB,QAAQ,CAAC9B,UAAU,CAACF,OAAO,CAACkB,KAAK,CAAC,CAAC,CAAC;EAC5C;EACA,IAAIC,UAAU,KAAKK,SAAS,EAAE;IAC5BV,KAAK,CAACmB,aAAa,CAAC7B,UAAU,CAACJ,OAAO,CAACmB,UAAU,CAAC,CAAC,CAAC;EACtD;EACA,IAAIC,SAAS,KAAKI,SAAS,EAAE;IAC3BV,KAAK,CAACoB,YAAY,CAAC/B,SAAS,CAACH,OAAO,CAACoB,SAAS,CAAC,CAAC,CAAC;EACnD;EACA,IAAIC,WAAW,KAAKG,SAAS,EAAE;IAC7BV,KAAK,CAACqB,cAAc,CAACd,WAAW,CAAC;EACnC;EACA,IAAIC,SAAS,KAAKE,SAAS,EAAE;IAC3BV,KAAK,CAACsB,YAAY,CAACd,SAAS,CAAC;EAC/B;EACA,IAAIC,MAAM,KAAKC,SAAS,EAAE;IACxBV,KAAK,CAACuB,SAAS,CAACd,MAAM,CAAC;EACzB;AACF,CAAC","ignoreList":[]}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import type { Command } from "../Core";
|
2
|
+
import { CommandType } from "../Core";
|
3
|
+
import type { DrawingContext } from "../DrawingContext";
|
4
|
+
export declare const isPushPathEffect: (command: Command) => command is Command<CommandType.PushPathEffect>;
|
5
|
+
export declare const composePathEffects: (ctx: DrawingContext) => void;
|
6
|
+
export declare const pushPathEffect: (ctx: DrawingContext, command: Command<CommandType.PushPathEffect>) => void;
|
@@ -0,0 +1,128 @@
|
|
1
|
+
import { enumKey, processPath } from "../../../dom/nodes";
|
2
|
+
import { NodeType } from "../../../dom/types";
|
3
|
+
import { Path1DEffectStyle } from "../../../skia/types";
|
4
|
+
import { composeDeclarations } from "../../utils";
|
5
|
+
import { CommandType } from "../Core";
|
6
|
+
const declareDiscretePathEffect = (ctx, props) => {
|
7
|
+
"worklet";
|
8
|
+
|
9
|
+
const {
|
10
|
+
length,
|
11
|
+
deviation,
|
12
|
+
seed
|
13
|
+
} = props;
|
14
|
+
const pe = ctx.Skia.PathEffect.MakeDiscrete(length, deviation, seed);
|
15
|
+
ctx.pathEffects.push(pe);
|
16
|
+
};
|
17
|
+
const declarePath2DPathEffect = (ctx, props) => {
|
18
|
+
"worklet";
|
19
|
+
|
20
|
+
const {
|
21
|
+
matrix
|
22
|
+
} = props;
|
23
|
+
const path = processPath(ctx.Skia, props.path);
|
24
|
+
const pe = ctx.Skia.PathEffect.MakePath2D(matrix, path);
|
25
|
+
if (pe === null) {
|
26
|
+
throw new Error("Path2DPathEffect: invalid path");
|
27
|
+
}
|
28
|
+
ctx.pathEffects.push(pe);
|
29
|
+
};
|
30
|
+
const declareDashPathEffect = (ctx, props) => {
|
31
|
+
"worklet";
|
32
|
+
|
33
|
+
const {
|
34
|
+
intervals,
|
35
|
+
phase
|
36
|
+
} = props;
|
37
|
+
const pe = ctx.Skia.PathEffect.MakeDash(intervals, phase);
|
38
|
+
ctx.pathEffects.push(pe);
|
39
|
+
};
|
40
|
+
const declareCornerPathEffect = (ctx, props) => {
|
41
|
+
"worklet";
|
42
|
+
|
43
|
+
const {
|
44
|
+
r
|
45
|
+
} = props;
|
46
|
+
const pe = ctx.Skia.PathEffect.MakeCorner(r);
|
47
|
+
if (pe === null) {
|
48
|
+
throw new Error("CornerPathEffect: couldn't create path effect");
|
49
|
+
}
|
50
|
+
ctx.pathEffects.push(pe);
|
51
|
+
};
|
52
|
+
const declareSumPathEffect = ctx => {
|
53
|
+
"worklet";
|
54
|
+
|
55
|
+
// Note: decorateChildren functionality needs to be handled differently
|
56
|
+
const pes = ctx.pathEffects.splice(0, ctx.pathEffects.length);
|
57
|
+
const pe = composeDeclarations(pes, ctx.Skia.PathEffect.MakeSum.bind(ctx.Skia.PathEffect));
|
58
|
+
ctx.pathEffects.push(pe);
|
59
|
+
};
|
60
|
+
const declareLine2DPathEffect = (ctx, props) => {
|
61
|
+
"worklet";
|
62
|
+
|
63
|
+
const {
|
64
|
+
width,
|
65
|
+
matrix
|
66
|
+
} = props;
|
67
|
+
const pe = ctx.Skia.PathEffect.MakeLine2D(width, matrix);
|
68
|
+
if (pe === null) {
|
69
|
+
throw new Error("Line2DPathEffect: could not create path effect");
|
70
|
+
}
|
71
|
+
ctx.pathEffects.push(pe);
|
72
|
+
};
|
73
|
+
const declarePath1DPathEffect = (ctx, props) => {
|
74
|
+
"worklet";
|
75
|
+
|
76
|
+
const {
|
77
|
+
advance,
|
78
|
+
phase,
|
79
|
+
style
|
80
|
+
} = props;
|
81
|
+
const path = processPath(ctx.Skia, props.path);
|
82
|
+
const pe = ctx.Skia.PathEffect.MakePath1D(path, advance, phase, Path1DEffectStyle[enumKey(style)]);
|
83
|
+
if (pe === null) {
|
84
|
+
throw new Error("Path1DPathEffect: could not create path effect");
|
85
|
+
}
|
86
|
+
ctx.pathEffects.push(pe);
|
87
|
+
};
|
88
|
+
export const isPushPathEffect = command => {
|
89
|
+
"worklet";
|
90
|
+
|
91
|
+
return command.type === CommandType.PushPathEffect;
|
92
|
+
};
|
93
|
+
const isPathEffect = (command, type) => {
|
94
|
+
"worklet";
|
95
|
+
|
96
|
+
return command.pathEffectType === type;
|
97
|
+
};
|
98
|
+
export const composePathEffects = ctx => {
|
99
|
+
"worklet";
|
100
|
+
|
101
|
+
if (ctx.pathEffects.length > 1) {
|
102
|
+
const outer = ctx.pathEffects.pop();
|
103
|
+
const inner = ctx.pathEffects.pop();
|
104
|
+
ctx.pathEffects.push(ctx.Skia.PathEffect.MakeCompose(outer, inner));
|
105
|
+
}
|
106
|
+
};
|
107
|
+
export const pushPathEffect = (ctx, command) => {
|
108
|
+
"worklet";
|
109
|
+
|
110
|
+
if (isPathEffect(command, NodeType.DiscretePathEffect)) {
|
111
|
+
declareDiscretePathEffect(ctx, command.props);
|
112
|
+
} else if (isPathEffect(command, NodeType.DashPathEffect)) {
|
113
|
+
declareDashPathEffect(ctx, command.props);
|
114
|
+
} else if (isPathEffect(command, NodeType.Path1DPathEffect)) {
|
115
|
+
declarePath1DPathEffect(ctx, command.props);
|
116
|
+
} else if (isPathEffect(command, NodeType.Path2DPathEffect)) {
|
117
|
+
declarePath2DPathEffect(ctx, command.props);
|
118
|
+
} else if (isPathEffect(command, NodeType.CornerPathEffect)) {
|
119
|
+
declareCornerPathEffect(ctx, command.props);
|
120
|
+
} else if (isPathEffect(command, NodeType.SumPathEffect)) {
|
121
|
+
declareSumPathEffect(ctx);
|
122
|
+
} else if (isPathEffect(command, NodeType.Line2DPathEffect)) {
|
123
|
+
declareLine2DPathEffect(ctx, command.props);
|
124
|
+
} else {
|
125
|
+
throw new Error("Invalid image filter type: " + command.imageFilterType);
|
126
|
+
}
|
127
|
+
};
|
128
|
+
//# sourceMappingURL=PathEffects.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["enumKey","processPath","NodeType","Path1DEffectStyle","composeDeclarations","CommandType","declareDiscretePathEffect","ctx","props","length","deviation","seed","pe","Skia","PathEffect","MakeDiscrete","pathEffects","push","declarePath2DPathEffect","matrix","path","MakePath2D","Error","declareDashPathEffect","intervals","phase","MakeDash","declareCornerPathEffect","r","MakeCorner","declareSumPathEffect","pes","splice","MakeSum","bind","declareLine2DPathEffect","width","MakeLine2D","declarePath1DPathEffect","advance","style","MakePath1D","isPushPathEffect","command","type","PushPathEffect","isPathEffect","pathEffectType","composePathEffects","outer","pop","inner","MakeCompose","pushPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","CornerPathEffect","SumPathEffect","Line2DPathEffect","imageFilterType"],"sources":["PathEffects.ts"],"sourcesContent":["import { enumKey, processPath } from \"../../../dom/nodes\";\nimport { NodeType } from \"../../../dom/types\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../../../dom/types\";\nimport { Path1DEffectStyle } from \"../../../skia/types\";\nimport { composeDeclarations } from \"../../utils\";\nimport type { Command } from \"../Core\";\nimport { CommandType } from \"../Core\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\nconst declareDiscretePathEffect = (\n ctx: DrawingContext,\n props: DiscretePathEffectProps\n) => {\n \"worklet\";\n const { length, deviation, seed } = props;\n const pe = ctx.Skia.PathEffect.MakeDiscrete(length, deviation, seed);\n ctx.pathEffects.push(pe);\n};\n\nconst declarePath2DPathEffect = (\n ctx: DrawingContext,\n props: Path2DPathEffectProps\n) => {\n \"worklet\";\n const { matrix } = props;\n const path = processPath(ctx.Skia, props.path);\n const pe = ctx.Skia.PathEffect.MakePath2D(matrix, path);\n if (pe === null) {\n throw new Error(\"Path2DPathEffect: invalid path\");\n }\n ctx.pathEffects.push(pe);\n};\n\nconst declareDashPathEffect = (\n ctx: DrawingContext,\n props: DashPathEffectProps\n) => {\n \"worklet\";\n const { intervals, phase } = props;\n const pe = ctx.Skia.PathEffect.MakeDash(intervals, phase);\n ctx.pathEffects.push(pe);\n};\n\nconst declareCornerPathEffect = (\n ctx: DrawingContext,\n props: CornerPathEffectProps\n) => {\n \"worklet\";\n const { r } = props;\n const pe = ctx.Skia.PathEffect.MakeCorner(r);\n if (pe === null) {\n throw new Error(\"CornerPathEffect: couldn't create path effect\");\n }\n ctx.pathEffects.push(pe);\n};\n\nconst declareSumPathEffect = (ctx: DrawingContext) => {\n \"worklet\";\n // Note: decorateChildren functionality needs to be handled differently\n const pes = ctx.pathEffects.splice(0, ctx.pathEffects.length);\n const pe = composeDeclarations(\n pes,\n ctx.Skia.PathEffect.MakeSum.bind(ctx.Skia.PathEffect)\n );\n ctx.pathEffects.push(pe);\n};\n\nconst declareLine2DPathEffect = (\n ctx: DrawingContext,\n props: Line2DPathEffectProps\n) => {\n \"worklet\";\n const { width, matrix } = props;\n const pe = ctx.Skia.PathEffect.MakeLine2D(width, matrix);\n if (pe === null) {\n throw new Error(\"Line2DPathEffect: could not create path effect\");\n }\n ctx.pathEffects.push(pe);\n};\n\nconst declarePath1DPathEffect = (\n ctx: DrawingContext,\n props: Path1DPathEffectProps\n) => {\n \"worklet\";\n const { advance, phase, style } = props;\n const path = processPath(ctx.Skia, props.path);\n const pe = ctx.Skia.PathEffect.MakePath1D(\n path,\n advance,\n phase,\n Path1DEffectStyle[enumKey(style)]\n );\n if (pe === null) {\n throw new Error(\"Path1DPathEffect: could not create path effect\");\n }\n ctx.pathEffects.push(pe);\n};\n\nexport const isPushPathEffect = (\n command: Command\n): command is Command<CommandType.PushPathEffect> => {\n \"worklet\";\n return command.type === CommandType.PushPathEffect;\n};\n\ntype Props = {\n [NodeType.DiscretePathEffect]: DiscretePathEffectProps;\n [NodeType.DashPathEffect]: DashPathEffectProps;\n [NodeType.Path1DPathEffect]: Path1DPathEffectProps;\n [NodeType.Path2DPathEffect]: Path2DPathEffectProps;\n [NodeType.CornerPathEffect]: CornerPathEffectProps;\n [NodeType.SumPathEffect]: Record<string, never>;\n [NodeType.Line2DPathEffect]: Line2DPathEffectProps;\n};\n\ninterface PushPathEffect<T extends keyof Props>\n extends Command<CommandType.PushPathEffect> {\n pathEffectType: T;\n props: Props[T];\n}\n\nconst isPathEffect = <T extends keyof Props>(\n command: Command<CommandType.PushPathEffect>,\n type: T\n): command is PushPathEffect<T> => {\n \"worklet\";\n return command.pathEffectType === type;\n};\n\nexport const composePathEffects = (ctx: DrawingContext) => {\n \"worklet\";\n if (ctx.pathEffects.length > 1) {\n const outer = ctx.pathEffects.pop()!;\n const inner = ctx.pathEffects.pop()!;\n ctx.pathEffects.push(ctx.Skia.PathEffect.MakeCompose(outer, inner));\n }\n};\n\nexport const pushPathEffect = (\n ctx: DrawingContext,\n command: Command<CommandType.PushPathEffect>\n) => {\n \"worklet\";\n if (isPathEffect(command, NodeType.DiscretePathEffect)) {\n declareDiscretePathEffect(ctx, command.props);\n } else if (isPathEffect(command, NodeType.DashPathEffect)) {\n declareDashPathEffect(ctx, command.props);\n } else if (isPathEffect(command, NodeType.Path1DPathEffect)) {\n declarePath1DPathEffect(ctx, command.props);\n } else if (isPathEffect(command, NodeType.Path2DPathEffect)) {\n declarePath2DPathEffect(ctx, command.props);\n } else if (isPathEffect(command, NodeType.CornerPathEffect)) {\n declareCornerPathEffect(ctx, command.props);\n } else if (isPathEffect(command, NodeType.SumPathEffect)) {\n declareSumPathEffect(ctx);\n } else if (isPathEffect(command, NodeType.Line2DPathEffect)) {\n declareLine2DPathEffect(ctx, command.props);\n } else {\n throw new Error(\"Invalid image filter type: \" + command.imageFilterType);\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { Command } from "../Core";
|
2
|
+
import { CommandType } from "../Core";
|
3
|
+
import type { DrawingContext } from "../DrawingContext";
|
4
|
+
export declare const isPushShader: (command: Command) => command is Command<CommandType.PushShader>;
|
5
|
+
export declare const pushShader: (ctx: DrawingContext, command: Command<CommandType.PushShader>) => void;
|
@@ -1,8 +1,11 @@
|
|
1
|
-
"
|
1
|
+
import { enumKey, fitRects, getRect, processGradientProps, processTransformProps, rect2rect } from "../../../dom/nodes";
|
2
|
+
import { NodeType } from "../../../dom/types";
|
3
|
+
import { BlendMode, FilterMode, MipmapMode, processUniforms, TileMode } from "../../../skia/types";
|
4
|
+
import { composeDeclarations } from "../../utils";
|
5
|
+
import { CommandType } from "../Core";
|
6
|
+
const declareShader = (ctx, props) => {
|
7
|
+
"worklet";
|
2
8
|
|
3
|
-
import { enumKey, fitRects, getRect, processGradientProps, processTransformProps, rect2rect } from "../../dom/nodes";
|
4
|
-
import { FilterMode, MipmapMode, processUniforms, TileMode } from "../../skia/types";
|
5
|
-
export const declareShader = (ctx, props) => {
|
6
9
|
const {
|
7
10
|
source,
|
8
11
|
uniforms,
|
@@ -10,17 +13,21 @@ export const declareShader = (ctx, props) => {
|
|
10
13
|
} = props;
|
11
14
|
const m3 = ctx.Skia.Matrix();
|
12
15
|
processTransformProps(m3, transform);
|
13
|
-
const shader = source.makeShaderWithChildren(processUniforms(source, uniforms), ctx.shaders.
|
16
|
+
const shader = source.makeShaderWithChildren(processUniforms(source, uniforms), ctx.shaders.splice(0, ctx.shaders.length), m3);
|
14
17
|
ctx.shaders.push(shader);
|
15
18
|
};
|
16
|
-
|
19
|
+
const declareColorShader = (ctx, props) => {
|
20
|
+
"worklet";
|
21
|
+
|
17
22
|
const {
|
18
23
|
color
|
19
24
|
} = props;
|
20
25
|
const shader = ctx.Skia.Shader.MakeColor(ctx.Skia.Color(color));
|
21
26
|
ctx.shaders.push(shader);
|
22
27
|
};
|
23
|
-
|
28
|
+
const declareFractalNoiseShader = (ctx, props) => {
|
29
|
+
"worklet";
|
30
|
+
|
24
31
|
const {
|
25
32
|
freqX,
|
26
33
|
freqY,
|
@@ -32,7 +39,9 @@ export const declareFractalNoiseShader = (ctx, props) => {
|
|
32
39
|
const shader = ctx.Skia.Shader.MakeFractalNoise(freqX, freqY, octaves, seed, tileWidth, tileHeight);
|
33
40
|
ctx.shaders.push(shader);
|
34
41
|
};
|
35
|
-
|
42
|
+
const declareTwoPointConicalGradientShader = (ctx, props) => {
|
43
|
+
"worklet";
|
44
|
+
|
36
45
|
const {
|
37
46
|
startR,
|
38
47
|
endR,
|
@@ -49,7 +58,9 @@ export const declareTwoPointConicalGradientShader = (ctx, props) => {
|
|
49
58
|
const shader = ctx.Skia.Shader.MakeTwoPointConicalGradient(start, startR, end, endR, colors, positions, mode, localMatrix, flags);
|
50
59
|
ctx.shaders.push(shader);
|
51
60
|
};
|
52
|
-
|
61
|
+
const declareRadialGradientShader = (ctx, props) => {
|
62
|
+
"worklet";
|
63
|
+
|
53
64
|
const {
|
54
65
|
c,
|
55
66
|
r
|
@@ -64,7 +75,9 @@ export const declareRadialGradientShader = (ctx, props) => {
|
|
64
75
|
const shader = ctx.Skia.Shader.MakeRadialGradient(c, r, colors, positions, mode, localMatrix, flags);
|
65
76
|
ctx.shaders.push(shader);
|
66
77
|
};
|
67
|
-
|
78
|
+
const declareSweepGradientShader = (ctx, props) => {
|
79
|
+
"worklet";
|
80
|
+
|
68
81
|
const {
|
69
82
|
c,
|
70
83
|
start,
|
@@ -80,7 +93,9 @@ export const declareSweepGradientShader = (ctx, props) => {
|
|
80
93
|
const shader = ctx.Skia.Shader.MakeSweepGradient(c.x, c.y, colors, positions, mode, localMatrix, flags, start, end);
|
81
94
|
ctx.shaders.push(shader);
|
82
95
|
};
|
83
|
-
|
96
|
+
const declareLinearGradientShader = (ctx, props) => {
|
97
|
+
"worklet";
|
98
|
+
|
84
99
|
const {
|
85
100
|
start,
|
86
101
|
end
|
@@ -95,7 +110,9 @@ export const declareLinearGradientShader = (ctx, props) => {
|
|
95
110
|
const shader = ctx.Skia.Shader.MakeLinearGradient(start, end, colors, positions !== null && positions !== void 0 ? positions : null, mode, localMatrix, flags);
|
96
111
|
ctx.shaders.push(shader);
|
97
112
|
};
|
98
|
-
|
113
|
+
const declareTurbulenceShader = (ctx, props) => {
|
114
|
+
"worklet";
|
115
|
+
|
99
116
|
const {
|
100
117
|
freqX,
|
101
118
|
freqY,
|
@@ -107,7 +124,9 @@ export const declareTurbulenceShader = (ctx, props) => {
|
|
107
124
|
const shader = ctx.Skia.Shader.MakeTurbulence(freqX, freqY, octaves, seed, tileWidth, tileHeight);
|
108
125
|
ctx.shaders.push(shader);
|
109
126
|
};
|
110
|
-
|
127
|
+
const declareImageShader = (ctx, props) => {
|
128
|
+
"worklet";
|
129
|
+
|
111
130
|
const {
|
112
131
|
fit,
|
113
132
|
image,
|
@@ -139,4 +158,51 @@ export const declareImageShader = (ctx, props) => {
|
|
139
158
|
const shader = image.makeShaderOptions(TileMode[enumKey(tx)], TileMode[enumKey(ty)], FilterMode[enumKey(fm)], MipmapMode[enumKey(mm)], lm);
|
140
159
|
ctx.shaders.push(shader);
|
141
160
|
};
|
142
|
-
|
161
|
+
const declareBlend = (ctx, props) => {
|
162
|
+
"worklet";
|
163
|
+
|
164
|
+
const blend = BlendMode[enumKey(props.mode)];
|
165
|
+
const shaders = ctx.shaders.splice(0, ctx.shaders.length);
|
166
|
+
if (shaders.length > 0) {
|
167
|
+
const composer = ctx.Skia.Shader.MakeBlend.bind(ctx.Skia.Shader, blend);
|
168
|
+
ctx.shaders.push(composeDeclarations(shaders, composer));
|
169
|
+
}
|
170
|
+
};
|
171
|
+
export const isPushShader = command => {
|
172
|
+
"worklet";
|
173
|
+
|
174
|
+
return command.type === CommandType.PushShader;
|
175
|
+
};
|
176
|
+
const isShader = (command, type) => {
|
177
|
+
"worklet";
|
178
|
+
|
179
|
+
return command.shaderType === type;
|
180
|
+
};
|
181
|
+
export const pushShader = (ctx, command) => {
|
182
|
+
"worklet";
|
183
|
+
|
184
|
+
if (isShader(command, NodeType.Shader)) {
|
185
|
+
declareShader(ctx, command.props);
|
186
|
+
} else if (isShader(command, NodeType.ImageShader)) {
|
187
|
+
declareImageShader(ctx, command.props);
|
188
|
+
} else if (isShader(command, NodeType.ColorShader)) {
|
189
|
+
declareColorShader(ctx, command.props);
|
190
|
+
} else if (isShader(command, NodeType.Turbulence)) {
|
191
|
+
declareTurbulenceShader(ctx, command.props);
|
192
|
+
} else if (isShader(command, NodeType.FractalNoise)) {
|
193
|
+
declareFractalNoiseShader(ctx, command.props);
|
194
|
+
} else if (isShader(command, NodeType.LinearGradient)) {
|
195
|
+
declareLinearGradientShader(ctx, command.props);
|
196
|
+
} else if (isShader(command, NodeType.RadialGradient)) {
|
197
|
+
declareRadialGradientShader(ctx, command.props);
|
198
|
+
} else if (isShader(command, NodeType.SweepGradient)) {
|
199
|
+
declareSweepGradientShader(ctx, command.props);
|
200
|
+
} else if (isShader(command, NodeType.TwoPointConicalGradient)) {
|
201
|
+
declareTwoPointConicalGradientShader(ctx, command.props);
|
202
|
+
} else if (isShader(command, NodeType.Blend)) {
|
203
|
+
declareBlend(ctx, command.props);
|
204
|
+
} else {
|
205
|
+
throw new Error(`Unknown shader type: ${command.shaderType}`);
|
206
|
+
}
|
207
|
+
};
|
208
|
+
//# sourceMappingURL=Shaders.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["enumKey","fitRects","getRect","processGradientProps","processTransformProps","rect2rect","NodeType","BlendMode","FilterMode","MipmapMode","processUniforms","TileMode","composeDeclarations","CommandType","declareShader","ctx","props","source","uniforms","transform","m3","Skia","Matrix","shader","makeShaderWithChildren","shaders","splice","length","push","declareColorShader","color","Shader","MakeColor","Color","declareFractalNoiseShader","freqX","freqY","octaves","seed","tileWidth","tileHeight","MakeFractalNoise","declareTwoPointConicalGradientShader","startR","endR","start","end","colors","positions","mode","localMatrix","flags","MakeTwoPointConicalGradient","declareRadialGradientShader","c","r","MakeRadialGradient","declareSweepGradientShader","MakeSweepGradient","x","y","declareLinearGradientShader","MakeLinearGradient","declareTurbulenceShader","MakeTurbulence","declareImageShader","fit","image","tx","ty","fm","mm","imageShaderProps","rct","rects","width","height","sx","sy","src","dst","translate","translateX","translateY","scale","scaleX","scaleY","lm","concat","makeShaderOptions","declareBlend","blend","composer","MakeBlend","bind","isPushShader","command","type","PushShader","isShader","shaderType","pushShader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","Blend","Error"],"sources":["Shaders.ts"],"sourcesContent":["import {\n enumKey,\n fitRects,\n getRect,\n processGradientProps,\n processTransformProps,\n rect2rect,\n} from \"../../../dom/nodes\";\nimport { NodeType } from \"../../../dom/types\";\nimport type {\n BlendProps,\n ColorProps,\n FractalNoiseProps,\n ImageShaderProps,\n LinearGradientProps,\n RadialGradientProps,\n ShaderProps,\n SweepGradientProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n} from \"../../../dom/types\";\nimport {\n BlendMode,\n FilterMode,\n MipmapMode,\n processUniforms,\n TileMode,\n} from \"../../../skia/types\";\nimport { composeDeclarations } from \"../../utils\";\nimport type { Command } from \"../Core\";\nimport { CommandType } from \"../Core\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\nconst declareShader = (ctx: DrawingContext, props: ShaderProps) => {\n \"worklet\";\n const { source, uniforms, ...transform } = props;\n const m3 = ctx.Skia.Matrix();\n processTransformProps(m3, transform);\n const shader = source.makeShaderWithChildren(\n processUniforms(source, uniforms),\n ctx.shaders.splice(0, ctx.shaders.length),\n m3\n );\n ctx.shaders.push(shader);\n};\n\nconst declareColorShader = (ctx: DrawingContext, props: ColorProps) => {\n \"worklet\";\n const { color } = props;\n const shader = ctx.Skia.Shader.MakeColor(ctx.Skia.Color(color));\n ctx.shaders.push(shader);\n};\n\nconst declareFractalNoiseShader = (\n ctx: DrawingContext,\n props: FractalNoiseProps\n) => {\n \"worklet\";\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = props;\n const shader = ctx.Skia.Shader.MakeFractalNoise(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n};\n\nconst declareTwoPointConicalGradientShader = (\n ctx: DrawingContext,\n props: TwoPointConicalGradientProps\n) => {\n \"worklet\";\n const { startR, endR, start, end } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeTwoPointConicalGradient(\n start,\n startR,\n end,\n endR,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n};\n\nconst declareRadialGradientShader = (\n ctx: DrawingContext,\n props: RadialGradientProps\n) => {\n \"worklet\";\n const { c, r } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeRadialGradient(\n c,\n r,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n};\n\nconst declareSweepGradientShader = (\n ctx: DrawingContext,\n props: SweepGradientProps\n) => {\n \"worklet\";\n const { c, start, end } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeSweepGradient(\n c.x,\n c.y,\n colors,\n positions,\n mode,\n localMatrix,\n flags,\n start,\n end\n );\n ctx.shaders.push(shader);\n};\n\nconst declareLinearGradientShader = (\n ctx: DrawingContext,\n props: LinearGradientProps\n) => {\n \"worklet\";\n const { start, end } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeLinearGradient(\n start,\n end,\n colors,\n positions ?? null,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n};\n\nconst declareTurbulenceShader = (\n ctx: DrawingContext,\n props: TurbulenceProps\n) => {\n \"worklet\";\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = props;\n const shader = ctx.Skia.Shader.MakeTurbulence(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n};\n\nconst declareImageShader = (ctx: DrawingContext, props: ImageShaderProps) => {\n \"worklet\";\n const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = props;\n if (!image) {\n return;\n }\n\n const rct = getRect(ctx.Skia, imageShaderProps);\n const m3 = ctx.Skia.Matrix();\n if (rct) {\n const rects = fitRects(\n fit,\n { x: 0, y: 0, width: image.width(), height: image.height() },\n rct\n );\n const [x, y, sx, sy] = rect2rect(rects.src, rects.dst);\n m3.translate(x.translateX, y.translateY);\n m3.scale(sx.scaleX, sy.scaleY);\n }\n const lm = ctx.Skia.Matrix();\n lm.concat(m3);\n processTransformProps(lm, imageShaderProps);\n const shader = image.makeShaderOptions(\n TileMode[enumKey(tx)],\n TileMode[enumKey(ty)],\n FilterMode[enumKey(fm)],\n MipmapMode[enumKey(mm)],\n lm\n );\n ctx.shaders.push(shader);\n};\n\nconst declareBlend = (ctx: DrawingContext, props: BlendProps) => {\n \"worklet\";\n const blend = BlendMode[enumKey(props.mode as BlendProps[\"mode\"])];\n const shaders = ctx.shaders.splice(0, ctx.shaders.length);\n if (shaders.length > 0) {\n const composer = ctx.Skia.Shader.MakeBlend.bind(ctx.Skia.Shader, blend);\n ctx.shaders.push(composeDeclarations(shaders, composer));\n }\n};\n\nexport const isPushShader = (\n command: Command\n): command is Command<CommandType.PushShader> => {\n \"worklet\";\n return command.type === CommandType.PushShader;\n};\n\ntype Props = {\n [NodeType.Shader]: ShaderProps;\n [NodeType.ImageShader]: ImageShaderProps;\n [NodeType.ColorShader]: ColorProps;\n [NodeType.Turbulence]: TurbulenceProps;\n [NodeType.FractalNoise]: FractalNoiseProps;\n [NodeType.LinearGradient]: LinearGradientProps;\n [NodeType.RadialGradient]: RadialGradientProps;\n [NodeType.SweepGradient]: SweepGradientProps;\n [NodeType.TwoPointConicalGradient]: TwoPointConicalGradientProps;\n [NodeType.Blend]: BlendProps;\n};\n\ninterface PushShader<T extends keyof Props>\n extends Command<CommandType.PushShader> {\n shaderType: T;\n props: Props[T];\n}\n\nconst isShader = <T extends keyof Props>(\n command: Command<CommandType.PushShader>,\n type: T\n): command is PushShader<T> => {\n \"worklet\";\n return command.shaderType === type;\n};\n\nexport const pushShader = (\n ctx: DrawingContext,\n command: Command<CommandType.PushShader>\n) => {\n \"worklet\";\n if (isShader(command, NodeType.Shader)) {\n declareShader(ctx, command.props);\n } else if (isShader(command, NodeType.ImageShader)) {\n declareImageShader(ctx, command.props);\n } else if (isShader(command, NodeType.ColorShader)) {\n declareColorShader(ctx, command.props);\n } else if (isShader(command, NodeType.Turbulence)) {\n declareTurbulenceShader(ctx, command.props);\n } else if (isShader(command, NodeType.FractalNoise)) {\n declareFractalNoiseShader(ctx, command.props);\n } else if (isShader(command, NodeType.LinearGradient)) {\n declareLinearGradientShader(ctx, command.props);\n } else if (isShader(command, NodeType.RadialGradient)) {\n declareRadialGradientShader(ctx, command.props);\n } else if (isShader(command, NodeType.SweepGradient)) {\n declareSweepGradientShader(ctx, command.props);\n } else if (isShader(command, NodeType.TwoPointConicalGradient)) {\n declareTwoPointConicalGradientShader(ctx, command.props);\n } else if (isShader(command, NodeType.Blend)) {\n declareBlend(ctx, command.props);\n } else {\n throw new Error(`Unknown shader type: ${command.shaderType}`);\n }\n};\n"],"mappings":"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","ignoreList":[]}
|