@shopify/react-native-skia 2.2.17 → 2.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apple/SkiaCVPixelBufferUtils.mm +4 -8
- package/cpp/api/recorder/Drawings.h +21 -42
- package/cpp/jsi/JsiHostObject.cpp +16 -0
- package/jestEnv.js +22 -0
- package/jestSetup.js +1 -1
- package/lib/commonjs/Platform/Platform.js.map +1 -1
- package/lib/commonjs/Platform/Platform.web.js +0 -1
- package/lib/commonjs/Platform/Platform.web.js.map +1 -1
- package/lib/commonjs/animation/functions/interpolate.js +0 -1
- package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +1 -3
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/skia/core/Image.js.map +1 -1
- package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
- package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
- package/lib/commonjs/skia/web/Host.d.ts +2 -1
- package/lib/commonjs/skia/web/Host.js +8 -0
- package/lib/commonjs/skia/web/Host.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
- package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
- package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkData.js +0 -6
- package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
- package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
- package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
- package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
- package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
- package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
- package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
- package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
- package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
- package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
- package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
- package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
- package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
- package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
- package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
- package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
- package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
- package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
- package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
- package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiVideo.js +4 -1
- package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
- package/lib/commonjs/sksg/Container.native.js.map +1 -1
- package/lib/commonjs/sksg/Container.web.js.map +1 -1
- package/lib/commonjs/sksg/Elements.js.map +1 -1
- package/lib/commonjs/sksg/Reconciler.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
- package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
- package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
- package/lib/module/Platform/Platform.js.map +1 -1
- package/lib/module/Platform/Platform.web.js +0 -1
- package/lib/module/Platform/Platform.web.js.map +1 -1
- package/lib/module/animation/functions/interpolate.js +0 -1
- package/lib/module/animation/functions/interpolate.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/external/reanimated/useVideo.js.map +1 -1
- package/lib/module/renderer/Canvas.js +1 -3
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/skia/core/Image.js.map +1 -1
- package/lib/module/skia/types/JsiInstance.d.ts +1 -1
- package/lib/module/skia/types/JsiInstance.js.map +1 -1
- package/lib/module/skia/types/Matrix4.js.map +1 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.js +1 -3
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
- package/lib/module/skia/web/Host.d.ts +2 -1
- package/lib/module/skia/web/Host.js +8 -0
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
- package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/module/skia/web/JsiSkCanvas.js +0 -6
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkColor.js +0 -1
- package/lib/module/skia/web/JsiSkColor.js.map +1 -1
- package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
- package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
- package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
- package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
- package/lib/module/skia/web/JsiSkData.d.ts +0 -1
- package/lib/module/skia/web/JsiSkData.js +0 -6
- package/lib/module/skia/web/JsiSkData.js.map +1 -1
- package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/module/skia/web/JsiSkFont.js +0 -6
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
- package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/module/skia/web/JsiSkImage.js +0 -6
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
- package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
- package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/module/skia/web/JsiSkMatrix.js +0 -6
- package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPaint.js +0 -6
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/module/skia/web/JsiSkParagraph.js +0 -3
- package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
- package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPath.js +0 -6
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
- package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPicture.js +0 -6
- package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
- package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
- package/lib/module/skia/web/JsiSkPoint.js +0 -6
- package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/module/skia/web/JsiSkRRect.js +3 -6
- package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/module/skia/web/JsiSkRSXform.js +0 -6
- package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/module/skia/web/JsiSkRect.js +0 -6
- package/lib/module/skia/web/JsiSkRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
- package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
- package/lib/module/skia/web/JsiSkSVG.js +5 -8
- package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
- package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/module/skia/web/JsiSkShader.js +0 -6
- package/lib/module/skia/web/JsiSkShader.js.map +1 -1
- package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
- package/lib/module/skia/web/JsiSkSurface.js +3 -6
- package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
- package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/module/skia/web/JsiSkTypeface.js +0 -6
- package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/module/skia/web/JsiSkVertices.js +0 -6
- package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
- package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
- package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
- package/lib/module/skia/web/JsiVideo.d.ts +1 -0
- package/lib/module/skia/web/JsiVideo.js +4 -1
- package/lib/module/skia/web/JsiVideo.js.map +1 -1
- package/lib/module/sksg/Container.native.js.map +1 -1
- package/lib/module/sksg/Container.web.js.map +1 -1
- package/lib/module/sksg/Elements.js.map +1 -1
- package/lib/module/sksg/Reconciler.js.map +1 -1
- package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/module/sksg/StaticContainer.js.map +1 -1
- package/lib/module/views/SkiaPictureView.web.js +3 -1
- package/lib/module/views/SkiaPictureView.web.js.map +1 -1
- package/lib/typescript/eslint.config.d.mts +2 -0
- package/lib/typescript/jest.config.d.ts +11 -2
- package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
- package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
- package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
- package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
- package/lib/typescript/src/skia/web/Host.d.ts +2 -1
- package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
- package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
- package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
- package/package.json +15 -13
- package/scripts/setup-canvaskit.js +15 -9
- package/src/Platform/Platform.ts +2 -2
- package/src/Platform/Platform.web.tsx +0 -1
- package/src/__tests__/setup.ts +1 -4
- package/src/animation/functions/interpolate.ts +0 -1
- package/src/dom/nodes/datatypes/Fitting.ts +1 -1
- package/src/dom/types/Drawings.ts +1 -1
- package/src/external/reanimated/useVideo.ts +1 -1
- package/src/renderer/Canvas.tsx +1 -2
- package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
- package/src/renderer/__tests__/Picture.spec.tsx +8 -5
- package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
- package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
- package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
- package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
- package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
- package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
- package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
- package/src/renderer/__tests__/e2e/Video.ts +0 -1
- package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
- package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
- package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
- package/src/renderer/__tests__/setup.tsx +0 -1
- package/src/renderer/processors/Animations/Animations.ts +4 -4
- package/src/skia/__tests__/Path.spec.ts +1 -3
- package/src/skia/core/Image.ts +1 -1
- package/src/skia/types/JsiInstance.ts +1 -1
- package/src/skia/types/Matrix4.ts +4 -4
- package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
- package/src/skia/types/Shader/Shader.ts +0 -1
- package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
- package/src/skia/web/Host.ts +14 -1
- package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
- package/src/skia/web/JsiSkCanvas.ts +0 -4
- package/src/skia/web/JsiSkColor.ts +1 -1
- package/src/skia/web/JsiSkColorFilter.ts +0 -4
- package/src/skia/web/JsiSkContourMeasure.ts +0 -4
- package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
- package/src/skia/web/JsiSkData.ts +0 -4
- package/src/skia/web/JsiSkDataFactory.ts +1 -1
- package/src/skia/web/JsiSkFont.ts +0 -4
- package/src/skia/web/JsiSkFontMgr.ts +2 -1
- package/src/skia/web/JsiSkImage.ts +0 -4
- package/src/skia/web/JsiSkImageFilter.ts +0 -4
- package/src/skia/web/JsiSkMaskFilter.ts +0 -4
- package/src/skia/web/JsiSkMatrix.ts +2 -6
- package/src/skia/web/JsiSkPaint.ts +0 -4
- package/src/skia/web/JsiSkParagraph.ts +0 -4
- package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
- package/src/skia/web/JsiSkPath.ts +0 -4
- package/src/skia/web/JsiSkPathEffect.ts +0 -4
- package/src/skia/web/JsiSkPicture.ts +0 -4
- package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
- package/src/skia/web/JsiSkPoint.ts +0 -4
- package/src/skia/web/JsiSkRRect.ts +3 -3
- package/src/skia/web/JsiSkRSXform.ts +5 -3
- package/src/skia/web/JsiSkRect.ts +0 -4
- package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
- package/src/skia/web/JsiSkSVG.ts +2 -2
- package/src/skia/web/JsiSkShader.ts +0 -4
- package/src/skia/web/JsiSkSurface.ts +2 -2
- package/src/skia/web/JsiSkTextBlob.ts +0 -4
- package/src/skia/web/JsiSkTypeface.ts +0 -4
- package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
- package/src/skia/web/JsiSkVertices.ts +0 -4
- package/src/skia/web/JsiSkottieAnimation.ts +0 -3
- package/src/skia/web/JsiVideo.ts +5 -1
- package/src/sksg/Container.native.ts +4 -1
- package/src/sksg/Container.web.ts +4 -1
- package/src/sksg/Elements.tsx +0 -1
- package/src/sksg/Reconciler.ts +4 -1
- package/src/sksg/Recorder/Visitor.ts +1 -1
- package/src/sksg/StaticContainer.ts +4 -1
- package/src/views/SkiaPictureView.web.tsx +12 -3
@@ -10,6 +10,5 @@ export declare class JsiSkParagraphBuilder extends HostObject<ParagraphBuilder,
|
|
10
10
|
reset(): void;
|
11
11
|
pushStyle(style: SkTextStyle, foregroundPaint?: SkPaint | undefined, backgroundPaint?: SkPaint | undefined): SkParagraphBuilder;
|
12
12
|
pop(): SkParagraphBuilder;
|
13
|
-
dispose(): void;
|
14
13
|
private makePaint;
|
15
14
|
}
|
@@ -5,7 +5,6 @@ import { JsiSkPoint } from "./JsiSkPoint";
|
|
5
5
|
import { JsiSkRect } from "./JsiSkRect";
|
6
6
|
export declare class JsiSkPath extends HostObject<Path, "Path"> implements SkPath {
|
7
7
|
constructor(CanvasKit: CanvasKit, ref: Path);
|
8
|
-
dispose: () => void;
|
9
8
|
addPath(src: SkPath, matrix?: SkMatrix, extend?: boolean): this;
|
10
9
|
addArc(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number): this;
|
11
10
|
addOval(oval: SkRect, isCCW?: boolean, startIndex?: number): this;
|
@@ -3,5 +3,4 @@ import type { SkPathEffect } from "../types/PathEffect";
|
|
3
3
|
import { HostObject } from "./Host";
|
4
4
|
export declare class JsiSkPathEffect extends HostObject<PathEffect, "PathEffect"> implements SkPathEffect {
|
5
5
|
constructor(CanvasKit: CanvasKit, ref: PathEffect);
|
6
|
-
dispose: () => void;
|
7
6
|
}
|
@@ -4,7 +4,6 @@ import { HostObject } from "./Host";
|
|
4
4
|
import { JsiSkShader } from "./JsiSkShader";
|
5
5
|
export declare class JsiSkPicture extends HostObject<Picture, "Picture"> implements SkPicture {
|
6
6
|
constructor(CanvasKit: CanvasKit, ref: Picture);
|
7
|
-
dispose: () => void;
|
8
7
|
makeShader(tmx: TileMode, tmy: TileMode, mode: FilterMode, localMatrix?: SkMatrix, tileRect?: SkRect): JsiSkShader;
|
9
8
|
serialize(): Uint8Array<ArrayBufferLike> | null;
|
10
9
|
}
|
@@ -6,7 +6,6 @@ import { JsiSkCanvas } from "./JsiSkCanvas";
|
|
6
6
|
import { JsiSkPicture } from "./JsiSkPicture";
|
7
7
|
export declare class JsiSkPictureRecorder extends HostObject<PictureRecorder, "PictureRecorder"> implements SkPictureRecorder {
|
8
8
|
constructor(CanvasKit: CanvasKit, ref: PictureRecorder);
|
9
|
-
dispose: () => void;
|
10
9
|
beginRecording(bounds?: SkRect): JsiSkCanvas;
|
11
10
|
finishRecordingAsPicture(): JsiSkPicture;
|
12
11
|
}
|
@@ -2,9 +2,8 @@ import type { CanvasKit, Point } from "canvaskit-wasm";
|
|
2
2
|
import type { SkPoint } from "../types";
|
3
3
|
import { BaseHostObject } from "./Host";
|
4
4
|
export declare class JsiSkPoint extends BaseHostObject<Point, "Point"> implements SkPoint {
|
5
|
-
static fromValue(point: SkPoint):
|
5
|
+
static fromValue(point: SkPoint): Point;
|
6
6
|
constructor(CanvasKit: CanvasKit, ref: Point);
|
7
|
-
dispose: () => void;
|
8
7
|
get x(): number;
|
9
8
|
get y(): number;
|
10
9
|
}
|
@@ -3,8 +3,8 @@ import type { InputRRect, SkRect, SkRRect } from "../types";
|
|
3
3
|
import { BaseHostObject } from "./Host";
|
4
4
|
import { JsiSkRect } from "./JsiSkRect";
|
5
5
|
export declare class JsiSkRRect extends BaseHostObject<RRect, "RRect"> implements SkRRect {
|
6
|
-
dispose
|
7
|
-
static fromValue(CanvasKit: CanvasKit, rect: InputRRect):
|
6
|
+
[Symbol.dispose](): void;
|
7
|
+
static fromValue(CanvasKit: CanvasKit, rect: InputRRect): import("canvaskit-wasm").Rect;
|
8
8
|
constructor(CanvasKit: CanvasKit, rect: SkRect, rx: number, ry: number);
|
9
9
|
get rx(): number;
|
10
10
|
get ry(): number;
|
@@ -3,12 +3,11 @@ import type { SkRSXform } from "../types";
|
|
3
3
|
import { BaseHostObject } from "./Host";
|
4
4
|
export type RSXform = Float32Array;
|
5
5
|
export declare class JsiSkRSXform extends BaseHostObject<RSXform, "RSXform"> implements SkRSXform {
|
6
|
-
static fromValue(rsxform: SkRSXform):
|
6
|
+
static fromValue(rsxform: SkRSXform): RSXform;
|
7
7
|
constructor(CanvasKit: CanvasKit, ref: RSXform);
|
8
8
|
set(scos: number, ssin: number, tx: number, ty: number): void;
|
9
9
|
get scos(): number;
|
10
10
|
get ssin(): number;
|
11
11
|
get tx(): number;
|
12
12
|
get ty(): number;
|
13
|
-
dispose: () => void;
|
14
13
|
}
|
@@ -3,7 +3,6 @@ import type { SkHostRect, SkRect } from "../types";
|
|
3
3
|
import { BaseHostObject } from "./Host";
|
4
4
|
export declare class JsiSkRect extends BaseHostObject<Rect, "Rect"> implements SkHostRect {
|
5
5
|
static fromValue(CanvasKit: CanvasKit, rect: SkRect): Rect;
|
6
|
-
dispose: () => void;
|
7
6
|
constructor(CanvasKit: CanvasKit, ref: Rect);
|
8
7
|
setXYWH(x: number, y: number, width: number, height: number): void;
|
9
8
|
get x(): number;
|
@@ -6,7 +6,6 @@ import { JsiSkShader } from "./JsiSkShader";
|
|
6
6
|
export declare class JsiSkRuntimeEffect extends HostObject<RuntimeEffect, "RuntimeEffect"> implements SkRuntimeEffect {
|
7
7
|
private sksl;
|
8
8
|
constructor(CanvasKit: CanvasKit, ref: RuntimeEffect, sksl: string);
|
9
|
-
dispose: () => void;
|
10
9
|
source(): string;
|
11
10
|
makeShader(uniforms: number[], localMatrix?: SkMatrix): JsiSkShader;
|
12
11
|
makeShaderWithChildren(uniforms: number[], children?: SkShader[], localMatrix?: SkMatrix): JsiSkShader;
|
@@ -4,7 +4,7 @@ import { HostObject } from "./Host";
|
|
4
4
|
import { JsiSkImage } from "./JsiSkImage";
|
5
5
|
export declare class JsiSkSurface extends HostObject<Surface, "Surface"> implements SkSurface {
|
6
6
|
constructor(CanvasKit: CanvasKit, ref: Surface);
|
7
|
-
dispose
|
7
|
+
[Symbol.dispose](): void;
|
8
8
|
flush(): void;
|
9
9
|
width(): number;
|
10
10
|
height(): number;
|
@@ -3,11 +3,9 @@ import type { SkTypefaceFontProvider } from "../types/Paragraph/TypefaceFontProv
|
|
3
3
|
import type { FontStyle, SkTypeface } from "../types";
|
4
4
|
import { HostObject } from "./Host";
|
5
5
|
export declare class JsiSkTypefaceFontProvider extends HostObject<TypefaceFontProvider, "FontMgr"> implements SkTypefaceFontProvider {
|
6
|
-
private allocatedPointers;
|
7
6
|
constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider);
|
8
7
|
matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface;
|
9
8
|
countFamilies(): number;
|
10
9
|
getFamilyName(index: number): string;
|
11
10
|
registerFont(typeface: SkTypeface, familyName: string): void;
|
12
|
-
dispose(): void;
|
13
11
|
}
|
@@ -4,7 +4,6 @@ import { HostObject } from "./Host";
|
|
4
4
|
import { JsiSkRect } from "./JsiSkRect";
|
5
5
|
export declare class JsiSkVertices extends HostObject<Vertices, "Vertices"> implements SkVertices {
|
6
6
|
constructor(CanvasKit: CanvasKit, ref: Vertices);
|
7
|
-
dispose: () => void;
|
8
7
|
bounds(): JsiSkRect;
|
9
8
|
uniqueID(): number;
|
10
9
|
}
|
package/package.json
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
"setup-skia-web": "scripts/setup-canvaskit.js"
|
9
9
|
},
|
10
10
|
"title": "React Native Skia",
|
11
|
-
"version": "2.2.
|
11
|
+
"version": "2.2.19",
|
12
12
|
"description": "High-performance React Native Graphics using Skia",
|
13
13
|
"main": "lib/module/index.js",
|
14
14
|
"react-native": "src/index.ts",
|
@@ -27,7 +27,7 @@
|
|
27
27
|
"index.js",
|
28
28
|
"jestSetup.js",
|
29
29
|
"jestSetup.mjs",
|
30
|
-
"jestEnv.
|
30
|
+
"jestEnv.js",
|
31
31
|
"cpp/**/*.{h,cpp}",
|
32
32
|
"apple/**",
|
33
33
|
"libs/apple/*.xcframework/**",
|
@@ -43,14 +43,14 @@
|
|
43
43
|
"release": "semantic-release",
|
44
44
|
"build": "bob build && merge-dirs lib/typescript/src lib/commonjs && merge-dirs lib/typescript/src lib/module",
|
45
45
|
"clean-skia": "yarn rimraf ./libs && yarn rimraf ../../externals/skia/out",
|
46
|
-
"build-skia": "
|
47
|
-
"copy-skia-headers": "
|
48
|
-
"install-skia": "
|
46
|
+
"build-skia": "tsx ./scripts/build-skia.ts",
|
47
|
+
"copy-skia-headers": "tsx ./scripts/copy-skia-headers.ts",
|
48
|
+
"install-skia": "tsx ./scripts/download-artifacts.ts && yarn copy-skia-headers",
|
49
49
|
"clang-format": "yarn clang-format-ios && yarn clang-format-android && yarn clang-format-common",
|
50
50
|
"clang-format-ios": "find apple/ -iname '*.h' -o -iname '*.mm' -o -iname '*.cpp' | xargs clang-format -i",
|
51
51
|
"clang-format-android": "find android/cpp/ -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' | xargs clang-format -i",
|
52
52
|
"clang-format-common": "find cpp/ \\( -path 'cpp//skia' -prune \\) -o \\( -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' \\) -print | xargs clang-format -i",
|
53
|
-
"workflow-copy-libs": "
|
53
|
+
"workflow-copy-libs": "tsx ./scripts/workflow-copy-libs.ts",
|
54
54
|
"cpplint": "cpplint --linelength=230 --filter=-legal/copyright,-whitespace/indent,-whitespace/comments,-whitespace/ending_newline,-build/include_order,-runtime/references,-readability/todo,-whitespace/blank_line,-whitespace/todo,-runtime/int,-build/c++11,-whitespace/parens --exclude=package/cpp/skia --exclude=package/ios --exclude=package/android/build --exclude=package/node_modules --recursive package"
|
55
55
|
},
|
56
56
|
"repository": {
|
@@ -90,20 +90,22 @@
|
|
90
90
|
},
|
91
91
|
"devDependencies": {
|
92
92
|
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
|
93
|
+
"@babel/plugin-transform-explicit-resource-management": "^7.28.0",
|
93
94
|
"@semantic-release/commit-analyzer": "^13.0.0",
|
94
95
|
"@semantic-release/exec": "^7.0.3",
|
95
96
|
"@semantic-release/github": "^10.3.3",
|
96
97
|
"@semantic-release/release-notes-generator": "^14.0.1",
|
97
|
-
"@types/jest": "
|
98
|
+
"@types/jest": "30.0.0",
|
98
99
|
"@types/pixelmatch": "5.2.4",
|
99
100
|
"@types/pngjs": "6.0.1",
|
100
101
|
"@types/react": "^19.0.0",
|
101
102
|
"@types/react-reconciler": "0.28.9",
|
102
103
|
"@types/ws": "8.5.3",
|
103
|
-
"eslint": "
|
104
|
-
"eslint-config-react-native-wcandillon": "
|
105
|
-
"eslint-plugin-import": "2.
|
106
|
-
"
|
104
|
+
"eslint": "9.36.0",
|
105
|
+
"eslint-config-react-native-wcandillon": "4.0.1",
|
106
|
+
"eslint-plugin-import": "2.32.0",
|
107
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
108
|
+
"jest": "30.0.0",
|
107
109
|
"jest-diff": "29.7.0",
|
108
110
|
"merge-dirs": "0.2.1",
|
109
111
|
"pixelmatch": "5.3.0",
|
@@ -116,8 +118,8 @@
|
|
116
118
|
"rimraf": "3.0.2",
|
117
119
|
"semantic-release": "^24.1.0",
|
118
120
|
"semantic-release-yarn": "^3.0.2",
|
119
|
-
"ts-jest": "29.
|
120
|
-
"
|
121
|
+
"ts-jest": "29.4.3",
|
122
|
+
"tsx": "^4.20.5",
|
121
123
|
"typescript": "^5.2.2",
|
122
124
|
"ws": "8.18.0"
|
123
125
|
},
|
@@ -1,5 +1,4 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
/* eslint-disable max-len */
|
3
2
|
|
4
3
|
/**
|
5
4
|
* A script to automate the setup of `@shopify/react-native-skia` for web.
|
@@ -39,23 +38,26 @@ const lime = (text) => `\x1b[32m${text}\x1b[0m`;
|
|
39
38
|
|
40
39
|
function getWetherItsAnExpoProjectWithMetro() {
|
41
40
|
try {
|
42
|
-
const appJsonPath = path.join(process.cwd(),
|
41
|
+
const appJsonPath = path.join(process.cwd(), "app.json");
|
43
42
|
|
44
43
|
console.log(
|
45
44
|
`› Reading Expo settings from (if any):\n ${gray(appJsonPath)}`
|
46
45
|
);
|
47
46
|
|
48
47
|
const appJson = require(appJsonPath);
|
49
|
-
const isAnExpoProjectWithMetro =
|
48
|
+
const isAnExpoProjectWithMetro =
|
49
|
+
appJson.expo && appJson.expo.web && appJson.expo.web.bundler === "metro";
|
50
50
|
if (isAnExpoProjectWithMetro) {
|
51
|
-
console.log(` ${gray(
|
51
|
+
console.log(` ${gray("Expo project with metro bundler detected")}\n`);
|
52
52
|
return true;
|
53
53
|
} else {
|
54
|
-
console.log(
|
54
|
+
console.log(
|
55
|
+
` ${gray(`Metro bundler not detected. Assuming the project is using Webpack.`)}\n`
|
56
|
+
);
|
55
57
|
return false;
|
56
58
|
}
|
57
59
|
} catch (error) {
|
58
|
-
console.log(` ${gray(
|
60
|
+
console.log(` ${gray("No Expo settings found")}\n`);
|
59
61
|
return false;
|
60
62
|
}
|
61
63
|
}
|
@@ -65,7 +67,8 @@ function getWasmFilePath() {
|
|
65
67
|
return require.resolve("canvaskit-wasm/bin/full/canvaskit.wasm");
|
66
68
|
} catch (error) {
|
67
69
|
console.error(
|
68
|
-
`Could not find 'canvaskit-wasm'.
|
70
|
+
`Could not find 'canvaskit-wasm'.
|
71
|
+
Please install '@shopify/react-native-skia' and ensure it can be resolved from your project: ${process.cwd()}`
|
69
72
|
);
|
70
73
|
process.exit(1);
|
71
74
|
}
|
@@ -73,7 +76,9 @@ function getWasmFilePath() {
|
|
73
76
|
|
74
77
|
function getOutputFilePath(isAnExpoProjectWithMetro) {
|
75
78
|
// Default to using `web` public path.
|
76
|
-
const publicFolder = path.resolve(
|
79
|
+
const publicFolder = path.resolve(
|
80
|
+
args[0] || (isAnExpoProjectWithMetro ? "public" : "web/static/js")
|
81
|
+
);
|
77
82
|
const publicLocation = "./canvaskit.wasm";
|
78
83
|
const output = path.join(publicFolder, publicLocation);
|
79
84
|
|
@@ -99,7 +104,8 @@ function copyFile(from, to) {
|
|
99
104
|
console.log(lime("› Success! You are almost there:"));
|
100
105
|
console.log(
|
101
106
|
gray(
|
102
|
-
|
107
|
+
`› To load React Native Skia Web,
|
108
|
+
follow these instructions: https://shopify.github.io/react-native-skia/docs/getting-started/web`
|
103
109
|
)
|
104
110
|
);
|
105
111
|
})();
|
package/src/Platform/Platform.ts
CHANGED
@@ -7,7 +7,6 @@ import { isRNModule } from "../skia/types";
|
|
7
7
|
|
8
8
|
import type { IPlatform } from "./IPlatform";
|
9
9
|
|
10
|
-
// eslint-disable-next-line max-len
|
11
10
|
// https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/modules/useElementLayout/index.js
|
12
11
|
const DOM_LAYOUT_HANDLER_NAME = "__reactLayoutHandler";
|
13
12
|
type OnLayout = ((event: LayoutChangeEvent) => void) | undefined;
|
package/src/__tests__/setup.ts
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
/* eslint-disable max-len */
|
2
1
|
import path from "path";
|
3
2
|
import fs from "fs";
|
4
3
|
|
@@ -24,10 +23,9 @@ export const processResult = (
|
|
24
23
|
overwrite = false
|
25
24
|
) => {
|
26
25
|
surface.flush();
|
27
|
-
|
26
|
+
using image = surface.makeImageSnapshot();
|
28
27
|
surface.getCanvas().clear(Float32Array.of(0, 0, 0, 0));
|
29
28
|
const result = checkImage(image, relPath, { overwrite });
|
30
|
-
image.dispose();
|
31
29
|
return result;
|
32
30
|
};
|
33
31
|
|
@@ -99,7 +97,6 @@ export const checkImage = (
|
|
99
97
|
};
|
100
98
|
|
101
99
|
declare global {
|
102
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
103
100
|
namespace jest {
|
104
101
|
interface Matchers<R> {
|
105
102
|
/**
|
@@ -84,7 +84,7 @@ export interface PatchProps extends DrawingNodeProps {
|
|
84
84
|
CubicBezierHandle,
|
85
85
|
CubicBezierHandle,
|
86
86
|
CubicBezierHandle,
|
87
|
-
CubicBezierHandle
|
87
|
+
CubicBezierHandle,
|
88
88
|
];
|
89
89
|
texture?: readonly [SkPoint, SkPoint, SkPoint, SkPoint];
|
90
90
|
blendMode?: SkEnum<typeof BlendMode>;
|
@@ -78,7 +78,7 @@ export const useVideo = (
|
|
78
78
|
const lastTimestamp = Rea.useSharedValue(-1);
|
79
79
|
const duration = useMemo(() => video?.duration() ?? 0, [video]);
|
80
80
|
const framerate = useMemo(
|
81
|
-
() => (Platform.OS === "web" ? -1 : video?.framerate() ?? 0),
|
81
|
+
() => (Platform.OS === "web" ? -1 : (video?.framerate() ?? 0)),
|
82
82
|
[video]
|
83
83
|
);
|
84
84
|
const size = useMemo(() => video?.size() ?? { width: 0, height: 0 }, [video]);
|
package/src/renderer/Canvas.tsx
CHANGED
@@ -81,7 +81,6 @@ export const Canvas = ({
|
|
81
81
|
}: CanvasProps) => {
|
82
82
|
if (onLayout && isFabric) {
|
83
83
|
console.error(
|
84
|
-
// eslint-disable-next-line max-len
|
85
84
|
"<Canvas onLayout={onLayout} /> is not supported on the new architecture, to fix the issue, see: https://shopify.github.io/react-native-skia/docs/canvas/overview/#getting-the-canvas-size"
|
86
85
|
);
|
87
86
|
}
|
@@ -145,7 +144,7 @@ export const Canvas = ({
|
|
145
144
|
measureInWindow: (callback) => {
|
146
145
|
viewRef.current?.measureInWindow(callback);
|
147
146
|
},
|
148
|
-
} as CanvasRef
|
147
|
+
}) as CanvasRef
|
149
148
|
);
|
150
149
|
|
151
150
|
const onLayoutWeb = useCallback(
|
@@ -663,7 +663,6 @@ describe("FitBox", () => {
|
|
663
663
|
});
|
664
664
|
test("draw Skia logo", () => {
|
665
665
|
const skiaLogo =
|
666
|
-
// eslint-disable-next-line max-len
|
667
666
|
"M465.63 273.956C409.11 212.516 348.87 258.846 362.34 310.646C367.09 328.936 381.05 347.906 407.6 363.056C444.3 383.986 460.05 408.286 461.42 430.426C464.57 481.036 392.6 520.356 324 482.376M490 430.426C589.17 299.226 590.11 228.576 568.77 222.366C554.04 218.586 529.13 244.036 518 301.366C505.52 367.526 500.67 405.066 490 494.956C505.58 451.676 514.49 414.746 545.45 389.956C554.589 382.551 565.818 378.197 577.56 377.506C628.71 374.806 621.17 446.096 541.95 430.406M541.95 430.426C575.55 436.726 571.27 458.036 580.75 482.326C582.111 485.913 584.445 489.051 587.49 491.386C607.49 506.386 643.49 476.616 654.36 457.216C671.21 432.636 684.24 404.916 697.36 378.486M697.38 378.486C684.12 411.766 675.597 437.196 671.81 454.776C668.54 481.546 675.24 493.636 686.32 496.256C710.7 502.016 756.23 461.896 763.13 431.256C776.37 372.396 862.18 350.556 881.97 419.656M881.97 419.636C862.18 350.536 776.21 372.376 763.13 431.236C759.37 455.676 766.85 473.336 779.67 483.966C786.621 489.63 794.908 493.417 803.74 494.966C818.132 497.496 832.957 495.178 845.89 488.376C846.69 487.956 847.49 487.516 848.29 487.056C856.441 482.27 863.382 475.672 868.574 467.773C873.765 459.875 877.069 450.887 878.23 441.506C881.09 419.196 888.04 394.656 892.59 378.086M892.59 378.076C885.36 404.426 872.1 449.746 878.77 476.156C880.283 482.292 884.122 487.599 889.475 490.958C894.828 494.316 901.277 495.463 907.46 494.156C925.39 490.256 943.78 472.156 955.09 454.336M714.5 338C714.5 339.933 712.933 341.5 711 341.5C709.067 341.5 707.5 339.933 707.5 338C707.5 336.067 709.067 334.5 711 334.5C712.933 334.5 714.5 336.067 714.5 338Z";
|
668
667
|
const { Skia } = importSkia();
|
669
668
|
const path = Skia.Path.MakeFromSVGString(skiaLogo)!;
|
@@ -43,11 +43,14 @@ const CheckPicture2 = ({}: EmptyProps) => {
|
|
43
43
|
}, [Skia]);
|
44
44
|
const picture = useMemo(
|
45
45
|
() =>
|
46
|
-
createPicture(
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
createPicture(
|
47
|
+
(canvas) => {
|
48
|
+
const paint = Skia.Paint();
|
49
|
+
paint.setColor(Skia.Color(color));
|
50
|
+
canvas.drawCircle(r, r, r, paint);
|
51
|
+
},
|
52
|
+
Skia.XYWHRect(0, 0, r * 2, r * 2)
|
53
|
+
),
|
51
54
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
52
55
|
[]
|
53
56
|
);
|
@@ -12,15 +12,13 @@ describe("Surface", () => {
|
|
12
12
|
// When leaking, the WASM memory limit will be reached quite quickly
|
13
13
|
// causing the test to fail
|
14
14
|
for (let i = 0; i < 500; i++) {
|
15
|
-
|
15
|
+
using surface = Skia.Surface.Make(1920, 1080)!;
|
16
16
|
const canvas = surface.getCanvas();
|
17
17
|
canvas.clear(Skia.Color("cyan"));
|
18
18
|
surface.flush();
|
19
|
-
|
20
|
-
|
21
|
-
copy.
|
22
|
-
image.dispose();
|
23
|
-
surface.dispose();
|
19
|
+
using image = surface.makeImageSnapshot();
|
20
|
+
using copy = image.makeNonTextureImage();
|
21
|
+
expect(copy).toBeDefined();
|
24
22
|
}
|
25
23
|
});
|
26
24
|
it("A raster surface shouldn't leak (1)", () => {
|
@@ -28,13 +26,12 @@ describe("Surface", () => {
|
|
28
26
|
// When leaking, the WASM memory limit will be reached quite quickly
|
29
27
|
// causing the test to fail
|
30
28
|
for (let i = 0; i < 500; i++) {
|
31
|
-
|
29
|
+
using surface = Skia.Surface.Make(1920, 1080)!;
|
32
30
|
const canvas = surface.getCanvas();
|
33
31
|
canvas.clear(Skia.Color("cyan"));
|
34
32
|
surface.flush();
|
35
|
-
|
36
|
-
image.
|
37
|
-
surface.dispose();
|
33
|
+
using image = surface.makeImageSnapshot();
|
34
|
+
expect(image).toBeDefined();
|
38
35
|
}
|
39
36
|
});
|
40
37
|
it("A raster surface shouldn't leak (2)", () => {
|
@@ -42,20 +39,19 @@ describe("Surface", () => {
|
|
42
39
|
// When leaking, the WASM memory limit will be reached quite quickly
|
43
40
|
// causing the test to fail
|
44
41
|
for (let i = 0; i < 500; i++) {
|
45
|
-
|
42
|
+
using surface = Skia.Surface.MakeOffscreen(1920, 1080)!;
|
46
43
|
const canvas = surface.getCanvas();
|
47
44
|
canvas.clear(Skia.Color("cyan"));
|
48
45
|
surface.flush();
|
49
|
-
|
50
|
-
image.
|
51
|
-
surface.dispose();
|
46
|
+
using image = surface.makeImageSnapshot();
|
47
|
+
expect(image).toBeDefined();
|
52
48
|
}
|
53
49
|
});
|
54
50
|
it("A raster surface shouldn't leak (3)", async () => {
|
55
51
|
for (let i = 0; i < 10; i++) {
|
56
52
|
//const t = performance.now();
|
57
53
|
const r = 128;
|
58
|
-
|
54
|
+
using surface = await drawOnNode(
|
59
55
|
<>
|
60
56
|
<Group blendMode="multiply">
|
61
57
|
<Circle cx={r} cy={r} r={r} color="cyan" />
|
@@ -67,7 +63,6 @@ describe("Surface", () => {
|
|
67
63
|
surface.flush();
|
68
64
|
//console.log(`Iteration ${i} took ${Math.floor(performance.now() - t)}ms`);
|
69
65
|
processResult(surface, "snapshots/leak.png");
|
70
|
-
surface.dispose();
|
71
66
|
}
|
72
67
|
});
|
73
68
|
});
|
@@ -145,7 +145,6 @@ describe("Group", () => {
|
|
145
145
|
it("Should scale an SVG Path properly", async () => {
|
146
146
|
const { rect, Skia } = importSkia();
|
147
147
|
const svgPath =
|
148
|
-
// eslint-disable-next-line max-len
|
149
148
|
"M481.586 193.457C470.446 176.319 382.871 101.323 313.771 101.323C244.671 101.323 207.195 126.054 193.668 142.763C149.967 196.747 134.971 249.875 148.681 302.146C166.676 365.556 216.376 423.397 297.781 475.668C391.183 528.795 451.166 589.207 477.73 656.902C487.156 686.893 488.441 716.456 481.586 745.591C474.731 774.725 461.021 801.289 440.455 825.282C423.317 848.419 400.609 865.128 372.332 875.411C344.054 884.837 309.778 892.12 269.504 897.262C172.674 904.974 93.8398 890.407 33 853.56M559.992 689.035C667.105 531.366 746.796 399.832 799.067 294.434C811.92 264.442 821.346 241.735 827.344 226.31C833.343 210.029 839.341 188.607 845.339 162.043C851.338 135.479 853.48 111.058 851.766 88.7783C849.195 66.4989 838.056 51.0748 818.347 39.9351C798.638 28.7954 784.212 31.7989 761.792 43.7911C724.945 63.4998 700.095 97.3473 687.242 145.334C679.53 165.899 671.817 189.892 664.105 217.313C657.25 244.734 652.109 265.728 648.681 280.295C646.111 294.862 641.398 321.426 634.542 359.987C627.687 397.69 623.403 419.969 621.689 426.825C604.551 533.937 583.985 689.464 559.992 893.406C586.556 800.861 616.976 727.167 651.252 672.326C663.248 648.333 673.531 629.481 682.1 615.771C690.669 602.06 703.094 587.065 719.375 570.784C736.513 554.502 754.508 542.506 773.36 534.794C837.627 510.801 883.9 512.943 912.177 541.221C929.315 559.215 937.884 581.066 937.884 606.773C938.741 632.48 928.887 652.617 908.321 667.185C868.047 689.464 806.779 696.748 724.517 689.035C738.227 693.32 748.51 697.176 755.365 700.604C763.077 703.174 772.503 707.459 783.643 713.457C795.639 719.455 804.637 726.739 810.635 735.308C817.49 743.877 821.775 753.731 823.488 764.871C824.345 769.155 825.631 777.296 827.344 789.293C829.915 801.289 832.057 810.287 833.771 816.285C835.485 822.283 837.627 829.995 840.198 839.421C843.626 848.847 847.482 856.987 851.766 863.843C856.907 869.841 862.906 875.839 869.761 881.838C891.183 902.403 926.745 899.832 976.445 874.125C991.012 867.27 1004.29 858.701 1016.29 848.418C1029.14 838.136 1041.14 825.711 1052.28 811.143C1064.28 795.719 1073.7 783.294 1080.56 773.868C1087.41 763.586 1096.84 748.59 1108.84 728.881C1120.83 709.173 1129.4 695.891 1134.54 689.035C1161.96 634.194 1189.38 579.352 1216.8 524.511C1174.82 629.909 1147.82 710.458 1135.83 766.156C1130.69 782.437 1128.54 801.289 1129.4 822.712C1130.26 844.134 1136.68 861.272 1148.68 874.125C1157.25 884.408 1167.96 891.263 1180.81 894.691C1194.53 898.119 1207.38 897.69 1219.38 893.406C1271.65 877.981 1314.06 847.99 1346.62 803.431C1365.48 777.724 1390.75 739.592 1422.46 689.035M1275.93 367.699C1263.93 367.699 1256.65 362.129 1254.08 350.989C1252.37 338.993 1253.65 328.71 1257.94 320.141C1261.37 313.272 1272.5 314.999 1283.64 314.999C1294.78 314.999 1303.74 321.228 1304.21 329.138M1804.21 655.616C1782.79 595.634 1756.65 558.358 1725.8 543.791C1696.67 526.653 1664.11 518.513 1628.12 519.37C1592.13 519.37 1559.99 528.796 1531.71 547.647C1505.15 563.071 1482.44 583.637 1463.59 609.344C1444.74 634.194 1431.89 661.615 1425.03 691.606C1419.03 720.741 1419.89 750.304 1427.6 780.295C1436.17 809.43 1450.74 834.28 1471.3 854.845C1503.87 882.266 1543.28 895.976 1589.56 895.976C1635.83 895.976 1675.67 882.266 1709.09 854.845C1722.8 841.135 1732.66 831.281 1738.66 825.282C1744.65 819.284 1751.51 810.715 1759.22 799.575C1767.79 788.436 1774.65 776.868 1779.79 764.871M1835.06 523.226C1811.92 618.341 1796.5 701.032 1788.78 771.298C1781.07 825.282 1791.35 862.557 1819.63 883.123C1841.05 900.261 1874.47 897.69 1919.89 875.411C1959.31 856.559 1997.01 819.712 2033 764.871";
|
150
149
|
const path = Skia.Path.MakeFromSVGString(svgPath)!;
|
151
150
|
expect(path).toBeTruthy();
|
@@ -44,7 +44,6 @@ describe("Animated Images", () => {
|
|
44
44
|
return frame.encodeToBase64();
|
45
45
|
});
|
46
46
|
expect(result).toEqual(
|
47
|
-
// eslint-disable-next-line max-len
|
48
47
|
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAANzQklUCAgI2+FP4AAAAAxJREFUCJljSFwlDwACmgErMAA+hwAAAABJRU5ErkJggg=="
|
49
48
|
);
|
50
49
|
});
|
@@ -77,7 +77,6 @@ describe("Drawings", () => {
|
|
77
77
|
const { Skia } = importSkia();
|
78
78
|
const { width, height } = surface;
|
79
79
|
const path = Skia.Path.MakeFromSVGString(
|
80
|
-
// eslint-disable-next-line max-len
|
81
80
|
"M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
|
82
81
|
)!;
|
83
82
|
const PADDING = width / 16;
|
@@ -120,7 +119,6 @@ describe("Drawings", () => {
|
|
120
119
|
const { Skia } = importSkia();
|
121
120
|
const { width, height } = surface;
|
122
121
|
const path = Skia.Path.MakeFromSVGString(
|
123
|
-
// eslint-disable-next-line max-len
|
124
122
|
"M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
|
125
123
|
)!;
|
126
124
|
const PADDING = width / 16;
|
@@ -146,7 +144,6 @@ describe("Drawings", () => {
|
|
146
144
|
const { Skia } = importSkia();
|
147
145
|
const { width, height } = surface;
|
148
146
|
const path = Skia.Path.MakeFromSVGString(
|
149
|
-
// eslint-disable-next-line max-len
|
150
147
|
"M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
|
151
148
|
)!;
|
152
149
|
const PADDING = width / 16;
|
@@ -190,7 +187,6 @@ describe("Drawings", () => {
|
|
190
187
|
const { Skia } = importSkia();
|
191
188
|
const { width, height } = surface;
|
192
189
|
const path = Skia.Path.MakeFromSVGString(
|
193
|
-
// eslint-disable-next-line max-len
|
194
190
|
"M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
|
195
191
|
)!;
|
196
192
|
const PADDING = width / 16;
|
@@ -107,7 +107,6 @@ describe("Group", () => {
|
|
107
107
|
const { width, height } = surface;
|
108
108
|
const { rect, Skia } = importSkia();
|
109
109
|
const svgPath =
|
110
|
-
// eslint-disable-next-line max-len
|
111
110
|
"M481.586 193.457C470.446 176.319 382.871 101.323 313.771 101.323C244.671 101.323 207.195 126.054 193.668 142.763C149.967 196.747 134.971 249.875 148.681 302.146C166.676 365.556 216.376 423.397 297.781 475.668C391.183 528.795 451.166 589.207 477.73 656.902C487.156 686.893 488.441 716.456 481.586 745.591C474.731 774.725 461.021 801.289 440.455 825.282C423.317 848.419 400.609 865.128 372.332 875.411C344.054 884.837 309.778 892.12 269.504 897.262C172.674 904.974 93.8398 890.407 33 853.56M559.992 689.035C667.105 531.366 746.796 399.832 799.067 294.434C811.92 264.442 821.346 241.735 827.344 226.31C833.343 210.029 839.341 188.607 845.339 162.043C851.338 135.479 853.48 111.058 851.766 88.7783C849.195 66.4989 838.056 51.0748 818.347 39.9351C798.638 28.7954 784.212 31.7989 761.792 43.7911C724.945 63.4998 700.095 97.3473 687.242 145.334C679.53 165.899 671.817 189.892 664.105 217.313C657.25 244.734 652.109 265.728 648.681 280.295C646.111 294.862 641.398 321.426 634.542 359.987C627.687 397.69 623.403 419.969 621.689 426.825C604.551 533.937 583.985 689.464 559.992 893.406C586.556 800.861 616.976 727.167 651.252 672.326C663.248 648.333 673.531 629.481 682.1 615.771C690.669 602.06 703.094 587.065 719.375 570.784C736.513 554.502 754.508 542.506 773.36 534.794C837.627 510.801 883.9 512.943 912.177 541.221C929.315 559.215 937.884 581.066 937.884 606.773C938.741 632.48 928.887 652.617 908.321 667.185C868.047 689.464 806.779 696.748 724.517 689.035C738.227 693.32 748.51 697.176 755.365 700.604C763.077 703.174 772.503 707.459 783.643 713.457C795.639 719.455 804.637 726.739 810.635 735.308C817.49 743.877 821.775 753.731 823.488 764.871C824.345 769.155 825.631 777.296 827.344 789.293C829.915 801.289 832.057 810.287 833.771 816.285C835.485 822.283 837.627 829.995 840.198 839.421C843.626 848.847 847.482 856.987 851.766 863.843C856.907 869.841 862.906 875.839 869.761 881.838C891.183 902.403 926.745 899.832 976.445 874.125C991.012 867.27 1004.29 858.701 1016.29 848.418C1029.14 838.136 1041.14 825.711 1052.28 811.143C1064.28 795.719 1073.7 783.294 1080.56 773.868C1087.41 763.586 1096.84 748.59 1108.84 728.881C1120.83 709.173 1129.4 695.891 1134.54 689.035C1161.96 634.194 1189.38 579.352 1216.8 524.511C1174.82 629.909 1147.82 710.458 1135.83 766.156C1130.69 782.437 1128.54 801.289 1129.4 822.712C1130.26 844.134 1136.68 861.272 1148.68 874.125C1157.25 884.408 1167.96 891.263 1180.81 894.691C1194.53 898.119 1207.38 897.69 1219.38 893.406C1271.65 877.981 1314.06 847.99 1346.62 803.431C1365.48 777.724 1390.75 739.592 1422.46 689.035M1275.93 367.699C1263.93 367.699 1256.65 362.129 1254.08 350.989C1252.37 338.993 1253.65 328.71 1257.94 320.141C1261.37 313.272 1272.5 314.999 1283.64 314.999C1294.78 314.999 1303.74 321.228 1304.21 329.138M1804.21 655.616C1782.79 595.634 1756.65 558.358 1725.8 543.791C1696.67 526.653 1664.11 518.513 1628.12 519.37C1592.13 519.37 1559.99 528.796 1531.71 547.647C1505.15 563.071 1482.44 583.637 1463.59 609.344C1444.74 634.194 1431.89 661.615 1425.03 691.606C1419.03 720.741 1419.89 750.304 1427.6 780.295C1436.17 809.43 1450.74 834.28 1471.3 854.845C1503.87 882.266 1543.28 895.976 1589.56 895.976C1635.83 895.976 1675.67 882.266 1709.09 854.845C1722.8 841.135 1732.66 831.281 1738.66 825.282C1744.65 819.284 1751.51 810.715 1759.22 799.575C1767.79 788.436 1774.65 776.868 1779.79 764.871M1835.06 523.226C1811.92 618.341 1796.5 701.032 1788.78 771.298C1781.07 825.282 1791.35 862.557 1819.63 883.123C1841.05 900.261 1874.47 897.69 1919.89 875.411C1959.31 856.559 1997.01 819.712 2033 764.871";
|
112
111
|
const path = Skia.Path.MakeFromSVGString(svgPath)!;
|
113
112
|
expect(path).toBeTruthy();
|