@shopify/react-native-skia 0.1.228 → 0.1.230
Sign up to get free protection for your applications and to get access to all the features.
- package/android/cpp/jni/JniLoad.cpp +0 -2
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaModule.java +0 -1
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +7 -12
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +1 -1
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureView.java +1 -1
- package/cpp/api/JsiSkApi.h +4 -1
- package/cpp/api/JsiSkParagraph.h +15 -0
- package/cpp/api/JsiSkParagraphBuilder.h +3 -32
- package/cpp/api/JsiSkParagraphBuilderFactory.h +54 -0
- package/cpp/rnskia/RNSkJsiViewApi.h +0 -52
- package/cpp/rnskia/RNSkManager.cpp +0 -6
- package/cpp/rnskia/RNSkView.h +2 -91
- package/cpp/rnskia/dom/JsiDomApi.h +0 -9
- package/lib/commonjs/animation/index.d.ts +0 -3
- package/lib/commonjs/animation/index.js +0 -39
- package/lib/commonjs/animation/index.js.map +1 -1
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +1 -2
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +0 -6
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/dom/nodes/Node.d.ts +0 -3
- package/lib/commonjs/dom/nodes/Node.js +0 -5
- package/lib/commonjs/dom/nodes/Node.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/index.d.ts +0 -1
- package/lib/commonjs/dom/nodes/drawings/index.js +0 -13
- package/lib/commonjs/dom/nodes/drawings/index.js.map +1 -1
- package/lib/commonjs/dom/types/Common.d.ts +2 -2
- package/lib/commonjs/dom/types/Common.js.map +1 -1
- package/lib/commonjs/dom/types/Drawings.d.ts +0 -4
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/dom/types/NodeType.d.ts +0 -1
- package/lib/commonjs/dom/types/NodeType.js +0 -1
- package/lib/commonjs/dom/types/NodeType.js.map +1 -1
- package/lib/commonjs/dom/types/SkDOM.d.ts +1 -2
- package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
- package/lib/commonjs/index.d.ts +0 -1
- package/lib/commonjs/index.js +0 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mock/index.js +0 -4
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +9 -34
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/Container.d.ts +1 -3
- package/lib/commonjs/renderer/Container.js +4 -6
- package/lib/commonjs/renderer/Container.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.d.ts +1 -6
- package/lib/commonjs/renderer/HostComponents.js +0 -3
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/HostConfig.js +2 -23
- package/lib/commonjs/renderer/HostConfig.js.map +1 -1
- package/lib/commonjs/renderer/Reconciler.d.ts +1 -5
- package/lib/commonjs/renderer/Reconciler.js +3 -18
- package/lib/commonjs/renderer/Reconciler.js.map +1 -1
- package/lib/commonjs/renderer/components/index.d.ts +0 -1
- package/lib/commonjs/renderer/components/index.js +0 -13
- package/lib/commonjs/renderer/components/index.js.map +1 -1
- package/lib/commonjs/renderer/index.d.ts +0 -1
- package/lib/commonjs/renderer/index.js +0 -13
- package/lib/commonjs/renderer/index.js.map +1 -1
- package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -8
- package/lib/commonjs/renderer/processors/Animations/Animations.js +0 -44
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/skia/types/Canvas.d.ts +2 -2
- package/lib/commonjs/skia/types/Canvas.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix.d.ts +2 -1
- package/lib/commonjs/skia/types/Matrix.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix4.d.ts +9 -1
- package/lib/commonjs/skia/types/Matrix4.js +49 -3
- package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
- package/lib/commonjs/skia/types/Paragraph/Paragraph.d.ts +23 -0
- package/lib/commonjs/skia/types/Paragraph/Paragraph.js.map +1 -1
- package/lib/commonjs/skia/types/Path/Path.d.ts +2 -2
- package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +3 -0
- package/lib/commonjs/skia/web/JsiSkParagraph.js +12 -0
- package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js +5 -2
- package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.d.ts +0 -7
- package/lib/commonjs/views/SkiaBaseWebView.js +0 -17
- package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
- package/lib/commonjs/views/SkiaDomView.d.ts +0 -7
- package/lib/commonjs/views/SkiaDomView.js +3 -14
- package/lib/commonjs/views/SkiaDomView.js.map +1 -1
- package/lib/commonjs/views/SkiaDomView.web.js +4 -14
- package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
- package/lib/commonjs/views/SkiaPictureView.d.ts +0 -7
- package/lib/commonjs/views/SkiaPictureView.js +3 -14
- package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
- package/lib/commonjs/views/SkiaViewNativeId.d.ts +3 -0
- package/lib/commonjs/views/SkiaViewNativeId.js +11 -0
- package/lib/commonjs/views/SkiaViewNativeId.js.map +1 -0
- package/lib/commonjs/views/index.d.ts +0 -2
- package/lib/commonjs/views/index.js +0 -26
- package/lib/commonjs/views/index.js.map +1 -1
- package/lib/commonjs/views/types.d.ts +2 -15
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/animation/index.d.ts +0 -3
- package/lib/module/animation/index.js +0 -3
- package/lib/module/animation/index.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +1 -2
- package/lib/module/dom/nodes/JsiSkDOM.js +1 -7
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/dom/nodes/Node.d.ts +0 -3
- package/lib/module/dom/nodes/Node.js +0 -5
- package/lib/module/dom/nodes/Node.js.map +1 -1
- package/lib/module/dom/nodes/drawings/index.d.ts +0 -1
- package/lib/module/dom/nodes/drawings/index.js +0 -1
- package/lib/module/dom/nodes/drawings/index.js.map +1 -1
- package/lib/module/dom/types/Common.d.ts +2 -2
- package/lib/module/dom/types/Common.js.map +1 -1
- package/lib/module/dom/types/Drawings.d.ts +0 -4
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/dom/types/NodeType.d.ts +0 -1
- package/lib/module/dom/types/NodeType.js +0 -1
- package/lib/module/dom/types/NodeType.js.map +1 -1
- package/lib/module/dom/types/SkDOM.d.ts +1 -2
- package/lib/module/dom/types/SkDOM.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/mock/index.js +1 -4
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/renderer/Canvas.js +9 -32
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/Container.d.ts +1 -3
- package/lib/module/renderer/Container.js +4 -6
- package/lib/module/renderer/Container.js.map +1 -1
- package/lib/module/renderer/HostComponents.d.ts +1 -6
- package/lib/module/renderer/HostComponents.js +0 -3
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/HostConfig.js +3 -23
- package/lib/module/renderer/HostConfig.js.map +1 -1
- package/lib/module/renderer/Reconciler.d.ts +1 -5
- package/lib/module/renderer/Reconciler.js +3 -16
- package/lib/module/renderer/Reconciler.js.map +1 -1
- package/lib/module/renderer/components/index.d.ts +0 -1
- package/lib/module/renderer/components/index.js +0 -1
- package/lib/module/renderer/components/index.js.map +1 -1
- package/lib/module/renderer/index.d.ts +0 -1
- package/lib/module/renderer/index.js +0 -1
- package/lib/module/renderer/index.js.map +1 -1
- package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -8
- package/lib/module/renderer/processors/Animations/Animations.js +0 -28
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/skia/types/Canvas.d.ts +2 -2
- package/lib/module/skia/types/Canvas.js.map +1 -1
- package/lib/module/skia/types/Matrix.d.ts +2 -1
- package/lib/module/skia/types/Matrix.js.map +1 -1
- package/lib/module/skia/types/Matrix4.d.ts +9 -1
- package/lib/module/skia/types/Matrix4.js +42 -2
- package/lib/module/skia/types/Matrix4.js.map +1 -1
- package/lib/module/skia/types/Paragraph/Paragraph.d.ts +23 -0
- package/lib/module/skia/types/Paragraph/Paragraph.js.map +1 -1
- package/lib/module/skia/types/Path/Path.d.ts +2 -2
- package/lib/module/skia/types/Path/Path.js.map +1 -1
- package/lib/module/skia/web/JsiSkMatrix.d.ts +2 -2
- package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraph.d.ts +3 -0
- package/lib/module/skia/web/JsiSkParagraph.js +12 -0
- package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +5 -2
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -1
- package/lib/module/views/SkiaBaseWebView.d.ts +0 -7
- package/lib/module/views/SkiaBaseWebView.js +0 -17
- package/lib/module/views/SkiaBaseWebView.js.map +1 -1
- package/lib/module/views/SkiaDomView.d.ts +0 -7
- package/lib/module/views/SkiaDomView.js +2 -13
- package/lib/module/views/SkiaDomView.js.map +1 -1
- package/lib/module/views/SkiaDomView.web.js +4 -13
- package/lib/module/views/SkiaDomView.web.js.map +1 -1
- package/lib/module/views/SkiaPictureView.d.ts +0 -7
- package/lib/module/views/SkiaPictureView.js +2 -13
- package/lib/module/views/SkiaPictureView.js.map +1 -1
- package/lib/module/views/SkiaViewNativeId.d.ts +3 -0
- package/lib/module/views/SkiaViewNativeId.js +4 -0
- package/lib/module/views/SkiaViewNativeId.js.map +1 -0
- package/lib/module/views/index.d.ts +0 -2
- package/lib/module/views/index.js +0 -2
- package/lib/module/views/index.js.map +1 -1
- package/lib/module/views/types.d.ts +2 -15
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/src/animation/index.d.ts +0 -3
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +1 -2
- package/lib/typescript/src/dom/nodes/Node.d.ts +0 -3
- package/lib/typescript/src/dom/nodes/drawings/index.d.ts +0 -1
- package/lib/typescript/src/dom/types/Common.d.ts +2 -2
- package/lib/typescript/src/dom/types/Drawings.d.ts +0 -4
- package/lib/typescript/src/dom/types/NodeType.d.ts +0 -1
- package/lib/typescript/src/dom/types/SkDOM.d.ts +1 -2
- package/lib/typescript/src/index.d.ts +0 -1
- package/lib/typescript/src/renderer/Container.d.ts +1 -3
- package/lib/typescript/src/renderer/HostComponents.d.ts +1 -6
- package/lib/typescript/src/renderer/Reconciler.d.ts +1 -5
- package/lib/typescript/src/renderer/components/index.d.ts +0 -1
- package/lib/typescript/src/renderer/index.d.ts +0 -1
- package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -8
- package/lib/typescript/src/skia/types/Canvas.d.ts +2 -2
- package/lib/typescript/src/skia/types/Matrix.d.ts +2 -1
- package/lib/typescript/src/skia/types/Matrix4.d.ts +9 -1
- package/lib/typescript/src/skia/types/Paragraph/Paragraph.d.ts +23 -0
- package/lib/typescript/src/skia/types/Path/Path.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +3 -0
- package/lib/typescript/src/views/SkiaBaseWebView.d.ts +0 -7
- package/lib/typescript/src/views/SkiaDomView.d.ts +0 -7
- package/lib/typescript/src/views/SkiaPictureView.d.ts +0 -7
- package/lib/typescript/src/views/SkiaViewNativeId.d.ts +3 -0
- package/lib/typescript/src/views/index.d.ts +0 -2
- package/lib/typescript/src/views/types.d.ts +2 -15
- package/package.json +1 -1
- package/src/animation/index.ts +0 -3
- package/src/dom/nodes/JsiSkDOM.ts +0 -12
- package/src/dom/nodes/Node.ts +0 -5
- package/src/dom/nodes/drawings/index.ts +0 -1
- package/src/dom/types/Common.ts +2 -4
- package/src/dom/types/Drawings.ts +0 -5
- package/src/dom/types/NodeType.ts +0 -1
- package/src/dom/types/SkDOM.ts +0 -4
- package/src/index.ts +0 -1
- package/src/mock/index.ts +0 -3
- package/src/renderer/Canvas.tsx +9 -34
- package/src/renderer/Container.tsx +1 -4
- package/src/renderer/HostComponents.ts +0 -13
- package/src/renderer/HostConfig.ts +3 -24
- package/src/renderer/Reconciler.tsx +1 -19
- package/src/renderer/components/index.ts +0 -1
- package/src/renderer/index.ts +0 -1
- package/src/renderer/processors/Animations/Animations.ts +1 -51
- package/src/skia/types/Canvas.ts +2 -2
- package/src/skia/types/Matrix.ts +3 -1
- package/src/skia/types/Matrix4.ts +94 -63
- package/src/skia/types/Paragraph/Paragraph.ts +25 -0
- package/src/skia/types/Path/Path.ts +2 -2
- package/src/skia/web/JsiSkMatrix.ts +5 -5
- package/src/skia/web/JsiSkParagraph.ts +11 -0
- package/src/skia/web/JsiSkParagraphBuilderFactory.ts +9 -3
- package/src/views/SkiaBaseWebView.tsx +0 -19
- package/src/views/SkiaDomView.tsx +1 -13
- package/src/views/SkiaDomView.web.tsx +1 -6
- package/src/views/SkiaPictureView.tsx +1 -13
- package/src/views/SkiaViewNativeId.ts +1 -0
- package/src/views/index.ts +0 -2
- package/src/views/types.ts +2 -26
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +0 -44
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawViewManager.java +0 -34
- package/cpp/rnskia/RNSkAnimation.h +0 -65
- package/cpp/rnskia/RNSkValueApi.h +0 -72
- package/cpp/rnskia/dom/base/JsiDependencyManager.h +0 -297
- package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +0 -127
- package/cpp/rnskia/dom/props/DrawingProp.h +0 -35
- package/cpp/rnskia/values/RNSkClockValue.h +0 -140
- package/cpp/rnskia/values/RNSkComputedValue.h +0 -104
- package/cpp/rnskia/values/RNSkReadonlyValue.h +0 -166
- package/cpp/rnskia/values/RNSkValue.h +0 -116
- package/ios/RNSkia-iOS/SkiaDrawView.h +0 -7
- package/ios/RNSkia-iOS/SkiaDrawView.mm +0 -72
- package/ios/RNSkia-iOS/SkiaDrawViewManager.h +0 -7
- package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +0 -50
- package/lib/commonjs/animation/decay/decay.d.ts +0 -2
- package/lib/commonjs/animation/decay/decay.js +0 -42
- package/lib/commonjs/animation/decay/decay.js.map +0 -1
- package/lib/commonjs/animation/decay/index.d.ts +0 -1
- package/lib/commonjs/animation/decay/index.js +0 -14
- package/lib/commonjs/animation/decay/index.js.map +0 -1
- package/lib/commonjs/animation/decay/runDecay.d.ts +0 -10
- package/lib/commonjs/animation/decay/runDecay.js +0 -48
- package/lib/commonjs/animation/decay/runDecay.js.map +0 -1
- package/lib/commonjs/animation/decay/types.d.ts +0 -21
- package/lib/commonjs/animation/decay/types.js +0 -6
- package/lib/commonjs/animation/decay/types.js.map +0 -1
- package/lib/commonjs/animation/spring/Spring.d.ts +0 -65
- package/lib/commonjs/animation/spring/Spring.js +0 -77
- package/lib/commonjs/animation/spring/Spring.js.map +0 -1
- package/lib/commonjs/animation/spring/functions/index.d.ts +0 -1
- package/lib/commonjs/animation/spring/functions/index.js +0 -14
- package/lib/commonjs/animation/spring/functions/index.js.map +0 -1
- package/lib/commonjs/animation/spring/functions/spring.d.ts +0 -10
- package/lib/commonjs/animation/spring/functions/spring.js +0 -94
- package/lib/commonjs/animation/spring/functions/spring.js.map +0 -1
- package/lib/commonjs/animation/spring/index.d.ts +0 -3
- package/lib/commonjs/animation/spring/index.js +0 -30
- package/lib/commonjs/animation/spring/index.js.map +0 -1
- package/lib/commonjs/animation/spring/runSpring.d.ts +0 -19
- package/lib/commonjs/animation/spring/runSpring.js +0 -35
- package/lib/commonjs/animation/spring/runSpring.js.map +0 -1
- package/lib/commonjs/animation/spring/types.d.ts +0 -6
- package/lib/commonjs/animation/spring/types.js +0 -2
- package/lib/commonjs/animation/spring/types.js.map +0 -1
- package/lib/commonjs/animation/spring/useSpring.d.ts +0 -13
- package/lib/commonjs/animation/spring/useSpring.js +0 -27
- package/lib/commonjs/animation/spring/useSpring.js.map +0 -1
- package/lib/commonjs/animation/timing/Easing.d.ts +0 -19
- package/lib/commonjs/animation/timing/Easing.js +0 -108
- package/lib/commonjs/animation/timing/Easing.js.map +0 -1
- package/lib/commonjs/animation/timing/createTiming.d.ts +0 -17
- package/lib/commonjs/animation/timing/createTiming.js +0 -55
- package/lib/commonjs/animation/timing/createTiming.js.map +0 -1
- package/lib/commonjs/animation/timing/functions/bezier.d.ts +0 -1
- package/lib/commonjs/animation/timing/functions/bezier.js +0 -147
- package/lib/commonjs/animation/timing/functions/bezier.js.map +0 -1
- package/lib/commonjs/animation/timing/functions/getResolvedParams.d.ts +0 -7
- package/lib/commonjs/animation/timing/functions/getResolvedParams.js +0 -52
- package/lib/commonjs/animation/timing/functions/getResolvedParams.js.map +0 -1
- package/lib/commonjs/animation/timing/functions/index.d.ts +0 -4
- package/lib/commonjs/animation/timing/functions/index.js +0 -54
- package/lib/commonjs/animation/timing/functions/index.js.map +0 -1
- package/lib/commonjs/animation/timing/functions/timing.d.ts +0 -17
- package/lib/commonjs/animation/timing/functions/timing.js +0 -50
- package/lib/commonjs/animation/timing/functions/timing.js.map +0 -1
- package/lib/commonjs/animation/timing/functions/types.d.ts +0 -7
- package/lib/commonjs/animation/timing/functions/types.js +0 -2
- package/lib/commonjs/animation/timing/functions/types.js.map +0 -1
- package/lib/commonjs/animation/timing/index.d.ts +0 -4
- package/lib/commonjs/animation/timing/index.js +0 -38
- package/lib/commonjs/animation/timing/index.js.map +0 -1
- package/lib/commonjs/animation/timing/runTiming.d.ts +0 -19
- package/lib/commonjs/animation/timing/runTiming.js +0 -36
- package/lib/commonjs/animation/timing/runTiming.js.map +0 -1
- package/lib/commonjs/animation/timing/useLoop.d.ts +0 -11
- package/lib/commonjs/animation/timing/useLoop.js +0 -25
- package/lib/commonjs/animation/timing/useLoop.js.map +0 -1
- package/lib/commonjs/animation/timing/useTiming.d.ts +0 -13
- package/lib/commonjs/animation/timing/useTiming.js +0 -67
- package/lib/commonjs/animation/timing/useTiming.js.map +0 -1
- package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.d.ts +0 -8
- package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js +0 -28
- package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js.map +0 -1
- package/lib/commonjs/renderer/DependencyManager.d.ts +0 -46
- package/lib/commonjs/renderer/DependencyManager.js +0 -185
- package/lib/commonjs/renderer/DependencyManager.js.map +0 -1
- package/lib/commonjs/renderer/components/Drawing.d.ts +0 -8
- package/lib/commonjs/renderer/components/Drawing.js +0 -22
- package/lib/commonjs/renderer/components/Drawing.js.map +0 -1
- package/lib/commonjs/specs/SkiaDrawViewNativeComponent.d.ts +0 -8
- package/lib/commonjs/specs/SkiaDrawViewNativeComponent.js +0 -16
- package/lib/commonjs/specs/SkiaDrawViewNativeComponent.js.map +0 -1
- package/lib/commonjs/values/api.d.ts +0 -26
- package/lib/commonjs/values/api.js +0 -55
- package/lib/commonjs/values/api.js.map +0 -1
- package/lib/commonjs/values/api.web.d.ts +0 -2
- package/lib/commonjs/values/api.web.js +0 -18
- package/lib/commonjs/values/api.web.js.map +0 -1
- package/lib/commonjs/values/hooks/index.d.ts +0 -4
- package/lib/commonjs/values/hooks/index.js +0 -58
- package/lib/commonjs/values/hooks/index.js.map +0 -1
- package/lib/commonjs/values/hooks/useClockValue.d.ts +0 -9
- package/lib/commonjs/values/hooks/useClockValue.js +0 -30
- package/lib/commonjs/values/hooks/useClockValue.js.map +0 -1
- package/lib/commonjs/values/hooks/useComputedValue.d.ts +0 -11
- package/lib/commonjs/values/hooks/useComputedValue.js +0 -32
- package/lib/commonjs/values/hooks/useComputedValue.js.map +0 -1
- package/lib/commonjs/values/hooks/useValue.d.ts +0 -10
- package/lib/commonjs/values/hooks/useValue.js +0 -26
- package/lib/commonjs/values/hooks/useValue.js.map +0 -1
- package/lib/commonjs/values/hooks/useValueEffect.d.ts +0 -10
- package/lib/commonjs/values/hooks/useValueEffect.js +0 -25
- package/lib/commonjs/values/hooks/useValueEffect.js.map +0 -1
- package/lib/commonjs/values/index.d.ts +0 -4
- package/lib/commonjs/values/index.js +0 -58
- package/lib/commonjs/values/index.js.map +0 -1
- package/lib/commonjs/values/selector.d.ts +0 -14
- package/lib/commonjs/values/selector.js +0 -24
- package/lib/commonjs/values/selector.js.map +0 -1
- package/lib/commonjs/values/types.d.ts +0 -63
- package/lib/commonjs/values/types.js +0 -2
- package/lib/commonjs/values/types.js.map +0 -1
- package/lib/commonjs/values/web/RNSkAnimation.d.ts +0 -9
- package/lib/commonjs/values/web/RNSkAnimation.js +0 -46
- package/lib/commonjs/values/web/RNSkAnimation.js.map +0 -1
- package/lib/commonjs/values/web/RNSkClockValue.d.ts +0 -13
- package/lib/commonjs/values/web/RNSkClockValue.js +0 -75
- package/lib/commonjs/values/web/RNSkClockValue.js.map +0 -1
- package/lib/commonjs/values/web/RNSkComputedValue.d.ts +0 -10
- package/lib/commonjs/values/web/RNSkComputedValue.js +0 -59
- package/lib/commonjs/values/web/RNSkComputedValue.js.map +0 -1
- package/lib/commonjs/values/web/RNSkReadonlyValue.d.ts +0 -12
- package/lib/commonjs/values/web/RNSkReadonlyValue.js +0 -51
- package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +0 -1
- package/lib/commonjs/values/web/RNSkValue.d.ts +0 -14
- package/lib/commonjs/values/web/RNSkValue.js +0 -73
- package/lib/commonjs/values/web/RNSkValue.js.map +0 -1
- package/lib/commonjs/values/web/api.d.ts +0 -2
- package/lib/commonjs/values/web/api.js +0 -31
- package/lib/commonjs/values/web/api.js.map +0 -1
- package/lib/commonjs/values/web/index.d.ts +0 -1
- package/lib/commonjs/values/web/index.js +0 -19
- package/lib/commonjs/values/web/index.js.map +0 -1
- package/lib/commonjs/views/SkiaView.d.ts +0 -35
- package/lib/commonjs/views/SkiaView.js +0 -139
- package/lib/commonjs/views/SkiaView.js.map +0 -1
- package/lib/commonjs/views/SkiaView.web.d.ts +0 -7
- package/lib/commonjs/views/SkiaView.web.js +0 -30
- package/lib/commonjs/views/SkiaView.web.js.map +0 -1
- package/lib/commonjs/views/useDrawCallback.d.ts +0 -8
- package/lib/commonjs/views/useDrawCallback.js +0 -23
- package/lib/commonjs/views/useDrawCallback.js.map +0 -1
- package/lib/module/animation/decay/decay.d.ts +0 -2
- package/lib/module/animation/decay/decay.js +0 -33
- package/lib/module/animation/decay/decay.js.map +0 -1
- package/lib/module/animation/decay/index.d.ts +0 -1
- package/lib/module/animation/decay/index.js +0 -2
- package/lib/module/animation/decay/index.js.map +0 -1
- package/lib/module/animation/decay/runDecay.d.ts +0 -10
- package/lib/module/animation/decay/runDecay.js +0 -38
- package/lib/module/animation/decay/runDecay.js.map +0 -1
- package/lib/module/animation/decay/types.d.ts +0 -21
- package/lib/module/animation/decay/types.js +0 -2
- package/lib/module/animation/decay/types.js.map +0 -1
- package/lib/module/animation/spring/Spring.d.ts +0 -65
- package/lib/module/animation/spring/Spring.js +0 -69
- package/lib/module/animation/spring/Spring.js.map +0 -1
- package/lib/module/animation/spring/functions/index.d.ts +0 -1
- package/lib/module/animation/spring/functions/index.js +0 -2
- package/lib/module/animation/spring/functions/index.js.map +0 -1
- package/lib/module/animation/spring/functions/spring.d.ts +0 -10
- package/lib/module/animation/spring/functions/spring.js +0 -85
- package/lib/module/animation/spring/functions/spring.js.map +0 -1
- package/lib/module/animation/spring/index.d.ts +0 -3
- package/lib/module/animation/spring/index.js +0 -4
- package/lib/module/animation/spring/index.js.map +0 -1
- package/lib/module/animation/spring/runSpring.d.ts +0 -19
- package/lib/module/animation/spring/runSpring.js +0 -24
- package/lib/module/animation/spring/runSpring.js.map +0 -1
- package/lib/module/animation/spring/types.d.ts +0 -6
- package/lib/module/animation/spring/types.js +0 -2
- package/lib/module/animation/spring/types.js.map +0 -1
- package/lib/module/animation/spring/useSpring.d.ts +0 -13
- package/lib/module/animation/spring/useSpring.js +0 -16
- package/lib/module/animation/spring/useSpring.js.map +0 -1
- package/lib/module/animation/timing/Easing.d.ts +0 -19
- package/lib/module/animation/timing/Easing.js +0 -98
- package/lib/module/animation/timing/Easing.js.map +0 -1
- package/lib/module/animation/timing/createTiming.d.ts +0 -17
- package/lib/module/animation/timing/createTiming.js +0 -49
- package/lib/module/animation/timing/createTiming.js.map +0 -1
- package/lib/module/animation/timing/functions/bezier.d.ts +0 -1
- package/lib/module/animation/timing/functions/bezier.js +0 -141
- package/lib/module/animation/timing/functions/bezier.js.map +0 -1
- package/lib/module/animation/timing/functions/getResolvedParams.d.ts +0 -7
- package/lib/module/animation/timing/functions/getResolvedParams.js +0 -48
- package/lib/module/animation/timing/functions/getResolvedParams.js.map +0 -1
- package/lib/module/animation/timing/functions/index.d.ts +0 -4
- package/lib/module/animation/timing/functions/index.js +0 -5
- package/lib/module/animation/timing/functions/index.js.map +0 -1
- package/lib/module/animation/timing/functions/timing.d.ts +0 -17
- package/lib/module/animation/timing/functions/timing.js +0 -41
- package/lib/module/animation/timing/functions/timing.js.map +0 -1
- package/lib/module/animation/timing/functions/types.d.ts +0 -7
- package/lib/module/animation/timing/functions/types.js +0 -2
- package/lib/module/animation/timing/functions/types.js.map +0 -1
- package/lib/module/animation/timing/index.d.ts +0 -4
- package/lib/module/animation/timing/index.js +0 -5
- package/lib/module/animation/timing/index.js.map +0 -1
- package/lib/module/animation/timing/runTiming.d.ts +0 -19
- package/lib/module/animation/timing/runTiming.js +0 -26
- package/lib/module/animation/timing/runTiming.js.map +0 -1
- package/lib/module/animation/timing/useLoop.d.ts +0 -11
- package/lib/module/animation/timing/useLoop.js +0 -16
- package/lib/module/animation/timing/useLoop.js.map +0 -1
- package/lib/module/animation/timing/useTiming.d.ts +0 -13
- package/lib/module/animation/timing/useTiming.js +0 -57
- package/lib/module/animation/timing/useTiming.js.map +0 -1
- package/lib/module/dom/nodes/drawings/CustomDrawingNode.d.ts +0 -8
- package/lib/module/dom/nodes/drawings/CustomDrawingNode.js +0 -17
- package/lib/module/dom/nodes/drawings/CustomDrawingNode.js.map +0 -1
- package/lib/module/renderer/DependencyManager.d.ts +0 -46
- package/lib/module/renderer/DependencyManager.js +0 -174
- package/lib/module/renderer/DependencyManager.js.map +0 -1
- package/lib/module/renderer/components/Drawing.d.ts +0 -8
- package/lib/module/renderer/components/Drawing.js +0 -11
- package/lib/module/renderer/components/Drawing.js.map +0 -1
- package/lib/module/specs/SkiaDrawViewNativeComponent.d.ts +0 -8
- package/lib/module/specs/SkiaDrawViewNativeComponent.js +0 -4
- package/lib/module/specs/SkiaDrawViewNativeComponent.js.map +0 -1
- package/lib/module/values/api.d.ts +0 -26
- package/lib/module/values/api.js +0 -48
- package/lib/module/values/api.js.map +0 -1
- package/lib/module/values/api.web.d.ts +0 -2
- package/lib/module/values/api.web.js +0 -7
- package/lib/module/values/api.web.js.map +0 -1
- package/lib/module/values/hooks/index.d.ts +0 -4
- package/lib/module/values/hooks/index.js +0 -5
- package/lib/module/values/hooks/index.js.map +0 -1
- package/lib/module/values/hooks/useClockValue.d.ts +0 -9
- package/lib/module/values/hooks/useClockValue.js +0 -20
- package/lib/module/values/hooks/useClockValue.js.map +0 -1
- package/lib/module/values/hooks/useComputedValue.d.ts +0 -11
- package/lib/module/values/hooks/useComputedValue.js +0 -21
- package/lib/module/values/hooks/useComputedValue.js.map +0 -1
- package/lib/module/values/hooks/useValue.d.ts +0 -10
- package/lib/module/values/hooks/useValue.js +0 -16
- package/lib/module/values/hooks/useValue.js.map +0 -1
- package/lib/module/values/hooks/useValueEffect.d.ts +0 -10
- package/lib/module/values/hooks/useValueEffect.js +0 -16
- package/lib/module/values/hooks/useValueEffect.js.map +0 -1
- package/lib/module/values/index.d.ts +0 -4
- package/lib/module/values/index.js +0 -5
- package/lib/module/values/index.js.map +0 -1
- package/lib/module/values/selector.d.ts +0 -14
- package/lib/module/values/selector.js +0 -15
- package/lib/module/values/selector.js.map +0 -1
- package/lib/module/values/types.d.ts +0 -63
- package/lib/module/values/types.js +0 -2
- package/lib/module/values/types.js.map +0 -1
- package/lib/module/values/web/RNSkAnimation.d.ts +0 -9
- package/lib/module/values/web/RNSkAnimation.js +0 -36
- package/lib/module/values/web/RNSkAnimation.js.map +0 -1
- package/lib/module/values/web/RNSkClockValue.d.ts +0 -13
- package/lib/module/values/web/RNSkClockValue.js +0 -65
- package/lib/module/values/web/RNSkClockValue.js.map +0 -1
- package/lib/module/values/web/RNSkComputedValue.d.ts +0 -10
- package/lib/module/values/web/RNSkComputedValue.js +0 -49
- package/lib/module/values/web/RNSkComputedValue.js.map +0 -1
- package/lib/module/values/web/RNSkReadonlyValue.d.ts +0 -12
- package/lib/module/values/web/RNSkReadonlyValue.js +0 -42
- package/lib/module/values/web/RNSkReadonlyValue.js.map +0 -1
- package/lib/module/values/web/RNSkValue.d.ts +0 -14
- package/lib/module/values/web/RNSkValue.js +0 -63
- package/lib/module/values/web/RNSkValue.js.map +0 -1
- package/lib/module/values/web/api.d.ts +0 -2
- package/lib/module/values/web/api.js +0 -19
- package/lib/module/values/web/api.js.map +0 -1
- package/lib/module/values/web/index.d.ts +0 -1
- package/lib/module/values/web/index.js +0 -2
- package/lib/module/values/web/index.js.map +0 -1
- package/lib/module/views/SkiaView.d.ts +0 -35
- package/lib/module/views/SkiaView.js +0 -119
- package/lib/module/views/SkiaView.js.map +0 -1
- package/lib/module/views/SkiaView.web.d.ts +0 -7
- package/lib/module/views/SkiaView.web.js +0 -20
- package/lib/module/views/SkiaView.web.js.map +0 -1
- package/lib/module/views/useDrawCallback.d.ts +0 -8
- package/lib/module/views/useDrawCallback.js +0 -14
- package/lib/module/views/useDrawCallback.js.map +0 -1
- package/lib/typescript/src/animation/decay/decay.d.ts +0 -2
- package/lib/typescript/src/animation/decay/index.d.ts +0 -1
- package/lib/typescript/src/animation/decay/runDecay.d.ts +0 -10
- package/lib/typescript/src/animation/decay/types.d.ts +0 -21
- package/lib/typescript/src/animation/spring/Spring.d.ts +0 -65
- package/lib/typescript/src/animation/spring/functions/index.d.ts +0 -1
- package/lib/typescript/src/animation/spring/functions/spring.d.ts +0 -10
- package/lib/typescript/src/animation/spring/index.d.ts +0 -3
- package/lib/typescript/src/animation/spring/runSpring.d.ts +0 -19
- package/lib/typescript/src/animation/spring/types.d.ts +0 -6
- package/lib/typescript/src/animation/spring/useSpring.d.ts +0 -13
- package/lib/typescript/src/animation/timing/Easing.d.ts +0 -19
- package/lib/typescript/src/animation/timing/createTiming.d.ts +0 -17
- package/lib/typescript/src/animation/timing/functions/bezier.d.ts +0 -1
- package/lib/typescript/src/animation/timing/functions/getResolvedParams.d.ts +0 -7
- package/lib/typescript/src/animation/timing/functions/index.d.ts +0 -4
- package/lib/typescript/src/animation/timing/functions/timing.d.ts +0 -17
- package/lib/typescript/src/animation/timing/functions/types.d.ts +0 -7
- package/lib/typescript/src/animation/timing/index.d.ts +0 -4
- package/lib/typescript/src/animation/timing/runTiming.d.ts +0 -19
- package/lib/typescript/src/animation/timing/useLoop.d.ts +0 -11
- package/lib/typescript/src/animation/timing/useTiming.d.ts +0 -13
- package/lib/typescript/src/dom/nodes/drawings/CustomDrawingNode.d.ts +0 -8
- package/lib/typescript/src/renderer/DependencyManager.d.ts +0 -46
- package/lib/typescript/src/renderer/components/Drawing.d.ts +0 -8
- package/lib/typescript/src/specs/SkiaDrawViewNativeComponent.d.ts +0 -8
- package/lib/typescript/src/values/api.d.ts +0 -26
- package/lib/typescript/src/values/api.web.d.ts +0 -2
- package/lib/typescript/src/values/hooks/index.d.ts +0 -4
- package/lib/typescript/src/values/hooks/useClockValue.d.ts +0 -9
- package/lib/typescript/src/values/hooks/useComputedValue.d.ts +0 -11
- package/lib/typescript/src/values/hooks/useValue.d.ts +0 -10
- package/lib/typescript/src/values/hooks/useValueEffect.d.ts +0 -10
- package/lib/typescript/src/values/index.d.ts +0 -4
- package/lib/typescript/src/values/selector.d.ts +0 -14
- package/lib/typescript/src/values/types.d.ts +0 -63
- package/lib/typescript/src/values/web/RNSkAnimation.d.ts +0 -9
- package/lib/typescript/src/values/web/RNSkClockValue.d.ts +0 -13
- package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +0 -10
- package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +0 -12
- package/lib/typescript/src/values/web/RNSkValue.d.ts +0 -14
- package/lib/typescript/src/values/web/api.d.ts +0 -2
- package/lib/typescript/src/values/web/index.d.ts +0 -1
- package/lib/typescript/src/views/SkiaView.d.ts +0 -35
- package/lib/typescript/src/views/SkiaView.web.d.ts +0 -7
- package/lib/typescript/src/views/useDrawCallback.d.ts +0 -8
- package/src/animation/decay/decay.ts +0 -35
- package/src/animation/decay/index.ts +0 -1
- package/src/animation/decay/runDecay.ts +0 -40
- package/src/animation/decay/types.ts +0 -24
- package/src/animation/spring/Spring.ts +0 -61
- package/src/animation/spring/functions/index.ts +0 -1
- package/src/animation/spring/functions/spring.ts +0 -86
- package/src/animation/spring/index.ts +0 -3
- package/src/animation/spring/runSpring.ts +0 -40
- package/src/animation/spring/types.ts +0 -6
- package/src/animation/spring/useSpring.ts +0 -31
- package/src/animation/timing/Easing.ts +0 -102
- package/src/animation/timing/createTiming.ts +0 -62
- package/src/animation/timing/functions/bezier.ts +0 -165
- package/src/animation/timing/functions/getResolvedParams.ts +0 -50
- package/src/animation/timing/functions/index.ts +0 -4
- package/src/animation/timing/functions/timing.ts +0 -44
- package/src/animation/timing/functions/types.ts +0 -8
- package/src/animation/timing/index.ts +0 -4
- package/src/animation/timing/runTiming.ts +0 -36
- package/src/animation/timing/useLoop.ts +0 -21
- package/src/animation/timing/useTiming.ts +0 -71
- package/src/dom/nodes/drawings/CustomDrawingNode.ts +0 -21
- package/src/renderer/DependencyManager.tsx +0 -196
- package/src/renderer/components/Drawing.tsx +0 -12
- package/src/specs/SkiaDrawViewNativeComponent.ts +0 -10
- package/src/values/api.ts +0 -61
- package/src/values/api.web.ts +0 -5
- package/src/values/hooks/index.ts +0 -4
- package/src/values/hooks/useClockValue.ts +0 -21
- package/src/values/hooks/useComputedValue.ts +0 -24
- package/src/values/hooks/useValue.ts +0 -17
- package/src/values/hooks/useValueEffect.ts +0 -18
- package/src/values/index.ts +0 -4
- package/src/values/selector.ts +0 -24
- package/src/values/types.ts +0 -73
- package/src/values/web/RNSkAnimation.ts +0 -33
- package/src/values/web/RNSkClockValue.ts +0 -58
- package/src/values/web/RNSkComputedValue.ts +0 -49
- package/src/values/web/RNSkReadonlyValue.ts +0 -38
- package/src/values/web/RNSkValue.ts +0 -57
- package/src/values/web/api.ts +0 -33
- package/src/values/web/index.ts +0 -1
- package/src/views/SkiaView.tsx +0 -111
- package/src/views/SkiaView.web.tsx +0 -22
- package/src/views/useDrawCallback.ts +0 -19
@@ -1,140 +0,0 @@
|
|
1
|
-
|
2
|
-
#pragma once
|
3
|
-
|
4
|
-
#include "RNSkPlatformContext.h"
|
5
|
-
#include "RNSkReadonlyValue.h"
|
6
|
-
#include <jsi/jsi.h>
|
7
|
-
|
8
|
-
#include <algorithm>
|
9
|
-
#include <chrono>
|
10
|
-
#include <functional>
|
11
|
-
#include <memory>
|
12
|
-
|
13
|
-
namespace RNSkia {
|
14
|
-
namespace jsi = facebook::jsi;
|
15
|
-
/**
|
16
|
-
Implements a readonly Value that is updated every time the screen is redrawn.
|
17
|
-
Its value will be the number of milliseconds since the animation value was
|
18
|
-
started.
|
19
|
-
*/
|
20
|
-
class RNSkClockValue : public RNSkReadonlyValue {
|
21
|
-
enum RNSkClockState { NotStarted = 0, Running = 1, Stopped = 2 };
|
22
|
-
|
23
|
-
public:
|
24
|
-
RNSkClockValue(std::shared_ptr<RNSkPlatformContext> platformContext,
|
25
|
-
size_t identifier, jsi::Runtime &runtime,
|
26
|
-
const jsi::Value *arguments, size_t count)
|
27
|
-
: RNSkReadonlyValue(platformContext), _runtime(runtime),
|
28
|
-
_identifier(identifier) {
|
29
|
-
// Start by updating to zero (start value)
|
30
|
-
update(_runtime, static_cast<double>(0));
|
31
|
-
}
|
32
|
-
|
33
|
-
virtual ~RNSkClockValue() { stopClock(); }
|
34
|
-
|
35
|
-
JSI_HOST_FUNCTION(start) {
|
36
|
-
startClock();
|
37
|
-
return jsi::Value::undefined();
|
38
|
-
}
|
39
|
-
|
40
|
-
JSI_HOST_FUNCTION(stop) {
|
41
|
-
stopClock();
|
42
|
-
return jsi::Value::undefined();
|
43
|
-
}
|
44
|
-
|
45
|
-
JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(RNSkReadonlyValue, addListener),
|
46
|
-
JSI_EXPORT_FUNC(RNSkClockValue, start),
|
47
|
-
JSI_EXPORT_FUNC(RNSkClockValue, stop))
|
48
|
-
|
49
|
-
virtual void startClock() {
|
50
|
-
if (_state == RNSkClockState::Running) {
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
|
54
|
-
auto now = std::chrono::high_resolution_clock::now();
|
55
|
-
if (_state == RNSkClockState::NotStarted) {
|
56
|
-
_start = now;
|
57
|
-
_stop = now;
|
58
|
-
}
|
59
|
-
|
60
|
-
// Subtract pause time from start
|
61
|
-
auto timeSinceStop = now - _stop;
|
62
|
-
_start += timeSinceStop;
|
63
|
-
|
64
|
-
_state = RNSkClockState::Running;
|
65
|
-
|
66
|
-
getContext()->beginDrawLoop(
|
67
|
-
_identifier, [weakSelf = weak_from_this()](bool invalidated) {
|
68
|
-
auto self = weakSelf.lock();
|
69
|
-
if (self) {
|
70
|
-
std::dynamic_pointer_cast<RNSkClockValue>(self)->notifyUpdate(
|
71
|
-
invalidated);
|
72
|
-
}
|
73
|
-
});
|
74
|
-
}
|
75
|
-
|
76
|
-
virtual void stopClock() {
|
77
|
-
if (_state == RNSkClockState::Running) {
|
78
|
-
_state = RNSkClockState::Stopped;
|
79
|
-
_stop = std::chrono::high_resolution_clock::now();
|
80
|
-
getContext()->endDrawLoop(_identifier);
|
81
|
-
}
|
82
|
-
}
|
83
|
-
|
84
|
-
protected:
|
85
|
-
virtual void tick(jsi::Runtime &runtime, const jsi::Value &value) {
|
86
|
-
RNSkClockValue::update(runtime, value);
|
87
|
-
}
|
88
|
-
|
89
|
-
void notifyUpdate(bool invalidated) {
|
90
|
-
if (invalidated) {
|
91
|
-
stopClock();
|
92
|
-
return;
|
93
|
-
}
|
94
|
-
|
95
|
-
if (_state != RNSkClockState::Running) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
|
99
|
-
// Ensure we call any updates from the draw loop on the javascript thread
|
100
|
-
getContext()->runOnJavascriptThread(
|
101
|
-
// To ensure that this shared_ptr instance is not deallocated before we
|
102
|
-
// are done running the update lambda we pass a shared from this to the
|
103
|
-
// lambda scope.
|
104
|
-
[weakSelf = weak_from_this()]() {
|
105
|
-
auto self = weakSelf.lock();
|
106
|
-
if (self) {
|
107
|
-
auto selfClockValue =
|
108
|
-
std::dynamic_pointer_cast<RNSkClockValue>(self);
|
109
|
-
if (selfClockValue->getState() == RNSkClockState::Running) {
|
110
|
-
auto now = std::chrono::high_resolution_clock::now();
|
111
|
-
auto deltaFromStart =
|
112
|
-
std::chrono::duration_cast<std::chrono::milliseconds>(
|
113
|
-
now - selfClockValue->_start)
|
114
|
-
.count();
|
115
|
-
selfClockValue->tick(selfClockValue->_runtime,
|
116
|
-
static_cast<double>(deltaFromStart));
|
117
|
-
}
|
118
|
-
}
|
119
|
-
});
|
120
|
-
}
|
121
|
-
|
122
|
-
/**
|
123
|
-
Returns the draw identifier for the clock. This identifier is used
|
124
|
-
for the draw loop.
|
125
|
-
*/
|
126
|
-
size_t getIdentifier() { return _identifier; }
|
127
|
-
|
128
|
-
/**
|
129
|
-
Returns the state of the clock
|
130
|
-
*/
|
131
|
-
RNSkClockState getState() { return _state; }
|
132
|
-
|
133
|
-
jsi::Runtime &_runtime;
|
134
|
-
size_t _identifier;
|
135
|
-
std::chrono::time_point<std::chrono::steady_clock> _start;
|
136
|
-
std::chrono::time_point<std::chrono::steady_clock> _stop;
|
137
|
-
std::atomic<RNSkClockState> _state = {RNSkClockState::NotStarted};
|
138
|
-
};
|
139
|
-
|
140
|
-
} // namespace RNSkia
|
@@ -1,104 +0,0 @@
|
|
1
|
-
|
2
|
-
#pragma once
|
3
|
-
|
4
|
-
#include "RNSkPlatformContext.h"
|
5
|
-
#include "RNSkReadonlyValue.h"
|
6
|
-
#include <jsi/jsi.h>
|
7
|
-
|
8
|
-
#include <algorithm>
|
9
|
-
#include <chrono>
|
10
|
-
#include <functional>
|
11
|
-
#include <memory>
|
12
|
-
#include <vector>
|
13
|
-
|
14
|
-
namespace RNSkia {
|
15
|
-
namespace jsi = facebook::jsi;
|
16
|
-
|
17
|
-
/**
|
18
|
-
Creates a readonly value that depends on one or more other values. The derived
|
19
|
-
value has a callback function that is used to calculate the new value when any
|
20
|
-
of the dependencies change.
|
21
|
-
*/
|
22
|
-
class RNSkComputedValue : public RNSkReadonlyValue {
|
23
|
-
public:
|
24
|
-
RNSkComputedValue(std::shared_ptr<RNSkPlatformContext> platformContext,
|
25
|
-
jsi::Runtime &runtime, const jsi::Value *arguments,
|
26
|
-
size_t count)
|
27
|
-
: RNSkReadonlyValue(platformContext) {
|
28
|
-
// Verify input
|
29
|
-
if (!arguments[0].isObject() ||
|
30
|
-
!arguments[0].asObject(runtime).isFunction(runtime)) {
|
31
|
-
throw jsi::JSError(runtime,
|
32
|
-
"Expected callback function as first parameter");
|
33
|
-
}
|
34
|
-
|
35
|
-
if (!arguments[1].isObject() ||
|
36
|
-
!arguments[1].asObject(runtime).isArray(runtime)) {
|
37
|
-
throw jsi::JSError(runtime,
|
38
|
-
"Expected array of dependencies as second parameter");
|
39
|
-
}
|
40
|
-
|
41
|
-
// Get callback for calculating result
|
42
|
-
_callback = std::make_shared<jsi::Function>(
|
43
|
-
arguments[0].asObject(runtime).asFunction(runtime));
|
44
|
-
}
|
45
|
-
|
46
|
-
void invalidate() override {
|
47
|
-
RNSkReadonlyValue::invalidate();
|
48
|
-
|
49
|
-
// Unregister listeners
|
50
|
-
for (const auto &unsubscribe : _unsubscribers) {
|
51
|
-
unsubscribe();
|
52
|
-
}
|
53
|
-
_unsubscribers.clear();
|
54
|
-
}
|
55
|
-
|
56
|
-
void initializeDependencies(jsi::Runtime &runtime,
|
57
|
-
const jsi::Value *arguments, size_t count) {
|
58
|
-
// Save dependencies
|
59
|
-
std::vector<std::shared_ptr<RNSkReadonlyValue>> dependencies;
|
60
|
-
|
61
|
-
// Ensure that all dependencies are Values
|
62
|
-
auto deps = arguments[1].asObject(runtime).asArray(runtime);
|
63
|
-
const std::size_t size = deps.size(runtime);
|
64
|
-
dependencies.reserve(size);
|
65
|
-
for (size_t i = 0; i < size; ++i) {
|
66
|
-
auto dep = deps.getValueAtIndex(runtime, i);
|
67
|
-
if (!dep.isObject() || !dep.asObject(runtime).isHostObject(runtime)) {
|
68
|
-
continue;
|
69
|
-
}
|
70
|
-
auto value =
|
71
|
-
dep.asObject(runtime).asHostObject<RNSkReadonlyValue>(runtime);
|
72
|
-
if (value == nullptr) {
|
73
|
-
continue;
|
74
|
-
}
|
75
|
-
dependencies.push_back(value);
|
76
|
-
}
|
77
|
-
|
78
|
-
// register change handler on dependencies
|
79
|
-
_unsubscribers.reserve(_unsubscribers.size() + size);
|
80
|
-
for (const auto &dep : dependencies) {
|
81
|
-
_unsubscribers.push_back(dep->addListener([weakSelf = weak_from_this()](
|
82
|
-
jsi::Runtime &runtime) {
|
83
|
-
auto self = weakSelf.lock();
|
84
|
-
if (self) {
|
85
|
-
auto selfAsThis = std::dynamic_pointer_cast<RNSkComputedValue>(self);
|
86
|
-
selfAsThis->dependencyUpdated(runtime);
|
87
|
-
}
|
88
|
-
}));
|
89
|
-
}
|
90
|
-
|
91
|
-
// Set initial value
|
92
|
-
dependencyUpdated(runtime);
|
93
|
-
}
|
94
|
-
|
95
|
-
private:
|
96
|
-
void dependencyUpdated(jsi::Runtime &runtime) {
|
97
|
-
// Calculate new value
|
98
|
-
update(runtime, _callback->call(runtime, nullptr, 0));
|
99
|
-
}
|
100
|
-
|
101
|
-
std::shared_ptr<jsi::Function> _callback;
|
102
|
-
std::vector<std::function<void()>> _unsubscribers;
|
103
|
-
};
|
104
|
-
} // namespace RNSkia
|
@@ -1,166 +0,0 @@
|
|
1
|
-
|
2
|
-
#pragma once
|
3
|
-
|
4
|
-
#include <algorithm>
|
5
|
-
#include <chrono>
|
6
|
-
#include <functional>
|
7
|
-
#include <memory>
|
8
|
-
#include <unordered_map>
|
9
|
-
#include <utility>
|
10
|
-
|
11
|
-
#include <jsi/jsi.h>
|
12
|
-
|
13
|
-
#include "JsiSkHostObjects.h"
|
14
|
-
#include "JsiValue.h"
|
15
|
-
#include "RNSkPlatformContext.h"
|
16
|
-
|
17
|
-
namespace RNSkia {
|
18
|
-
namespace jsi = facebook::jsi;
|
19
|
-
|
20
|
-
/**
|
21
|
-
Implements a readonly Value that is updated every time the screen is redrawn.
|
22
|
-
Its value will be the number of milliseconds since the animation value was
|
23
|
-
started.
|
24
|
-
*/
|
25
|
-
class RNSkReadonlyValue
|
26
|
-
: public JsiSkHostObject,
|
27
|
-
public std::enable_shared_from_this<RNSkReadonlyValue> {
|
28
|
-
public:
|
29
|
-
explicit RNSkReadonlyValue(
|
30
|
-
std::shared_ptr<RNSkPlatformContext> platformContext)
|
31
|
-
: JsiSkHostObject(platformContext),
|
32
|
-
_valueHolder(std::make_shared<RNJsi::JsiValue>()) {}
|
33
|
-
|
34
|
-
virtual ~RNSkReadonlyValue() { invalidate(); }
|
35
|
-
|
36
|
-
JSI_PROPERTY_GET(__typename__) {
|
37
|
-
return jsi::String::createFromUtf8(runtime, "RNSkValue");
|
38
|
-
}
|
39
|
-
|
40
|
-
JSI_PROPERTY_GET(current) { return getCurrent(runtime); }
|
41
|
-
|
42
|
-
JSI_EXPORT_PROPERTY_GETTERS(JSI_EXPORT_PROP_GET(RNSkReadonlyValue,
|
43
|
-
__typename__),
|
44
|
-
JSI_EXPORT_PROP_GET(RNSkReadonlyValue, current))
|
45
|
-
|
46
|
-
JSI_HOST_FUNCTION(addListener) {
|
47
|
-
if (!arguments[0].isObject() ||
|
48
|
-
!arguments[0].asObject(runtime).isFunction(runtime)) {
|
49
|
-
throw jsi::JSError(runtime, "Expected function as first parameter.");
|
50
|
-
return jsi::Value::undefined();
|
51
|
-
}
|
52
|
-
auto callback = std::make_shared<jsi::Function>(
|
53
|
-
arguments[0].asObject(runtime).asFunction(runtime));
|
54
|
-
|
55
|
-
auto unsubscribe =
|
56
|
-
addListener([weakSelf = weak_from_this(),
|
57
|
-
callback = std::move(callback)](jsi::Runtime &runtime) {
|
58
|
-
auto self = weakSelf.lock();
|
59
|
-
if (self) {
|
60
|
-
auto selfReadonlyValue =
|
61
|
-
std::dynamic_pointer_cast<RNSkReadonlyValue>(self);
|
62
|
-
callback->call(runtime, selfReadonlyValue->get_current(runtime));
|
63
|
-
}
|
64
|
-
});
|
65
|
-
|
66
|
-
return jsi::Function::createFromHostFunction(
|
67
|
-
runtime, jsi::PropNameID::forUtf8(runtime, "unsubscribe"), 0,
|
68
|
-
JSI_HOST_FUNCTION_LAMBDA {
|
69
|
-
unsubscribe();
|
70
|
-
return jsi::Value::undefined();
|
71
|
-
});
|
72
|
-
}
|
73
|
-
|
74
|
-
JSI_HOST_FUNCTION(dispose) {
|
75
|
-
invalidate();
|
76
|
-
return jsi::Value::undefined();
|
77
|
-
}
|
78
|
-
|
79
|
-
JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(RNSkReadonlyValue, addListener),
|
80
|
-
JSI_EXPORT_FUNC(RNSkReadonlyValue, dispose))
|
81
|
-
|
82
|
-
/**
|
83
|
-
* Adds a callback that will be called whenever the value changes
|
84
|
-
* @param cb Callback
|
85
|
-
* @return unsubscribe function
|
86
|
-
*/
|
87
|
-
const std::function<void()>
|
88
|
-
addListener(const std::function<void(jsi::Runtime &)> cb) {
|
89
|
-
std::lock_guard<std::mutex> lock(_mutex);
|
90
|
-
auto listenerId = _listenerId++;
|
91
|
-
_listeners.emplace(listenerId, cb);
|
92
|
-
return [weakSelf = weak_from_this(), listenerId]() {
|
93
|
-
auto self = weakSelf.lock();
|
94
|
-
if (self) {
|
95
|
-
self->removeListener(listenerId);
|
96
|
-
}
|
97
|
-
};
|
98
|
-
}
|
99
|
-
|
100
|
-
/**
|
101
|
-
Updates the underlying value and notifies all listeners about the change.
|
102
|
-
Listeners are only notified if the value was actually changed for numeric,
|
103
|
-
boolean and string values. For all other values listeners are notified
|
104
|
-
without comparison.
|
105
|
-
@param runtime Current JS Runtime
|
106
|
-
@param value Next value
|
107
|
-
*/
|
108
|
-
virtual void update(jsi::Runtime &runtime, const jsi::Value &value) {
|
109
|
-
auto equal = _valueHolder->operator==(RNJsi::JsiValue(runtime, value));
|
110
|
-
if (!equal) {
|
111
|
-
_valueHolder->setCurrent(runtime, value);
|
112
|
-
notifyListeners(runtime);
|
113
|
-
}
|
114
|
-
}
|
115
|
-
|
116
|
-
/**
|
117
|
-
Override to implement invalidation logic for the value. In the base class
|
118
|
-
this function clears all subscribers.
|
119
|
-
*/
|
120
|
-
virtual void invalidate() {
|
121
|
-
std::lock_guard<std::mutex> lock(_mutex);
|
122
|
-
_listeners.clear();
|
123
|
-
}
|
124
|
-
|
125
|
-
/**
|
126
|
-
Returns the current value as a jsi::Value
|
127
|
-
*/
|
128
|
-
jsi::Value getCurrent(jsi::Runtime &runtime) {
|
129
|
-
return _valueHolder->getAsJsiValue(runtime);
|
130
|
-
}
|
131
|
-
|
132
|
-
/**
|
133
|
-
Returns the underlying current value wrapper. This can be used to query the
|
134
|
-
holder for data type and get pointers to elements in the holder.
|
135
|
-
*/
|
136
|
-
std::shared_ptr<RNJsi::JsiValue> getCurrent() { return _valueHolder; }
|
137
|
-
|
138
|
-
protected:
|
139
|
-
/**
|
140
|
-
Notifies listeners about changes
|
141
|
-
@param runtime Current JS Runtime
|
142
|
-
*/
|
143
|
-
void notifyListeners(jsi::Runtime &runtime) {
|
144
|
-
std::lock_guard<std::mutex> lock(_mutex);
|
145
|
-
for (const auto &listener : _listeners) {
|
146
|
-
listener.second(runtime);
|
147
|
-
}
|
148
|
-
}
|
149
|
-
|
150
|
-
/**
|
151
|
-
Removes a subscription listeners
|
152
|
-
@param listenerId identifier of listener to remove
|
153
|
-
*/
|
154
|
-
void removeListener(long listenerId) {
|
155
|
-
std::lock_guard<std::mutex> lock(_mutex);
|
156
|
-
_listeners.erase(listenerId);
|
157
|
-
}
|
158
|
-
|
159
|
-
private:
|
160
|
-
std::shared_ptr<RNJsi::JsiValue> _valueHolder;
|
161
|
-
|
162
|
-
long _listenerId = 0;
|
163
|
-
std::unordered_map<long, std::function<void(jsi::Runtime &)>> _listeners;
|
164
|
-
std::mutex _mutex;
|
165
|
-
};
|
166
|
-
} // namespace RNSkia
|
@@ -1,116 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <functional>
|
4
|
-
#include <memory>
|
5
|
-
|
6
|
-
#include "JsiHostObject.h"
|
7
|
-
#include "RNSkAnimation.h"
|
8
|
-
#include "RNSkPlatformContext.h"
|
9
|
-
#include "RNSkReadonlyValue.h"
|
10
|
-
#include <jsi/jsi.h>
|
11
|
-
|
12
|
-
namespace RNSkia {
|
13
|
-
namespace jsi = facebook::jsi;
|
14
|
-
/**
|
15
|
-
Implements a Value that can be both read and written to. It inherits from the
|
16
|
-
ReadonlyValue with functionailty for subscribing to changes.
|
17
|
-
*/
|
18
|
-
class RNSkValue : public RNSkReadonlyValue {
|
19
|
-
public:
|
20
|
-
RNSkValue(std::shared_ptr<RNSkPlatformContext> platformContext,
|
21
|
-
jsi::Runtime &runtime, const jsi::Value *arguments, size_t count)
|
22
|
-
: RNSkReadonlyValue(platformContext) {
|
23
|
-
if (count == 1) {
|
24
|
-
update(runtime, arguments[0]);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
28
|
-
~RNSkValue() { unsubscribe(); }
|
29
|
-
|
30
|
-
JSI_PROPERTY_SET(current) {
|
31
|
-
// When someone else is setting the value we need to stop any ongoing
|
32
|
-
// animations
|
33
|
-
unsubscribe();
|
34
|
-
update(runtime, value);
|
35
|
-
}
|
36
|
-
|
37
|
-
JSI_PROPERTY_SET(animation) {
|
38
|
-
// Cancel existing animation
|
39
|
-
unsubscribe();
|
40
|
-
|
41
|
-
// Verify input
|
42
|
-
if (value.isObject() &&
|
43
|
-
value.asObject(runtime).isHostObject<RNSkAnimation>(runtime)) {
|
44
|
-
auto animation =
|
45
|
-
value.asObject(runtime).getHostObject<RNSkAnimation>(runtime);
|
46
|
-
if (animation != nullptr) {
|
47
|
-
// Now we have a value animation - let us connect and start
|
48
|
-
subscribe(animation);
|
49
|
-
}
|
50
|
-
} else if (value.isUndefined() || value.isNull()) {
|
51
|
-
// Do nothing - we've already unsubscribed
|
52
|
-
} else {
|
53
|
-
throw jsi::JSError(runtime, "Animation expected.");
|
54
|
-
}
|
55
|
-
}
|
56
|
-
|
57
|
-
JSI_PROPERTY_GET(animation) {
|
58
|
-
if (_animation != nullptr) {
|
59
|
-
return jsi::Object::createFromHostObject(runtime, _animation);
|
60
|
-
}
|
61
|
-
return jsi::Value::undefined();
|
62
|
-
}
|
63
|
-
|
64
|
-
JSI_EXPORT_PROPERTY_SETTERS(JSI_EXPORT_PROP_SET(RNSkValue, current),
|
65
|
-
JSI_EXPORT_PROP_SET(RNSkValue, animation))
|
66
|
-
|
67
|
-
JSI_EXPORT_PROPERTY_GETTERS(JSI_EXPORT_PROP_GET(RNSkReadonlyValue,
|
68
|
-
__typename__),
|
69
|
-
JSI_EXPORT_PROP_GET(RNSkValue, current),
|
70
|
-
JSI_EXPORT_PROP_GET(RNSkValue, animation))
|
71
|
-
|
72
|
-
JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(RNSkValue, addListener),
|
73
|
-
JSI_EXPORT_FUNC(RNSkReadonlyValue, dispose))
|
74
|
-
|
75
|
-
private:
|
76
|
-
void subscribe(std::shared_ptr<RNSkAnimation> animation) {
|
77
|
-
if (animation != nullptr) {
|
78
|
-
_animation = animation;
|
79
|
-
_unsubscribe =
|
80
|
-
std::make_shared<std::function<void()>>(_animation->addListener(
|
81
|
-
[weakSelf = weak_from_this()](jsi::Runtime &runtime) {
|
82
|
-
auto self = weakSelf.lock();
|
83
|
-
if (self) {
|
84
|
-
auto selfAsThis = std::dynamic_pointer_cast<RNSkValue>(self);
|
85
|
-
selfAsThis->animationDidUpdate(runtime);
|
86
|
-
}
|
87
|
-
}));
|
88
|
-
// Start the animation
|
89
|
-
_animation->startClock();
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
void animationDidUpdate(jsi::Runtime &runtime) {
|
94
|
-
if (_animation != nullptr) {
|
95
|
-
// Update ourselves from the current animation value
|
96
|
-
update(runtime, _animation->get_current(runtime));
|
97
|
-
}
|
98
|
-
}
|
99
|
-
|
100
|
-
void unsubscribe() {
|
101
|
-
if (_unsubscribe != nullptr) {
|
102
|
-
(*_unsubscribe)();
|
103
|
-
_unsubscribe = nullptr;
|
104
|
-
}
|
105
|
-
|
106
|
-
if (_animation != nullptr) {
|
107
|
-
_animation->stopClock();
|
108
|
-
_animation = nullptr;
|
109
|
-
}
|
110
|
-
}
|
111
|
-
|
112
|
-
std::shared_ptr<RNSkAnimation> _animation;
|
113
|
-
std::shared_ptr<std::function<void()>> _unsubscribe;
|
114
|
-
};
|
115
|
-
|
116
|
-
} // namespace RNSkia
|
@@ -1,72 +0,0 @@
|
|
1
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
2
|
-
#import <SkiaDrawView.h>
|
3
|
-
|
4
|
-
#import <RNSkDomView.h>
|
5
|
-
#import <RNSkIOSView.h>
|
6
|
-
#import <RNSkPlatformContext.h>
|
7
|
-
|
8
|
-
#import <RNSkJsView.h>
|
9
|
-
#import <SkiaUIView.h>
|
10
|
-
|
11
|
-
#import <React/RCTBridge+Private.h>
|
12
|
-
#import <React/RCTConversions.h>
|
13
|
-
#import <React/RCTFabricComponentsPlugins.h>
|
14
|
-
|
15
|
-
#import <react/renderer/components/rnskia/ComponentDescriptors.h>
|
16
|
-
#import <react/renderer/components/rnskia/EventEmitters.h>
|
17
|
-
#import <react/renderer/components/rnskia/Props.h>
|
18
|
-
#import <react/renderer/components/rnskia/RCTComponentViewHelpers.h>
|
19
|
-
|
20
|
-
using namespace facebook::react;
|
21
|
-
|
22
|
-
@implementation SkiaDrawView
|
23
|
-
|
24
|
-
- (instancetype)initWithFrame:(CGRect)frame {
|
25
|
-
if (self = [super initWithFrame:frame]) {
|
26
|
-
[self prepareView];
|
27
|
-
static const auto defaultProps =
|
28
|
-
std::make_shared<const SkiaDrawViewProps>();
|
29
|
-
_props = defaultProps;
|
30
|
-
}
|
31
|
-
return self;
|
32
|
-
}
|
33
|
-
|
34
|
-
- (void)prepareView {
|
35
|
-
auto skManager = [[self skiaManager] skManager];
|
36
|
-
// Pass SkManager as a raw pointer to avoid circular dependenciesr
|
37
|
-
[self initCommon:skManager.get()
|
38
|
-
factory:[](std::shared_ptr<RNSkia::RNSkPlatformContext> context) {
|
39
|
-
return std::make_shared<RNSkiOSView<RNSkia::RNSkJsView>>(context);
|
40
|
-
}];
|
41
|
-
}
|
42
|
-
|
43
|
-
- (void)prepareForRecycle {
|
44
|
-
[super prepareForRecycle];
|
45
|
-
[self prepareView];
|
46
|
-
}
|
47
|
-
|
48
|
-
#pragma mark - RCTComponentViewProtocol
|
49
|
-
|
50
|
-
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
51
|
-
return concreteComponentDescriptorProvider<SkiaDrawViewComponentDescriptor>();
|
52
|
-
}
|
53
|
-
|
54
|
-
- (void)updateProps:(const Props::Shared &)props
|
55
|
-
oldProps:(const Props::Shared &)oldProps {
|
56
|
-
const auto &newProps =
|
57
|
-
*std::static_pointer_cast<const SkiaDrawViewProps>(props);
|
58
|
-
[super updateProps:props oldProps:oldProps];
|
59
|
-
int nativeId =
|
60
|
-
[[RCTConvert NSString:RCTNSStringFromString(newProps.nativeId)] intValue];
|
61
|
-
[self setNativeId:nativeId];
|
62
|
-
[self setDrawingMode:newProps.mode];
|
63
|
-
[self setDebugMode:newProps.debug];
|
64
|
-
}
|
65
|
-
|
66
|
-
@end
|
67
|
-
|
68
|
-
Class<RCTComponentViewProtocol> SkiaDrawViewCls(void) {
|
69
|
-
return SkiaDrawView.class;
|
70
|
-
}
|
71
|
-
|
72
|
-
#endif // RCT_NEW_ARCH_ENABLED
|
@@ -1,50 +0,0 @@
|
|
1
|
-
#include "SkiaDrawViewManager.h"
|
2
|
-
#include <React/RCTBridge+Private.h>
|
3
|
-
|
4
|
-
#include <RNSkIOSView.h>
|
5
|
-
#include <RNSkJsView.h>
|
6
|
-
#include <RNSkPlatformContext.h>
|
7
|
-
|
8
|
-
#include "SkiaManager.h"
|
9
|
-
#include "SkiaUIView.h"
|
10
|
-
#include <RNSkiaModule.h>
|
11
|
-
|
12
|
-
@implementation SkiaDrawViewManager
|
13
|
-
|
14
|
-
RCT_EXPORT_MODULE(SkiaDrawView)
|
15
|
-
|
16
|
-
- (SkiaManager *)skiaManager {
|
17
|
-
auto bridge = [RCTBridge currentBridge];
|
18
|
-
auto skiaModule = (RNSkiaModule *)[bridge moduleForName:@"RNSkiaModule"];
|
19
|
-
return [skiaModule manager];
|
20
|
-
}
|
21
|
-
|
22
|
-
RCT_CUSTOM_VIEW_PROPERTY(nativeID, NSNumber, SkiaUIView) {
|
23
|
-
// Get parameter
|
24
|
-
int nativeId = [[RCTConvert NSString:json] intValue];
|
25
|
-
[(SkiaUIView *)view setNativeId:nativeId];
|
26
|
-
}
|
27
|
-
|
28
|
-
RCT_CUSTOM_VIEW_PROPERTY(mode, NSString, SkiaUIView) {
|
29
|
-
std::string mode =
|
30
|
-
json != NULL ? [[RCTConvert NSString:json] UTF8String] : "default";
|
31
|
-
[(SkiaUIView *)view setDrawingMode:mode];
|
32
|
-
}
|
33
|
-
|
34
|
-
RCT_CUSTOM_VIEW_PROPERTY(debug, BOOL, SkiaUIView) {
|
35
|
-
bool debug = json != NULL ? [RCTConvert BOOL:json] : false;
|
36
|
-
[(SkiaUIView *)view setDebugMode:debug];
|
37
|
-
}
|
38
|
-
|
39
|
-
- (UIView *)view {
|
40
|
-
auto skManager = [[self skiaManager] skManager];
|
41
|
-
// Pass SkManager as a raw pointer to avoid circular dependenciesr
|
42
|
-
return [[SkiaUIView alloc]
|
43
|
-
initWithManager:skManager.get()
|
44
|
-
factory:[](std::shared_ptr<RNSkia::RNSkPlatformContext> context) {
|
45
|
-
return std::make_shared<RNSkiOSView<RNSkia::RNSkJsView>>(
|
46
|
-
context);
|
47
|
-
}];
|
48
|
-
}
|
49
|
-
|
50
|
-
@end
|