@shopify/react-native-skia 1.11.0 → 1.11.2
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +0 -8
- package/android/cpp/jni/JniLoad.cpp +0 -2
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -1
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerDelegate.java +4 -2
- package/cpp/api/recorder/Convertor.h +2 -1
- package/cpp/api/recorder/DataTypes.h +70 -72
- package/cpp/api/recorder/Drawings.h +25 -24
- package/cpp/api/recorder/RNRecorder.h +12 -10
- package/cpp/api/recorder/Shaders.h +5 -5
- package/cpp/jsi/ViewProperty.h +5 -16
- package/cpp/rnskia/RNSkManager.cpp +1 -7
- package/ios/RNSkia-iOS/SkiaCVPixelBufferUtils.mm +8 -4
- package/lib/commonjs/dom/nodes/index.d.ts +0 -1
- package/lib/commonjs/dom/nodes/index.js +0 -11
- package/lib/commonjs/dom/nodes/index.js.map +1 -1
- package/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -6
- package/lib/commonjs/external/reanimated/renderHelpers.js +0 -73
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/index.d.ts +0 -1
- package/lib/commonjs/index.js +0 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.d.ts +10 -1
- package/lib/commonjs/renderer/Canvas.js +3 -1
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/sksg/Container.d.ts +2 -0
- package/lib/commonjs/sksg/Container.js +10 -0
- package/lib/commonjs/sksg/Container.js.map +1 -1
- package/lib/commonjs/sksg/Elements.d.ts +65 -0
- package/lib/commonjs/sksg/Elements.js +6 -0
- package/lib/commonjs/sksg/Elements.js.map +1 -0
- package/lib/commonjs/sksg/Reconciler.d.ts +1 -0
- package/lib/commonjs/sksg/Reconciler.js +2 -0
- package/lib/commonjs/sksg/Reconciler.js.map +1 -1
- package/lib/commonjs/views/index.d.ts +0 -1
- package/lib/commonjs/views/index.js +0 -11
- package/lib/commonjs/views/index.js.map +1 -1
- package/lib/module/dom/nodes/index.d.ts +0 -1
- package/lib/module/dom/nodes/index.js +0 -1
- package/lib/module/dom/nodes/index.js.map +1 -1
- package/lib/module/external/reanimated/renderHelpers.d.ts +0 -6
- package/lib/module/external/reanimated/renderHelpers.js +0 -68
- package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/module/index.d.ts +0 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/renderer/Canvas.d.ts +10 -1
- package/lib/module/renderer/Canvas.js +1 -0
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/sksg/Container.d.ts +2 -0
- package/lib/module/sksg/Container.js +10 -0
- package/lib/module/sksg/Container.js.map +1 -1
- package/lib/module/sksg/Elements.d.ts +65 -0
- package/lib/module/sksg/Elements.js +2 -0
- package/lib/module/sksg/Elements.js.map +1 -0
- package/lib/module/sksg/Reconciler.d.ts +1 -0
- package/lib/module/sksg/Reconciler.js +2 -0
- package/lib/module/sksg/Reconciler.js.map +1 -1
- package/lib/module/views/index.d.ts +0 -1
- package/lib/module/views/index.js +0 -1
- package/lib/module/views/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -3
- package/lib/typescript/lib/commonjs/renderer/Canvas.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/Container.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/Elements.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +6 -0
- package/lib/typescript/lib/module/dom/nodes/index.d.ts +0 -1
- package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +0 -3
- package/lib/typescript/lib/module/index.d.ts +0 -1
- package/lib/typescript/lib/module/mock/index.d.ts +0 -1
- package/lib/typescript/lib/module/renderer/Canvas.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Container.d.ts +2 -0
- package/lib/typescript/lib/module/sksg/Elements.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Reconciler.d.ts +6 -0
- package/lib/typescript/lib/module/views/index.d.ts +0 -1
- package/lib/typescript/src/dom/nodes/index.d.ts +0 -1
- package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +0 -6
- package/lib/typescript/src/index.d.ts +0 -1
- package/lib/typescript/src/renderer/Canvas.d.ts +10 -1
- package/lib/typescript/src/sksg/Container.d.ts +2 -0
- package/lib/typescript/src/sksg/Elements.d.ts +65 -0
- package/lib/typescript/src/sksg/Reconciler.d.ts +1 -0
- package/lib/typescript/src/views/index.d.ts +0 -1
- package/package.json +1 -1
- package/src/dom/nodes/index.ts +0 -1
- package/src/external/reanimated/renderHelpers.ts +1 -78
- package/src/index.ts +0 -1
- package/src/renderer/Canvas.tsx +11 -1
- package/src/sksg/Container.ts +11 -0
- package/src/sksg/Elements.tsx +136 -0
- package/src/sksg/Reconciler.ts +2 -0
- package/src/views/index.ts +0 -1
- package/android/cpp/jni/include/JniSkiaDomView.h +0 -82
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +0 -41
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +0 -32
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerDelegate.java +0 -34
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerInterface.java +0 -18
- package/cpp/rnskia/RNSkDomView.cpp +0 -121
- package/cpp/rnskia/RNSkDomView.h +0 -97
- package/cpp/rnskia/dom/JsiDomApi.h +0 -165
- package/cpp/rnskia/dom/base/BaseNodeProp.h +0 -72
- package/cpp/rnskia/dom/base/ConcatablePaint.cpp +0 -117
- package/cpp/rnskia/dom/base/ConcatablePaint.h +0 -49
- package/cpp/rnskia/dom/base/Declaration.h +0 -86
- package/cpp/rnskia/dom/base/DeclarationContext.h +0 -79
- package/cpp/rnskia/dom/base/DerivedNodeProp.h +0 -203
- package/cpp/rnskia/dom/base/DrawingContext.cpp +0 -55
- package/cpp/rnskia/dom/base/DrawingContext.h +0 -104
- package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +0 -119
- package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +0 -71
- package/cpp/rnskia/dom/base/JsiDomNode.h +0 -572
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +0 -262
- package/cpp/rnskia/dom/base/NodeProp.h +0 -139
- package/cpp/rnskia/dom/base/NodePropsContainer.h +0 -158
- package/cpp/rnskia/dom/nodes/JsiAtlasNode.h +0 -64
- package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +0 -49
- package/cpp/rnskia/dom/nodes/JsiBlendNode.h +0 -94
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +0 -75
- package/cpp/rnskia/dom/nodes/JsiBoxNode.h +0 -94
- package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiCircleNode.h +0 -35
- package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +0 -164
- package/cpp/rnskia/dom/nodes/JsiDiffRectNode.h +0 -37
- package/cpp/rnskia/dom/nodes/JsiFillNode.h +0 -22
- package/cpp/rnskia/dom/nodes/JsiGlyphsNode.h +0 -53
- package/cpp/rnskia/dom/nodes/JsiGroupNode.h +0 -25
- package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +0 -361
- package/cpp/rnskia/dom/nodes/JsiImageNode.h +0 -43
- package/cpp/rnskia/dom/nodes/JsiImageSvgNode.h +0 -63
- package/cpp/rnskia/dom/nodes/JsiLayerNode.h +0 -74
- package/cpp/rnskia/dom/nodes/JsiLineNode.h +0 -38
- package/cpp/rnskia/dom/nodes/JsiOvalNode.h +0 -32
- package/cpp/rnskia/dom/nodes/JsiPaintNode.h +0 -119
- package/cpp/rnskia/dom/nodes/JsiParagraphNode.h +0 -62
- package/cpp/rnskia/dom/nodes/JsiPatchNode.h +0 -50
- package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +0 -268
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +0 -181
- package/cpp/rnskia/dom/nodes/JsiPictureNode.h +0 -31
- package/cpp/rnskia/dom/nodes/JsiPointsNode.h +0 -48
- package/cpp/rnskia/dom/nodes/JsiRRectNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiRectNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +0 -434
- package/cpp/rnskia/dom/nodes/JsiTextBlobNode.h +0 -44
- package/cpp/rnskia/dom/nodes/JsiTextNode.h +0 -51
- package/cpp/rnskia/dom/nodes/JsiTextPathNode.h +0 -33
- package/cpp/rnskia/dom/nodes/JsiVerticesNode.h +0 -41
- package/cpp/rnskia/dom/props/BezierProps.h +0 -65
- package/cpp/rnskia/dom/props/BlendModeProp.h +0 -103
- package/cpp/rnskia/dom/props/BoxShadowProps.h +0 -62
- package/cpp/rnskia/dom/props/CircleProp.h +0 -49
- package/cpp/rnskia/dom/props/ClipProp.h +0 -57
- package/cpp/rnskia/dom/props/ColorProp.h +0 -96
- package/cpp/rnskia/dom/props/FontProp.h +0 -42
- package/cpp/rnskia/dom/props/GlyphsProp.h +0 -55
- package/cpp/rnskia/dom/props/LayerProp.h +0 -52
- package/cpp/rnskia/dom/props/MatrixProp.h +0 -54
- package/cpp/rnskia/dom/props/NumbersProp.h +0 -67
- package/cpp/rnskia/dom/props/PaintProps.h +0 -133
- package/cpp/rnskia/dom/props/ParagraphProp.h +0 -45
- package/cpp/rnskia/dom/props/PathProp.h +0 -59
- package/cpp/rnskia/dom/props/PictureProp.h +0 -40
- package/cpp/rnskia/dom/props/PointProp.h +0 -65
- package/cpp/rnskia/dom/props/PointsProp.h +0 -81
- package/cpp/rnskia/dom/props/RRectProp.h +0 -222
- package/cpp/rnskia/dom/props/RSXformProp.h +0 -52
- package/cpp/rnskia/dom/props/RadiusProp.h +0 -43
- package/cpp/rnskia/dom/props/RectProp.h +0 -164
- package/cpp/rnskia/dom/props/SamplingProp.h +0 -54
- package/cpp/rnskia/dom/props/SkImageProps.h +0 -196
- package/cpp/rnskia/dom/props/StrokeProps.h +0 -79
- package/cpp/rnskia/dom/props/SvgProp.h +0 -45
- package/cpp/rnskia/dom/props/TextBlobProp.h +0 -133
- package/cpp/rnskia/dom/props/TileModeProp.h +0 -52
- package/cpp/rnskia/dom/props/TransformProp.h +0 -147
- package/cpp/rnskia/dom/props/TransformsProps.h +0 -66
- package/cpp/rnskia/dom/props/UniformsProp.h +0 -159
- package/cpp/rnskia/dom/props/VertexModeProp.h +0 -49
- package/cpp/rnskia/dom/props/VerticesProps.h +0 -63
- package/ios/RNSkia-iOS/SkiaDomView.h +0 -7
- package/ios/RNSkia-iOS/SkiaDomView.mm +0 -63
- package/ios/RNSkia-iOS/SkiaDomViewManager.h +0 -8
- package/ios/RNSkia-iOS/SkiaDomViewManager.mm +0 -51
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +0 -64
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +0 -196
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +0 -1
- package/lib/commonjs/renderer/CanvasOld.d.ts +0 -11
- package/lib/commonjs/renderer/CanvasOld.js +0 -96
- package/lib/commonjs/renderer/CanvasOld.js.map +0 -1
- package/lib/commonjs/renderer/Container.d.ts +0 -10
- package/lib/commonjs/renderer/Container.js +0 -26
- package/lib/commonjs/renderer/Container.js.map +0 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +0 -129
- package/lib/commonjs/renderer/HostComponents.js +0 -141
- package/lib/commonjs/renderer/HostComponents.js.map +0 -1
- package/lib/commonjs/renderer/HostConfig.d.ts +0 -18
- package/lib/commonjs/renderer/HostConfig.js +0 -157
- package/lib/commonjs/renderer/HostConfig.js.map +0 -1
- package/lib/commonjs/renderer/Reconciler.d.ts +0 -9
- package/lib/commonjs/renderer/Reconciler.js +0 -44
- package/lib/commonjs/renderer/Reconciler.js.map +0 -1
- package/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +0 -6
- package/lib/commonjs/specs/SkiaDomViewNativeComponent.js +0 -11
- package/lib/commonjs/specs/SkiaDomViewNativeComponent.js.map +0 -1
- package/lib/commonjs/views/SkiaDomView.d.ts +0 -33
- package/lib/commonjs/views/SkiaDomView.js +0 -119
- package/lib/commonjs/views/SkiaDomView.js.map +0 -1
- package/lib/commonjs/views/SkiaDomView.web.d.ts +0 -0
- package/lib/commonjs/views/SkiaDomView.web.js +0 -2
- package/lib/commonjs/views/SkiaDomView.web.js.map +0 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +0 -64
- package/lib/module/dom/nodes/JsiSkDOM.js +0 -189
- package/lib/module/dom/nodes/JsiSkDOM.js.map +0 -1
- package/lib/module/renderer/CanvasOld.d.ts +0 -11
- package/lib/module/renderer/CanvasOld.js +0 -87
- package/lib/module/renderer/CanvasOld.js.map +0 -1
- package/lib/module/renderer/Container.d.ts +0 -10
- package/lib/module/renderer/Container.js +0 -19
- package/lib/module/renderer/Container.js.map +0 -1
- package/lib/module/renderer/HostComponents.d.ts +0 -129
- package/lib/module/renderer/HostComponents.js +0 -134
- package/lib/module/renderer/HostComponents.js.map +0 -1
- package/lib/module/renderer/HostConfig.d.ts +0 -18
- package/lib/module/renderer/HostConfig.js +0 -150
- package/lib/module/renderer/HostConfig.js.map +0 -1
- package/lib/module/renderer/Reconciler.d.ts +0 -9
- package/lib/module/renderer/Reconciler.js +0 -36
- package/lib/module/renderer/Reconciler.js.map +0 -1
- package/lib/module/specs/SkiaDomViewNativeComponent.d.ts +0 -6
- package/lib/module/specs/SkiaDomViewNativeComponent.js +0 -4
- package/lib/module/specs/SkiaDomViewNativeComponent.js.map +0 -1
- package/lib/module/views/SkiaDomView.d.ts +0 -33
- package/lib/module/views/SkiaDomView.js +0 -111
- package/lib/module/views/SkiaDomView.js.map +0 -1
- package/lib/module/views/SkiaDomView.web.d.ts +0 -0
- package/lib/module/views/SkiaDomView.web.js +0 -2
- package/lib/module/views/SkiaDomView.web.js.map +0 -1
- package/lib/typescript/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +0 -60
- package/lib/typescript/lib/commonjs/renderer/CanvasOld.d.ts +0 -3
- package/lib/typescript/lib/commonjs/renderer/Container.d.ts +0 -9
- package/lib/typescript/lib/commonjs/renderer/HostComponents.d.ts +0 -2
- package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +0 -40
- package/lib/typescript/lib/commonjs/renderer/Reconciler.d.ts +0 -10
- package/lib/typescript/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +0 -3
- package/lib/typescript/lib/commonjs/views/SkiaDomView.d.ts +0 -30
- package/lib/typescript/lib/commonjs/views/SkiaDomView.web.d.ts +0 -0
- package/lib/typescript/lib/module/dom/nodes/JsiSkDOM.d.ts +0 -59
- package/lib/typescript/lib/module/renderer/CanvasOld.d.ts +0 -3
- package/lib/typescript/lib/module/renderer/Container.d.ts +0 -9
- package/lib/typescript/lib/module/renderer/HostComponents.d.ts +0 -1
- package/lib/typescript/lib/module/renderer/HostConfig.d.ts +0 -39
- package/lib/typescript/lib/module/renderer/Reconciler.d.ts +0 -9
- package/lib/typescript/lib/module/specs/SkiaDomViewNativeComponent.d.ts +0 -2
- package/lib/typescript/lib/module/views/SkiaDomView.d.ts +0 -27
- package/lib/typescript/lib/module/views/SkiaDomView.web.d.ts +0 -0
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +0 -64
- package/lib/typescript/src/renderer/CanvasOld.d.ts +0 -11
- package/lib/typescript/src/renderer/Container.d.ts +0 -10
- package/lib/typescript/src/renderer/HostComponents.d.ts +0 -129
- package/lib/typescript/src/renderer/HostConfig.d.ts +0 -18
- package/lib/typescript/src/renderer/Reconciler.d.ts +0 -9
- package/lib/typescript/src/specs/SkiaDomViewNativeComponent.d.ts +0 -6
- package/lib/typescript/src/views/SkiaDomView.d.ts +0 -33
- package/lib/typescript/src/views/SkiaDomView.web.d.ts +0 -0
- package/src/dom/nodes/JsiSkDOM.ts +0 -298
- package/src/renderer/CanvasOld.tsx +0 -126
- package/src/renderer/Container.tsx +0 -19
- package/src/renderer/HostComponents.ts +0 -399
- package/src/renderer/HostConfig.ts +0 -258
- package/src/renderer/Reconciler.tsx +0 -54
- package/src/specs/SkiaDomViewNativeComponent.ts +0 -9
- package/src/views/SkiaDomView.tsx +0 -124
- package/src/views/SkiaDomView.web.tsx +0 -0
- /package/cpp/api/recorder/{Image.h → ImageFit.h} +0 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
import type { FractalNoiseProps, CircleProps, DrawingNodeProps, ImageProps, PaintProps, PathProps, LineProps, OvalProps, DiffRectProps, PointsProps, RectProps, RoundedRectProps, TextProps, VerticesProps, BlurMaskFilterProps, BlendImageFilterProps, BlurImageFilterProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps, MatrixColorFilterProps, ShaderProps, ImageShaderProps, LinearGradientProps, GroupProps, PatchProps, BlendColorFilterProps, DashPathEffectProps, DiscretePathEffectProps, CornerPathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, BoxProps, BoxShadowProps, ParagraphProps, AtlasProps, ChildrenProps, MorphologyImageFilterProps, BlendProps } from "../dom/types";
|
2
|
+
import type { SkiaProps } from "../renderer";
|
3
|
+
declare global {
|
4
|
+
namespace JSX {
|
5
|
+
interface IntrinsicElements {
|
6
|
+
skGroup: SkiaProps<GroupProps>;
|
7
|
+
skLayer: SkiaProps<ChildrenProps>;
|
8
|
+
skPaint: SkiaProps<PaintProps>;
|
9
|
+
skFill: SkiaProps<DrawingNodeProps>;
|
10
|
+
skImage: SkiaProps<ImageProps>;
|
11
|
+
skCircle: SkiaProps<CircleProps>;
|
12
|
+
skPath: SkiaProps<PathProps>;
|
13
|
+
skLine: SkiaProps<LineProps>;
|
14
|
+
skOval: SkiaProps<OvalProps>;
|
15
|
+
skPatch: SkiaProps<PatchProps>;
|
16
|
+
skPoints: SkiaProps<PointsProps>;
|
17
|
+
skRect: SkiaProps<RectProps>;
|
18
|
+
skRRect: SkiaProps<RoundedRectProps>;
|
19
|
+
skAtlas: SkiaProps<AtlasProps>;
|
20
|
+
skVertices: SkiaProps<VerticesProps>;
|
21
|
+
skText: SkiaProps<TextProps>;
|
22
|
+
skTextPath: SkiaProps<TextPathProps>;
|
23
|
+
skTextBlob: SkiaProps<TextBlobProps>;
|
24
|
+
skGlyphs: SkiaProps<GlyphsProps>;
|
25
|
+
skDiffRect: SkiaProps<DiffRectProps>;
|
26
|
+
skPicture: SkiaProps<PictureProps>;
|
27
|
+
skImageSVG: SkiaProps<ImageSVGProps>;
|
28
|
+
skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;
|
29
|
+
skBlendImageFilter: SkiaProps<BlendImageFilterProps>;
|
30
|
+
skBlurImageFilter: SkiaProps<BlurImageFilterProps>;
|
31
|
+
skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;
|
32
|
+
skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;
|
33
|
+
skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;
|
34
|
+
skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;
|
35
|
+
skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;
|
36
|
+
skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;
|
37
|
+
skBlendColorFilter: SkiaProps<BlendColorFilterProps>;
|
38
|
+
skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;
|
39
|
+
skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;
|
40
|
+
skLumaColorFilter: SkiaProps<ChildrenProps>;
|
41
|
+
skLerpColorFilter: SkiaProps<LerpColorFilterProps>;
|
42
|
+
skShader: SkiaProps<ShaderProps>;
|
43
|
+
skImageShader: SkiaProps<ImageShaderProps>;
|
44
|
+
skColorShader: SkiaProps<ColorProps>;
|
45
|
+
skTurbulence: SkiaProps<TurbulenceProps>;
|
46
|
+
skFractalNoise: SkiaProps<FractalNoiseProps>;
|
47
|
+
skLinearGradient: SkiaProps<LinearGradientProps>;
|
48
|
+
skRadialGradient: SkiaProps<RadialGradientProps>;
|
49
|
+
skSweepGradient: SkiaProps<SweepGradientProps>;
|
50
|
+
skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;
|
51
|
+
skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;
|
52
|
+
skDashPathEffect: SkiaProps<DashPathEffectProps>;
|
53
|
+
skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;
|
54
|
+
skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;
|
55
|
+
skCornerPathEffect: SkiaProps<CornerPathEffectProps>;
|
56
|
+
skSumPathEffect: ChildrenProps;
|
57
|
+
skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;
|
58
|
+
skBlend: SkiaProps<BlendProps>;
|
59
|
+
skBackdropFilter: SkiaProps<ChildrenProps>;
|
60
|
+
skBox: SkiaProps<BoxProps>;
|
61
|
+
skBoxShadow: SkiaProps<BoxShadowProps>;
|
62
|
+
skParagraph: SkiaProps<ParagraphProps>;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
package/package.json
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
"setup-skia-web": "./scripts/setup-canvaskit.js"
|
9
9
|
},
|
10
10
|
"title": "React Native Skia",
|
11
|
-
"version": "1.11.
|
11
|
+
"version": "1.11.2",
|
12
12
|
"description": "High-performance React Native Graphics using Skia",
|
13
13
|
"main": "lib/module/index.js",
|
14
14
|
"react-native": "src/index.ts",
|
package/src/dom/nodes/index.ts
CHANGED
@@ -1,12 +1,5 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
2
|
-
|
3
|
-
import type { Container } from "../../renderer/Container";
|
4
|
-
import type { AnimatedProps } from "../../renderer/processors";
|
5
|
-
import type { Node } from "../../dom/types";
|
6
|
-
|
7
|
-
import Rea from "./ReanimatedProxy";
|
8
|
-
|
9
1
|
export let HAS_REANIMATED_3 = false;
|
2
|
+
|
10
3
|
try {
|
11
4
|
// This logic is convoluted but necessary
|
12
5
|
// In most systems, `require("react-native-reanimated")` throws an error, all is well.
|
@@ -24,73 +17,3 @@ try {
|
|
24
17
|
} catch (e) {
|
25
18
|
// do nothing
|
26
19
|
}
|
27
|
-
|
28
|
-
const _bindings = new WeakMap<Node<unknown>, unknown>();
|
29
|
-
|
30
|
-
export const unbindReanimatedNode = (node: Node<unknown>) => {
|
31
|
-
if (!HAS_REANIMATED_3) {
|
32
|
-
return;
|
33
|
-
}
|
34
|
-
const previousMapperId = _bindings.get(node);
|
35
|
-
if (previousMapperId !== undefined) {
|
36
|
-
Rea.stopMapper(previousMapperId as number);
|
37
|
-
}
|
38
|
-
};
|
39
|
-
|
40
|
-
export function extractReanimatedProps(props: AnimatedProps<any>) {
|
41
|
-
if (!HAS_REANIMATED_3) {
|
42
|
-
return [props, {}];
|
43
|
-
}
|
44
|
-
const reanimatedProps = {} as AnimatedProps<any>;
|
45
|
-
const otherProps = {} as AnimatedProps<any>;
|
46
|
-
for (const propName in props) {
|
47
|
-
if (propName === "children") {
|
48
|
-
continue;
|
49
|
-
}
|
50
|
-
const propValue = props[propName];
|
51
|
-
if (Rea.isSharedValue(propValue)) {
|
52
|
-
reanimatedProps[propName] = propValue;
|
53
|
-
otherProps[propName] = propValue.value;
|
54
|
-
} else {
|
55
|
-
otherProps[propName] = propValue;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
return [otherProps, reanimatedProps];
|
59
|
-
}
|
60
|
-
|
61
|
-
export function bindReanimatedProps(
|
62
|
-
container: Container,
|
63
|
-
node: Node<any>,
|
64
|
-
reanimatedProps: AnimatedProps<any>
|
65
|
-
) {
|
66
|
-
if (!HAS_REANIMATED_3) {
|
67
|
-
return;
|
68
|
-
}
|
69
|
-
const sharedValues = Object.values(reanimatedProps);
|
70
|
-
const previousMapperId = _bindings.get(node);
|
71
|
-
if (previousMapperId !== undefined) {
|
72
|
-
Rea.stopMapper(previousMapperId as number);
|
73
|
-
}
|
74
|
-
if (sharedValues.length > 0) {
|
75
|
-
const viewId = container.getNativeId();
|
76
|
-
const { SkiaViewApi } = global;
|
77
|
-
const mapperId = Rea.startMapper(() => {
|
78
|
-
"worklet";
|
79
|
-
if (node) {
|
80
|
-
for (const propName in reanimatedProps) {
|
81
|
-
node.setProp(propName, reanimatedProps[propName].value);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
// On React Native we use the SkiaViewApi to redraw because it can
|
85
|
-
// run on the worklet thread (container.redraw can't)
|
86
|
-
// if SkiaViewApi is undefined, we are on web and container.redraw()
|
87
|
-
// can safely be invoked
|
88
|
-
if (SkiaViewApi) {
|
89
|
-
SkiaViewApi.requestRedraw(viewId);
|
90
|
-
} else {
|
91
|
-
container.redraw();
|
92
|
-
}
|
93
|
-
}, sharedValues);
|
94
|
-
_bindings.set(node, mapperId);
|
95
|
-
}
|
96
|
-
}
|
package/src/index.ts
CHANGED
package/src/renderer/Canvas.tsx
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { FC } from "react";
|
1
2
|
import {
|
2
3
|
forwardRef,
|
3
4
|
useCallback,
|
@@ -11,11 +12,20 @@ import type { SharedValue } from "react-native-reanimated";
|
|
11
12
|
|
12
13
|
import { SkiaViewNativeId } from "../views/SkiaViewNativeId";
|
13
14
|
import SkiaPictureViewNativeComponent from "../specs/SkiaPictureViewNativeComponent";
|
14
|
-
import type { SkRect, SkSize } from "../skia/types";
|
15
|
+
import type { SkImage, SkRect, SkSize } from "../skia/types";
|
15
16
|
import { SkiaSGRoot } from "../sksg/Reconciler";
|
16
17
|
import { Skia } from "../skia";
|
17
18
|
import type { SkiaBaseViewProps } from "../views";
|
18
19
|
|
20
|
+
interface CanvasRef extends FC<CanvasProps> {
|
21
|
+
makeImageSnapshot(rect?: SkRect): SkImage;
|
22
|
+
makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;
|
23
|
+
redraw(): void;
|
24
|
+
getNativeId(): number;
|
25
|
+
}
|
26
|
+
|
27
|
+
export const useCanvasRef = () => useRef<CanvasRef>(null);
|
28
|
+
|
19
29
|
const NativeSkiaPictureView = SkiaPictureViewNativeComponent;
|
20
30
|
|
21
31
|
// TODO: no need to go through the JS thread for this
|
package/src/sksg/Container.ts
CHANGED
@@ -52,9 +52,14 @@ const nativeDrawOnscreen = (
|
|
52
52
|
export abstract class Container {
|
53
53
|
public root: Node[] = [];
|
54
54
|
protected recording: Recording | null = null;
|
55
|
+
protected unmounted = false;
|
55
56
|
|
56
57
|
constructor(protected Skia: Skia, protected nativeId: number) {}
|
57
58
|
|
59
|
+
unmount() {
|
60
|
+
this.unmounted = true;
|
61
|
+
}
|
62
|
+
|
58
63
|
drawOnCanvas(canvas: SkCanvas) {
|
59
64
|
if (!this.recording) {
|
60
65
|
throw new Error("No recording to draw");
|
@@ -101,6 +106,9 @@ class ReanimatedContainer extends Container {
|
|
101
106
|
if (this.mapperId !== null) {
|
102
107
|
Rea.stopMapper(this.mapperId);
|
103
108
|
}
|
109
|
+
if (this.unmounted) {
|
110
|
+
return;
|
111
|
+
}
|
104
112
|
const recorder = new Recorder();
|
105
113
|
visit(recorder, this.root);
|
106
114
|
const record = recorder.getRecording();
|
@@ -134,6 +142,9 @@ class NativeReanimatedContainer extends Container {
|
|
134
142
|
if (this.mapperId !== null) {
|
135
143
|
Rea.stopMapper(this.mapperId);
|
136
144
|
}
|
145
|
+
if (this.unmounted) {
|
146
|
+
return;
|
147
|
+
}
|
137
148
|
const { nativeId, Skia } = this;
|
138
149
|
const recorder = new ReanimatedRecorder(Skia);
|
139
150
|
visit(recorder, this.root);
|
@@ -0,0 +1,136 @@
|
|
1
|
+
import type {
|
2
|
+
FractalNoiseProps,
|
3
|
+
CircleProps,
|
4
|
+
DrawingNodeProps,
|
5
|
+
ImageProps,
|
6
|
+
PaintProps,
|
7
|
+
PathProps,
|
8
|
+
LineProps,
|
9
|
+
OvalProps,
|
10
|
+
DiffRectProps,
|
11
|
+
PointsProps,
|
12
|
+
RectProps,
|
13
|
+
RoundedRectProps,
|
14
|
+
TextProps,
|
15
|
+
VerticesProps,
|
16
|
+
BlurMaskFilterProps,
|
17
|
+
BlendImageFilterProps,
|
18
|
+
BlurImageFilterProps,
|
19
|
+
DisplacementMapImageFilterProps,
|
20
|
+
DropShadowImageFilterProps,
|
21
|
+
OffsetImageFilterProps,
|
22
|
+
RuntimeShaderImageFilterProps,
|
23
|
+
MatrixColorFilterProps,
|
24
|
+
ShaderProps,
|
25
|
+
ImageShaderProps,
|
26
|
+
LinearGradientProps,
|
27
|
+
GroupProps,
|
28
|
+
PatchProps,
|
29
|
+
BlendColorFilterProps,
|
30
|
+
DashPathEffectProps,
|
31
|
+
DiscretePathEffectProps,
|
32
|
+
CornerPathEffectProps,
|
33
|
+
Line2DPathEffectProps,
|
34
|
+
Path1DPathEffectProps,
|
35
|
+
Path2DPathEffectProps,
|
36
|
+
TextPathProps,
|
37
|
+
TextBlobProps,
|
38
|
+
GlyphsProps,
|
39
|
+
TwoPointConicalGradientProps,
|
40
|
+
TurbulenceProps,
|
41
|
+
SweepGradientProps,
|
42
|
+
RadialGradientProps,
|
43
|
+
ColorProps,
|
44
|
+
PictureProps,
|
45
|
+
ImageSVGProps,
|
46
|
+
LerpColorFilterProps,
|
47
|
+
BoxProps,
|
48
|
+
BoxShadowProps,
|
49
|
+
ParagraphProps,
|
50
|
+
AtlasProps,
|
51
|
+
ChildrenProps,
|
52
|
+
MorphologyImageFilterProps,
|
53
|
+
BlendProps,
|
54
|
+
} from "../dom/types";
|
55
|
+
import type { SkiaProps } from "../renderer";
|
56
|
+
|
57
|
+
declare global {
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
59
|
+
namespace JSX {
|
60
|
+
interface IntrinsicElements {
|
61
|
+
skGroup: SkiaProps<GroupProps>;
|
62
|
+
skLayer: SkiaProps<ChildrenProps>;
|
63
|
+
skPaint: SkiaProps<PaintProps>;
|
64
|
+
|
65
|
+
// Drawings
|
66
|
+
skFill: SkiaProps<DrawingNodeProps>;
|
67
|
+
skImage: SkiaProps<ImageProps>;
|
68
|
+
skCircle: SkiaProps<CircleProps>;
|
69
|
+
skPath: SkiaProps<PathProps>;
|
70
|
+
skLine: SkiaProps<LineProps>;
|
71
|
+
skOval: SkiaProps<OvalProps>;
|
72
|
+
skPatch: SkiaProps<PatchProps>;
|
73
|
+
skPoints: SkiaProps<PointsProps>;
|
74
|
+
skRect: SkiaProps<RectProps>;
|
75
|
+
skRRect: SkiaProps<RoundedRectProps>;
|
76
|
+
skAtlas: SkiaProps<AtlasProps>;
|
77
|
+
skVertices: SkiaProps<VerticesProps>;
|
78
|
+
skText: SkiaProps<TextProps>;
|
79
|
+
skTextPath: SkiaProps<TextPathProps>;
|
80
|
+
skTextBlob: SkiaProps<TextBlobProps>;
|
81
|
+
skGlyphs: SkiaProps<GlyphsProps>;
|
82
|
+
skDiffRect: SkiaProps<DiffRectProps>;
|
83
|
+
skPicture: SkiaProps<PictureProps>;
|
84
|
+
skImageSVG: SkiaProps<ImageSVGProps>;
|
85
|
+
|
86
|
+
// BlurMaskFilters
|
87
|
+
skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;
|
88
|
+
|
89
|
+
// ImageFilters
|
90
|
+
skBlendImageFilter: SkiaProps<BlendImageFilterProps>;
|
91
|
+
skBlurImageFilter: SkiaProps<BlurImageFilterProps>;
|
92
|
+
skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;
|
93
|
+
skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;
|
94
|
+
skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;
|
95
|
+
skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;
|
96
|
+
skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;
|
97
|
+
|
98
|
+
// ColorFilters
|
99
|
+
skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;
|
100
|
+
skBlendColorFilter: SkiaProps<BlendColorFilterProps>;
|
101
|
+
skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;
|
102
|
+
skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;
|
103
|
+
skLumaColorFilter: SkiaProps<ChildrenProps>;
|
104
|
+
skLerpColorFilter: SkiaProps<LerpColorFilterProps>;
|
105
|
+
|
106
|
+
// Shaders
|
107
|
+
skShader: SkiaProps<ShaderProps>;
|
108
|
+
skImageShader: SkiaProps<ImageShaderProps>;
|
109
|
+
skColorShader: SkiaProps<ColorProps>;
|
110
|
+
skTurbulence: SkiaProps<TurbulenceProps>;
|
111
|
+
skFractalNoise: SkiaProps<FractalNoiseProps>;
|
112
|
+
skLinearGradient: SkiaProps<LinearGradientProps>;
|
113
|
+
skRadialGradient: SkiaProps<RadialGradientProps>;
|
114
|
+
skSweepGradient: SkiaProps<SweepGradientProps>;
|
115
|
+
skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;
|
116
|
+
|
117
|
+
// Path Effects
|
118
|
+
skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;
|
119
|
+
skDashPathEffect: SkiaProps<DashPathEffectProps>;
|
120
|
+
skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;
|
121
|
+
skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;
|
122
|
+
skCornerPathEffect: SkiaProps<CornerPathEffectProps>;
|
123
|
+
skSumPathEffect: ChildrenProps;
|
124
|
+
skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;
|
125
|
+
|
126
|
+
// Mixed declarations/drawings
|
127
|
+
skBlend: SkiaProps<BlendProps>;
|
128
|
+
skBackdropFilter: SkiaProps<ChildrenProps>;
|
129
|
+
skBox: SkiaProps<BoxProps>;
|
130
|
+
skBoxShadow: SkiaProps<BoxShadowProps>;
|
131
|
+
|
132
|
+
// Paragraph
|
133
|
+
skParagraph: SkiaProps<ParagraphProps>;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
package/src/sksg/Reconciler.ts
CHANGED
@@ -8,6 +8,7 @@ import { NodeType } from "../dom/types";
|
|
8
8
|
import { debug, sksgHostConfig } from "./HostConfig";
|
9
9
|
import type { Container } from "./Container";
|
10
10
|
import { createContainer } from "./Container";
|
11
|
+
import "./Elements";
|
11
12
|
|
12
13
|
const skiaReconciler = ReactReconciler(sksgHostConfig);
|
13
14
|
|
@@ -59,6 +60,7 @@ export class SkiaSGRoot {
|
|
59
60
|
}
|
60
61
|
|
61
62
|
unmount() {
|
63
|
+
this.container.unmount();
|
62
64
|
skiaReconciler.updateContainer(null, this.root, null, () => {
|
63
65
|
debug("unmountContainer");
|
64
66
|
});
|
package/src/views/index.ts
CHANGED
@@ -1,82 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <memory>
|
4
|
-
#include <string>
|
5
|
-
|
6
|
-
#include <fbjni/fbjni.h>
|
7
|
-
#include <jni.h>
|
8
|
-
#include <jsi/jsi.h>
|
9
|
-
|
10
|
-
#include "JniSkiaBaseView.h"
|
11
|
-
#include "JniSkiaManager.h"
|
12
|
-
#include "RNSkAndroidView.h"
|
13
|
-
#include "RNSkDomView.h"
|
14
|
-
|
15
|
-
#include <android/native_window.h>
|
16
|
-
#include <android/native_window_jni.h>
|
17
|
-
#include <fbjni/detail/Hybrid.h>
|
18
|
-
|
19
|
-
namespace RNSkia {
|
20
|
-
|
21
|
-
namespace jsi = facebook::jsi;
|
22
|
-
namespace jni = facebook::jni;
|
23
|
-
|
24
|
-
class JniSkiaDomView : public jni::HybridClass<JniSkiaDomView>,
|
25
|
-
public JniSkiaBaseView {
|
26
|
-
public:
|
27
|
-
static auto constexpr kJavaDescriptor =
|
28
|
-
"Lcom/shopify/reactnative/skia/SkiaDomView;";
|
29
|
-
|
30
|
-
static jni::local_ref<jhybriddata>
|
31
|
-
initHybrid(jni::alias_ref<jhybridobject> jThis,
|
32
|
-
jni::alias_ref<JniSkiaManager::javaobject> skiaManager) {
|
33
|
-
return makeCxxInstance(jThis, skiaManager);
|
34
|
-
}
|
35
|
-
|
36
|
-
static void registerNatives() {
|
37
|
-
registerHybrid(
|
38
|
-
{makeNativeMethod("initHybrid", JniSkiaDomView::initHybrid),
|
39
|
-
makeNativeMethod("surfaceAvailable", JniSkiaDomView::surfaceAvailable),
|
40
|
-
makeNativeMethod("surfaceDestroyed", JniSkiaDomView::surfaceDestroyed),
|
41
|
-
makeNativeMethod("surfaceSizeChanged",
|
42
|
-
JniSkiaDomView::surfaceSizeChanged),
|
43
|
-
makeNativeMethod("setDebugMode", JniSkiaDomView::setDebugMode),
|
44
|
-
makeNativeMethod("registerView", JniSkiaDomView::registerView),
|
45
|
-
makeNativeMethod("unregisterView", JniSkiaDomView::unregisterView)});
|
46
|
-
}
|
47
|
-
|
48
|
-
protected:
|
49
|
-
void surfaceAvailable(jobject surface, int width, int height,
|
50
|
-
bool opaque) override {
|
51
|
-
JniSkiaBaseView::surfaceAvailable(surface, width, height, opaque);
|
52
|
-
}
|
53
|
-
|
54
|
-
void surfaceSizeChanged(jobject surface, int width, int height,
|
55
|
-
bool opaque) override {
|
56
|
-
JniSkiaBaseView::surfaceSizeChanged(surface, width, height, opaque);
|
57
|
-
}
|
58
|
-
|
59
|
-
void surfaceDestroyed() override { JniSkiaBaseView::surfaceDestroyed(); }
|
60
|
-
|
61
|
-
void setDebugMode(bool show) override { JniSkiaBaseView::setDebugMode(show); }
|
62
|
-
|
63
|
-
void registerView(int nativeId) override {
|
64
|
-
JniSkiaBaseView::registerView(nativeId);
|
65
|
-
}
|
66
|
-
|
67
|
-
void unregisterView() override { JniSkiaBaseView::unregisterView(); }
|
68
|
-
|
69
|
-
private:
|
70
|
-
friend HybridBase;
|
71
|
-
|
72
|
-
explicit JniSkiaDomView(
|
73
|
-
jni::alias_ref<jhybridobject> jThis,
|
74
|
-
jni::alias_ref<JniSkiaManager::javaobject> skiaManager)
|
75
|
-
: JniSkiaBaseView(skiaManager,
|
76
|
-
std::make_shared<RNSkAndroidView<RNSkia::RNSkDomView>>(
|
77
|
-
skiaManager->cthis()->getPlatformContext())) {}
|
78
|
-
|
79
|
-
jni::global_ref<javaobject> javaPart_;
|
80
|
-
};
|
81
|
-
|
82
|
-
} // namespace RNSkia
|
@@ -1,41 +0,0 @@
|
|
1
|
-
package com.shopify.reactnative.skia;
|
2
|
-
|
3
|
-
import android.content.Context;
|
4
|
-
|
5
|
-
import com.facebook.jni.HybridData;
|
6
|
-
import com.facebook.jni.annotations.DoNotStrip;
|
7
|
-
import com.facebook.react.bridge.ReactContext;
|
8
|
-
import com.facebook.react.uimanager.ThemedReactContext;
|
9
|
-
|
10
|
-
public class SkiaDomView extends SkiaBaseView {
|
11
|
-
@DoNotStrip
|
12
|
-
private HybridData mHybridData;
|
13
|
-
|
14
|
-
public SkiaDomView(ThemedReactContext context) {
|
15
|
-
super(context);
|
16
|
-
RNSkiaModule skiaModule = context.getReactApplicationContext().getNativeModule(RNSkiaModule.class);
|
17
|
-
mHybridData = initHybrid(skiaModule.getSkiaManager());
|
18
|
-
}
|
19
|
-
|
20
|
-
@Override
|
21
|
-
protected void finalize() throws Throwable {
|
22
|
-
super.finalize();
|
23
|
-
mHybridData.resetNative();
|
24
|
-
}
|
25
|
-
|
26
|
-
private native HybridData initHybrid(SkiaManager skiaManager);
|
27
|
-
|
28
|
-
protected native void surfaceAvailable(Object surface, int width, int height, boolean opaque);
|
29
|
-
|
30
|
-
protected native void surfaceSizeChanged(Object surface, int width, int height, boolean opaque);
|
31
|
-
|
32
|
-
protected native void surfaceDestroyed();
|
33
|
-
|
34
|
-
protected native void setBgColor(int color);
|
35
|
-
|
36
|
-
protected native void setDebugMode(boolean show);
|
37
|
-
|
38
|
-
protected native void registerView(int nativeId);
|
39
|
-
|
40
|
-
protected native void unregisterView();
|
41
|
-
}
|
@@ -1,32 +0,0 @@
|
|
1
|
-
package com.shopify.reactnative.skia;
|
2
|
-
|
3
|
-
import com.facebook.react.uimanager.ThemedReactContext;
|
4
|
-
import com.facebook.react.viewmanagers.SkiaDomViewManagerInterface;
|
5
|
-
import com.facebook.react.viewmanagers.SkiaDomViewManagerDelegate;
|
6
|
-
|
7
|
-
import androidx.annotation.NonNull;
|
8
|
-
|
9
|
-
public class SkiaDomViewManager extends SkiaBaseViewManager<SkiaDomView> implements SkiaDomViewManagerInterface<SkiaDomView> {
|
10
|
-
|
11
|
-
protected SkiaDomViewManagerDelegate mDelegate;
|
12
|
-
|
13
|
-
SkiaDomViewManager() {
|
14
|
-
mDelegate = new SkiaDomViewManagerDelegate(this);
|
15
|
-
}
|
16
|
-
|
17
|
-
protected SkiaDomViewManagerDelegate getDelegate() {
|
18
|
-
return mDelegate;
|
19
|
-
}
|
20
|
-
|
21
|
-
@NonNull
|
22
|
-
@Override
|
23
|
-
public String getName() {
|
24
|
-
return "SkiaDomView";
|
25
|
-
}
|
26
|
-
|
27
|
-
@NonNull
|
28
|
-
@Override
|
29
|
-
public SkiaDomView createViewInstance(@NonNull ThemedReactContext reactContext) {
|
30
|
-
return new SkiaDomView(reactContext);
|
31
|
-
}
|
32
|
-
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerDelegate.java
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
3
|
-
*
|
4
|
-
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
5
|
-
* once the code is regenerated.
|
6
|
-
*
|
7
|
-
* @generated by codegen project: GeneratePropsJavaDelegate.js
|
8
|
-
*/
|
9
|
-
|
10
|
-
package com.facebook.react.viewmanagers;
|
11
|
-
|
12
|
-
import android.view.View;
|
13
|
-
import androidx.annotation.Nullable;
|
14
|
-
import com.facebook.react.uimanager.BaseViewManagerDelegate;
|
15
|
-
import com.facebook.react.uimanager.BaseViewManagerInterface;
|
16
|
-
|
17
|
-
public class SkiaDomViewManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & SkiaDomViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
|
18
|
-
public SkiaDomViewManagerDelegate(U viewManager) {
|
19
|
-
super(viewManager);
|
20
|
-
}
|
21
|
-
@Override
|
22
|
-
public void setProperty(T view, String propName, @Nullable Object value) {
|
23
|
-
switch (propName) {
|
24
|
-
case "opaque":
|
25
|
-
mViewManager.setOpaque(view, value != null && (boolean) value);
|
26
|
-
break;
|
27
|
-
case "debug":
|
28
|
-
mViewManager.setDebug(view, value != null && (boolean) value);
|
29
|
-
break;
|
30
|
-
default:
|
31
|
-
super.setProperty(view, propName, value);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
}
|
package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerInterface.java
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
3
|
-
*
|
4
|
-
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
5
|
-
* once the code is regenerated.
|
6
|
-
*
|
7
|
-
* @generated by codegen project: GeneratePropsJavaInterface.js
|
8
|
-
*/
|
9
|
-
|
10
|
-
package com.facebook.react.viewmanagers;
|
11
|
-
|
12
|
-
import android.view.View;
|
13
|
-
import androidx.annotation.Nullable;
|
14
|
-
|
15
|
-
public interface SkiaDomViewManagerInterface<T extends View> {
|
16
|
-
void setDebug(T view, boolean value);
|
17
|
-
void setOpaque(T view, boolean value);
|
18
|
-
}
|