@shopify/react-native-skia 0.1.234 → 0.1.236
Sign up to get free protection for your applications and to get access to all the features.
- package/cpp/api/JsiSkTypefaceFactory.h +2 -1
- package/cpp/skia/include/android/AHardwareBufferUtils.h +23 -0
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -0
- package/cpp/skia/include/android/graphite/SurfaceAndroid.h +59 -0
- package/cpp/skia/include/codec/SkAvifDecoder.h +1 -1
- package/cpp/skia/include/codec/SkBmpDecoder.h +1 -1
- package/cpp/skia/include/codec/SkCodec.h +21 -3
- package/cpp/skia/include/codec/SkGifDecoder.h +1 -1
- package/cpp/skia/include/codec/SkIcoDecoder.h +1 -1
- package/cpp/skia/include/codec/SkJpegDecoder.h +1 -1
- package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -1
- package/cpp/skia/include/codec/SkPngDecoder.h +1 -1
- package/cpp/skia/include/codec/SkRawDecoder.h +1 -1
- package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -1
- package/cpp/skia/include/codec/SkWebpDecoder.h +1 -1
- package/cpp/skia/include/config/SkUserConfig.h +3 -1
- package/cpp/skia/include/core/SkCanvas.h +66 -37
- package/cpp/skia/include/core/SkColorFilter.h +5 -2
- package/cpp/skia/include/core/SkContourMeasure.h +1 -0
- package/cpp/skia/include/core/SkDocument.h +1 -0
- package/cpp/skia/include/core/SkFont.h +14 -24
- package/cpp/skia/include/core/SkFontArguments.h +1 -1
- package/cpp/skia/include/core/SkFontMetrics.h +1 -1
- package/cpp/skia/include/core/SkFontMgr.h +0 -7
- package/cpp/skia/include/core/SkGraphics.h +13 -0
- package/cpp/skia/include/core/SkMesh.h +9 -13
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPathMeasure.h +2 -0
- package/cpp/skia/include/core/SkSerialProcs.h +29 -11
- package/cpp/skia/include/core/SkSize.h +3 -3
- package/cpp/skia/include/core/SkStream.h +3 -13
- package/cpp/skia/include/core/SkSurface.h +6 -3
- package/cpp/skia/include/core/SkSurfaceProps.h +2 -4
- package/cpp/skia/include/core/SkTraceMemoryDump.h +15 -0
- package/cpp/skia/include/core/SkTypeface.h +8 -56
- package/cpp/skia/include/core/SkTypes.h +8 -0
- package/cpp/skia/include/core/SkVertices.h +1 -1
- package/cpp/skia/include/docs/SkMultiPictureDocument.h +53 -0
- package/cpp/skia/include/docs/SkPDFDocument.h +11 -0
- package/cpp/skia/include/effects/SkGradientShader.h +9 -0
- package/cpp/skia/include/effects/SkRuntimeEffect.h +3 -7
- package/cpp/skia/include/gpu/GrBackendSemaphore.h +33 -47
- package/cpp/skia/include/gpu/GrBackendSurface.h +2 -3
- package/cpp/skia/include/gpu/GrContextOptions.h +0 -6
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +44 -28
- package/cpp/skia/include/gpu/GrDirectContext.h +12 -31
- package/cpp/skia/include/gpu/GrTypes.h +1 -16
- package/cpp/skia/include/gpu/MutableTextureState.h +35 -80
- package/cpp/skia/include/gpu/ShaderErrorHandler.h +11 -1
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +2 -2
- package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
- package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +3 -2
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
- package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +30 -0
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -0
- package/cpp/skia/include/gpu/gl/glx/GrGLMakeGLXInterface.h +6 -0
- package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +3 -3
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +39 -27
- package/cpp/skia/include/gpu/graphite/Context.h +39 -13
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +2 -0
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +2 -1
- package/cpp/skia/include/gpu/graphite/Image.h +106 -87
- package/cpp/skia/include/gpu/graphite/Recorder.h +24 -3
- package/cpp/skia/include/gpu/graphite/Surface.h +7 -2
- package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +41 -2
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +11 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -2
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +6 -6
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +1 -0
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +1 -44
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
- package/cpp/skia/include/gpu/vk/VulkanMutableTextureState.h +25 -0
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +44 -0
- package/cpp/skia/include/ports/SkFontConfigInterface.h +3 -6
- package/cpp/skia/include/private/SkEncodedInfo.h +5 -0
- package/cpp/skia/include/private/SkExif.h +102 -0
- package/cpp/skia/include/private/SkGainmapInfo.h +11 -1
- package/cpp/skia/include/private/base/SkAssert.h +16 -0
- package/cpp/skia/include/private/base/SkDeque.h +2 -7
- package/cpp/skia/include/private/base/SkLoadUserConfig.h +1 -1
- package/cpp/skia/include/private/base/SkTArray.h +69 -28
- package/cpp/skia/include/private/base/SkThreadAnnotations.h +18 -5
- package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +26 -30
- package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +4 -3
- package/cpp/skia/include/private/chromium/SkImageChromium.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +8 -6
- package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +29 -0
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +12 -9
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +16 -11
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +9 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +31 -3
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +10624 -5716
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +2 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +2 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +28 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +2 -1
- package/cpp/skia/include/utils/mac/SkCGUtils.h +23 -11
- package/cpp/skia/modules/skcms/skcms.h +2 -410
- package/cpp/skia/modules/skcms/src/Transform_inl.h +831 -704
- package/cpp/skia/modules/skcms/src/skcms_Transform.h +161 -0
- package/cpp/skia/modules/skcms/src/skcms_internals.h +136 -0
- package/cpp/skia/modules/skcms/src/skcms_public.h +404 -0
- package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -0
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +2 -2
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +4 -3
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -3
- package/cpp/skia/modules/skresources/include/SkResources.h +28 -17
- package/cpp/skia/modules/skunicode/include/SkUnicode.h +12 -0
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +4 -1
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +4 -1
- package/cpp/skia/src/base/SkUTF.h +7 -0
- package/cpp/skia/src/core/SkTHash.h +20 -8
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +3 -2
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -57
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/external/reanimated/index.d.ts +1 -0
- package/lib/commonjs/external/reanimated/index.js +13 -0
- package/lib/commonjs/external/reanimated/index.js.map +1 -1
- package/lib/commonjs/external/reanimated/interpolators.js +13 -1
- package/lib/commonjs/external/reanimated/interpolators.js.map +1 -1
- package/lib/commonjs/external/reanimated/moduleWrapper.d.ts +1 -0
- package/lib/commonjs/external/reanimated/moduleWrapper.js +5 -3
- package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/commonjs/external/reanimated/textures.d.ts +5 -0
- package/lib/commonjs/external/reanimated/textures.js +52 -0
- package/lib/commonjs/external/reanimated/textures.js.map +1 -0
- package/lib/commonjs/headless/index.js +1 -1
- package/lib/commonjs/headless/index.js.map +1 -1
- package/lib/commonjs/mock/index.js +3 -0
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +1 -1
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/Container.d.ts +1 -1
- package/lib/commonjs/renderer/Container.js +2 -1
- package/lib/commonjs/renderer/Container.js.map +1 -1
- package/lib/commonjs/renderer/Offscreen.d.ts +1 -0
- package/lib/commonjs/renderer/Offscreen.js +18 -5
- package/lib/commonjs/renderer/Offscreen.js.map +1 -1
- package/lib/commonjs/renderer/Reconciler.d.ts +1 -1
- package/lib/commonjs/renderer/Reconciler.js +7 -4
- package/lib/commonjs/renderer/Reconciler.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix4.d.ts +2 -2
- package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.d.ts +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +3 -2
- package/lib/module/dom/nodes/JsiSkDOM.js +56 -56
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/external/reanimated/index.d.ts +1 -0
- package/lib/module/external/reanimated/index.js +1 -0
- package/lib/module/external/reanimated/index.js.map +1 -1
- package/lib/module/external/reanimated/interpolators.js +13 -1
- package/lib/module/external/reanimated/interpolators.js.map +1 -1
- package/lib/module/external/reanimated/moduleWrapper.d.ts +1 -0
- package/lib/module/external/reanimated/moduleWrapper.js +3 -2
- package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/module/external/reanimated/textures.d.ts +5 -0
- package/lib/module/external/reanimated/textures.js +35 -0
- package/lib/module/external/reanimated/textures.js.map +1 -0
- package/lib/module/headless/index.js +1 -1
- package/lib/module/headless/index.js.map +1 -1
- package/lib/module/mock/index.js +3 -0
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/renderer/Canvas.js +1 -1
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/Container.d.ts +1 -1
- package/lib/module/renderer/Container.js +2 -1
- package/lib/module/renderer/Container.js.map +1 -1
- package/lib/module/renderer/Offscreen.d.ts +1 -0
- package/lib/module/renderer/Offscreen.js +11 -3
- package/lib/module/renderer/Offscreen.js.map +1 -1
- package/lib/module/renderer/Reconciler.d.ts +1 -1
- package/lib/module/renderer/Reconciler.js +7 -4
- package/lib/module/renderer/Reconciler.js.map +1 -1
- package/lib/module/skia/types/Matrix4.d.ts +2 -2
- package/lib/module/skia/types/Matrix4.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.d.ts +1 -1
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +3 -2
- package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
- package/lib/typescript/src/external/reanimated/moduleWrapper.d.ts +1 -0
- package/lib/typescript/src/external/reanimated/textures.d.ts +5 -0
- package/lib/typescript/src/renderer/Container.d.ts +1 -1
- package/lib/typescript/src/renderer/Offscreen.d.ts +1 -0
- package/lib/typescript/src/renderer/Reconciler.d.ts +1 -1
- package/lib/typescript/src/skia/types/Matrix4.d.ts +2 -2
- package/lib/typescript/src/skia/types/Shader/Shader.d.ts +1 -1
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libskparagraph.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libskunicode.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libskparagraph.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libskunicode.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libskparagraph.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libskunicode.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/Info.plist +5 -5
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- package/libs/ios/libsvg.xcframework/Info.plist +5 -5
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/src/dom/nodes/JsiSkDOM.ts +55 -56
- package/src/external/reanimated/index.ts +1 -0
- package/src/external/reanimated/interpolators.ts +15 -2
- package/src/external/reanimated/moduleWrapper.ts +1 -0
- package/src/external/reanimated/textures.tsx +50 -0
- package/src/headless/index.ts +1 -1
- package/src/mock/index.ts +3 -0
- package/src/renderer/Canvas.tsx +1 -1
- package/src/renderer/Container.tsx +3 -2
- package/src/renderer/Offscreen.tsx +12 -3
- package/src/renderer/Reconciler.tsx +5 -2
- package/src/skia/types/Matrix4.ts +2 -2
- package/src/skia/types/Shader/Shader.ts +6 -1
- package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -142
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +0 -107
- package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +0 -32
- package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +0 -83
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +0 -47
- package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +0 -57
- package/cpp/skia/include/utils/SkBase64.h +0 -53
- package/cpp/skia/modules/skcms/skcms_internal.h +0 -56
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["JsiSkDOM","constructor","ctx","Layer","props","NATIVE_DOM","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode","Paragraph","ParagraphNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport { NATIVE_DOM } from \"../../renderer/HostComponents\";\nimport type { ParagraphProps } from \"../types/Paragraph\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\nimport { ParagraphNode } from \"./drawings/ParagraphNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return NATIVE_DOM\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return NATIVE_DOM\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n\n // Paragraph\n Paragraph(props: ParagraphProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ParagraphNode(props)\n : new ParagraphNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["JsiSkDOM","constructor","ctx","native","Layer","props","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode","Paragraph","ParagraphNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport type { ParagraphProps } from \"../types/Paragraph\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\nimport { ParagraphNode } from \"./drawings/ParagraphNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext, private native: boolean) {}\n\n Layer(props?: ChildrenProps) {\n return this.native\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return this.native\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return this.native\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return this.native\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return this.native\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return this.native\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return this.native\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return this.native\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return this.native\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return this.native\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return this.native\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return this.native\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return this.native\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return this.native\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return this.native\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return this.native\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return this.native\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return this.native\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return this.native\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return this.native\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return this.native\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return this.native\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return this.native\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return this.native\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return this.native\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return this.native\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return this.native\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return this.native\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return this.native\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return this.native\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return this.native\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return this.native\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return this.native\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return this.native\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return this.native\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return this.native\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return this.native\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return this.native\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return this.native\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n\n // Paragraph\n Paragraph(props: ParagraphProps) {\n return this.native\n ? global.SkiaDomApi.ParagraphNode(props)\n : new ParagraphNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
|
@@ -55,4 +55,17 @@ Object.keys(_interpolators).forEach(function (key) {
|
|
55
55
|
}
|
56
56
|
});
|
57
57
|
});
|
58
|
+
|
59
|
+
var _textures = require("./textures");
|
60
|
+
|
61
|
+
Object.keys(_textures).forEach(function (key) {
|
62
|
+
if (key === "default" || key === "__esModule") return;
|
63
|
+
if (key in exports && exports[key] === _textures[key]) return;
|
64
|
+
Object.defineProperty(exports, key, {
|
65
|
+
enumerable: true,
|
66
|
+
get: function () {
|
67
|
+
return _textures[key];
|
68
|
+
}
|
69
|
+
});
|
70
|
+
});
|
58
71
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useAnimatedImageValue\";\nexport * from \"./useDerivedValueOnJS\";\nexport * from \"./renderHelpers\";\nexport * from \"./interpolators\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useAnimatedImageValue\";\nexport * from \"./useDerivedValueOnJS\";\nexport * from \"./renderHelpers\";\nexport * from \"./interpolators\";\nexport * from \"./textures\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
@@ -67,7 +67,19 @@ const useInterpolator = (factory, value, interpolator, input, output, options) =
|
|
67
67
|
return result;
|
68
68
|
};
|
69
69
|
|
70
|
-
const usePathInterpolation = (value, input, outputRange, options) =>
|
70
|
+
const usePathInterpolation = (value, input, outputRange, options) => {
|
71
|
+
// Check if all paths in outputRange are interpolable
|
72
|
+
const allPathsInterpolable = outputRange.slice(1).every(path => outputRange[0].isInterpolatable(path));
|
73
|
+
|
74
|
+
if (!allPathsInterpolable) {
|
75
|
+
// Handle the case where not all paths are interpolable
|
76
|
+
// For example, throw an error or return early
|
77
|
+
throw new Error(`Not all paths in the output range are interpolable.
|
78
|
+
See: https://shopify.github.io/react-native-skia/docs/animations/hooks#usepathinterpolation`);
|
79
|
+
}
|
80
|
+
|
81
|
+
return useInterpolator(() => _skia.Skia.Path.Make(), value, _animation.interpolatePaths, input, outputRange, options);
|
82
|
+
};
|
71
83
|
|
72
84
|
exports.usePathInterpolation = usePathInterpolation;
|
73
85
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["notifyChange","value","_WORKLET","Platform","OS","_value","usePathValue","cb","pathInit","useMemo","Skia","Path","Make","path","useSharedValue","useDerivedValue","reset","useClock","clock","callback","useCallback","info","timeSinceFirstFrame","useFrameCallback","useInterpolator","factory","interpolator","input","output","options","init","result","useAnimatedReaction","val","usePathInterpolation","outputRange","interpolatePaths","useVectorInterpolation","Point","interpolateVector"],"sources":["interpolators.ts"],"sourcesContent":["import type {\n ExtrapolationType,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\nimport { useCallback, useMemo } from \"react\";\n\nimport type { SkPath, SkPoint } from \"../../skia/types\";\nimport { interpolatePaths, interpolateVector } from \"../../animation\";\nimport { Skia } from \"../../skia\";\nimport { Platform } from \"../../Platform\";\n\nimport {\n useAnimatedReaction,\n useFrameCallback,\n useSharedValue,\n useDerivedValue,\n} from \"./moduleWrapper\";\n\nexport const notifyChange = (value: SharedValue<unknown>) => {\n \"worklet\";\n if (_WORKLET || Platform.OS === \"web\") {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value as any)._value = value.value;\n }\n};\n\nexport const usePathValue = (cb: (path: SkPath) => void) => {\n const pathInit = useMemo(() => Skia.Path.Make(), []);\n const path = useSharedValue(pathInit);\n useDerivedValue(() => {\n path.value.reset();\n cb(path.value);\n notifyChange(path);\n });\n return path;\n};\n\nexport const useClock = () => {\n const clock = useSharedValue(0);\n const callback = useCallback(\n (info: FrameInfo) => {\n \"worklet\";\n clock.value = info.timeSinceFirstFrame;\n },\n [clock]\n );\n useFrameCallback(callback);\n return clock;\n};\n\n/**\n * @worklet\n */\ntype Interpolator<T> = (\n value: number,\n input: number[],\n output: T[],\n options: ExtrapolationType,\n result: T\n) => T;\n\nconst useInterpolator = <T>(\n factory: () => T,\n value: SharedValue<number>,\n interpolator: Interpolator<T>,\n input: number[],\n output: T[],\n options?: ExtrapolationType\n) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const init = useMemo(() => factory(), []);\n const result = useSharedValue(init);\n useAnimatedReaction(\n () => value.value,\n (val) => {\n result.value = interpolator(val, input, output, options, result.value);\n notifyChange(result);\n },\n [input, output, options]\n );\n return result;\n};\n\nexport const usePathInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPath[],\n options?: ExtrapolationType\n)
|
1
|
+
{"version":3,"names":["notifyChange","value","_WORKLET","Platform","OS","_value","usePathValue","cb","pathInit","useMemo","Skia","Path","Make","path","useSharedValue","useDerivedValue","reset","useClock","clock","callback","useCallback","info","timeSinceFirstFrame","useFrameCallback","useInterpolator","factory","interpolator","input","output","options","init","result","useAnimatedReaction","val","usePathInterpolation","outputRange","allPathsInterpolable","slice","every","isInterpolatable","Error","interpolatePaths","useVectorInterpolation","Point","interpolateVector"],"sources":["interpolators.ts"],"sourcesContent":["import type {\n ExtrapolationType,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\nimport { useCallback, useMemo } from \"react\";\n\nimport type { SkPath, SkPoint } from \"../../skia/types\";\nimport { interpolatePaths, interpolateVector } from \"../../animation\";\nimport { Skia } from \"../../skia\";\nimport { Platform } from \"../../Platform\";\n\nimport {\n useAnimatedReaction,\n useFrameCallback,\n useSharedValue,\n useDerivedValue,\n} from \"./moduleWrapper\";\n\nexport const notifyChange = (value: SharedValue<unknown>) => {\n \"worklet\";\n if (_WORKLET || Platform.OS === \"web\") {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value as any)._value = value.value;\n }\n};\n\nexport const usePathValue = (cb: (path: SkPath) => void) => {\n const pathInit = useMemo(() => Skia.Path.Make(), []);\n const path = useSharedValue(pathInit);\n useDerivedValue(() => {\n path.value.reset();\n cb(path.value);\n notifyChange(path);\n });\n return path;\n};\n\nexport const useClock = () => {\n const clock = useSharedValue(0);\n const callback = useCallback(\n (info: FrameInfo) => {\n \"worklet\";\n clock.value = info.timeSinceFirstFrame;\n },\n [clock]\n );\n useFrameCallback(callback);\n return clock;\n};\n\n/**\n * @worklet\n */\ntype Interpolator<T> = (\n value: number,\n input: number[],\n output: T[],\n options: ExtrapolationType,\n result: T\n) => T;\n\nconst useInterpolator = <T>(\n factory: () => T,\n value: SharedValue<number>,\n interpolator: Interpolator<T>,\n input: number[],\n output: T[],\n options?: ExtrapolationType\n) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const init = useMemo(() => factory(), []);\n const result = useSharedValue(init);\n useAnimatedReaction(\n () => value.value,\n (val) => {\n result.value = interpolator(val, input, output, options, result.value);\n notifyChange(result);\n },\n [input, output, options]\n );\n return result;\n};\n\nexport const usePathInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPath[],\n options?: ExtrapolationType\n) => {\n // Check if all paths in outputRange are interpolable\n const allPathsInterpolable = outputRange\n .slice(1)\n .every((path) => outputRange[0].isInterpolatable(path));\n if (!allPathsInterpolable) {\n // Handle the case where not all paths are interpolable\n // For example, throw an error or return early\n throw new Error(\n `Not all paths in the output range are interpolable.\nSee: https://shopify.github.io/react-native-skia/docs/animations/hooks#usepathinterpolation`\n );\n }\n return useInterpolator(\n () => Skia.Path.Make(),\n value,\n interpolatePaths,\n input,\n outputRange,\n options\n );\n};\n\nexport const useVectorInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPoint[],\n options?: ExtrapolationType\n) =>\n useInterpolator(\n () => Skia.Point(0, 0),\n value,\n interpolateVector,\n input,\n outputRange,\n options\n );\n"],"mappings":"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"}
|
@@ -9,5 +9,6 @@ export declare const useFrameCallback: (callback: (frameInfo: FrameInfo) => void
|
|
9
9
|
export declare const startMapper: (worklet: () => void, inputs?: unknown[], outputs?: unknown[]) => number;
|
10
10
|
export declare const stopMapper: (mapperID: number) => void;
|
11
11
|
export declare const runOnJS: any;
|
12
|
+
export declare const runOnUI: any;
|
12
13
|
export declare const useAnimatedReaction: <T>(prepare: () => T, react: (v: T) => void, dependencies?: DependencyList) => void;
|
13
14
|
export declare const isSharedValue: <T>(value: unknown) => value is SharedValue<T>;
|
@@ -3,11 +3,11 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.stopMapper = exports.startMapper = exports.runOnJS = exports.isSharedValue = exports.HAS_REANIMATED3 = exports.HAS_REANIMATED2 = void 0;
|
6
|
+
exports.stopMapper = exports.startMapper = exports.runOnUI = exports.runOnJS = exports.isSharedValue = exports.HAS_REANIMATED3 = exports.HAS_REANIMATED2 = void 0;
|
7
7
|
exports.throwOnMissingReanimated = throwOnMissingReanimated;
|
8
8
|
exports.useSharedValue = exports.useFrameCallback = exports.useDerivedValue = exports.useAnimatedReaction = void 0;
|
9
9
|
|
10
|
-
var _Reanimated, _Reanimated2, _Reanimated3, _Reanimated4, _Reanimated5, _Reanimated6, _Reanimated7;
|
10
|
+
var _Reanimated, _Reanimated2, _Reanimated3, _Reanimated4, _Reanimated5, _Reanimated6, _Reanimated7, _Reanimated8;
|
11
11
|
|
12
12
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
13
13
|
// This one is needed for the deprecated useSharedValue function
|
@@ -49,7 +49,9 @@ const stopMapper = ((_Reanimated5 = Reanimated2) === null || _Reanimated5 === vo
|
|
49
49
|
exports.stopMapper = stopMapper;
|
50
50
|
const runOnJS = ((_Reanimated6 = Reanimated2) === null || _Reanimated6 === void 0 ? void 0 : _Reanimated6.runOnJS) || throwOnMissingReanimated;
|
51
51
|
exports.runOnJS = runOnJS;
|
52
|
-
const
|
52
|
+
const runOnUI = ((_Reanimated7 = Reanimated2) === null || _Reanimated7 === void 0 ? void 0 : _Reanimated7.runOnUI) || throwOnMissingReanimated;
|
53
|
+
exports.runOnUI = runOnUI;
|
54
|
+
const useAnimatedReaction = ((_Reanimated8 = Reanimated2) === null || _Reanimated8 === void 0 ? void 0 : _Reanimated8.useAnimatedReaction) || throwOnMissingReanimated;
|
53
55
|
exports.useAnimatedReaction = useAnimatedReaction;
|
54
56
|
|
55
57
|
const isSharedValue = value => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Reanimated2","Reanimated3","reanimatedVersion","require","version","includes","e","HAS_REANIMATED2","HAS_REANIMATED3","throwOnMissingReanimated","Error","useSharedValue","useDerivedValue","useFrameCallback","startMapper","stopMapper","runOnJS","useAnimatedReaction","isSharedValue","value","undefined"],"sources":["moduleWrapper.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from \"react\";\nimport type {\n DerivedValue,\n FrameCallback,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\n\n// This one is needed for the deprecated useSharedValue function\n// We can remove it once we remove the deprecation\n\nlet Reanimated2: any;\n\nlet Reanimated3: any;\nlet reanimatedVersion: string;\n\ntry {\n Reanimated2 = require(\"react-native-reanimated\");\n reanimatedVersion = require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n Reanimated3 = Reanimated2;\n }\n} catch (e) {}\n\nexport const HAS_REANIMATED2 = !!Reanimated2;\nexport const HAS_REANIMATED3 = !!Reanimated3;\n\nexport function throwOnMissingReanimated() {\n if (!HAS_REANIMATED2) {\n throw new Error(\n \"Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \\\n react-native-skia's integration layer API.\"\n );\n }\n}\n\nexport const useSharedValue: <T>(\n init: T,\n oneWayReadsOnly?: boolean\n) => SharedValue<T> = Reanimated2?.useSharedValue || throwOnMissingReanimated;\n\nexport const useDerivedValue: <T>(\n processor: () => T,\n dependencies?: DependencyList\n) => DerivedValue<T> = Reanimated2?.useDerivedValue || throwOnMissingReanimated;\n\nexport const useFrameCallback: (\n callback: (frameInfo: FrameInfo) => void,\n autostart?: boolean\n) => FrameCallback = Reanimated2?.useFrameCallback || throwOnMissingReanimated;\n\nexport const startMapper: (\n worklet: () => void,\n inputs?: unknown[],\n outputs?: unknown[]\n) => number = Reanimated2?.startMapper || throwOnMissingReanimated;\n\nexport const stopMapper: (mapperID: number) => void =\n Reanimated2?.stopMapper || throwOnMissingReanimated;\n\nexport const runOnJS = Reanimated2?.runOnJS || throwOnMissingReanimated;\n\nexport const useAnimatedReaction: <T>(\n prepare: () => T,\n react: (v: T) => void,\n dependencies?: DependencyList\n) => void = Reanimated2?.useAnimatedReaction || throwOnMissingReanimated;\n\nexport const isSharedValue = <T>(value: unknown): value is SharedValue<T> => {\n return (\n !!value &&\n (Reanimated3\n ? Reanimated3.isSharedValue(value)\n : (value as any).value !== undefined)\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AASA;AACA;AAEA,IAAIA,WAAJ;AAEA,IAAIC,WAAJ;AACA,IAAIC,iBAAJ;;AAEA,IAAI;EACFF,WAAW,GAAGG,OAAO,CAAC,yBAAD,CAArB;EACAD,iBAAiB,GAAGC,OAAO,CAAC,sCAAD,CAAP,CAAgDC,OAApE;;EACA,IACEF,iBAAiB,KAChBA,iBAAiB,IAAI,OAArB,IAAgCA,iBAAiB,CAACG,QAAlB,CAA2B,QAA3B,CADhB,CADnB,EAGE;IACAJ,WAAW,GAAGD,WAAd;EACD;AACF,CATD,CASE,OAAOM,CAAP,EAAU,CAAE;;AAEP,MAAMC,eAAe,GAAG,CAAC,CAACP,WAA1B;;AACA,MAAMQ,eAAe,GAAG,CAAC,CAACP,WAA1B;;;AAEA,SAASQ,wBAAT,GAAoC;EACzC,IAAI,CAACF,eAAL,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CACJ;AACN,iDAFU,CAAN;EAID;AACF;;AAEM,MAAMC,cAGM,GAAG,gBAAAX,WAAW,UAAX,kDAAaW,cAAb,KAA+BF,wBAH9C;;AAKA,MAAMG,eAGO,GAAG,iBAAAZ,WAAW,UAAX,oDAAaY,eAAb,KAAgCH,wBAHhD;;AAKA,MAAMI,gBAGK,GAAG,iBAAAb,WAAW,UAAX,oDAAaa,gBAAb,KAAiCJ,wBAH/C;;AAKA,MAAMK,WAIF,GAAG,iBAAAd,WAAW,UAAX,oDAAac,WAAb,KAA4BL,wBAJnC;;AAMA,MAAMM,UAAsC,GACjD,iBAAAf,WAAW,UAAX,oDAAae,UAAb,KAA2BN,wBADtB;;AAGA,MAAMO,OAAO,GAAG,iBAAAhB,WAAW,UAAX,oDAAagB,OAAb,KAAwBP,wBAAxC;;
|
1
|
+
{"version":3,"names":["Reanimated2","Reanimated3","reanimatedVersion","require","version","includes","e","HAS_REANIMATED2","HAS_REANIMATED3","throwOnMissingReanimated","Error","useSharedValue","useDerivedValue","useFrameCallback","startMapper","stopMapper","runOnJS","runOnUI","useAnimatedReaction","isSharedValue","value","undefined"],"sources":["moduleWrapper.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from \"react\";\nimport type {\n DerivedValue,\n FrameCallback,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\n\n// This one is needed for the deprecated useSharedValue function\n// We can remove it once we remove the deprecation\n\nlet Reanimated2: any;\n\nlet Reanimated3: any;\nlet reanimatedVersion: string;\n\ntry {\n Reanimated2 = require(\"react-native-reanimated\");\n reanimatedVersion = require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n Reanimated3 = Reanimated2;\n }\n} catch (e) {}\n\nexport const HAS_REANIMATED2 = !!Reanimated2;\nexport const HAS_REANIMATED3 = !!Reanimated3;\n\nexport function throwOnMissingReanimated() {\n if (!HAS_REANIMATED2) {\n throw new Error(\n \"Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \\\n react-native-skia's integration layer API.\"\n );\n }\n}\n\nexport const useSharedValue: <T>(\n init: T,\n oneWayReadsOnly?: boolean\n) => SharedValue<T> = Reanimated2?.useSharedValue || throwOnMissingReanimated;\n\nexport const useDerivedValue: <T>(\n processor: () => T,\n dependencies?: DependencyList\n) => DerivedValue<T> = Reanimated2?.useDerivedValue || throwOnMissingReanimated;\n\nexport const useFrameCallback: (\n callback: (frameInfo: FrameInfo) => void,\n autostart?: boolean\n) => FrameCallback = Reanimated2?.useFrameCallback || throwOnMissingReanimated;\n\nexport const startMapper: (\n worklet: () => void,\n inputs?: unknown[],\n outputs?: unknown[]\n) => number = Reanimated2?.startMapper || throwOnMissingReanimated;\n\nexport const stopMapper: (mapperID: number) => void =\n Reanimated2?.stopMapper || throwOnMissingReanimated;\n\nexport const runOnJS = Reanimated2?.runOnJS || throwOnMissingReanimated;\nexport const runOnUI = Reanimated2?.runOnUI || throwOnMissingReanimated;\n\nexport const useAnimatedReaction: <T>(\n prepare: () => T,\n react: (v: T) => void,\n dependencies?: DependencyList\n) => void = Reanimated2?.useAnimatedReaction || throwOnMissingReanimated;\n\nexport const isSharedValue = <T>(value: unknown): value is SharedValue<T> => {\n return (\n !!value &&\n (Reanimated3\n ? Reanimated3.isSharedValue(value)\n : (value as any).value !== undefined)\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AASA;AACA;AAEA,IAAIA,WAAJ;AAEA,IAAIC,WAAJ;AACA,IAAIC,iBAAJ;;AAEA,IAAI;EACFF,WAAW,GAAGG,OAAO,CAAC,yBAAD,CAArB;EACAD,iBAAiB,GAAGC,OAAO,CAAC,sCAAD,CAAP,CAAgDC,OAApE;;EACA,IACEF,iBAAiB,KAChBA,iBAAiB,IAAI,OAArB,IAAgCA,iBAAiB,CAACG,QAAlB,CAA2B,QAA3B,CADhB,CADnB,EAGE;IACAJ,WAAW,GAAGD,WAAd;EACD;AACF,CATD,CASE,OAAOM,CAAP,EAAU,CAAE;;AAEP,MAAMC,eAAe,GAAG,CAAC,CAACP,WAA1B;;AACA,MAAMQ,eAAe,GAAG,CAAC,CAACP,WAA1B;;;AAEA,SAASQ,wBAAT,GAAoC;EACzC,IAAI,CAACF,eAAL,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CACJ;AACN,iDAFU,CAAN;EAID;AACF;;AAEM,MAAMC,cAGM,GAAG,gBAAAX,WAAW,UAAX,kDAAaW,cAAb,KAA+BF,wBAH9C;;AAKA,MAAMG,eAGO,GAAG,iBAAAZ,WAAW,UAAX,oDAAaY,eAAb,KAAgCH,wBAHhD;;AAKA,MAAMI,gBAGK,GAAG,iBAAAb,WAAW,UAAX,oDAAaa,gBAAb,KAAiCJ,wBAH/C;;AAKA,MAAMK,WAIF,GAAG,iBAAAd,WAAW,UAAX,oDAAac,WAAb,KAA4BL,wBAJnC;;AAMA,MAAMM,UAAsC,GACjD,iBAAAf,WAAW,UAAX,oDAAae,UAAb,KAA2BN,wBADtB;;AAGA,MAAMO,OAAO,GAAG,iBAAAhB,WAAW,UAAX,oDAAagB,OAAb,KAAwBP,wBAAxC;;AACA,MAAMQ,OAAO,GAAG,iBAAAjB,WAAW,UAAX,oDAAaiB,OAAb,KAAwBR,wBAAxC;;AAEA,MAAMS,mBAIJ,GAAG,iBAAAlB,WAAW,UAAX,oDAAakB,mBAAb,KAAoCT,wBAJzC;;;AAMA,MAAMU,aAAa,GAAOC,KAAJ,IAAgD;EAC3E,OACE,CAAC,CAACA,KAAF,KACCnB,WAAW,GACRA,WAAW,CAACkB,aAAZ,CAA0BC,KAA1B,CADQ,GAEPA,KAAD,CAAeA,KAAf,KAAyBC,SAH7B,CADF;AAMD,CAPM"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { ReactElement } from "react";
|
2
|
+
import type { SharedValue } from "react-native-reanimated";
|
3
|
+
import type { SkImage, SkPicture, SkSize } from "../../skia/types";
|
4
|
+
export declare const useTextureValue: (element: ReactElement, size: SkSize) => SharedValue<SkImage | null>;
|
5
|
+
export declare const useTextureValueFromPicture: (picture: SkPicture, size: SkSize) => SharedValue<SkImage | null>;
|
@@ -0,0 +1,52 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useTextureValueFromPicture = exports.useTextureValue = void 0;
|
7
|
+
|
8
|
+
var _react = require("react");
|
9
|
+
|
10
|
+
var _skia = require("../../skia");
|
11
|
+
|
12
|
+
var _Offscreen = require("../../renderer/Offscreen");
|
13
|
+
|
14
|
+
var _moduleWrapper = require("./moduleWrapper");
|
15
|
+
|
16
|
+
// TODO: We're not sure yet why PixelRatio is not needed here.
|
17
|
+
const pd = 1; //Platform.PixelRatio;
|
18
|
+
|
19
|
+
const createTexture = (texture, picture, size) => {
|
20
|
+
"worklet";
|
21
|
+
|
22
|
+
const surface = _skia.Skia.Surface.MakeOffscreen(size.width * pd, size.height * pd);
|
23
|
+
|
24
|
+
const canvas = surface.getCanvas(); // see comment above
|
25
|
+
//canvas.save();
|
26
|
+
//canvas.scale(pd, pd);
|
27
|
+
|
28
|
+
canvas.drawPicture(picture); //canvas.restore();
|
29
|
+
|
30
|
+
surface.flush();
|
31
|
+
texture.value = surface.makeImageSnapshot();
|
32
|
+
};
|
33
|
+
|
34
|
+
const useTextureValue = (element, size) => {
|
35
|
+
const picture = (0, _react.useMemo)(() => {
|
36
|
+
return (0, _Offscreen.drawAsPicture)(element);
|
37
|
+
}, [element]);
|
38
|
+
return useTextureValueFromPicture(picture, size);
|
39
|
+
};
|
40
|
+
|
41
|
+
exports.useTextureValue = useTextureValue;
|
42
|
+
|
43
|
+
const useTextureValueFromPicture = (picture, size) => {
|
44
|
+
const texture = (0, _moduleWrapper.useSharedValue)(null);
|
45
|
+
(0, _react.useEffect)(() => {
|
46
|
+
(0, _moduleWrapper.runOnUI)(createTexture)(texture, picture, size);
|
47
|
+
}, [texture, picture, size]);
|
48
|
+
return texture;
|
49
|
+
};
|
50
|
+
|
51
|
+
exports.useTextureValueFromPicture = useTextureValueFromPicture;
|
52
|
+
//# sourceMappingURL=textures.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["pd","createTexture","texture","picture","size","surface","Skia","Surface","MakeOffscreen","width","height","canvas","getCanvas","drawPicture","flush","value","makeImageSnapshot","useTextureValue","element","useMemo","drawAsPicture","useTextureValueFromPicture","useSharedValue","useEffect","runOnUI"],"sources":["textures.tsx"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport type { ReactElement } from \"react\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { Skia } from \"../../skia\";\nimport type { SkImage, SkPicture, SkSize } from \"../../skia/types\";\nimport { drawAsPicture } from \"../../renderer/Offscreen\";\n\nimport { runOnUI, useSharedValue } from \"./moduleWrapper\";\n\n// TODO: We're not sure yet why PixelRatio is not needed here.\nconst pd = 1; //Platform.PixelRatio;\n\nconst createTexture = (\n texture: SharedValue<SkImage | null>,\n picture: SkPicture,\n size: SkSize\n) => {\n \"worklet\";\n const surface = Skia.Surface.MakeOffscreen(\n size.width * pd,\n size.height * pd\n )!;\n const canvas = surface.getCanvas();\n // see comment above\n //canvas.save();\n //canvas.scale(pd, pd);\n canvas.drawPicture(picture);\n //canvas.restore();\n surface.flush();\n texture.value = surface.makeImageSnapshot();\n};\n\nexport const useTextureValue = (element: ReactElement, size: SkSize) => {\n const picture = useMemo(() => {\n return drawAsPicture(element);\n }, [element]);\n return useTextureValueFromPicture(picture, size);\n};\n\nexport const useTextureValueFromPicture = (\n picture: SkPicture,\n size: SkSize\n) => {\n const texture = useSharedValue<SkImage | null>(null);\n useEffect(() => {\n runOnUI(createTexture)(texture, picture, size);\n }, [texture, picture, size]);\n return texture;\n};\n"],"mappings":";;;;;;;AAAA;;AAIA;;AAEA;;AAEA;;AAEA;AACA,MAAMA,EAAE,GAAG,CAAX,C,CAAc;;AAEd,MAAMC,aAAa,GAAG,CACpBC,OADoB,EAEpBC,OAFoB,EAGpBC,IAHoB,KAIjB;EACH;;EACA,MAAMC,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CACdJ,IAAI,CAACK,KAAL,GAAaT,EADC,EAEdI,IAAI,CAACM,MAAL,GAAcV,EAFA,CAAhB;;EAIA,MAAMW,MAAM,GAAGN,OAAO,CAACO,SAAR,EAAf,CANG,CAOH;EACA;EACA;;EACAD,MAAM,CAACE,WAAP,CAAmBV,OAAnB,EAVG,CAWH;;EACAE,OAAO,CAACS,KAAR;EACAZ,OAAO,CAACa,KAAR,GAAgBV,OAAO,CAACW,iBAAR,EAAhB;AACD,CAlBD;;AAoBO,MAAMC,eAAe,GAAG,CAACC,OAAD,EAAwBd,IAAxB,KAAyC;EACtE,MAAMD,OAAO,GAAG,IAAAgB,cAAA,EAAQ,MAAM;IAC5B,OAAO,IAAAC,wBAAA,EAAcF,OAAd,CAAP;EACD,CAFe,EAEb,CAACA,OAAD,CAFa,CAAhB;EAGA,OAAOG,0BAA0B,CAAClB,OAAD,EAAUC,IAAV,CAAjC;AACD,CALM;;;;AAOA,MAAMiB,0BAA0B,GAAG,CACxClB,OADwC,EAExCC,IAFwC,KAGrC;EACH,MAAMF,OAAO,GAAG,IAAAoB,6BAAA,EAA+B,IAA/B,CAAhB;EACA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAAC,sBAAA,EAAQvB,aAAR,EAAuBC,OAAvB,EAAgCC,OAAhC,EAAyCC,IAAzC;EACD,CAFD,EAEG,CAACF,OAAD,EAAUC,OAAV,EAAmBC,IAAnB,CAFH;EAGA,OAAOF,OAAP;AACD,CATM"}
|
@@ -50,7 +50,7 @@ const makeOffscreenSurface = (width, height) => {
|
|
50
50
|
exports.makeOffscreenSurface = makeOffscreenSurface;
|
51
51
|
|
52
52
|
const drawOffscreen = (surface, element) => {
|
53
|
-
const root = new _Reconciler.SkiaRoot(Skia);
|
53
|
+
const root = new _Reconciler.SkiaRoot(Skia, false);
|
54
54
|
root.render(element);
|
55
55
|
const canvas = surface.getCanvas();
|
56
56
|
const ctx = new _types.JsiDrawingContext(Skia, canvas);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Skia","makeOffscreenSurface","width","height","JsiSkApi","CanvasKit","surface","Surface","MakeOffscreen","Error","drawOffscreen","element","root","SkiaRoot","render","canvas","getCanvas","ctx","JsiDrawingContext","dom","flush","makeImageSnapshot"],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type { ReactNode } from \"react\";\n\nimport { JsiSkApi } from \"../skia/web\";\nimport { SkiaRoot } from \"../renderer/Reconciler\";\nimport { JsiDrawingContext } from \"../dom/types\";\nimport type { SkSurface } from \"../skia\";\n\nexport * from \"../renderer/components\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Skia: any;\n\nexport const makeOffscreenSurface = (width: number, height: number) => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (surface === null) {\n throw new Error(\"Couldn't create surface!\");\n }\n return surface;\n};\n\nexport const drawOffscreen = (surface: SkSurface, element: ReactNode) => {\n const root = new SkiaRoot(Skia);\n root.render(element);\n const canvas = surface.getCanvas();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":";;;;;;;;;;;AAKA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAVA;AACA;AAWA;AACA,IAAIA,IAAJ;;AAEO,MAAMC,oBAAoB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,KAAmC;EACrE,IAAI,CAACH,IAAL,EAAW;IACTA,IAAI,GAAG,IAAAI,aAAA,EAASC,SAAT,CAAP;EACD;;EACD,MAAMC,OAAO,GAAGN,IAAI,CAACO,OAAL,CAAaC,aAAb,CAA2BN,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAIG,OAAO,KAAK,IAAhB,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CAAU,0BAAV,CAAN;EACD;;EACD,OAAOH,OAAP;AACD,CATM;;;;AAWA,MAAMI,aAAa,GAAG,CAACJ,OAAD,EAAqBK,OAArB,KAA4C;EACvE,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,IAAb,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYH,OAAZ;EACA,MAAMI,MAAM,GAAGT,OAAO,CAACU,SAAR,EAAf;EACA,MAAMC,GAAG,GAAG,IAAIC,wBAAJ,CAAsBlB,IAAtB,EAA4Be,MAA5B,CAAZ;EACAH,IAAI,CAACO,GAAL,CAASL,MAAT,CAAgBG,GAAhB;EACAX,OAAO,CAACc,KAAR;EACA,OAAOd,OAAO,CAACe,iBAAR,EAAP;AACD,CARM"}
|
1
|
+
{"version":3,"names":["Skia","makeOffscreenSurface","width","height","JsiSkApi","CanvasKit","surface","Surface","MakeOffscreen","Error","drawOffscreen","element","root","SkiaRoot","render","canvas","getCanvas","ctx","JsiDrawingContext","dom","flush","makeImageSnapshot"],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type { ReactNode } from \"react\";\n\nimport { JsiSkApi } from \"../skia/web\";\nimport { SkiaRoot } from \"../renderer/Reconciler\";\nimport { JsiDrawingContext } from \"../dom/types\";\nimport type { SkSurface } from \"../skia\";\n\nexport * from \"../renderer/components\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Skia: any;\n\nexport const makeOffscreenSurface = (width: number, height: number) => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (surface === null) {\n throw new Error(\"Couldn't create surface!\");\n }\n return surface;\n};\n\nexport const drawOffscreen = (surface: SkSurface, element: ReactNode) => {\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const canvas = surface.getCanvas();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":";;;;;;;;;;;AAKA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAVA;AACA;AAWA;AACA,IAAIA,IAAJ;;AAEO,MAAMC,oBAAoB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,KAAmC;EACrE,IAAI,CAACH,IAAL,EAAW;IACTA,IAAI,GAAG,IAAAI,aAAA,EAASC,SAAT,CAAP;EACD;;EACD,MAAMC,OAAO,GAAGN,IAAI,CAACO,OAAL,CAAaC,aAAb,CAA2BN,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAIG,OAAO,KAAK,IAAhB,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CAAU,0BAAV,CAAN;EACD;;EACD,OAAOH,OAAP;AACD,CATM;;;;AAWA,MAAMI,aAAa,GAAG,CAACJ,OAAD,EAAqBK,OAArB,KAA4C;EACvE,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,IAAb,EAAmB,KAAnB,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYH,OAAZ;EACA,MAAMI,MAAM,GAAGT,OAAO,CAACU,SAAR,EAAf;EACA,MAAMC,GAAG,GAAG,IAAIC,wBAAJ,CAAsBlB,IAAtB,EAA4Be,MAA5B,CAAZ;EACAH,IAAI,CAACO,GAAL,CAASL,MAAT,CAAgBG,GAAhB;EACAX,OAAO,CAACc,KAAR;EACA,OAAOd,OAAO,CAACe,iBAAR,EAAP;AACD,CARM"}
|
@@ -42,9 +42,12 @@ const Mock = CanvasKit => {
|
|
42
42
|
// Reanimated hooks
|
43
43
|
useClock: NoopSharedValue,
|
44
44
|
usePathInterpolation: NoopSharedValue,
|
45
|
+
useTextureValue: NoopSharedValue,
|
46
|
+
useTextureValueFromPicture: NoopSharedValue,
|
45
47
|
useRawData: Noop,
|
46
48
|
useData: Noop,
|
47
49
|
useFont: () => Skia.Font(undefined, 0),
|
50
|
+
useFonts: Noop,
|
48
51
|
useTypeface: () => null,
|
49
52
|
useImage: () => null,
|
50
53
|
useSVG: () => null
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Noop","undefined","NoopValue","current","NoopSharedValue","value","Mock","CanvasKit","global","SkiaApi","JsiSkApi","Skia","require","Canvas","useValue","useComputedValue","useTouchHandler","useTiming","useLoop","useSpring","useClockValue","useValueEffect","useClock","usePathInterpolation","useRawData","useData","useFont","Font","useTypeface","useImage","useSVG"],"sources":["index.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport { JsiSkApi } from \"../skia/web\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst Noop: () => any = () => undefined;\nconst NoopValue = () => ({ current: 0 });\nconst NoopSharedValue = () => ({ value: 0 });\n\nexport const Mock = (CanvasKit: CanvasKit) => {\n global.SkiaApi = JsiSkApi(CanvasKit);\n const Skia = global.SkiaApi;\n return {\n Skia,\n ...require(\"../renderer/components\"),\n ...require(\"../skia\"),\n ...require(\"../animation\"),\n ...require(\"../dom/types\"),\n ...require(\"../dom/nodes\"),\n // We could use the real Canvas if we mock the SkiaView component for node\n Canvas: Noop,\n // Skia Animations\n useValue: NoopValue,\n useComputedValue: NoopValue,\n useTouchHandler: Noop,\n useTiming: NoopValue,\n useLoop: NoopValue,\n useSpring: NoopValue,\n useClockValue: NoopValue,\n useValueEffect: Noop,\n // Reanimated hooks\n useClock: NoopSharedValue,\n usePathInterpolation: NoopSharedValue,\n useRawData: Noop,\n useData: Noop,\n useFont: () => Skia.Font(undefined, 0),\n useTypeface: () => null,\n useImage: () => null,\n useSVG: () => null,\n };\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;AACA,MAAMA,IAAe,GAAG,MAAMC,SAA9B;;AACA,MAAMC,SAAS,GAAG,OAAO;EAAEC,OAAO,EAAE;AAAX,CAAP,CAAlB;;AACA,MAAMC,eAAe,GAAG,OAAO;EAAEC,KAAK,EAAE;AAAT,CAAP,CAAxB;;AAEO,MAAMC,IAAI,GAAIC,SAAD,IAA0B;EAC5CC,MAAM,CAACC,OAAP,GAAiB,IAAAC,aAAA,EAASH,SAAT,CAAjB;EACA,MAAMI,IAAI,GAAGH,MAAM,CAACC,OAApB;EACA,OAAO;IACLE,IADK;IAEL,GAAGC,OAAO,CAAC,wBAAD,CAFL;IAGL,GAAGA,OAAO,CAAC,SAAD,CAHL;IAIL,GAAGA,OAAO,CAAC,cAAD,CAJL;IAKL,GAAGA,OAAO,CAAC,cAAD,CALL;IAML,GAAGA,OAAO,CAAC,cAAD,CANL;IAOL;IACAC,MAAM,EAAEb,IARH;IASL;IACAc,QAAQ,EAAEZ,SAVL;IAWLa,gBAAgB,EAAEb,SAXb;IAYLc,eAAe,EAAEhB,IAZZ;IAaLiB,SAAS,EAAEf,SAbN;IAcLgB,OAAO,EAAEhB,SAdJ;IAeLiB,SAAS,EAAEjB,SAfN;IAgBLkB,aAAa,EAAElB,SAhBV;IAiBLmB,cAAc,EAAErB,IAjBX;IAkBL;IACAsB,QAAQ,EAAElB,eAnBL;IAoBLmB,oBAAoB,EAAEnB,eApBjB;IAqBLoB,UAAU,
|
1
|
+
{"version":3,"names":["Noop","undefined","NoopValue","current","NoopSharedValue","value","Mock","CanvasKit","global","SkiaApi","JsiSkApi","Skia","require","Canvas","useValue","useComputedValue","useTouchHandler","useTiming","useLoop","useSpring","useClockValue","useValueEffect","useClock","usePathInterpolation","useTextureValue","useTextureValueFromPicture","useRawData","useData","useFont","Font","useFonts","useTypeface","useImage","useSVG"],"sources":["index.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport { JsiSkApi } from \"../skia/web\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst Noop: () => any = () => undefined;\nconst NoopValue = () => ({ current: 0 });\nconst NoopSharedValue = () => ({ value: 0 });\n\nexport const Mock = (CanvasKit: CanvasKit) => {\n global.SkiaApi = JsiSkApi(CanvasKit);\n const Skia = global.SkiaApi;\n return {\n Skia,\n ...require(\"../renderer/components\"),\n ...require(\"../skia\"),\n ...require(\"../animation\"),\n ...require(\"../dom/types\"),\n ...require(\"../dom/nodes\"),\n // We could use the real Canvas if we mock the SkiaView component for node\n Canvas: Noop,\n // Skia Animations\n useValue: NoopValue,\n useComputedValue: NoopValue,\n useTouchHandler: Noop,\n useTiming: NoopValue,\n useLoop: NoopValue,\n useSpring: NoopValue,\n useClockValue: NoopValue,\n useValueEffect: Noop,\n // Reanimated hooks\n useClock: NoopSharedValue,\n usePathInterpolation: NoopSharedValue,\n useTextureValue: NoopSharedValue,\n useTextureValueFromPicture: NoopSharedValue,\n useRawData: Noop,\n useData: Noop,\n useFont: () => Skia.Font(undefined, 0),\n useFonts: Noop,\n useTypeface: () => null,\n useImage: () => null,\n useSVG: () => null,\n };\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;AACA,MAAMA,IAAe,GAAG,MAAMC,SAA9B;;AACA,MAAMC,SAAS,GAAG,OAAO;EAAEC,OAAO,EAAE;AAAX,CAAP,CAAlB;;AACA,MAAMC,eAAe,GAAG,OAAO;EAAEC,KAAK,EAAE;AAAT,CAAP,CAAxB;;AAEO,MAAMC,IAAI,GAAIC,SAAD,IAA0B;EAC5CC,MAAM,CAACC,OAAP,GAAiB,IAAAC,aAAA,EAASH,SAAT,CAAjB;EACA,MAAMI,IAAI,GAAGH,MAAM,CAACC,OAApB;EACA,OAAO;IACLE,IADK;IAEL,GAAGC,OAAO,CAAC,wBAAD,CAFL;IAGL,GAAGA,OAAO,CAAC,SAAD,CAHL;IAIL,GAAGA,OAAO,CAAC,cAAD,CAJL;IAKL,GAAGA,OAAO,CAAC,cAAD,CALL;IAML,GAAGA,OAAO,CAAC,cAAD,CANL;IAOL;IACAC,MAAM,EAAEb,IARH;IASL;IACAc,QAAQ,EAAEZ,SAVL;IAWLa,gBAAgB,EAAEb,SAXb;IAYLc,eAAe,EAAEhB,IAZZ;IAaLiB,SAAS,EAAEf,SAbN;IAcLgB,OAAO,EAAEhB,SAdJ;IAeLiB,SAAS,EAAEjB,SAfN;IAgBLkB,aAAa,EAAElB,SAhBV;IAiBLmB,cAAc,EAAErB,IAjBX;IAkBL;IACAsB,QAAQ,EAAElB,eAnBL;IAoBLmB,oBAAoB,EAAEnB,eApBjB;IAqBLoB,eAAe,EAAEpB,eArBZ;IAsBLqB,0BAA0B,EAAErB,eAtBvB;IAuBLsB,UAAU,EAAE1B,IAvBP;IAwBL2B,OAAO,EAAE3B,IAxBJ;IAyBL4B,OAAO,EAAE,MAAMjB,IAAI,CAACkB,IAAL,CAAU5B,SAAV,EAAqB,CAArB,CAzBV;IA0BL6B,QAAQ,EAAE9B,IA1BL;IA2BL+B,WAAW,EAAE,MAAM,IA3Bd;IA4BLC,QAAQ,EAAE,MAAM,IA5BX;IA6BLC,MAAM,EAAE,MAAM;EA7BT,CAAP;AA+BD,CAlCM"}
|
@@ -72,7 +72,7 @@ const Canvas = /*#__PURE__*/(0, _react.forwardRef)((_ref, forwardedRef) => {
|
|
72
72
|
const id = ((_innerRef$current2 = innerRef.current) === null || _innerRef$current2 === void 0 ? void 0 : _innerRef$current2.nativeId) ?? -1;
|
73
73
|
return id;
|
74
74
|
}, [innerRef]);
|
75
|
-
const root = (0, _react.useMemo)(() => new _Reconciler.SkiaRoot(_Skia.Skia, redraw, getNativeId), [redraw, getNativeId]); // Render effect
|
75
|
+
const root = (0, _react.useMemo)(() => new _Reconciler.SkiaRoot(_Skia.Skia, _HostComponents.NATIVE_DOM, redraw, getNativeId), [redraw, getNativeId]); // Render effect
|
76
76
|
|
77
77
|
(0, _react.useEffect)(() => {
|
78
78
|
root.render(children);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useCanvasRef","useRef","useOnSizeEvent","resultValue","onLayout","useCallback","event","width","height","nativeEvent","layout","value","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","onSize","_onSize","_onLayout","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","root","useMemo","SkiaRoot","Skia","useEffect","render","unmount","
|
1
|
+
{"version":3,"names":["useCanvasRef","useRef","useOnSizeEvent","resultValue","onLayout","useCallback","event","width","height","nativeEvent","layout","value","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","onSize","_onSize","_onLayout","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","root","useMemo","SkiaRoot","Skia","NATIVE_DOM","useEffect","render","unmount","dom","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n FunctionComponent,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport { SkiaDomView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\nimport { SkiaJSDomView } from \"../views/SkiaJSDomView\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n {\n children,\n style,\n debug,\n mode,\n onTouch,\n onSize: _onSize,\n onLayout: _onLayout,\n ...props\n },\n forwardedRef\n ) => {\n const onLayout = useOnSizeEvent(_onSize, _onLayout);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const root = useMemo(\n () => new SkiaRoot(Skia, NATIVE_DOM, redraw, getNativeId),\n [redraw, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onLayout={onLayout}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n } else {\n return (\n <SkiaJSDomView\n Skia={Skia}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onLayout={onLayout}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n }\n }\n) as FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
|
@@ -5,7 +5,7 @@ export declare class Container {
|
|
5
5
|
getNativeId: () => number;
|
6
6
|
private _root;
|
7
7
|
Sk: SkDOM;
|
8
|
-
constructor(Skia: Skia, redraw
|
8
|
+
constructor(Skia: Skia, redraw: () => void, getNativeId: () => number, native: boolean);
|
9
9
|
draw(ctx: DrawingContext): void;
|
10
10
|
get root(): RenderNode<GroupProps>;
|
11
11
|
}
|
@@ -13,6 +13,7 @@ class Container {
|
|
13
13
|
constructor(Skia) {
|
14
14
|
let redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};
|
15
15
|
let getNativeId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => 0;
|
16
|
+
let native = arguments.length > 3 ? arguments[3] : undefined;
|
16
17
|
this.redraw = redraw;
|
17
18
|
this.getNativeId = getNativeId;
|
18
19
|
|
@@ -22,7 +23,7 @@ class Container {
|
|
22
23
|
|
23
24
|
this.Sk = new _nodes.JsiSkDOM({
|
24
25
|
Skia
|
25
|
-
});
|
26
|
+
}, native);
|
26
27
|
this._root = this.Sk.Group();
|
27
28
|
}
|
28
29
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Container","constructor","Skia","redraw","getNativeId","Sk","JsiSkDOM","_root","Group","draw","ctx","render","root"],"sources":["Container.tsx"],"sourcesContent":["import { JsiSkDOM } from \"../dom/nodes\";\nimport type {\n GroupProps,\n DrawingContext,\n RenderNode,\n SkDOM,\n} from \"../dom/types\";\nimport type { Skia } from \"../skia/types\";\n\nexport class Container {\n private _root: RenderNode<GroupProps>;\n public Sk: SkDOM;\n constructor(\n Skia: Skia,\n public redraw: () => void = () => {},\n public getNativeId: () => number = () => 0\n ) {\n this.Sk = new JsiSkDOM({ Skia });\n this._root = this.Sk.Group();\n }\n\n draw(ctx: DrawingContext) {\n this._root.render(ctx);\n }\n\n get root() {\n return this._root;\n }\n}\n"],"mappings":";;;;;;;AAAA;;;;AASO,MAAMA,SAAN,CAAgB;EAGrBC,WAAW,CACTC,IADS,
|
1
|
+
{"version":3,"names":["Container","constructor","Skia","redraw","getNativeId","native","Sk","JsiSkDOM","_root","Group","draw","ctx","render","root"],"sources":["Container.tsx"],"sourcesContent":["import { JsiSkDOM } from \"../dom/nodes\";\nimport type {\n GroupProps,\n DrawingContext,\n RenderNode,\n SkDOM,\n} from \"../dom/types\";\nimport type { Skia } from \"../skia/types\";\n\nexport class Container {\n private _root: RenderNode<GroupProps>;\n public Sk: SkDOM;\n constructor(\n Skia: Skia,\n public redraw: () => void = () => {},\n public getNativeId: () => number = () => 0,\n native: boolean\n ) {\n this.Sk = new JsiSkDOM({ Skia }, native);\n this._root = this.Sk.Group();\n }\n\n draw(ctx: DrawingContext) {\n this._root.render(ctx);\n }\n\n get root() {\n return this._root;\n }\n}\n"],"mappings":";;;;;;;AAAA;;;;AASO,MAAMA,SAAN,CAAgB;EAGrBC,WAAW,CACTC,IADS,EAKT;IAAA,IAHOC,MAGP,uEAH4B,MAAM,CAAE,CAGpC;IAAA,IAFOC,WAEP,uEAFmC,MAAM,CAEzC;IAAA,IADAC,MACA;IAAA,KAHOF,MAGP,GAHOA,MAGP;IAAA,KAFOC,WAEP,GAFOA,WAEP;;IAAA;;IAAA;;IACA,KAAKE,EAAL,GAAU,IAAIC,eAAJ,CAAa;MAAEL;IAAF,CAAb,EAAuBG,MAAvB,CAAV;IACA,KAAKG,KAAL,GAAa,KAAKF,EAAL,CAAQG,KAAR,EAAb;EACD;;EAEDC,IAAI,CAACC,GAAD,EAAsB;IACxB,KAAKH,KAAL,CAAWI,MAAX,CAAkBD,GAAlB;EACD;;EAEO,IAAJE,IAAI,GAAG;IACT,OAAO,KAAKL,KAAZ;EACD;;AAnBoB"}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.drawAsImage = void 0;
|
6
|
+
exports.drawAsPicture = exports.drawAsImage = void 0;
|
7
7
|
|
8
8
|
var _types = require("../dom/types");
|
9
9
|
|
@@ -12,6 +12,8 @@ var _skia = require("../skia");
|
|
12
12
|
var _Reconciler = require("./Reconciler");
|
13
13
|
|
14
14
|
const drawAsImage = (element, width, height) => {
|
15
|
+
const picture = drawAsPicture(element);
|
16
|
+
|
15
17
|
const surface = _skia.Skia.Surface.MakeOffscreen(width, height);
|
16
18
|
|
17
19
|
if (!surface) {
|
@@ -19,13 +21,24 @@ const drawAsImage = (element, width, height) => {
|
|
19
21
|
}
|
20
22
|
|
21
23
|
const canvas = surface.getCanvas();
|
22
|
-
|
23
|
-
root.render(element);
|
24
|
-
const ctx = new _types.JsiDrawingContext(_skia.Skia, canvas);
|
25
|
-
root.dom.render(ctx);
|
24
|
+
canvas.drawPicture(picture);
|
26
25
|
surface.flush();
|
27
26
|
return surface.makeImageSnapshot();
|
28
27
|
};
|
29
28
|
|
30
29
|
exports.drawAsImage = drawAsImage;
|
30
|
+
|
31
|
+
const drawAsPicture = element => {
|
32
|
+
const recorder = _skia.Skia.PictureRecorder();
|
33
|
+
|
34
|
+
const canvas = recorder.beginRecording();
|
35
|
+
const root = new _Reconciler.SkiaRoot(_skia.Skia, false);
|
36
|
+
root.render(element);
|
37
|
+
const ctx = new _types.JsiDrawingContext(_skia.Skia, canvas);
|
38
|
+
root.dom.render(ctx);
|
39
|
+
const picture = recorder.finishRecordingAsPicture();
|
40
|
+
return picture;
|
41
|
+
};
|
42
|
+
|
43
|
+
exports.drawAsPicture = drawAsPicture;
|
31
44
|
//# sourceMappingURL=Offscreen.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["drawAsImage","element","width","height","surface","Skia","Surface","MakeOffscreen","Error","canvas","getCanvas","root","SkiaRoot","render","ctx","JsiDrawingContext","dom","
|
1
|
+
{"version":3,"names":["drawAsImage","element","width","height","picture","drawAsPicture","surface","Skia","Surface","MakeOffscreen","Error","canvas","getCanvas","drawPicture","flush","makeImageSnapshot","recorder","PictureRecorder","beginRecording","root","SkiaRoot","render","ctx","JsiDrawingContext","dom","finishRecordingAsPicture"],"sources":["Offscreen.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\n\nimport { JsiDrawingContext } from \"../dom/types\";\nimport { Skia } from \"../skia\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const drawAsImage = (\n element: ReactElement,\n width: number,\n height: number\n) => {\n const picture = drawAsPicture(element);\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (!surface) {\n throw new Error(\"Could not create offscreen surface\");\n }\n const canvas = surface.getCanvas();\n canvas.drawPicture(picture);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n\nexport const drawAsPicture = (element: ReactElement) => {\n const recorder = Skia.PictureRecorder();\n const canvas = recorder.beginRecording();\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n const picture = recorder.finishRecordingAsPicture();\n return picture;\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AAEA;;AAEO,MAAMA,WAAW,GAAG,CACzBC,OADyB,EAEzBC,KAFyB,EAGzBC,MAHyB,KAItB;EACH,MAAMC,OAAO,GAAGC,aAAa,CAACJ,OAAD,CAA7B;;EACA,MAAMK,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CAA2BP,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAI,CAACG,OAAL,EAAc;IACZ,MAAM,IAAII,KAAJ,CAAU,oCAAV,CAAN;EACD;;EACD,MAAMC,MAAM,GAAGL,OAAO,CAACM,SAAR,EAAf;EACAD,MAAM,CAACE,WAAP,CAAmBT,OAAnB;EACAE,OAAO,CAACQ,KAAR;EACA,OAAOR,OAAO,CAACS,iBAAR,EAAP;AACD,CAdM;;;;AAgBA,MAAMV,aAAa,GAAIJ,OAAD,IAA2B;EACtD,MAAMe,QAAQ,GAAGT,UAAA,CAAKU,eAAL,EAAjB;;EACA,MAAMN,MAAM,GAAGK,QAAQ,CAACE,cAAT,EAAf;EACA,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,UAAb,EAAmB,KAAnB,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYpB,OAAZ;EACA,MAAMqB,GAAG,GAAG,IAAIC,wBAAJ,CAAsBhB,UAAtB,EAA4BI,MAA5B,CAAZ;EACAQ,IAAI,CAACK,GAAL,CAASH,MAAT,CAAgBC,GAAhB;EACA,MAAMlB,OAAO,GAAGY,QAAQ,CAACS,wBAAT,EAAhB;EACA,OAAOrB,OAAP;AACD,CATM"}
|
@@ -3,7 +3,7 @@ import type { Skia } from "../skia/types";
|
|
3
3
|
export declare class SkiaRoot {
|
4
4
|
private root;
|
5
5
|
private container;
|
6
|
-
constructor(Skia: Skia, redraw?: () => void, getNativeId?: () => number);
|
6
|
+
constructor(Skia: Skia, native?: boolean, redraw?: () => void, getNativeId?: () => number);
|
7
7
|
render(element: ReactNode): void;
|
8
8
|
unmount(): void;
|
9
9
|
get dom(): import("..").RenderNode<import("..").GroupProps>;
|
@@ -24,14 +24,15 @@ skiaReconciler.injectIntoDevTools({
|
|
24
24
|
|
25
25
|
class SkiaRoot {
|
26
26
|
constructor(Skia) {
|
27
|
-
let
|
28
|
-
let
|
27
|
+
let native = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
28
|
+
let redraw = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => {};
|
29
|
+
let getNativeId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : () => 0;
|
29
30
|
|
30
31
|
_defineProperty(this, "root", void 0);
|
31
32
|
|
32
33
|
_defineProperty(this, "container", void 0);
|
33
34
|
|
34
|
-
this.container = new _Container.Container(Skia, redraw, getNativeId);
|
35
|
+
this.container = new _Container.Container(Skia, redraw, getNativeId, native);
|
35
36
|
this.root = skiaReconciler.createContainer(this.container, 0, null, true, null, "", console.error, null);
|
36
37
|
}
|
37
38
|
|
@@ -43,7 +44,9 @@ class SkiaRoot {
|
|
43
44
|
}
|
44
45
|
|
45
46
|
unmount() {
|
46
|
-
skiaReconciler.updateContainer(null, this.root, null, () => {
|
47
|
+
skiaReconciler.updateContainer(null, this.root, null, () => {
|
48
|
+
(0, _HostConfig.debug)("unmountContainer");
|
49
|
+
});
|
47
50
|
}
|
48
51
|
|
49
52
|
get dom() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["skiaReconciler","ReactReconciler","skHostConfig","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaRoot","constructor","Skia","redraw","getNativeId","container","Container","root","createContainer","console","error","render","element","updateContainer","hostDebug","unmount","dom"],"sources":["Reconciler.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport type { Skia } from \"../skia/types\";\n\nimport { skHostConfig, debug as hostDebug } from \"./HostConfig\";\nimport { Container } from \"./Container\";\n\nconst skiaReconciler = ReactReconciler(skHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nexport class SkiaRoot {\n private root: OpaqueRoot;\n private container: Container;\n\n constructor(\n Skia: Skia,\n redraw: () => void = () => {},\n getNativeId: () => number = () => 0\n ) {\n this.container = new Container(Skia, redraw, getNativeId);\n this.root = skiaReconciler.createContainer(\n this.container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n );\n }\n\n render(element: ReactNode) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n skiaReconciler.updateContainer(element as any, this.root, null, () => {\n hostDebug(\"updateContainer\");\n });\n }\n\n unmount() {\n skiaReconciler.updateContainer(null, this.root, null, () => {});\n }\n\n get dom() {\n return this.container.root;\n }\n}\n"],"mappings":";;;;;;;AAEA;;AAIA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,IAAAC,wBAAA,EAAgBC,wBAAhB,CAAvB;AAEAF,cAAc,CAACG,kBAAf,CAAkC;EAChCC,UAAU,EAAE,CADoB;EAEhCC,OAAO,EAAE,OAFuB;EAGhCC,mBAAmB,EAAE;AAHW,CAAlC;;AAMO,MAAMC,QAAN,CAAe;EAIpBC,WAAW,CACTC,IADS,
|
1
|
+
{"version":3,"names":["skiaReconciler","ReactReconciler","skHostConfig","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaRoot","constructor","Skia","native","redraw","getNativeId","container","Container","root","createContainer","console","error","render","element","updateContainer","hostDebug","unmount","dom"],"sources":["Reconciler.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport type { Skia } from \"../skia/types\";\n\nimport { skHostConfig, debug as hostDebug } from \"./HostConfig\";\nimport { Container } from \"./Container\";\n\nconst skiaReconciler = ReactReconciler(skHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nexport class SkiaRoot {\n private root: OpaqueRoot;\n private container: Container;\n\n constructor(\n Skia: Skia,\n native = false,\n redraw: () => void = () => {},\n getNativeId: () => number = () => 0\n ) {\n this.container = new Container(Skia, redraw, getNativeId, native);\n this.root = skiaReconciler.createContainer(\n this.container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n );\n }\n\n render(element: ReactNode) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n skiaReconciler.updateContainer(element as any, this.root, null, () => {\n hostDebug(\"updateContainer\");\n });\n }\n\n unmount() {\n skiaReconciler.updateContainer(null, this.root, null, () => {\n hostDebug(\"unmountContainer\");\n });\n }\n\n get dom() {\n return this.container.root;\n }\n}\n"],"mappings":";;;;;;;AAEA;;AAIA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,IAAAC,wBAAA,EAAgBC,wBAAhB,CAAvB;AAEAF,cAAc,CAACG,kBAAf,CAAkC;EAChCC,UAAU,EAAE,CADoB;EAEhCC,OAAO,EAAE,OAFuB;EAGhCC,mBAAmB,EAAE;AAHW,CAAlC;;AAMO,MAAMC,QAAN,CAAe;EAIpBC,WAAW,CACTC,IADS,EAKT;IAAA,IAHAC,MAGA,uEAHS,KAGT;IAAA,IAFAC,MAEA,uEAFqB,MAAM,CAAE,CAE7B;IAAA,IADAC,WACA,uEAD4B,MAAM,CAClC;;IAAA;;IAAA;;IACA,KAAKC,SAAL,GAAiB,IAAIC,oBAAJ,CAAcL,IAAd,EAAoBE,MAApB,EAA4BC,WAA5B,EAAyCF,MAAzC,CAAjB;IACA,KAAKK,IAAL,GAAYf,cAAc,CAACgB,eAAf,CACV,KAAKH,SADK,EAEV,CAFU,EAGV,IAHU,EAIV,IAJU,EAKV,IALU,EAMV,EANU,EAOVI,OAAO,CAACC,KAPE,EAQV,IARU,CAAZ;EAUD;;EAEDC,MAAM,CAACC,OAAD,EAAqB;IACzB;IACApB,cAAc,CAACqB,eAAf,CAA+BD,OAA/B,EAA+C,KAAKL,IAApD,EAA0D,IAA1D,EAAgE,MAAM;MACpE,IAAAO,iBAAA,EAAU,iBAAV;IACD,CAFD;EAGD;;EAEDC,OAAO,GAAG;IACRvB,cAAc,CAACqB,eAAf,CAA+B,IAA/B,EAAqC,KAAKN,IAA1C,EAAgD,IAAhD,EAAsD,MAAM;MAC1D,IAAAO,iBAAA,EAAU,kBAAV;IACD,CAFD;EAGD;;EAEM,IAAHE,GAAG,GAAG;IACR,OAAO,KAAKX,SAAL,CAAeE,IAAtB;EACD;;AAtCmB"}
|