@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
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
import type { TransformProps } from "../../types";
|
|
2
|
-
import type { SkMatrix } from "../../../skia/types";
|
|
2
|
+
import type { Skia, SkMatrix } from "../../../skia/types";
|
|
3
3
|
import { processTransform } from "../../../skia/types";
|
|
4
4
|
|
|
5
5
|
export const processTransformProps = (m3: SkMatrix, props: TransformProps) => {
|
|
6
|
+
"worklet";
|
|
7
|
+
|
|
8
|
+
const { transform, origin, matrix } = props;
|
|
9
|
+
if (matrix) {
|
|
10
|
+
if (origin) {
|
|
11
|
+
m3.translate(origin.x, origin.y);
|
|
12
|
+
m3.concat(matrix);
|
|
13
|
+
m3.translate(-origin.x, -origin.y);
|
|
14
|
+
} else {
|
|
15
|
+
m3.concat(matrix);
|
|
16
|
+
}
|
|
17
|
+
} else if (transform) {
|
|
18
|
+
if (origin) {
|
|
19
|
+
m3.translate(origin.x, origin.y);
|
|
20
|
+
}
|
|
21
|
+
processTransform(m3, transform);
|
|
22
|
+
if (origin) {
|
|
23
|
+
m3.translate(-origin.x, -origin.y);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const processTransformProps2 = (Skia: Skia, props: TransformProps) => {
|
|
29
|
+
"worklet";
|
|
30
|
+
|
|
6
31
|
const { transform, origin, matrix } = props;
|
|
7
32
|
if (matrix) {
|
|
33
|
+
const m3 = Skia.Matrix();
|
|
8
34
|
if (origin) {
|
|
9
35
|
m3.translate(origin.x, origin.y);
|
|
10
36
|
m3.concat(matrix);
|
|
@@ -12,7 +38,9 @@ export const processTransformProps = (m3: SkMatrix, props: TransformProps) => {
|
|
|
12
38
|
} else {
|
|
13
39
|
m3.concat(matrix);
|
|
14
40
|
}
|
|
41
|
+
return m3;
|
|
15
42
|
} else if (transform) {
|
|
43
|
+
const m3 = Skia.Matrix();
|
|
16
44
|
if (origin) {
|
|
17
45
|
m3.translate(origin.x, origin.y);
|
|
18
46
|
}
|
|
@@ -20,5 +48,7 @@ export const processTransformProps = (m3: SkMatrix, props: TransformProps) => {
|
|
|
20
48
|
if (origin) {
|
|
21
49
|
m3.translate(-origin.x, -origin.y);
|
|
22
50
|
}
|
|
51
|
+
return m3;
|
|
23
52
|
}
|
|
53
|
+
return null;
|
|
24
54
|
};
|
package/src/dom/types/Node.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { GroupProps } from "./Common";
|
|
2
2
|
import type { NodeType } from "./NodeType";
|
|
3
|
-
import type { DeclarationContext } from "
|
|
4
|
-
import type { DrawingContext } from "./DrawingContext";
|
|
3
|
+
import type { DeclarationContext } from "../../sksg/DeclarationContext";
|
|
5
4
|
|
|
6
5
|
export interface Node<P> {
|
|
7
6
|
type: NodeType;
|
|
@@ -25,6 +24,4 @@ export interface DeclarationNode<P> extends Node<P> {
|
|
|
25
24
|
setInvalidate(invalidate: Invalidate): void;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
export
|
|
29
|
-
render(ctx: DrawingContext): void;
|
|
30
|
-
}
|
|
27
|
+
export type RenderNode<P extends GroupProps> = Node<P>;
|
package/src/dom/types/index.ts
CHANGED
|
@@ -6,13 +6,17 @@ import type { Node } from "../../dom/types";
|
|
|
6
6
|
|
|
7
7
|
import Rea from "./ReanimatedProxy";
|
|
8
8
|
|
|
9
|
-
let HAS_REANIMATED = false;
|
|
10
|
-
let HAS_REANIMATED_3 = false;
|
|
9
|
+
export let HAS_REANIMATED = false;
|
|
10
|
+
export let HAS_REANIMATED_3 = false;
|
|
11
11
|
try {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
// This logic is convoluted but necessary
|
|
13
|
+
// In most systems, `require("react-native-reanimated")` throws an error, all is well.
|
|
14
|
+
// In webpack, in some configuration it will return an empty object.
|
|
15
|
+
// So it will not throw an error and we need to check the version to know if it's there.
|
|
14
16
|
const reanimatedVersion =
|
|
15
17
|
require("react-native-reanimated/package.json").version;
|
|
18
|
+
require("react-native-reanimated");
|
|
19
|
+
HAS_REANIMATED = !!reanimatedVersion;
|
|
16
20
|
if (
|
|
17
21
|
reanimatedVersion &&
|
|
18
22
|
(reanimatedVersion >= "3.0.0" || reanimatedVersion.includes("3.0.0-"))
|
package/src/headless/index.ts
CHANGED
|
@@ -4,9 +4,8 @@ import CanvasKitInit from "canvaskit-wasm/bin/full/canvaskit";
|
|
|
4
4
|
import type { ReactNode } from "react";
|
|
5
5
|
|
|
6
6
|
import { JsiSkApi } from "../skia/web";
|
|
7
|
-
import { SkiaRoot } from "../renderer/Reconciler";
|
|
8
|
-
import { JsiDrawingContext } from "../dom/types";
|
|
9
7
|
import type { SkSurface } from "../skia";
|
|
8
|
+
import { SkiaSGRoot } from "../sksg/Reconciler";
|
|
10
9
|
|
|
11
10
|
export * from "../renderer/components";
|
|
12
11
|
|
|
@@ -31,11 +30,10 @@ export const getSkiaExports = () => {
|
|
|
31
30
|
};
|
|
32
31
|
|
|
33
32
|
export const drawOffscreen = (surface: SkSurface, element: ReactNode) => {
|
|
34
|
-
const root = new
|
|
33
|
+
const root = new SkiaSGRoot(Skia);
|
|
35
34
|
root.render(element);
|
|
36
35
|
const canvas = surface.getCanvas();
|
|
37
|
-
|
|
38
|
-
root.dom.render(ctx);
|
|
36
|
+
root.drawOnCanvas(canvas);
|
|
39
37
|
root.unmount();
|
|
40
38
|
surface.flush();
|
|
41
39
|
return surface.makeImageSnapshot();
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import "./skia/NativeSetup";
|
|
|
2
2
|
export { JsiSkImage } from "./skia/web/JsiSkImage";
|
|
3
3
|
export * from "./renderer";
|
|
4
4
|
export * from "./renderer/Canvas";
|
|
5
|
+
export * from "./renderer/Canvas2";
|
|
5
6
|
export * from "./renderer/Offscreen";
|
|
6
7
|
export * from "./views";
|
|
7
8
|
export * from "./skia";
|
package/src/renderer/Canvas.tsx
CHANGED
|
@@ -15,12 +15,9 @@ import type {
|
|
|
15
15
|
import type { LayoutChangeEvent } from "react-native";
|
|
16
16
|
|
|
17
17
|
import { SkiaDomView } from "../views";
|
|
18
|
-
import { Skia } from "../skia/Skia";
|
|
19
18
|
import type { SkiaBaseViewProps } from "../views";
|
|
20
|
-
import { SkiaJSDomView } from "../views/SkiaJSDomView";
|
|
21
19
|
|
|
22
20
|
import { SkiaRoot } from "./Reconciler";
|
|
23
|
-
import { NATIVE_DOM } from "./HostComponents";
|
|
24
21
|
|
|
25
22
|
export const useCanvasRef = () => useRef<SkiaDomView>(null);
|
|
26
23
|
|
|
@@ -74,7 +71,7 @@ export const Canvas = forwardRef<SkiaDomView, CanvasProps>(
|
|
|
74
71
|
}, [innerRef]);
|
|
75
72
|
|
|
76
73
|
const root = useMemo(
|
|
77
|
-
() => new SkiaRoot(
|
|
74
|
+
() => new SkiaRoot(redraw, getNativeId),
|
|
78
75
|
[redraw, getNativeId]
|
|
79
76
|
);
|
|
80
77
|
|
|
@@ -89,33 +86,17 @@ export const Canvas = forwardRef<SkiaDomView, CanvasProps>(
|
|
|
89
86
|
};
|
|
90
87
|
}, [root]);
|
|
91
88
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
);
|
|
104
|
-
} else {
|
|
105
|
-
return (
|
|
106
|
-
<SkiaJSDomView
|
|
107
|
-
Skia={Skia}
|
|
108
|
-
mode={mode}
|
|
109
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
|
-
ref={ref as any}
|
|
111
|
-
style={style}
|
|
112
|
-
root={root.dom}
|
|
113
|
-
onLayout={onLayout}
|
|
114
|
-
debug={debug}
|
|
115
|
-
{...props}
|
|
116
|
-
/>
|
|
117
|
-
);
|
|
118
|
-
}
|
|
89
|
+
return (
|
|
90
|
+
<SkiaDomView
|
|
91
|
+
ref={ref}
|
|
92
|
+
style={style}
|
|
93
|
+
root={root.dom}
|
|
94
|
+
onLayout={onLayout}
|
|
95
|
+
debug={debug}
|
|
96
|
+
mode={mode}
|
|
97
|
+
{...props}
|
|
98
|
+
/>
|
|
99
|
+
);
|
|
119
100
|
}
|
|
120
101
|
) as FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;
|
|
121
102
|
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import {
|
|
2
|
+
forwardRef,
|
|
3
|
+
useCallback,
|
|
4
|
+
useEffect,
|
|
5
|
+
useImperativeHandle,
|
|
6
|
+
useMemo,
|
|
7
|
+
useRef,
|
|
8
|
+
} from "react";
|
|
9
|
+
import type { LayoutChangeEvent, ViewProps } from "react-native";
|
|
10
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
11
|
+
|
|
12
|
+
import { SkiaViewNativeId } from "../views/SkiaViewNativeId";
|
|
13
|
+
import type { SkRect, SkSize } from "../skia/types";
|
|
14
|
+
import { SkiaSGRoot } from "../sksg/Reconciler";
|
|
15
|
+
import { Skia } from "../skia";
|
|
16
|
+
import type { SkiaBaseViewProps } from "../views";
|
|
17
|
+
import { SkiaPictureView } from "../views/SkiaPictureView.web";
|
|
18
|
+
|
|
19
|
+
// TODO: no need to go through the JS thread for this
|
|
20
|
+
const useOnSizeEvent = (
|
|
21
|
+
resultValue: SkiaBaseViewProps["onSize"],
|
|
22
|
+
onLayout?: (event: LayoutChangeEvent) => void
|
|
23
|
+
) => {
|
|
24
|
+
return useCallback(
|
|
25
|
+
(event: LayoutChangeEvent) => {
|
|
26
|
+
if (onLayout) {
|
|
27
|
+
onLayout(event);
|
|
28
|
+
}
|
|
29
|
+
const { width, height } = event.nativeEvent.layout;
|
|
30
|
+
|
|
31
|
+
if (resultValue) {
|
|
32
|
+
resultValue.value = { width, height };
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
[onLayout, resultValue]
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export interface CanvasProps extends ViewProps {
|
|
40
|
+
debug?: boolean;
|
|
41
|
+
opaque?: boolean;
|
|
42
|
+
onSize?: SharedValue<SkSize>;
|
|
43
|
+
mode?: "continuous" | "default";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export const Canvas = forwardRef(
|
|
47
|
+
(
|
|
48
|
+
{
|
|
49
|
+
mode,
|
|
50
|
+
debug,
|
|
51
|
+
opaque,
|
|
52
|
+
children,
|
|
53
|
+
onSize,
|
|
54
|
+
onLayout: _onLayout,
|
|
55
|
+
...viewProps
|
|
56
|
+
}: CanvasProps,
|
|
57
|
+
ref
|
|
58
|
+
) => {
|
|
59
|
+
const viewRef = useRef<SkiaPictureView>(null);
|
|
60
|
+
const rafId = useRef<number | null>(null);
|
|
61
|
+
const onLayout = useOnSizeEvent(onSize, _onLayout);
|
|
62
|
+
// Native ID
|
|
63
|
+
const nativeId = useMemo(() => {
|
|
64
|
+
return SkiaViewNativeId.current++;
|
|
65
|
+
}, []);
|
|
66
|
+
|
|
67
|
+
// Root
|
|
68
|
+
const root = useMemo(() => new SkiaSGRoot(Skia), []);
|
|
69
|
+
|
|
70
|
+
// Render effects
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
root.render(children);
|
|
73
|
+
if (viewRef.current) {
|
|
74
|
+
viewRef.current.setPicture(root.getPicture());
|
|
75
|
+
}
|
|
76
|
+
}, [children, root]);
|
|
77
|
+
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
return () => {
|
|
80
|
+
root.unmount();
|
|
81
|
+
};
|
|
82
|
+
}, [root]);
|
|
83
|
+
|
|
84
|
+
const requestRedraw = useCallback(() => {
|
|
85
|
+
rafId.current = requestAnimationFrame(() => {
|
|
86
|
+
root.render(children);
|
|
87
|
+
if (viewRef.current) {
|
|
88
|
+
viewRef.current.setPicture(root.getPicture());
|
|
89
|
+
}
|
|
90
|
+
if (mode === "continuous") {
|
|
91
|
+
requestRedraw();
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}, [children, mode, root]);
|
|
95
|
+
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (mode === "continuous") {
|
|
98
|
+
requestRedraw();
|
|
99
|
+
}
|
|
100
|
+
return () => {
|
|
101
|
+
if (rafId.current !== null) {
|
|
102
|
+
cancelAnimationFrame(rafId.current);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}, [mode, requestRedraw]);
|
|
106
|
+
|
|
107
|
+
// Component methods
|
|
108
|
+
useImperativeHandle(ref, () => ({
|
|
109
|
+
makeImageSnapshot: (rect?: SkRect) => {
|
|
110
|
+
return SkiaViewApi.makeImageSnapshot(nativeId, rect);
|
|
111
|
+
},
|
|
112
|
+
makeImageSnapshotAsync: (rect?: SkRect) => {
|
|
113
|
+
return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);
|
|
114
|
+
},
|
|
115
|
+
redraw: () => {
|
|
116
|
+
viewRef.current?.redraw();
|
|
117
|
+
},
|
|
118
|
+
getNativeId: () => {
|
|
119
|
+
return nativeId;
|
|
120
|
+
},
|
|
121
|
+
}));
|
|
122
|
+
return (
|
|
123
|
+
<SkiaPictureView
|
|
124
|
+
ref={viewRef}
|
|
125
|
+
collapsable={false}
|
|
126
|
+
nativeID={`${nativeId}`}
|
|
127
|
+
debug={debug}
|
|
128
|
+
opaque={opaque}
|
|
129
|
+
onLayout={onLayout}
|
|
130
|
+
{...viewProps}
|
|
131
|
+
/>
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
);
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import {
|
|
2
|
+
forwardRef,
|
|
3
|
+
useCallback,
|
|
4
|
+
useEffect,
|
|
5
|
+
useImperativeHandle,
|
|
6
|
+
useMemo,
|
|
7
|
+
useRef,
|
|
8
|
+
} from "react";
|
|
9
|
+
import type { LayoutChangeEvent, ViewProps } from "react-native";
|
|
10
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
11
|
+
|
|
12
|
+
import { SkiaViewNativeId } from "../views/SkiaViewNativeId";
|
|
13
|
+
import SkiaPictureViewNativeComponent from "../specs/SkiaPictureViewNativeComponent";
|
|
14
|
+
import type { SkRect, SkSize } from "../skia/types";
|
|
15
|
+
import { SkiaSGRoot } from "../sksg/Reconciler";
|
|
16
|
+
import { Skia } from "../skia";
|
|
17
|
+
import type { SkiaBaseViewProps } from "../views";
|
|
18
|
+
|
|
19
|
+
const NativeSkiaPictureView = SkiaPictureViewNativeComponent;
|
|
20
|
+
|
|
21
|
+
// TODO: no need to go through the JS thread for this
|
|
22
|
+
const useOnSizeEvent = (
|
|
23
|
+
resultValue: SkiaBaseViewProps["onSize"],
|
|
24
|
+
onLayout?: (event: LayoutChangeEvent) => void
|
|
25
|
+
) => {
|
|
26
|
+
return useCallback(
|
|
27
|
+
(event: LayoutChangeEvent) => {
|
|
28
|
+
if (onLayout) {
|
|
29
|
+
onLayout(event);
|
|
30
|
+
}
|
|
31
|
+
const { width, height } = event.nativeEvent.layout;
|
|
32
|
+
|
|
33
|
+
if (resultValue) {
|
|
34
|
+
resultValue.value = { width, height };
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
[onLayout, resultValue]
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export interface Canvas2Props extends ViewProps {
|
|
42
|
+
debug?: boolean;
|
|
43
|
+
opaque?: boolean;
|
|
44
|
+
onSize?: SharedValue<SkSize>;
|
|
45
|
+
mode?: "continuous" | "default";
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export const Canvas2 = forwardRef(
|
|
49
|
+
(
|
|
50
|
+
{
|
|
51
|
+
mode,
|
|
52
|
+
debug,
|
|
53
|
+
opaque,
|
|
54
|
+
children,
|
|
55
|
+
onSize,
|
|
56
|
+
onLayout: _onLayout,
|
|
57
|
+
...viewProps
|
|
58
|
+
}: Canvas2Props,
|
|
59
|
+
ref
|
|
60
|
+
) => {
|
|
61
|
+
const rafId = useRef<number | null>(null);
|
|
62
|
+
const onLayout = useOnSizeEvent(onSize, _onLayout);
|
|
63
|
+
// Native ID
|
|
64
|
+
const nativeId = useMemo(() => {
|
|
65
|
+
return SkiaViewNativeId.current++;
|
|
66
|
+
}, []);
|
|
67
|
+
|
|
68
|
+
// Root
|
|
69
|
+
const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);
|
|
70
|
+
|
|
71
|
+
// Render effects
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
root.render(children);
|
|
74
|
+
}, [children, root]);
|
|
75
|
+
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
return () => {
|
|
78
|
+
root.unmount();
|
|
79
|
+
};
|
|
80
|
+
}, [root]);
|
|
81
|
+
|
|
82
|
+
const requestRedraw = useCallback(() => {
|
|
83
|
+
rafId.current = requestAnimationFrame(() => {
|
|
84
|
+
root.render(children);
|
|
85
|
+
if (mode === "continuous") {
|
|
86
|
+
requestRedraw();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}, [children, mode, root]);
|
|
90
|
+
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
if (mode === "continuous") {
|
|
93
|
+
requestRedraw();
|
|
94
|
+
}
|
|
95
|
+
return () => {
|
|
96
|
+
if (rafId.current !== null) {
|
|
97
|
+
cancelAnimationFrame(rafId.current);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}, [mode, requestRedraw]);
|
|
101
|
+
|
|
102
|
+
// Component methods
|
|
103
|
+
useImperativeHandle(ref, () => ({
|
|
104
|
+
makeImageSnapshot: (rect?: SkRect) => {
|
|
105
|
+
return SkiaViewApi.makeImageSnapshot(nativeId, rect);
|
|
106
|
+
},
|
|
107
|
+
makeImageSnapshotAsync: (rect?: SkRect) => {
|
|
108
|
+
return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);
|
|
109
|
+
},
|
|
110
|
+
redraw: () => {
|
|
111
|
+
SkiaViewApi.requestRedraw(nativeId);
|
|
112
|
+
},
|
|
113
|
+
getNativeId: () => {
|
|
114
|
+
return nativeId;
|
|
115
|
+
},
|
|
116
|
+
}));
|
|
117
|
+
return (
|
|
118
|
+
<NativeSkiaPictureView
|
|
119
|
+
collapsable={false}
|
|
120
|
+
nativeID={`${nativeId}`}
|
|
121
|
+
debug={debug}
|
|
122
|
+
opaque={opaque}
|
|
123
|
+
onLayout={onLayout}
|
|
124
|
+
{...viewProps}
|
|
125
|
+
/>
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
);
|
|
@@ -1,30 +1,18 @@
|
|
|
1
1
|
import { JsiSkDOM } from "../dom/nodes";
|
|
2
|
-
import type {
|
|
3
|
-
GroupProps,
|
|
4
|
-
DrawingContext,
|
|
5
|
-
RenderNode,
|
|
6
|
-
SkDOM,
|
|
7
|
-
} from "../dom/types";
|
|
8
|
-
import type { Skia } from "../skia/types";
|
|
2
|
+
import type { Node, SkDOM } from "../dom/types";
|
|
9
3
|
|
|
10
4
|
export class Container {
|
|
11
|
-
private _root:
|
|
5
|
+
private _root: Node<unknown>;
|
|
12
6
|
public Sk: SkDOM;
|
|
13
7
|
public unmounted = false;
|
|
14
8
|
constructor(
|
|
15
|
-
Skia: Skia,
|
|
16
9
|
public redraw: () => void = () => {},
|
|
17
|
-
public getNativeId: () => number = () => 0
|
|
18
|
-
native: boolean
|
|
10
|
+
public getNativeId: () => number = () => 0
|
|
19
11
|
) {
|
|
20
|
-
this.Sk = new JsiSkDOM(
|
|
12
|
+
this.Sk = new JsiSkDOM();
|
|
21
13
|
this._root = this.Sk.Group();
|
|
22
14
|
}
|
|
23
15
|
|
|
24
|
-
draw(ctx: DrawingContext) {
|
|
25
|
-
this._root.render(ctx);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
16
|
get root() {
|
|
29
17
|
return this._root;
|
|
30
18
|
}
|
|
@@ -57,23 +57,15 @@ import type {
|
|
|
57
57
|
BlendProps,
|
|
58
58
|
MorphologyImageFilterProps,
|
|
59
59
|
} from "../dom/types/ImageFilters";
|
|
60
|
-
import type { SkRect, SkRRect } from "../skia/types";
|
|
61
|
-
import type { JsiDrawingNode } from "../dom/nodes/DrawingNode";
|
|
62
60
|
|
|
63
61
|
import type { Container } from "./Container";
|
|
64
62
|
import { exhaustiveCheck } from "./typeddash";
|
|
65
63
|
import type { SkiaProps } from "./processors";
|
|
66
64
|
|
|
67
|
-
// This flag should only be turned on for debugging/testing
|
|
68
|
-
const shouldUseJSDomOnNative = false;
|
|
69
|
-
export const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;
|
|
70
|
-
|
|
71
65
|
declare global {
|
|
72
66
|
var SkiaDomApi: {
|
|
73
|
-
RectNode: (props: RectProps) =>
|
|
74
|
-
RRectNode: (
|
|
75
|
-
props: RoundedRectProps
|
|
76
|
-
) => JsiDrawingNode<RoundedRectProps, SkRRect>;
|
|
67
|
+
RectNode: (props: RectProps) => RenderNode<RectProps>;
|
|
68
|
+
RRectNode: (props: RoundedRectProps) => RenderNode<RoundedRectProps>;
|
|
77
69
|
GroupNode: (props: GroupProps) => RenderNode<GroupProps>;
|
|
78
70
|
PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;
|
|
79
71
|
FillNode: (props: PaintProps) => RenderNode<PaintProps>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*global NodeJS*/
|
|
2
|
-
import type { HostConfig } from "react-reconciler";
|
|
2
|
+
import type { Fiber, HostConfig } from "react-reconciler";
|
|
3
3
|
import { DefaultEventPriority } from "react-reconciler/constants";
|
|
4
4
|
|
|
5
5
|
import type { NodeType, Node } from "../dom/types";
|
|
@@ -78,7 +78,6 @@ export const skHostConfig: SkiaHostConfig = {
|
|
|
78
78
|
/**
|
|
79
79
|
* This function is used by the reconciler in order to calculate current time for prioritising work.
|
|
80
80
|
*/
|
|
81
|
-
now: Date.now,
|
|
82
81
|
supportsMutation: true,
|
|
83
82
|
isPrimaryRenderer: false,
|
|
84
83
|
supportsPersistence: false,
|
|
@@ -242,11 +241,18 @@ export const skHostConfig: SkiaHostConfig = {
|
|
|
242
241
|
insertBefore: (parent, child, before) => {
|
|
243
242
|
insertBefore(parent, child, before);
|
|
244
243
|
},
|
|
244
|
+
|
|
245
245
|
// see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874
|
|
246
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
247
|
-
// @ts-expect-error
|
|
248
246
|
getCurrentEventPriority: () => DefaultEventPriority,
|
|
249
247
|
beforeActiveInstanceBlur: () => {},
|
|
250
248
|
afterActiveInstanceBlur: () => {},
|
|
251
249
|
detachDeletedInstance: () => {},
|
|
250
|
+
|
|
251
|
+
getInstanceFromNode: function (_node): Fiber | null | undefined {
|
|
252
|
+
return null;
|
|
253
|
+
},
|
|
254
|
+
prepareScopeUpdate: function (_scopeInstance, _instance): void {},
|
|
255
|
+
getInstanceFromScope: function (_scopeInstance): Instance | null {
|
|
256
|
+
return null;
|
|
257
|
+
},
|
|
252
258
|
};
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
|
|
3
|
-
import { JsiDrawingContext } from "../dom/types";
|
|
4
3
|
import type { SkPicture, SkRect, SkSize } from "../skia/types";
|
|
5
4
|
import { Skia } from "../skia";
|
|
6
5
|
import { Platform } from "../Platform";
|
|
7
|
-
|
|
8
|
-
import { SkiaRoot } from "./Reconciler";
|
|
6
|
+
import { SkiaSGRoot } from "../sksg/Reconciler";
|
|
9
7
|
|
|
10
8
|
// We call it main thread because on web main is JS thread
|
|
11
9
|
export const isOnMainThread = () => {
|
|
@@ -19,10 +17,9 @@ export const isOnMainThread = () => {
|
|
|
19
17
|
export const drawAsPicture = (element: ReactElement, bounds?: SkRect) => {
|
|
20
18
|
const recorder = Skia.PictureRecorder();
|
|
21
19
|
const canvas = recorder.beginRecording(bounds);
|
|
22
|
-
const root = new
|
|
20
|
+
const root = new SkiaSGRoot(Skia);
|
|
23
21
|
root.render(element);
|
|
24
|
-
|
|
25
|
-
root.dom.render(ctx);
|
|
22
|
+
root.drawOnCanvas(canvas);
|
|
26
23
|
const picture = recorder.finishRecordingAsPicture();
|
|
27
24
|
root.unmount();
|
|
28
25
|
return picture;
|
|
@@ -2,8 +2,6 @@ import type { ReactNode } from "react";
|
|
|
2
2
|
import type { OpaqueRoot } from "react-reconciler";
|
|
3
3
|
import ReactReconciler from "react-reconciler";
|
|
4
4
|
|
|
5
|
-
import type { Skia } from "../skia/types";
|
|
6
|
-
|
|
7
5
|
import { skHostConfig, debug as hostDebug } from "./HostConfig";
|
|
8
6
|
import { Container } from "./Container";
|
|
9
7
|
|
|
@@ -20,12 +18,10 @@ export class SkiaRoot {
|
|
|
20
18
|
private container: Container;
|
|
21
19
|
|
|
22
20
|
constructor(
|
|
23
|
-
Skia: Skia,
|
|
24
|
-
native = false,
|
|
25
21
|
redraw: () => void = () => {},
|
|
26
22
|
getNativeId: () => number = () => 0
|
|
27
23
|
) {
|
|
28
|
-
this.container = new Container(
|
|
24
|
+
this.container = new Container(redraw, getNativeId);
|
|
29
25
|
this.root = skiaReconciler.createContainer(
|
|
30
26
|
this.container,
|
|
31
27
|
0,
|
|
@@ -27,7 +27,7 @@ describe("Box", () => {
|
|
|
27
27
|
</Box>
|
|
28
28
|
</>
|
|
29
29
|
);
|
|
30
|
-
processResult(surface, docPath("box/shadows.png")
|
|
30
|
+
processResult(surface, docPath("box/shadows.png"));
|
|
31
31
|
});
|
|
32
32
|
it("should draw a box with red stroke", () => {
|
|
33
33
|
const size = width / 2;
|
|
@@ -41,6 +41,6 @@ describe("Box", () => {
|
|
|
41
41
|
/>
|
|
42
42
|
</>
|
|
43
43
|
);
|
|
44
|
-
processResult(surface, docPath("box/box-stroke.png")
|
|
44
|
+
processResult(surface, docPath("box/box-stroke.png"));
|
|
45
45
|
});
|
|
46
46
|
});
|