@shopify/react-native-skia 1.7.6 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
package/src/dom/nodes/Node.ts
DELETED
@@ -1,121 +0,0 @@
|
|
1
|
-
import type { Skia } from "../../skia/types";
|
2
|
-
import type { Node, DeclarationNode, NodeType } from "../types";
|
3
|
-
import type { DeclarationContext } from "../types/DeclarationContext";
|
4
|
-
|
5
|
-
export interface NodeContext {
|
6
|
-
Skia: Skia;
|
7
|
-
}
|
8
|
-
|
9
|
-
export abstract class JsiNode<P> implements Node<P> {
|
10
|
-
protected _children: JsiNode<unknown>[] = [];
|
11
|
-
protected Skia: Skia;
|
12
|
-
|
13
|
-
constructor(ctx: NodeContext, public type: NodeType, protected props: P) {
|
14
|
-
this.Skia = ctx.Skia;
|
15
|
-
}
|
16
|
-
|
17
|
-
setProps(props: P) {
|
18
|
-
this.props = props;
|
19
|
-
}
|
20
|
-
|
21
|
-
setProp<K extends keyof P>(name: K, v: P[K]) {
|
22
|
-
const hasChanged = this.props[name] !== v;
|
23
|
-
this.props[name] = v;
|
24
|
-
return hasChanged;
|
25
|
-
}
|
26
|
-
|
27
|
-
getProps() {
|
28
|
-
return this.props;
|
29
|
-
}
|
30
|
-
|
31
|
-
children() {
|
32
|
-
return this._children;
|
33
|
-
}
|
34
|
-
|
35
|
-
addChild(child: Node<unknown>) {
|
36
|
-
this.removeChild(child);
|
37
|
-
this._children.push(child as JsiNode<unknown>);
|
38
|
-
}
|
39
|
-
|
40
|
-
dispose() {
|
41
|
-
this._children.forEach((child) => child.dispose());
|
42
|
-
}
|
43
|
-
|
44
|
-
removeChild(child: Node<unknown>) {
|
45
|
-
const index = this._children.indexOf(child as JsiNode<unknown>);
|
46
|
-
if (index !== -1) {
|
47
|
-
const [node] = this._children.splice(index, 1);
|
48
|
-
node.dispose();
|
49
|
-
}
|
50
|
-
}
|
51
|
-
|
52
|
-
insertChildBefore(child: Node<unknown>, before: Node<unknown>) {
|
53
|
-
const index = this._children.indexOf(child as JsiNode<unknown>);
|
54
|
-
if (index !== -1) {
|
55
|
-
this._children.splice(index, 1);
|
56
|
-
}
|
57
|
-
const beforeIndex = this._children.indexOf(before as JsiNode<unknown>);
|
58
|
-
this._children.splice(beforeIndex, 0, child as JsiNode<unknown>);
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
62
|
-
export type Invalidate = () => void;
|
63
|
-
|
64
|
-
export abstract class JsiDeclarationNode<P>
|
65
|
-
extends JsiNode<P>
|
66
|
-
implements DeclarationNode<P>
|
67
|
-
{
|
68
|
-
private invalidate: Invalidate = () => {};
|
69
|
-
|
70
|
-
constructor(ctx: NodeContext, type: NodeType, props: P) {
|
71
|
-
super(ctx, type, props);
|
72
|
-
}
|
73
|
-
|
74
|
-
abstract decorate(ctx: DeclarationContext): void;
|
75
|
-
|
76
|
-
protected decorateChildren(ctx: DeclarationContext) {
|
77
|
-
this.children().forEach((child) => {
|
78
|
-
if (child instanceof JsiDeclarationNode) {
|
79
|
-
child.decorate(ctx);
|
80
|
-
}
|
81
|
-
});
|
82
|
-
}
|
83
|
-
|
84
|
-
addChild(child: Node<unknown>): void {
|
85
|
-
if (!(child instanceof JsiDeclarationNode)) {
|
86
|
-
throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);
|
87
|
-
}
|
88
|
-
super.addChild(child);
|
89
|
-
this.invalidate();
|
90
|
-
}
|
91
|
-
|
92
|
-
insertChildBefore(child: Node<unknown>, before: Node<unknown>): void {
|
93
|
-
if (!(child instanceof JsiDeclarationNode)) {
|
94
|
-
throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);
|
95
|
-
}
|
96
|
-
super.insertChildBefore(child, before);
|
97
|
-
this.invalidate();
|
98
|
-
}
|
99
|
-
|
100
|
-
dispose() {
|
101
|
-
this.invalidate();
|
102
|
-
super.dispose();
|
103
|
-
}
|
104
|
-
|
105
|
-
setInvalidate(invalidate: Invalidate) {
|
106
|
-
this.invalidate = invalidate;
|
107
|
-
}
|
108
|
-
|
109
|
-
setProps(props: P) {
|
110
|
-
super.setProps(props);
|
111
|
-
this.invalidate();
|
112
|
-
}
|
113
|
-
|
114
|
-
setProp<K extends keyof P>(name: K, v: P[K]) {
|
115
|
-
const hasChanged = super.setProp(name, v);
|
116
|
-
if (hasChanged) {
|
117
|
-
this.invalidate();
|
118
|
-
}
|
119
|
-
return hasChanged;
|
120
|
-
}
|
121
|
-
}
|
@@ -1,91 +0,0 @@
|
|
1
|
-
import { StrokeCap, StrokeJoin, PaintStyle, BlendMode } from "../../skia/types";
|
2
|
-
import type { DeclarationNode, PaintProps } from "../types";
|
3
|
-
import { NodeType } from "../types";
|
4
|
-
import type { DeclarationContext } from "../types/DeclarationContext";
|
5
|
-
|
6
|
-
import { enumKey } from "./datatypes";
|
7
|
-
import type { NodeContext } from "./Node";
|
8
|
-
import { JsiDeclarationNode } from "./Node";
|
9
|
-
|
10
|
-
export class PaintNode
|
11
|
-
extends JsiDeclarationNode<PaintProps>
|
12
|
-
implements DeclarationNode<PaintProps>
|
13
|
-
{
|
14
|
-
constructor(ctx: NodeContext, props: PaintProps = {}) {
|
15
|
-
super(ctx, NodeType.Paint, props);
|
16
|
-
}
|
17
|
-
|
18
|
-
decorate(ctx: DeclarationContext) {
|
19
|
-
const {
|
20
|
-
color,
|
21
|
-
strokeWidth,
|
22
|
-
blendMode,
|
23
|
-
style,
|
24
|
-
strokeJoin,
|
25
|
-
strokeCap,
|
26
|
-
strokeMiter,
|
27
|
-
opacity,
|
28
|
-
antiAlias,
|
29
|
-
dither,
|
30
|
-
} = this.props;
|
31
|
-
const paint = this.Skia.Paint();
|
32
|
-
if (color !== undefined) {
|
33
|
-
paint.setColor(this.Skia.Color(color));
|
34
|
-
}
|
35
|
-
if (strokeWidth !== undefined) {
|
36
|
-
paint.setStrokeWidth(strokeWidth);
|
37
|
-
}
|
38
|
-
if (blendMode !== undefined) {
|
39
|
-
paint.setBlendMode(BlendMode[enumKey(blendMode)]);
|
40
|
-
}
|
41
|
-
if (style !== undefined) {
|
42
|
-
paint.setStyle(PaintStyle[enumKey(style)]);
|
43
|
-
}
|
44
|
-
if (strokeJoin !== undefined) {
|
45
|
-
paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);
|
46
|
-
}
|
47
|
-
if (strokeCap !== undefined) {
|
48
|
-
paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);
|
49
|
-
}
|
50
|
-
if (strokeMiter !== undefined) {
|
51
|
-
paint.setStrokeMiter(strokeMiter);
|
52
|
-
}
|
53
|
-
if (opacity !== undefined) {
|
54
|
-
paint.setAlphaf(opacity);
|
55
|
-
}
|
56
|
-
if (antiAlias !== undefined) {
|
57
|
-
paint.setAntiAlias(antiAlias);
|
58
|
-
}
|
59
|
-
if (dither !== undefined) {
|
60
|
-
paint.setDither(dither);
|
61
|
-
}
|
62
|
-
ctx.save();
|
63
|
-
this._children.forEach((child) => {
|
64
|
-
if (child instanceof JsiDeclarationNode) {
|
65
|
-
child.decorate(ctx);
|
66
|
-
}
|
67
|
-
});
|
68
|
-
const colorFilter = ctx.colorFilters.popAllAsOne();
|
69
|
-
const imageFilter = ctx.imageFilters.popAllAsOne();
|
70
|
-
const shader = ctx.shaders.pop();
|
71
|
-
const maskFilter = ctx.maskFilters.pop();
|
72
|
-
const pathEffect = ctx.pathEffects.popAllAsOne();
|
73
|
-
ctx.restore();
|
74
|
-
if (imageFilter) {
|
75
|
-
paint.setImageFilter(imageFilter);
|
76
|
-
}
|
77
|
-
if (shader) {
|
78
|
-
paint.setShader(shader);
|
79
|
-
}
|
80
|
-
if (pathEffect) {
|
81
|
-
paint.setPathEffect(pathEffect);
|
82
|
-
}
|
83
|
-
if (colorFilter) {
|
84
|
-
paint.setColorFilter(colorFilter);
|
85
|
-
}
|
86
|
-
if (maskFilter) {
|
87
|
-
paint.setMaskFilter(maskFilter);
|
88
|
-
}
|
89
|
-
ctx.paints.push(paint);
|
90
|
-
}
|
91
|
-
}
|
@@ -1,172 +0,0 @@
|
|
1
|
-
import type {
|
2
|
-
SkMatrix,
|
3
|
-
SkRect,
|
4
|
-
SkRRect,
|
5
|
-
SkPath,
|
6
|
-
SkPaint,
|
7
|
-
} from "../../skia/types";
|
8
|
-
import { ClipOp, isRRect } from "../../skia/types";
|
9
|
-
import type {
|
10
|
-
RenderNode,
|
11
|
-
GroupProps,
|
12
|
-
NodeType,
|
13
|
-
Node,
|
14
|
-
DrawingContext,
|
15
|
-
} from "../types";
|
16
|
-
|
17
|
-
import { isPathDef, processPath, processTransformProps } from "./datatypes";
|
18
|
-
import type { NodeContext } from "./Node";
|
19
|
-
import { JsiNode, JsiDeclarationNode } from "./Node";
|
20
|
-
|
21
|
-
const paintProps = [
|
22
|
-
"color",
|
23
|
-
"strokeWidth",
|
24
|
-
"blendMode",
|
25
|
-
"strokeCap",
|
26
|
-
"strokeJoin",
|
27
|
-
"strokeMiter",
|
28
|
-
"style",
|
29
|
-
"antiAlias",
|
30
|
-
"dither",
|
31
|
-
"opacity",
|
32
|
-
];
|
33
|
-
|
34
|
-
interface PaintCache {
|
35
|
-
parent: SkPaint;
|
36
|
-
child: SkPaint;
|
37
|
-
}
|
38
|
-
|
39
|
-
export abstract class JsiRenderNode<P extends GroupProps>
|
40
|
-
extends JsiNode<P>
|
41
|
-
implements RenderNode<P>
|
42
|
-
{
|
43
|
-
paintCache: PaintCache | null = null;
|
44
|
-
|
45
|
-
matrix: SkMatrix;
|
46
|
-
clipRect?: SkRect;
|
47
|
-
clipRRect?: SkRRect;
|
48
|
-
clipPath?: SkPath;
|
49
|
-
|
50
|
-
constructor(ctx: NodeContext, type: NodeType, props: P) {
|
51
|
-
super(ctx, type, props);
|
52
|
-
this.matrix = this.Skia.Matrix();
|
53
|
-
this.onPropChange();
|
54
|
-
}
|
55
|
-
|
56
|
-
setProps(props: P) {
|
57
|
-
super.setProps(props);
|
58
|
-
this.onPropChange();
|
59
|
-
}
|
60
|
-
|
61
|
-
setProp<K extends keyof P>(key: K, value: P[K]) {
|
62
|
-
const hasChanged = super.setProp(key, value);
|
63
|
-
if (hasChanged) {
|
64
|
-
this.onPropChange();
|
65
|
-
if (paintProps.includes(key as string)) {
|
66
|
-
this.paintCache = null;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
return hasChanged;
|
70
|
-
}
|
71
|
-
|
72
|
-
protected onPropChange() {
|
73
|
-
this.matrix.identity();
|
74
|
-
this.clipPath = undefined;
|
75
|
-
this.clipRect = undefined;
|
76
|
-
this.clipRRect = undefined;
|
77
|
-
this.computeMatrix();
|
78
|
-
this.computeClip();
|
79
|
-
}
|
80
|
-
|
81
|
-
addChild(child: Node<unknown>) {
|
82
|
-
if (child instanceof JsiDeclarationNode) {
|
83
|
-
child.setInvalidate(() => {
|
84
|
-
this.paintCache = null;
|
85
|
-
});
|
86
|
-
}
|
87
|
-
super.addChild(child);
|
88
|
-
}
|
89
|
-
|
90
|
-
insertChildBefore(child: Node<unknown>, before: Node<unknown>) {
|
91
|
-
if (child instanceof JsiDeclarationNode) {
|
92
|
-
child.setInvalidate(() => {
|
93
|
-
this.paintCache = null;
|
94
|
-
});
|
95
|
-
}
|
96
|
-
super.insertChildBefore(child, before);
|
97
|
-
}
|
98
|
-
|
99
|
-
private computeClip() {
|
100
|
-
const { clip } = this.props;
|
101
|
-
if (clip) {
|
102
|
-
if (isPathDef(clip)) {
|
103
|
-
this.clipPath = processPath(this.Skia, clip);
|
104
|
-
} else if (isRRect(clip)) {
|
105
|
-
this.clipRRect = clip;
|
106
|
-
} else {
|
107
|
-
this.clipRect = clip;
|
108
|
-
}
|
109
|
-
}
|
110
|
-
}
|
111
|
-
|
112
|
-
private computeMatrix() {
|
113
|
-
processTransformProps(this.matrix, this.props);
|
114
|
-
}
|
115
|
-
|
116
|
-
render(ctx: DrawingContext) {
|
117
|
-
const { invertClip, layer, matrix, transform } = this.props;
|
118
|
-
const { canvas } = ctx;
|
119
|
-
const parentPaint = ctx.paint;
|
120
|
-
|
121
|
-
const cache =
|
122
|
-
this.paintCache !== null && this.paintCache.parent === ctx.paint
|
123
|
-
? this.paintCache.child
|
124
|
-
: undefined;
|
125
|
-
const shouldRestore = ctx.saveAndConcat(this, cache);
|
126
|
-
|
127
|
-
const hasTransform = matrix !== undefined || transform !== undefined;
|
128
|
-
const hasClip =
|
129
|
-
this.clipRect !== undefined ||
|
130
|
-
this.clipPath !== undefined ||
|
131
|
-
this.clipRRect !== undefined;
|
132
|
-
const shouldSave = hasTransform || hasClip || !!layer;
|
133
|
-
const op = invertClip ? ClipOp.Difference : ClipOp.Intersect;
|
134
|
-
if (shouldSave) {
|
135
|
-
if (layer) {
|
136
|
-
if (typeof layer === "boolean") {
|
137
|
-
canvas.saveLayer();
|
138
|
-
} else {
|
139
|
-
canvas.saveLayer(layer);
|
140
|
-
}
|
141
|
-
} else {
|
142
|
-
canvas.save();
|
143
|
-
}
|
144
|
-
}
|
145
|
-
|
146
|
-
if (this.matrix) {
|
147
|
-
canvas.concat(this.matrix);
|
148
|
-
}
|
149
|
-
if (this.clipRect) {
|
150
|
-
canvas.clipRect(this.clipRect, op, true);
|
151
|
-
} else if (this.clipRRect) {
|
152
|
-
canvas.clipRRect(this.clipRRect, op, true);
|
153
|
-
} else if (this.clipPath) {
|
154
|
-
canvas.clipPath(this.clipPath, op, true);
|
155
|
-
}
|
156
|
-
|
157
|
-
this.renderNode(ctx);
|
158
|
-
|
159
|
-
if (shouldSave) {
|
160
|
-
canvas.restore();
|
161
|
-
}
|
162
|
-
if (shouldRestore) {
|
163
|
-
this.paintCache = {
|
164
|
-
parent: parentPaint,
|
165
|
-
child: ctx.paint,
|
166
|
-
};
|
167
|
-
ctx.restore();
|
168
|
-
}
|
169
|
-
}
|
170
|
-
|
171
|
-
abstract renderNode(ctx: DrawingContext): void;
|
172
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { BlendMode } from "../../../skia/types";
|
2
|
-
import type { AtlasProps, DrawingContext } from "../../types";
|
3
|
-
import { NodeType } from "../../types";
|
4
|
-
import { JsiDrawingNode } from "../DrawingNode";
|
5
|
-
import type { NodeContext } from "../Node";
|
6
|
-
import { enumKey } from "../datatypes";
|
7
|
-
|
8
|
-
export class AtlasNode extends JsiDrawingNode<AtlasProps, null> {
|
9
|
-
protected deriveProps() {
|
10
|
-
return null;
|
11
|
-
}
|
12
|
-
|
13
|
-
constructor(ctx: NodeContext, props: AtlasProps) {
|
14
|
-
super(ctx, NodeType.Atlas, props);
|
15
|
-
}
|
16
|
-
|
17
|
-
draw({ canvas, paint }: DrawingContext) {
|
18
|
-
const { image, sprites, transforms, colors, blendMode } = this.props;
|
19
|
-
const blend = blendMode ? BlendMode[enumKey(blendMode)] : undefined;
|
20
|
-
if (image) {
|
21
|
-
canvas.drawAtlas(image, sprites, transforms, paint, blend, colors);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import type { ChildrenProps, DrawingContext } from "../../types";
|
2
|
-
import { NodeType } from "../../types";
|
3
|
-
import { JsiDrawingNode } from "../DrawingNode";
|
4
|
-
import type { NodeContext } from "../Node";
|
5
|
-
import { JsiDeclarationNode } from "../Node";
|
6
|
-
import type { SkImageFilter } from "../../../skia/types/ImageFilter/ImageFilter";
|
7
|
-
|
8
|
-
export class BackdropFilterNode extends JsiDrawingNode<ChildrenProps, null> {
|
9
|
-
constructor(ctx: NodeContext, props: ChildrenProps) {
|
10
|
-
super(ctx, NodeType.BackdropFilter, props);
|
11
|
-
}
|
12
|
-
|
13
|
-
protected deriveProps() {
|
14
|
-
return null;
|
15
|
-
}
|
16
|
-
|
17
|
-
draw({ canvas, declarationCtx }: DrawingContext) {
|
18
|
-
const child = this._children[0];
|
19
|
-
let imageFilter: SkImageFilter | null = null;
|
20
|
-
if (child instanceof JsiDeclarationNode) {
|
21
|
-
declarationCtx.save();
|
22
|
-
child.decorate(declarationCtx);
|
23
|
-
const imgf = declarationCtx.imageFilters.pop();
|
24
|
-
if (imgf) {
|
25
|
-
imageFilter = imgf;
|
26
|
-
} else {
|
27
|
-
const cf = declarationCtx.colorFilters.pop();
|
28
|
-
if (cf) {
|
29
|
-
imageFilter = this.Skia.ImageFilter.MakeColorFilter(cf, null);
|
30
|
-
}
|
31
|
-
}
|
32
|
-
declarationCtx.restore();
|
33
|
-
}
|
34
|
-
canvas.saveLayer(undefined, null, imageFilter);
|
35
|
-
canvas.restore();
|
36
|
-
}
|
37
|
-
}
|
@@ -1,110 +0,0 @@
|
|
1
|
-
import type { SkRRect, Skia } from "../../../skia/types";
|
2
|
-
import { BlurStyle, ClipOp, isRRect } from "../../../skia/types";
|
3
|
-
import type { DrawingContext } from "../../types";
|
4
|
-
import { NodeType } from "../../types";
|
5
|
-
import type { BoxShadowProps, BoxProps } from "../../types/Drawings";
|
6
|
-
import type { NodeContext } from "../Node";
|
7
|
-
import { JsiDeclarationNode } from "../Node";
|
8
|
-
import { JsiRenderNode } from "../RenderNode";
|
9
|
-
import type { DeclarationContext } from "../../types/DeclarationContext";
|
10
|
-
|
11
|
-
const inflate = (
|
12
|
-
Skia: Skia,
|
13
|
-
box: SkRRect,
|
14
|
-
dx: number,
|
15
|
-
dy: number,
|
16
|
-
tx = 0,
|
17
|
-
ty = 0
|
18
|
-
) =>
|
19
|
-
Skia.RRectXY(
|
20
|
-
Skia.XYWHRect(
|
21
|
-
box.rect.x - dx + tx,
|
22
|
-
box.rect.y - dy + ty,
|
23
|
-
box.rect.width + 2 * dx,
|
24
|
-
box.rect.height + 2 * dy
|
25
|
-
),
|
26
|
-
box.rx + dx,
|
27
|
-
box.ry + dy
|
28
|
-
);
|
29
|
-
|
30
|
-
const deflate = (
|
31
|
-
Skia: Skia,
|
32
|
-
box: SkRRect,
|
33
|
-
dx: number,
|
34
|
-
dy: number,
|
35
|
-
tx = 0,
|
36
|
-
ty = 0
|
37
|
-
) => inflate(Skia, box, -dx, -dy, tx, ty);
|
38
|
-
|
39
|
-
export class BoxShadowNode extends JsiDeclarationNode<BoxShadowProps> {
|
40
|
-
constructor(ctx: NodeContext, props: BoxShadowProps) {
|
41
|
-
super(ctx, NodeType.BoxShadow, props);
|
42
|
-
}
|
43
|
-
|
44
|
-
decorate(_ctx: DeclarationContext) {
|
45
|
-
// do nothing
|
46
|
-
}
|
47
|
-
|
48
|
-
materialize() {
|
49
|
-
return this.props;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
|
-
export class BoxNode extends JsiRenderNode<BoxProps> {
|
54
|
-
constructor(ctx: NodeContext, props: BoxProps) {
|
55
|
-
super(ctx, NodeType.Box, props);
|
56
|
-
}
|
57
|
-
|
58
|
-
renderNode({ canvas, paint }: DrawingContext) {
|
59
|
-
const { box: defaultBox } = this.props;
|
60
|
-
const opacity = paint.getAlphaf();
|
61
|
-
const box = isRRect(defaultBox)
|
62
|
-
? defaultBox
|
63
|
-
: this.Skia.RRectXY(defaultBox, 0, 0);
|
64
|
-
const shadows = this._children
|
65
|
-
.map((node) => {
|
66
|
-
if (node instanceof BoxShadowNode) {
|
67
|
-
return node.materialize();
|
68
|
-
}
|
69
|
-
return null;
|
70
|
-
})
|
71
|
-
.filter((n): n is BoxShadowProps => n !== null);
|
72
|
-
shadows
|
73
|
-
.filter((shadow) => !shadow.inner)
|
74
|
-
.map((shadow) => {
|
75
|
-
const { color = "black", blur, spread = 0, dx = 0, dy = 0 } = shadow;
|
76
|
-
const lPaint = this.Skia.Paint();
|
77
|
-
lPaint.setColor(this.Skia.Color(color));
|
78
|
-
lPaint.setAlphaf(paint.getAlphaf() * opacity);
|
79
|
-
lPaint.setMaskFilter(
|
80
|
-
this.Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)
|
81
|
-
);
|
82
|
-
canvas.drawRRect(
|
83
|
-
inflate(this.Skia, box, spread, spread, dx, dy),
|
84
|
-
lPaint
|
85
|
-
);
|
86
|
-
});
|
87
|
-
|
88
|
-
canvas.drawRRect(box, paint);
|
89
|
-
|
90
|
-
shadows
|
91
|
-
.filter((shadow) => shadow.inner)
|
92
|
-
.map((shadow) => {
|
93
|
-
const { color = "black", blur, spread = 0, dx = 0, dy = 0 } = shadow;
|
94
|
-
const delta = this.Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));
|
95
|
-
canvas.save();
|
96
|
-
canvas.clipRRect(box, ClipOp.Intersect, false);
|
97
|
-
const lPaint = this.Skia.Paint();
|
98
|
-
lPaint.setColor(this.Skia.Color(color));
|
99
|
-
lPaint.setAlphaf(paint.getAlphaf() * opacity);
|
100
|
-
|
101
|
-
lPaint.setMaskFilter(
|
102
|
-
this.Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)
|
103
|
-
);
|
104
|
-
const inner = deflate(this.Skia, box, spread, spread, dx, dy);
|
105
|
-
const outer = inflate(this.Skia, box, delta.x, delta.y);
|
106
|
-
canvas.drawDRRect(outer, inner, lPaint);
|
107
|
-
canvas.restore();
|
108
|
-
});
|
109
|
-
}
|
110
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import type { SkPoint } from "../../../skia/types";
|
2
|
-
import type { CircleProps, DrawingContext } from "../../types";
|
3
|
-
import { NodeType } from "../../types";
|
4
|
-
import { processCircle } from "../datatypes";
|
5
|
-
import { JsiDrawingNode } from "../DrawingNode";
|
6
|
-
import type { NodeContext } from "../Node";
|
7
|
-
|
8
|
-
export class CircleNode extends JsiDrawingNode<CircleProps, SkPoint> {
|
9
|
-
constructor(ctx: NodeContext, props: CircleProps) {
|
10
|
-
super(ctx, NodeType.Circle, props);
|
11
|
-
}
|
12
|
-
|
13
|
-
protected deriveProps() {
|
14
|
-
return processCircle(this.Skia, this.props).c;
|
15
|
-
}
|
16
|
-
|
17
|
-
draw({ canvas, paint }: DrawingContext) {
|
18
|
-
if (!this.derived) {
|
19
|
-
throw new Error("CircleNode: c is undefined");
|
20
|
-
}
|
21
|
-
const { x, y } = this.derived;
|
22
|
-
canvas.drawCircle(x, y, this.props.r, paint);
|
23
|
-
}
|
24
|
-
}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import type { DiffRectProps, DrawingContext } from "../../types";
|
2
|
-
import { NodeType } from "../../types";
|
3
|
-
import { JsiDrawingNode } from "../DrawingNode";
|
4
|
-
import type { NodeContext } from "../Node";
|
5
|
-
|
6
|
-
export class DiffRectNode extends JsiDrawingNode<DiffRectProps, null> {
|
7
|
-
constructor(ctx: NodeContext, props: DiffRectProps) {
|
8
|
-
super(ctx, NodeType.DiffRect, props);
|
9
|
-
}
|
10
|
-
|
11
|
-
deriveProps() {
|
12
|
-
return null;
|
13
|
-
}
|
14
|
-
|
15
|
-
draw({ canvas, paint }: DrawingContext) {
|
16
|
-
const { outer, inner } = this.props;
|
17
|
-
canvas.drawDRRect(outer, inner, paint);
|
18
|
-
}
|
19
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import type { DrawingContext, DrawingNodeProps } from "../../types";
|
2
|
-
import { NodeType } from "../../types";
|
3
|
-
import { JsiDrawingNode } from "../DrawingNode";
|
4
|
-
import type { NodeContext } from "../Node";
|
5
|
-
|
6
|
-
export class FillNode extends JsiDrawingNode<DrawingNodeProps, null> {
|
7
|
-
constructor(ctx: NodeContext, props: DrawingNodeProps = {}) {
|
8
|
-
super(ctx, NodeType.Fill, props);
|
9
|
-
}
|
10
|
-
|
11
|
-
deriveProps() {
|
12
|
-
return null;
|
13
|
-
}
|
14
|
-
|
15
|
-
draw({ canvas, paint }: DrawingContext) {
|
16
|
-
canvas.drawPaint(paint);
|
17
|
-
}
|
18
|
-
}
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import type { SkRect } from "../../../skia/types";
|
2
|
-
import type { DrawingContext, ImageProps } from "../../types";
|
3
|
-
import { NodeType } from "../../types";
|
4
|
-
import { fitRects, processRect } from "../datatypes";
|
5
|
-
import { JsiDrawingNode } from "../DrawingNode";
|
6
|
-
import type { NodeContext } from "../Node";
|
7
|
-
|
8
|
-
export class ImageNode extends JsiDrawingNode<
|
9
|
-
ImageProps,
|
10
|
-
{ src: SkRect; dst: SkRect }
|
11
|
-
> {
|
12
|
-
constructor(ctx: NodeContext, props: ImageProps) {
|
13
|
-
super(ctx, NodeType.Image, props);
|
14
|
-
}
|
15
|
-
|
16
|
-
deriveProps() {
|
17
|
-
const { image } = this.props;
|
18
|
-
if (!image) {
|
19
|
-
return {
|
20
|
-
src: { x: 0, y: 0, width: 0, height: 0 },
|
21
|
-
dst: { x: 0, y: 0, width: 0, height: 0 },
|
22
|
-
};
|
23
|
-
}
|
24
|
-
const fit = this.props.fit ?? "contain";
|
25
|
-
const rect = processRect(this.Skia, this.props);
|
26
|
-
const { src, dst } = fitRects(
|
27
|
-
fit,
|
28
|
-
{
|
29
|
-
x: 0,
|
30
|
-
y: 0,
|
31
|
-
width: image.width(),
|
32
|
-
height: image.height(),
|
33
|
-
},
|
34
|
-
rect
|
35
|
-
);
|
36
|
-
return { src, dst };
|
37
|
-
}
|
38
|
-
|
39
|
-
draw({ canvas, paint }: DrawingContext) {
|
40
|
-
const { image } = this.props;
|
41
|
-
if (!this.derived) {
|
42
|
-
throw new Error("ImageNode: src and dst are undefined");
|
43
|
-
}
|
44
|
-
const { src, dst } = this.derived;
|
45
|
-
if (image) {
|
46
|
-
canvas.drawImageRect(image, src, dst, paint);
|
47
|
-
}
|
48
|
-
}
|
49
|
-
}
|