@shopify/react-native-skia 1.7.6 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/cpp/rnskia-android/OpenGLWindowContext.h +8 -1
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +4 -4
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +2 -2
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +13 -0
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaTextureView.java +24 -1
- package/cpp/rnskia/RNSkJsiViewApi.h +0 -3
- package/cpp/rnskia/RNSkView.h +6 -6
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +2 -2
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +2 -2
- 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.d.ts +2 -3
- package/lib/commonjs/dom/nodes/datatypes/Circle.js +14 -6
- package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Enum.js +5 -1
- package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Gradient.js +19 -11
- package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Path.js +7 -1
- package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Radius.js +2 -0
- package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +3 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js +27 -3
- package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +2 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.js +35 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
- package/lib/commonjs/dom/types/Node.d.ts +2 -5
- 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/renderHelpers.d.ts +2 -0
- package/lib/commonjs/external/reanimated/renderHelpers.js +11 -6
- 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/HostConfig.js +8 -4
- package/lib/commonjs/renderer/HostConfig.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/renderer/__tests__/setup.d.ts +2 -3
- package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -2
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/renderer/typeddash.js +5 -1
- package/lib/commonjs/renderer/typeddash.js.map +1 -1
- package/lib/commonjs/skia/__tests__/setup.d.ts +0 -3
- package/lib/commonjs/skia/types/Path/Path.js +5 -1
- package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js +13 -6
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/sksg/Container.d.ts +19 -0
- package/lib/commonjs/sksg/Container.js +102 -0
- package/lib/commonjs/sksg/Container.js.map +1 -0
- package/lib/commonjs/sksg/DeclarationContext.d.ts +56 -0
- package/lib/commonjs/sksg/DeclarationContext.js +77 -0
- package/lib/commonjs/sksg/DeclarationContext.js.map +1 -0
- package/lib/commonjs/sksg/DrawingContext.d.ts +13 -0
- package/lib/commonjs/sksg/DrawingContext.js +172 -0
- package/lib/commonjs/sksg/DrawingContext.js.map +1 -0
- package/lib/commonjs/sksg/HostConfig.d.ts +19 -0
- package/lib/commonjs/sksg/HostConfig.js +168 -0
- package/lib/commonjs/sksg/HostConfig.js.map +1 -0
- package/lib/commonjs/sksg/Reconciler.d.ts +19 -0
- package/lib/commonjs/sksg/Reconciler.js +61 -0
- package/lib/commonjs/sksg/Reconciler.js.map +1 -0
- package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +57 -0
- package/lib/commonjs/sksg/nodes/Node.d.ts +7 -0
- package/lib/commonjs/{renderer/DrawingContext.js → sksg/nodes/Node.js} +1 -1
- package/lib/commonjs/sksg/nodes/Node.js.map +1 -0
- package/lib/commonjs/sksg/nodes/colorFilters.d.ts +10 -0
- package/lib/commonjs/sksg/nodes/colorFilters.js +79 -0
- package/lib/commonjs/sksg/nodes/colorFilters.js.map +1 -0
- package/lib/commonjs/sksg/nodes/context.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/context.js +394 -0
- package/lib/commonjs/sksg/nodes/context.js.map +1 -0
- package/lib/commonjs/sksg/nodes/drawings.d.ts +30 -0
- package/lib/commonjs/sksg/nodes/drawings.js +398 -0
- package/lib/commonjs/sksg/nodes/drawings.js.map +1 -0
- package/lib/commonjs/sksg/nodes/imageFilters.d.ts +17 -0
- package/lib/commonjs/sksg/nodes/imageFilters.js +197 -0
- package/lib/commonjs/sksg/nodes/imageFilters.js.map +1 -0
- package/lib/commonjs/sksg/nodes/index.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/index.js +39 -0
- package/lib/commonjs/sksg/nodes/index.js.map +1 -0
- package/lib/commonjs/sksg/nodes/paint.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/paint.js +81 -0
- package/lib/commonjs/sksg/nodes/paint.js.map +1 -0
- package/lib/commonjs/sksg/nodes/pathEffects.d.ts +11 -0
- package/lib/commonjs/sksg/nodes/pathEffects.js +111 -0
- package/lib/commonjs/sksg/nodes/pathEffects.js.map +1 -0
- package/lib/commonjs/sksg/nodes/shaders.d.ts +11 -0
- package/lib/commonjs/sksg/nodes/shaders.js +173 -0
- package/lib/commonjs/sksg/nodes/shaders.js.map +1 -0
- package/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/utils.js +28 -0
- package/lib/commonjs/sksg/nodes/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.js +0 -2
- package/lib/commonjs/views/SkiaPictureView.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 +4 -9
- 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.d.ts +2 -3
- package/lib/module/dom/nodes/datatypes/Circle.js +14 -6
- package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Enum.js +5 -1
- package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Gradient.js +19 -11
- package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Path.js +7 -1
- package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Radius.js +2 -0
- package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.d.ts +3 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +24 -2
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Transform.d.ts +2 -1
- package/lib/module/dom/nodes/datatypes/Transform.js +33 -0
- package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
- package/lib/module/dom/types/Node.d.ts +2 -5
- 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/renderHelpers.d.ts +2 -0
- package/lib/module/external/reanimated/renderHelpers.js +8 -4
- 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/HostConfig.js +8 -4
- package/lib/module/renderer/HostConfig.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/renderer/__tests__/setup.d.ts +2 -3
- package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -2
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/renderer/typeddash.js +5 -1
- package/lib/module/renderer/typeddash.js.map +1 -1
- package/lib/module/skia/__tests__/setup.d.ts +0 -3
- package/lib/module/skia/types/Path/Path.js +5 -1
- package/lib/module/skia/types/Path/Path.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.js +13 -6
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/sksg/Container.d.ts +19 -0
- package/lib/module/sksg/Container.js +94 -0
- package/lib/module/sksg/Container.js.map +1 -0
- package/lib/module/sksg/DeclarationContext.d.ts +56 -0
- package/lib/module/sksg/DeclarationContext.js +69 -0
- package/lib/module/sksg/DeclarationContext.js.map +1 -0
- package/lib/module/sksg/DrawingContext.d.ts +13 -0
- package/lib/module/sksg/DrawingContext.js +165 -0
- package/lib/module/sksg/DrawingContext.js.map +1 -0
- package/lib/module/sksg/HostConfig.d.ts +19 -0
- package/lib/module/sksg/HostConfig.js +161 -0
- package/lib/module/sksg/HostConfig.js.map +1 -0
- package/lib/module/sksg/Reconciler.d.ts +19 -0
- package/lib/module/sksg/Reconciler.js +53 -0
- package/lib/module/sksg/Reconciler.js.map +1 -0
- package/lib/module/sksg/__tests__/MockDeclaration.d.ts +57 -0
- package/lib/module/sksg/nodes/Node.d.ts +7 -0
- package/lib/module/sksg/nodes/Node.js +2 -0
- package/lib/module/sksg/nodes/Node.js.map +1 -0
- package/lib/module/sksg/nodes/colorFilters.d.ts +10 -0
- package/lib/module/sksg/nodes/colorFilters.js +66 -0
- package/lib/module/sksg/nodes/colorFilters.js.map +1 -0
- package/lib/module/sksg/nodes/context.d.ts +3 -0
- package/lib/module/sksg/nodes/context.js +387 -0
- package/lib/module/sksg/nodes/context.js.map +1 -0
- package/lib/module/sksg/nodes/drawings.d.ts +30 -0
- package/lib/module/sksg/nodes/drawings.js +371 -0
- package/lib/module/sksg/nodes/drawings.js.map +1 -0
- package/lib/module/sksg/nodes/imageFilters.d.ts +17 -0
- package/lib/module/sksg/nodes/imageFilters.js +181 -0
- package/lib/module/sksg/nodes/imageFilters.js.map +1 -0
- package/lib/module/sksg/nodes/index.d.ts +3 -0
- package/lib/module/sksg/nodes/index.js +4 -0
- package/lib/module/sksg/nodes/index.js.map +1 -0
- package/lib/module/sksg/nodes/paint.d.ts +3 -0
- package/lib/module/sksg/nodes/paint.js +74 -0
- package/lib/module/sksg/nodes/paint.js.map +1 -0
- package/lib/module/sksg/nodes/pathEffects.d.ts +11 -0
- package/lib/module/sksg/nodes/pathEffects.js +97 -0
- package/lib/module/sksg/nodes/pathEffects.js.map +1 -0
- package/lib/module/sksg/nodes/shaders.d.ts +11 -0
- package/lib/module/sksg/nodes/shaders.js +158 -0
- package/lib/module/sksg/nodes/shaders.js.map +1 -0
- package/lib/module/sksg/nodes/utils.d.ts +3 -0
- package/lib/module/sksg/nodes/utils.js +20 -0
- package/lib/module/sksg/nodes/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.js +0 -2
- package/lib/module/views/SkiaPictureView.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 +4 -9
- 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/dom/nodes/datatypes/Circle.d.ts +1 -1
- package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +2 -0
- package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +1 -0
- package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
- 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/renderer/{DrawingContext.d.ts → 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/HostConfig.d.ts +3 -1
- package/lib/typescript/lib/commonjs/renderer/Reconciler.d.ts +1 -1
- package/lib/typescript/lib/commonjs/sksg/Container.d.ts +16 -0
- package/lib/typescript/lib/commonjs/sksg/DeclarationContext.d.ts +53 -0
- package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +22 -0
- package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +50 -0
- package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +18 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +8 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/drawings.d.ts +22 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +12 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +9 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/utils.d.ts +3 -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/nodes/datatypes/Circle.d.ts +1 -1
- package/lib/typescript/lib/module/dom/nodes/datatypes/Rect.d.ts +2 -0
- package/lib/typescript/lib/module/dom/nodes/datatypes/Transform.d.ts +1 -0
- package/lib/typescript/lib/module/dom/types/index.d.ts +0 -2
- package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/typescript/lib/module/index.d.ts +1 -0
- package/lib/typescript/lib/module/mock/index.d.ts +4 -4
- 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/HostConfig.d.ts +3 -1
- package/lib/typescript/lib/module/renderer/Reconciler.d.ts +2 -2
- package/lib/typescript/lib/module/sksg/Container.d.ts +15 -0
- package/lib/typescript/lib/module/sksg/DeclarationContext.d.ts +52 -0
- package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +21 -0
- package/lib/typescript/lib/module/sksg/HostConfig.d.ts +49 -0
- package/lib/typescript/lib/module/sksg/Reconciler.d.ts +17 -0
- package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +7 -0
- package/lib/typescript/lib/module/sksg/nodes/context.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/nodes/drawings.d.ts +21 -0
- package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +11 -0
- package/lib/typescript/lib/module/sksg/nodes/index.d.ts +3 -0
- package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +8 -0
- package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +9 -0
- package/lib/typescript/lib/module/sksg/nodes/utils.d.ts +2 -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/nodes/datatypes/Circle.d.ts +2 -3
- package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +3 -1
- package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +2 -1
- package/lib/typescript/src/dom/types/Node.d.ts +2 -5
- package/lib/typescript/src/dom/types/index.d.ts +0 -2
- package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +2 -0
- 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/renderer/__tests__/setup.d.ts +2 -3
- package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -2
- package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -3
- package/lib/typescript/src/sksg/Container.d.ts +19 -0
- package/lib/typescript/src/sksg/DeclarationContext.d.ts +56 -0
- package/lib/typescript/src/sksg/DrawingContext.d.ts +13 -0
- package/lib/typescript/src/sksg/HostConfig.d.ts +19 -0
- package/lib/typescript/src/sksg/Reconciler.d.ts +19 -0
- package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +57 -0
- package/lib/typescript/src/sksg/nodes/Node.d.ts +7 -0
- package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +10 -0
- package/lib/typescript/src/sksg/nodes/context.d.ts +3 -0
- package/lib/typescript/src/sksg/nodes/drawings.d.ts +30 -0
- package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +17 -0
- package/lib/typescript/src/sksg/nodes/index.d.ts +3 -0
- package/lib/typescript/src/sksg/nodes/paint.d.ts +3 -0
- package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +11 -0
- package/lib/typescript/src/sksg/nodes/shaders.d.ts +11 -0
- package/lib/typescript/src/sksg/nodes/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 +4 -9
- package/libs/{ios → apple}/libskia.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
- package/libs/{ios → apple}/libskottie.xcframework/Info.plist +20 -5
- package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
- package/libs/{ios → apple}/libskparagraph.xcframework/Info.plist +20 -5
- package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
- package/libs/{ios → apple}/libsksg.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
- package/libs/{ios → apple}/libskshaper.xcframework/Info.plist +20 -5
- package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
- package/libs/{ios → apple}/libskunicode_core.xcframework/Info.plist +18 -3
- package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
- package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
- package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
- package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
- package/libs/{ios → apple}/libsvg.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
- package/package.json +3 -3
- package/react-native-skia.podspec +9 -9
- package/src/__tests__/setup.ts +1 -1
- package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
- package/src/__tests__/snapshots/sksg/breathe.png +0 -0
- package/src/__tests__/snapshots/sksg/simple.png +0 -0
- package/src/__tests__/snapshots/sksg/simple2.png +0 -0
- package/src/dom/nodes/JsiSkDOM.ts +58 -238
- package/src/dom/nodes/datatypes/Circle.ts +7 -5
- package/src/dom/nodes/datatypes/Enum.ts +4 -2
- package/src/dom/nodes/datatypes/Gradient.ts +14 -14
- package/src/dom/nodes/datatypes/Path.ts +5 -2
- package/src/dom/nodes/datatypes/Radius.ts +1 -0
- package/src/dom/nodes/datatypes/Rect.ts +44 -5
- package/src/dom/nodes/datatypes/Transform.ts +31 -1
- package/src/dom/types/Node.ts +2 -5
- package/src/dom/types/index.ts +0 -2
- package/src/external/reanimated/renderHelpers.ts +8 -4
- 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/HostConfig.ts +10 -4
- package/src/renderer/Offscreen.tsx +3 -6
- package/src/renderer/Reconciler.tsx +1 -5
- package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +2 -2
- package/src/renderer/__tests__/setup.tsx +17 -15
- package/src/renderer/processors/Animations/Animations.ts +1 -5
- package/src/renderer/typeddash.ts +4 -2
- package/src/skia/__tests__/setup.ts +1 -51
- package/src/skia/types/Path/Path.ts +4 -2
- package/src/skia/types/Shader/Shader.ts +8 -4
- package/src/sksg/Container.ts +102 -0
- package/src/sksg/DeclarationContext.ts +85 -0
- package/src/sksg/DrawingContext.ts +226 -0
- package/src/sksg/HostConfig.ts +287 -0
- package/src/sksg/Reconciler.ts +66 -0
- package/src/sksg/__tests__/Declarations.spec.tsx +235 -0
- package/src/{dom/types/DeclarationContext.ts → sksg/__tests__/MockDeclaration.ts} +54 -21
- package/src/sksg/__tests__/Simple.spec.tsx +148 -0
- package/src/sksg/nodes/Node.ts +8 -0
- package/src/sksg/nodes/colorFilters.ts +79 -0
- package/src/sksg/nodes/context.ts +412 -0
- package/src/sksg/nodes/drawings.ts +405 -0
- package/src/sksg/nodes/imageFilters.ts +235 -0
- package/src/sksg/nodes/index.ts +3 -0
- package/src/sksg/nodes/paint.ts +75 -0
- package/src/sksg/nodes/pathEffects.ts +118 -0
- package/src/sksg/nodes/shaders.ts +210 -0
- package/src/sksg/nodes/utils.ts +23 -0
- package/src/views/SkiaDomView.web.tsx +0 -23
- package/src/views/SkiaPictureView.tsx +0 -2
- package/src/views/SkiaPictureView.web.tsx +10 -1
- package/src/views/types.ts +4 -10
- package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +0 -1
- 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 -82
- 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 -91
- 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/renderer/DrawingContext.d.ts +0 -7
- package/lib/commonjs/renderer/DrawingContext.js.map +0 -1
- package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +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/__tests__/Compose.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Demos.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Drawings.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Group.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Paint.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Shaders.spec.d.ts +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 -74
- 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 -83
- 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/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/renderer/__tests__/SkiaDOM.spec.d.ts +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/types/DeclarationContext.d.ts +0 -26
- package/lib/typescript/lib/commonjs/dom/types/DrawingContext.d.ts +0 -13
- 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/renderer/DrawingContext.d.ts +0 -1
- 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/__tests__/Compose.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Shaders.spec.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/renderer/DrawingContext.d.ts +0 -7
- package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
- package/lib/typescript/src/views/SkiaJSDomView.d.ts +0 -38
- package/lib/typescript/src/views/SkiaJSDomView.web.d.ts +0 -1
- package/src/dom/__tests__/Compose.spec.tsx +0 -42
- package/src/dom/__tests__/Demos.spec.tsx +0 -145
- package/src/dom/__tests__/DrawingContext.spec.tsx +0 -99
- package/src/dom/__tests__/Drawings.spec.tsx +0 -95
- package/src/dom/__tests__/Group.spec.tsx +0 -132
- package/src/dom/__tests__/Paint.spec.tsx +0 -100
- package/src/dom/__tests__/RenderNodes.spec.tsx +0 -44
- package/src/dom/__tests__/Shaders.spec.tsx +0 -123
- 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 -110
- 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/DrawingContext.ts +0 -322
- package/src/renderer/DrawingContext.ts +0 -8
- package/src/renderer/__tests__/SkiaDOM.spec.tsx +0 -46
- package/src/views/SkiaJSDomView.tsx +0 -143
- package/src/views/SkiaJSDomView.web.tsx +0 -1
- /package/lib/commonjs/{dom/__tests__/Compose.spec.d.ts → sksg/__tests__/Declarations.spec.d.ts} +0 -0
- /package/lib/commonjs/{dom/__tests__/Demos.spec.d.ts → sksg/__tests__/Simple.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/DrawingContext.spec.d.ts → module/sksg/__tests__/Declarations.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/Drawings.spec.d.ts → module/sksg/__tests__/Simple.spec.d.ts} +0 -0
- /package/lib/typescript/lib/commonjs/{dom/nodes/drawings/index.d.ts → sksg/nodes/Node.d.ts} +0 -0
- /package/lib/typescript/lib/commonjs/{dom/nodes/paint → sksg/nodes}/index.d.ts +0 -0
- /package/lib/{commonjs/dom/__tests__/Group.spec.d.ts → typescript/lib/module/sksg/nodes/Node.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/Paint.spec.d.ts → typescript/src/sksg/__tests__/Declarations.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/RenderNodes.spec.d.ts → typescript/src/sksg/__tests__/Simple.spec.d.ts} +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { importSkia } from "../../renderer/__tests__/setup";
|
|
4
|
+
import { SkiaSGRoot } from "../Reconciler";
|
|
5
|
+
import { checkImage } from "../../__tests__/setup";
|
|
6
|
+
import { mix, polar2Canvas } from "../../renderer";
|
|
7
|
+
|
|
8
|
+
interface RingProps {
|
|
9
|
+
index: number;
|
|
10
|
+
progress: number;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
center: { x: number; y: number };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const Ring = ({ index, progress, width, center }: RingProps) => {
|
|
17
|
+
const c1 = "#61bea2";
|
|
18
|
+
const c2 = "#529ca0";
|
|
19
|
+
const R = width / 4;
|
|
20
|
+
const theta = (index * (2 * Math.PI)) / 6;
|
|
21
|
+
const transform = (() => {
|
|
22
|
+
const { x, y } = polar2Canvas(
|
|
23
|
+
{ theta, radius: progress * R },
|
|
24
|
+
{ x: 0, y: 0 }
|
|
25
|
+
);
|
|
26
|
+
const scale = mix(progress, 0.3, 1);
|
|
27
|
+
return [{ translateX: x }, { translateY: y }, { scale }];
|
|
28
|
+
})();
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<skCircle
|
|
32
|
+
c={center}
|
|
33
|
+
r={R}
|
|
34
|
+
color={index % 2 ? c1 : c2}
|
|
35
|
+
origin={center}
|
|
36
|
+
transform={transform}
|
|
37
|
+
/>
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
describe("Simple", () => {
|
|
42
|
+
it("should have a simple render (1)", () => {
|
|
43
|
+
const { Skia } = importSkia();
|
|
44
|
+
const root = new SkiaSGRoot(Skia);
|
|
45
|
+
root.render(<skCircle r={128} color="cyan" />);
|
|
46
|
+
const surface = Skia.Surface.Make(768, 768)!;
|
|
47
|
+
expect(surface).toBeDefined();
|
|
48
|
+
const canvas = surface.getCanvas();
|
|
49
|
+
root.drawOnCanvas(canvas);
|
|
50
|
+
surface.flush();
|
|
51
|
+
const image = surface.makeImageSnapshot();
|
|
52
|
+
expect(image).toBeDefined();
|
|
53
|
+
checkImage(image, "snapshots/sksg/simple.png");
|
|
54
|
+
});
|
|
55
|
+
it("should have a simple render (2)", () => {
|
|
56
|
+
const { Skia } = importSkia();
|
|
57
|
+
const root = new SkiaSGRoot(Skia);
|
|
58
|
+
root.render(
|
|
59
|
+
<>
|
|
60
|
+
<skFill color="magenta" />
|
|
61
|
+
<skCircle r={128} cx={768 / 2} cy={768 / 2} color="cyan" />
|
|
62
|
+
</>
|
|
63
|
+
);
|
|
64
|
+
const surface = Skia.Surface.Make(768, 768)!;
|
|
65
|
+
expect(surface).toBeDefined();
|
|
66
|
+
const canvas = surface.getCanvas();
|
|
67
|
+
root.drawOnCanvas(canvas);
|
|
68
|
+
surface.flush();
|
|
69
|
+
const image = surface.makeImageSnapshot();
|
|
70
|
+
expect(image).toBeDefined();
|
|
71
|
+
checkImage(image, "snapshots/sksg/simple2.png");
|
|
72
|
+
});
|
|
73
|
+
it("simple demo", () => {
|
|
74
|
+
const { Skia } = importSkia();
|
|
75
|
+
const root = new SkiaSGRoot(Skia);
|
|
76
|
+
const width = 768;
|
|
77
|
+
const height = 768;
|
|
78
|
+
const center = { x: width / 2, y: height / 2 };
|
|
79
|
+
const progress = 0.5;
|
|
80
|
+
const transform = (() => [{ rotate: mix(progress, -Math.PI, 0) }])();
|
|
81
|
+
root.render(
|
|
82
|
+
<>
|
|
83
|
+
<skFill color="rgb(36,43,56)" />
|
|
84
|
+
<skGroup blendMode="screen" origin={center} transform={transform}>
|
|
85
|
+
<skBlurMaskFilter style="solid" blur={40} respectCTM={true} />
|
|
86
|
+
{new Array(6).fill(0).map((_, index) => {
|
|
87
|
+
return (
|
|
88
|
+
<Ring
|
|
89
|
+
key={index}
|
|
90
|
+
index={index}
|
|
91
|
+
progress={progress}
|
|
92
|
+
center={center}
|
|
93
|
+
width={width}
|
|
94
|
+
height={height}
|
|
95
|
+
/>
|
|
96
|
+
);
|
|
97
|
+
})}
|
|
98
|
+
</skGroup>
|
|
99
|
+
</>
|
|
100
|
+
);
|
|
101
|
+
const surface = Skia.Surface.Make(width, height)!;
|
|
102
|
+
expect(surface).toBeDefined();
|
|
103
|
+
const canvas = surface.getCanvas();
|
|
104
|
+
root.drawOnCanvas(canvas);
|
|
105
|
+
surface.flush();
|
|
106
|
+
const image = surface.makeImageSnapshot();
|
|
107
|
+
expect(image).toBeDefined();
|
|
108
|
+
checkImage(image, "snapshots/sksg/breathe.png");
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it("simple demo (2)", () => {
|
|
112
|
+
const { Skia } = importSkia();
|
|
113
|
+
const root = new SkiaSGRoot(Skia);
|
|
114
|
+
const width = 768;
|
|
115
|
+
const height = 768;
|
|
116
|
+
const center = { x: width / 2, y: height / 2 };
|
|
117
|
+
const progress = 0;
|
|
118
|
+
const transform = (() => [{ rotate: mix(progress, -Math.PI, 0) }])();
|
|
119
|
+
root.render(
|
|
120
|
+
<>
|
|
121
|
+
<skFill color="rgb(36,43,56)" />
|
|
122
|
+
<skGroup blendMode="screen" origin={center} transform={transform}>
|
|
123
|
+
<skBlurMaskFilter style="solid" blur={40} respectCTM={true} />
|
|
124
|
+
{new Array(6).fill(0).map((_, index) => {
|
|
125
|
+
return (
|
|
126
|
+
<Ring
|
|
127
|
+
key={index}
|
|
128
|
+
index={index}
|
|
129
|
+
progress={progress}
|
|
130
|
+
center={center}
|
|
131
|
+
width={width}
|
|
132
|
+
height={height}
|
|
133
|
+
/>
|
|
134
|
+
);
|
|
135
|
+
})}
|
|
136
|
+
</skGroup>
|
|
137
|
+
</>
|
|
138
|
+
);
|
|
139
|
+
const surface = Skia.Surface.Make(width, height)!;
|
|
140
|
+
expect(surface).toBeDefined();
|
|
141
|
+
const canvas = surface.getCanvas();
|
|
142
|
+
root.drawOnCanvas(canvas);
|
|
143
|
+
surface.flush();
|
|
144
|
+
const image = surface.makeImageSnapshot();
|
|
145
|
+
expect(image).toBeDefined();
|
|
146
|
+
checkImage(image, "snapshots/sksg/breathe-0.png");
|
|
147
|
+
});
|
|
148
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { enumKey } from "../../dom/nodes";
|
|
2
|
+
import type {
|
|
3
|
+
BlendColorFilterProps,
|
|
4
|
+
LerpColorFilterProps,
|
|
5
|
+
MatrixColorFilterProps,
|
|
6
|
+
} from "../../dom/types";
|
|
7
|
+
import type { SkColorFilter } from "../../skia/types";
|
|
8
|
+
import { BlendMode } from "../../skia/types";
|
|
9
|
+
import type { DeclarationContext } from "../DeclarationContext";
|
|
10
|
+
|
|
11
|
+
export const composeColorFilters = (
|
|
12
|
+
ctx: DeclarationContext,
|
|
13
|
+
cf: SkColorFilter,
|
|
14
|
+
processChildren: () => void
|
|
15
|
+
) => {
|
|
16
|
+
"worklet";
|
|
17
|
+
const { Skia } = ctx;
|
|
18
|
+
ctx.colorFilters.save();
|
|
19
|
+
processChildren();
|
|
20
|
+
const cf1 = ctx.colorFilters.popAllAsOne();
|
|
21
|
+
ctx.colorFilters.restore();
|
|
22
|
+
ctx.colorFilters.push(cf1 ? Skia.ColorFilter.MakeCompose(cf, cf1) : cf);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const makeBlendColorFilter = (
|
|
26
|
+
ctx: DeclarationContext,
|
|
27
|
+
props: BlendColorFilterProps
|
|
28
|
+
) => {
|
|
29
|
+
"worklet";
|
|
30
|
+
const { mode } = props;
|
|
31
|
+
const color = ctx.Skia.Color(props.color);
|
|
32
|
+
const cf = ctx.Skia.ColorFilter.MakeBlend(color, BlendMode[enumKey(mode)]);
|
|
33
|
+
return cf;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const makeSRGBToLinearGammaColorFilter = (ctx: DeclarationContext) => {
|
|
37
|
+
"worklet";
|
|
38
|
+
const cf = ctx.Skia.ColorFilter.MakeSRGBToLinearGamma();
|
|
39
|
+
return cf;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const makeLinearToSRGBGammaColorFilter = (ctx: DeclarationContext) => {
|
|
43
|
+
"worklet";
|
|
44
|
+
const cf = ctx.Skia.ColorFilter.MakeLinearToSRGBGamma();
|
|
45
|
+
return cf;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const declareLerpColorFilter = (
|
|
49
|
+
ctx: DeclarationContext,
|
|
50
|
+
props: LerpColorFilterProps
|
|
51
|
+
) => {
|
|
52
|
+
"worklet";
|
|
53
|
+
const { t } = props;
|
|
54
|
+
const second = ctx.colorFilters.pop();
|
|
55
|
+
const first = ctx.colorFilters.pop();
|
|
56
|
+
if (!first || !second) {
|
|
57
|
+
throw new Error(
|
|
58
|
+
"LerpColorFilterNode: missing two color filters as children"
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
const cf = ctx.Skia.ColorFilter.MakeLerp(t, first, second);
|
|
62
|
+
ctx.colorFilters.push(cf);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const makeMatrixColorFilter = (
|
|
66
|
+
ctx: DeclarationContext,
|
|
67
|
+
props: MatrixColorFilterProps
|
|
68
|
+
) => {
|
|
69
|
+
"worklet";
|
|
70
|
+
const { matrix } = props;
|
|
71
|
+
const cf = ctx.Skia.ColorFilter.MakeMatrix(matrix);
|
|
72
|
+
return cf;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const makeLumaColorFilter = (ctx: DeclarationContext) => {
|
|
76
|
+
"worklet";
|
|
77
|
+
const cf = ctx.Skia.ColorFilter.MakeLumaColorFilter();
|
|
78
|
+
return cf;
|
|
79
|
+
};
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { NodeType } from "../../dom/types";
|
|
3
|
+
import type { DrawingNodeProps } from "../../dom/types";
|
|
4
|
+
import type { DrawingContext } from "../DrawingContext";
|
|
5
|
+
import type { SkImageFilter } from "../../skia/types";
|
|
6
|
+
import {
|
|
7
|
+
createDeclarationContext,
|
|
8
|
+
type DeclarationContext,
|
|
9
|
+
} from "../DeclarationContext";
|
|
10
|
+
|
|
11
|
+
import type { Node } from "./Node";
|
|
12
|
+
import {
|
|
13
|
+
drawAtlas,
|
|
14
|
+
drawBox,
|
|
15
|
+
drawCircle,
|
|
16
|
+
drawDiffRect,
|
|
17
|
+
drawFill,
|
|
18
|
+
drawGlyphs,
|
|
19
|
+
drawImage,
|
|
20
|
+
drawImageSVG,
|
|
21
|
+
drawLine,
|
|
22
|
+
drawOval,
|
|
23
|
+
drawParagraph,
|
|
24
|
+
drawPatch,
|
|
25
|
+
drawPath,
|
|
26
|
+
drawPicture,
|
|
27
|
+
drawPoints,
|
|
28
|
+
drawRect,
|
|
29
|
+
drawRRect,
|
|
30
|
+
drawText,
|
|
31
|
+
drawTextBlob,
|
|
32
|
+
drawTextPath,
|
|
33
|
+
drawVertices,
|
|
34
|
+
} from "./drawings";
|
|
35
|
+
import {
|
|
36
|
+
composeColorFilters,
|
|
37
|
+
declareLerpColorFilter,
|
|
38
|
+
makeBlendColorFilter,
|
|
39
|
+
makeLinearToSRGBGammaColorFilter,
|
|
40
|
+
makeLumaColorFilter,
|
|
41
|
+
makeMatrixColorFilter,
|
|
42
|
+
makeSRGBToLinearGammaColorFilter,
|
|
43
|
+
} from "./colorFilters";
|
|
44
|
+
import {
|
|
45
|
+
composeImageFilters,
|
|
46
|
+
declareBlend,
|
|
47
|
+
declareBlendImageFilter,
|
|
48
|
+
declareBlurMaskFilter,
|
|
49
|
+
declareDisplacementMapImageFilter,
|
|
50
|
+
makeBlurImageFilter,
|
|
51
|
+
makeDropShadowImageFilter,
|
|
52
|
+
makeMorphologyImageFilter,
|
|
53
|
+
makeOffsetImageFilter,
|
|
54
|
+
makeRuntimeShaderImageFilter,
|
|
55
|
+
} from "./imageFilters";
|
|
56
|
+
import { materialize } from "./utils";
|
|
57
|
+
import {
|
|
58
|
+
declareColorShader,
|
|
59
|
+
declareFractalNoiseShader,
|
|
60
|
+
declareImageShader,
|
|
61
|
+
declareLinearGradientShader,
|
|
62
|
+
declareRadialGradientShader,
|
|
63
|
+
declareShader,
|
|
64
|
+
declareSweepGradientShader,
|
|
65
|
+
declareTurbulenceShader,
|
|
66
|
+
declareTwoPointConicalGradientShader,
|
|
67
|
+
} from "./shaders";
|
|
68
|
+
import { declarePaint } from "./paint";
|
|
69
|
+
import {
|
|
70
|
+
composePathEffects,
|
|
71
|
+
declareSumPathEffect,
|
|
72
|
+
makeCornerPathEffect,
|
|
73
|
+
makeDashPathEffect,
|
|
74
|
+
makeDiscretePathEffect,
|
|
75
|
+
makeLine2DPathEffect,
|
|
76
|
+
makePath1DPathEffect,
|
|
77
|
+
makePath2DPathEffect,
|
|
78
|
+
} from "./pathEffects";
|
|
79
|
+
|
|
80
|
+
function processDeclarations(ctx: DeclarationContext, node: Node<any>) {
|
|
81
|
+
"worklet";
|
|
82
|
+
const processChildren = () =>
|
|
83
|
+
node.children.forEach((child) => processDeclarations(ctx, child));
|
|
84
|
+
const { type } = node;
|
|
85
|
+
const props = materialize(node.props);
|
|
86
|
+
switch (type) {
|
|
87
|
+
// Mask Filter
|
|
88
|
+
case NodeType.BlurMaskFilter: {
|
|
89
|
+
declareBlurMaskFilter(ctx, props);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
// Color Filters
|
|
93
|
+
case NodeType.LerpColorFilter: {
|
|
94
|
+
processChildren();
|
|
95
|
+
declareLerpColorFilter(ctx, props);
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case NodeType.Blend: {
|
|
99
|
+
processChildren();
|
|
100
|
+
declareBlend(ctx, props);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case NodeType.BlendColorFilter: {
|
|
104
|
+
const cf = makeBlendColorFilter(ctx, props);
|
|
105
|
+
composeColorFilters(ctx, cf, processChildren);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case NodeType.SRGBToLinearGammaColorFilter: {
|
|
109
|
+
const cf = makeSRGBToLinearGammaColorFilter(ctx);
|
|
110
|
+
composeColorFilters(ctx, cf, processChildren);
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
case NodeType.LinearToSRGBGammaColorFilter: {
|
|
114
|
+
const cf = makeLinearToSRGBGammaColorFilter(ctx);
|
|
115
|
+
composeColorFilters(ctx, cf, processChildren);
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case NodeType.MatrixColorFilter: {
|
|
119
|
+
const cf = makeMatrixColorFilter(ctx, props);
|
|
120
|
+
composeColorFilters(ctx, cf, processChildren);
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
case NodeType.LumaColorFilter: {
|
|
124
|
+
const cf = makeLumaColorFilter(ctx);
|
|
125
|
+
composeColorFilters(ctx, cf, processChildren);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
// Shaders
|
|
129
|
+
case NodeType.Shader: {
|
|
130
|
+
processChildren();
|
|
131
|
+
declareShader(ctx, props);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case NodeType.ImageShader: {
|
|
135
|
+
declareImageShader(ctx, props);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
case NodeType.ColorShader: {
|
|
139
|
+
declareColorShader(ctx, props);
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case NodeType.Turbulence: {
|
|
143
|
+
declareTurbulenceShader(ctx, props);
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
case NodeType.FractalNoise: {
|
|
147
|
+
declareFractalNoiseShader(ctx, props);
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
case NodeType.LinearGradient: {
|
|
151
|
+
declareLinearGradientShader(ctx, props);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case NodeType.RadialGradient: {
|
|
155
|
+
declareRadialGradientShader(ctx, props);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case NodeType.SweepGradient: {
|
|
159
|
+
declareSweepGradientShader(ctx, props);
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case NodeType.TwoPointConicalGradient: {
|
|
163
|
+
declareTwoPointConicalGradientShader(ctx, props);
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
// Image Filters
|
|
167
|
+
case NodeType.BlurImageFilter: {
|
|
168
|
+
const imgf = makeBlurImageFilter(ctx, props);
|
|
169
|
+
composeImageFilters(ctx, imgf, processChildren);
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
case NodeType.OffsetImageFilter: {
|
|
173
|
+
const imgf = makeOffsetImageFilter(ctx, props);
|
|
174
|
+
composeImageFilters(ctx, imgf, processChildren);
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case NodeType.DisplacementMapImageFilter: {
|
|
178
|
+
processChildren();
|
|
179
|
+
declareDisplacementMapImageFilter(ctx, props);
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
case NodeType.DropShadowImageFilter: {
|
|
183
|
+
const imgf = makeDropShadowImageFilter(ctx, props);
|
|
184
|
+
composeImageFilters(ctx, imgf, processChildren);
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
case NodeType.MorphologyImageFilter: {
|
|
188
|
+
const imgf = makeMorphologyImageFilter(ctx, props);
|
|
189
|
+
composeImageFilters(ctx, imgf, processChildren);
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
case NodeType.BlendImageFilter: {
|
|
193
|
+
processChildren();
|
|
194
|
+
declareBlendImageFilter(ctx, props);
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
case NodeType.RuntimeShaderImageFilter: {
|
|
198
|
+
const imgf = makeRuntimeShaderImageFilter(ctx, props);
|
|
199
|
+
composeImageFilters(ctx, imgf, processChildren);
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
// Path Effects
|
|
203
|
+
case NodeType.SumPathEffect: {
|
|
204
|
+
processChildren();
|
|
205
|
+
declareSumPathEffect(ctx);
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
case NodeType.CornerPathEffect: {
|
|
209
|
+
const pf = makeCornerPathEffect(ctx, props);
|
|
210
|
+
composePathEffects(ctx, pf, processChildren);
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
case NodeType.Path1DPathEffect: {
|
|
214
|
+
const pf = makePath1DPathEffect(ctx, props);
|
|
215
|
+
composePathEffects(ctx, pf, processChildren);
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
case NodeType.Path2DPathEffect: {
|
|
219
|
+
const pf = makePath2DPathEffect(ctx, props);
|
|
220
|
+
composePathEffects(ctx, pf, processChildren);
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
case NodeType.Line2DPathEffect: {
|
|
224
|
+
const pf = makeLine2DPathEffect(ctx, props);
|
|
225
|
+
composePathEffects(ctx, pf, processChildren);
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
case NodeType.DashPathEffect: {
|
|
229
|
+
const pf = makeDashPathEffect(ctx, props);
|
|
230
|
+
composePathEffects(ctx, pf, processChildren);
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
case NodeType.DiscretePathEffect: {
|
|
234
|
+
const pf = makeDiscretePathEffect(ctx, props);
|
|
235
|
+
composePathEffects(ctx, pf, processChildren);
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
// Paint
|
|
239
|
+
case NodeType.Paint:
|
|
240
|
+
processChildren();
|
|
241
|
+
declarePaint(ctx, props);
|
|
242
|
+
break;
|
|
243
|
+
default:
|
|
244
|
+
console.log("Unknown declaration node: ", type);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const preProcessContext = (
|
|
249
|
+
ctx: DrawingContext,
|
|
250
|
+
props: DrawingNodeProps,
|
|
251
|
+
node: Node<any>
|
|
252
|
+
) => {
|
|
253
|
+
"worklet";
|
|
254
|
+
const shouldRestoreMatrix = ctx.processMatrixAndClipping(props, props.layer);
|
|
255
|
+
const declCtx = createDeclarationContext(ctx.Skia);
|
|
256
|
+
node.children.forEach((child) => {
|
|
257
|
+
if (child.isDeclaration) {
|
|
258
|
+
processDeclarations(declCtx, child);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
const shouldRestorePaint = ctx.processPaint(props, declCtx);
|
|
262
|
+
return {
|
|
263
|
+
shouldRestoreMatrix,
|
|
264
|
+
shouldRestorePaint,
|
|
265
|
+
extraPaints: declCtx.paints.popAll(),
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
const drawBackdropFilter = (ctx: DrawingContext, node: Node) => {
|
|
270
|
+
"worklet";
|
|
271
|
+
const { canvas, Skia } = ctx;
|
|
272
|
+
const child = node.children[0];
|
|
273
|
+
let imageFilter: SkImageFilter | null = null;
|
|
274
|
+
if (child.isDeclaration) {
|
|
275
|
+
const declCtx = createDeclarationContext(ctx.Skia);
|
|
276
|
+
processDeclarations(declCtx, child);
|
|
277
|
+
const imgf = declCtx.imageFilters.pop();
|
|
278
|
+
if (imgf) {
|
|
279
|
+
imageFilter = imgf;
|
|
280
|
+
} else {
|
|
281
|
+
const cf = declCtx.colorFilters.pop();
|
|
282
|
+
if (cf) {
|
|
283
|
+
imageFilter = Skia.ImageFilter.MakeColorFilter(cf, null);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
canvas.saveLayer(undefined, null, imageFilter);
|
|
288
|
+
canvas.restore();
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
export function draw(ctx: DrawingContext, node: Node<any>) {
|
|
292
|
+
"worklet";
|
|
293
|
+
// Special mixed nodes
|
|
294
|
+
if (node.type === NodeType.BackdropFilter) {
|
|
295
|
+
drawBackdropFilter(ctx, node);
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
if (node.type === NodeType.Layer) {
|
|
299
|
+
let hasLayer = false;
|
|
300
|
+
const [layer, ...children] = node.children;
|
|
301
|
+
if (layer.isDeclaration) {
|
|
302
|
+
const declCtx = createDeclarationContext(ctx.Skia);
|
|
303
|
+
processDeclarations(declCtx, layer);
|
|
304
|
+
const paint = declCtx.paints.pop();
|
|
305
|
+
if (paint) {
|
|
306
|
+
hasLayer = true;
|
|
307
|
+
ctx.canvas.saveLayer(paint);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
children.map((child) => {
|
|
311
|
+
if (!child.isDeclaration) {
|
|
312
|
+
draw(ctx, child);
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
if (hasLayer) {
|
|
316
|
+
ctx.canvas.restore();
|
|
317
|
+
}
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
const { type, props: rawProps, children } = node;
|
|
321
|
+
// Regular nodes
|
|
322
|
+
const props = materialize(rawProps);
|
|
323
|
+
const { shouldRestoreMatrix, shouldRestorePaint, extraPaints } =
|
|
324
|
+
preProcessContext(ctx, props, node);
|
|
325
|
+
const paints = [ctx.getPaint(), ...extraPaints];
|
|
326
|
+
paints.forEach((paint) => {
|
|
327
|
+
const lctx = { paint, Skia: ctx.Skia, canvas: ctx.canvas };
|
|
328
|
+
switch (type) {
|
|
329
|
+
case NodeType.Box:
|
|
330
|
+
drawBox(lctx, props, node.children);
|
|
331
|
+
break;
|
|
332
|
+
case NodeType.Image:
|
|
333
|
+
drawImage(lctx, props);
|
|
334
|
+
break;
|
|
335
|
+
case NodeType.Points:
|
|
336
|
+
drawPoints(lctx, props);
|
|
337
|
+
break;
|
|
338
|
+
case NodeType.Path:
|
|
339
|
+
drawPath(lctx, props);
|
|
340
|
+
break;
|
|
341
|
+
case NodeType.Rect:
|
|
342
|
+
drawRect(lctx, props);
|
|
343
|
+
break;
|
|
344
|
+
case NodeType.RRect:
|
|
345
|
+
drawRRect(lctx, props);
|
|
346
|
+
break;
|
|
347
|
+
case NodeType.Oval:
|
|
348
|
+
drawOval(lctx, props);
|
|
349
|
+
break;
|
|
350
|
+
case NodeType.Line:
|
|
351
|
+
drawLine(lctx, props);
|
|
352
|
+
break;
|
|
353
|
+
case NodeType.Patch:
|
|
354
|
+
drawPatch(lctx, props);
|
|
355
|
+
break;
|
|
356
|
+
case NodeType.Vertices:
|
|
357
|
+
drawVertices(lctx, props);
|
|
358
|
+
break;
|
|
359
|
+
case NodeType.DiffRect:
|
|
360
|
+
drawDiffRect(lctx, props);
|
|
361
|
+
break;
|
|
362
|
+
case NodeType.Text:
|
|
363
|
+
drawText(lctx, props);
|
|
364
|
+
break;
|
|
365
|
+
case NodeType.TextPath:
|
|
366
|
+
drawTextPath(lctx, props);
|
|
367
|
+
break;
|
|
368
|
+
case NodeType.TextBlob:
|
|
369
|
+
drawTextBlob(lctx, props);
|
|
370
|
+
break;
|
|
371
|
+
case NodeType.Glyphs:
|
|
372
|
+
drawGlyphs(lctx, props);
|
|
373
|
+
break;
|
|
374
|
+
case NodeType.Picture:
|
|
375
|
+
drawPicture(lctx, props);
|
|
376
|
+
break;
|
|
377
|
+
case NodeType.ImageSVG:
|
|
378
|
+
drawImageSVG(lctx, props);
|
|
379
|
+
break;
|
|
380
|
+
case NodeType.Paragraph:
|
|
381
|
+
drawParagraph(lctx, props);
|
|
382
|
+
break;
|
|
383
|
+
case NodeType.Atlas:
|
|
384
|
+
drawAtlas(lctx, props);
|
|
385
|
+
break;
|
|
386
|
+
case NodeType.Circle:
|
|
387
|
+
drawCircle(lctx, props);
|
|
388
|
+
break;
|
|
389
|
+
case NodeType.Fill:
|
|
390
|
+
drawFill(lctx, props);
|
|
391
|
+
break;
|
|
392
|
+
case NodeType.Group:
|
|
393
|
+
// TODO: do nothing
|
|
394
|
+
break;
|
|
395
|
+
default:
|
|
396
|
+
if (!node.isDeclaration) {
|
|
397
|
+
console.warn(`Unsupported node type: ${type}`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
children.forEach((child) => {
|
|
402
|
+
if (!child.isDeclaration) {
|
|
403
|
+
draw(ctx, child);
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
if (shouldRestoreMatrix) {
|
|
407
|
+
ctx.canvas.restore();
|
|
408
|
+
}
|
|
409
|
+
if (shouldRestorePaint) {
|
|
410
|
+
ctx.restore();
|
|
411
|
+
}
|
|
412
|
+
}
|