@shopify/react-native-skia 2.2.21 → 2.3.4
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/android/CMakeLists.txt +0 -3
 - package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +4 -1
 - package/apple/RNSkApplePlatformContext.mm +21 -12
 - package/cpp/api/JsiSkCanvas.h +3 -21
 - package/cpp/api/JsiSkImage.h +8 -2
 - package/cpp/api/JsiSkPath.h +1 -1
 - package/cpp/api/JsiSkPathFactory.h +1 -1
 - package/cpp/api/JsiSkSVG.h +4 -1
 - package/cpp/api/JsiSkSVGFactory.h +127 -8
 - package/cpp/skia/include/android/AHardwareBufferUtils.h +3 -0
 - package/cpp/skia/include/android/GrAHardwareBufferUtils.h +0 -4
 - package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +0 -4
 - package/cpp/skia/include/android/SkImageAndroid.h +1 -0
 - package/cpp/skia/include/codec/SkCodec.h +23 -2
 - package/cpp/skia/include/codec/SkPngRustDecoder.h +30 -0
 - package/cpp/skia/include/core/SkBitmap.h +1 -1
 - package/cpp/skia/include/core/SkCPURecorder.h +5 -0
 - package/cpp/skia/include/core/SkCanvas.h +2 -0
 - package/cpp/skia/include/core/SkColorSpace.h +11 -12
 - package/cpp/skia/include/core/SkContourMeasure.h +6 -2
 - package/cpp/skia/include/core/SkExecutor.h +18 -0
 - package/cpp/skia/include/core/SkFont.h +26 -19
 - package/cpp/skia/include/core/SkImage.h +4 -66
 - package/cpp/skia/include/core/SkImageGenerator.h +0 -5
 - package/cpp/skia/include/core/SkMatrix.h +84 -120
 - package/cpp/skia/include/core/SkMilestone.h +1 -1
 - package/cpp/skia/include/core/SkPath.h +390 -395
 - package/cpp/skia/include/core/SkPathBuilder.h +64 -34
 - package/cpp/skia/include/core/SkPathEffect.h +12 -5
 - package/cpp/skia/include/core/SkPathIter.h +90 -0
 - package/cpp/skia/include/core/SkPathMeasure.h +5 -1
 - package/cpp/skia/include/core/SkPathTypes.h +7 -3
 - package/cpp/skia/include/core/SkPathUtils.h +20 -13
 - package/cpp/skia/include/core/SkRRect.h +7 -11
 - package/cpp/skia/include/core/SkRecorder.h +12 -0
 - package/cpp/skia/include/core/SkRect.h +33 -8
 - package/cpp/skia/include/core/SkRegion.h +14 -3
 - package/cpp/skia/include/core/SkScalar.h +0 -12
 - package/cpp/skia/include/core/SkShader.h +20 -7
 - package/cpp/skia/include/core/SkStrokeRec.h +2 -1
 - package/cpp/skia/include/core/SkTypeface.h +8 -10
 - package/cpp/skia/include/core/SkTypes.h +4 -0
 - package/cpp/skia/include/encode/SkJpegEncoder.h +5 -10
 - package/cpp/skia/include/encode/SkPngEncoder.h +8 -7
 - package/cpp/skia/include/encode/SkPngRustEncoder.h +88 -0
 - package/cpp/skia/include/encode/SkWebpEncoder.h +5 -10
 - package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +5 -2
 - package/cpp/skia/include/gpu/graphite/BackendTexture.h +5 -2
 - package/cpp/skia/include/gpu/graphite/Context.h +15 -2
 - package/cpp/skia/include/gpu/graphite/ContextOptions.h +26 -0
 - package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +75 -0
 - package/cpp/skia/include/gpu/graphite/Recorder.h +15 -6
 - package/cpp/skia/include/gpu/graphite/Recording.h +0 -3
 - package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +2 -0
 - package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +3 -7
 - package/cpp/skia/include/gpu/graphite/precompile/PrecompileBase.h +2 -10
 - package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +1 -6
 - package/cpp/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +1 -5
 - package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +16 -3
 - package/cpp/skia/include/gpu/vk/VulkanPreferredFeatures.h +3 -0
 - package/cpp/skia/{modules/pathops/include → include/pathops}/SkPathOps.h +49 -20
 - package/cpp/skia/include/ports/SkFontMgr_FontConfigInterface.h +2 -1
 - package/cpp/skia/include/ports/SkFontMgr_android.h +0 -4
 - package/cpp/skia/include/ports/SkFontMgr_android_ndk.h +4 -2
 - package/cpp/skia/include/ports/SkFontMgr_fontconfig.h +0 -3
 - package/cpp/skia/include/private/SkEncodedInfo.h +73 -54
 - package/cpp/skia/include/private/SkHdrMetadata.h +173 -0
 - package/cpp/skia/include/private/SkPathRef.h +117 -146
 - package/cpp/skia/include/private/base/SkTemplates.h +74 -32
 - package/cpp/skia/include/utils/SkParsePath.h +9 -1
 - package/cpp/skia/modules/skcms/src/Transform_inl.h +53 -7
 - package/cpp/skia/modules/skcms/src/skcms_Transform.h +2 -0
 - package/cpp/skia/modules/skcms/src/skcms_internals.h +8 -0
 - package/cpp/skia/modules/skottie/include/TextShaper.h +4 -0
 - package/cpp/skia/modules/skparagraph/include/FontCollection.h +1 -1
 - package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +7 -1
 - package/cpp/skia/modules/skparagraph/include/TextStyle.h +12 -0
 - package/cpp/skia/modules/sksg/include/SkSGGeometryEffect.h +26 -0
 - package/cpp/skia/modules/sksg/include/SkSGPath.h +1 -1
 - package/cpp/skia/modules/skunicode/include/SkUnicode.h +11 -1
 - package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +7 -11
 - package/cpp/skia/modules/svg/include/SkSVGCircle.h +1 -1
 - package/cpp/skia/modules/svg/include/SkSVGEllipse.h +1 -2
 - package/cpp/skia/modules/svg/include/SkSVGFe.h +0 -1
 - package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +0 -1
 - package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +0 -1
 - package/cpp/skia/modules/svg/include/SkSVGLine.h +1 -1
 - package/cpp/skia/modules/svg/include/SkSVGNode.h +11 -10
 - package/cpp/skia/modules/svg/include/SkSVGPath.h +1 -1
 - package/cpp/skia/modules/svg/include/SkSVGPattern.h +4 -3
 - package/cpp/skia/modules/svg/include/SkSVGPoly.h +1 -1
 - package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +0 -1
 - package/cpp/skia/modules/svg/include/SkSVGRect.h +1 -2
 - package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +5 -5
 - package/cpp/skia/modules/svg/include/SkSVGSVG.h +0 -1
 - package/cpp/skia/modules/svg/include/SkSVGShape.h +1 -1
 - package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +2 -2
 - package/cpp/skia/src/base/SkTLazy.h +8 -0
 - package/cpp/skia/src/core/SkLRUCache.h +17 -13
 - package/lib/commonjs/skia/types/SVG/SVGFactory.d.ts +3 -2
 - package/lib/commonjs/skia/types/SVG/SVGFactory.js.map +1 -1
 - package/lib/module/skia/types/SVG/SVGFactory.d.ts +3 -2
 - package/lib/module/skia/types/SVG/SVGFactory.js.map +1 -1
 - package/lib/typescript/src/skia/types/SVG/SVGFactory.d.ts +3 -2
 - package/package.json +9 -8
 - package/react-native-skia.podspec +1 -2
 - package/scripts/install-skia.mjs +360 -0
 - package/src/skia/types/SVG/SVGFactory.ts +11 -2
 - package/cpp/skia/include/android/SkHeifDecoder.h +0 -50
 - package/lib/commonjs/__tests__/globalSetup.d.ts +0 -9
 - package/lib/commonjs/__tests__/globalTeardown.d.ts +0 -2
 - package/lib/commonjs/__tests__/setup.d.ts +0 -36
 - package/lib/commonjs/mock/__tests__/mock.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Data.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Drawings.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/FitBox.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Glyphs.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Image.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Paths.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Picture.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Simple.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Surfaces.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Text.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/Transform.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/documentation/Group.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/documentation/paint/Overview.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/documentation/shapes/Box.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Atlas.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Blending.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Blur.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Box.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Camera.spec.d.ts +0 -21
 - package/lib/commonjs/renderer/__tests__/e2e/ColorFilters.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/CoonPatch.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/DataEncoding.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Drawings.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/FontMgr.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Gradient.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Group.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Image.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/ImageFilter.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/ImageFilters.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Mask.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Matrix4.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Offscreen.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Opacity.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Paint.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/ParagraphMethods.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Paragraphs.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/PathEffects.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Paths.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Picture.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Point.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Rect.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/SDF.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/SVG.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Shader.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Skottie.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Snapshot.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Surfaces.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Text.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/TextPath.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Transforms.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Vertices.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/Video.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +0 -20
 - package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +0 -13
 - package/lib/commonjs/renderer/__tests__/e2e/setup/SkiaObject.d.ts +0 -11
 - package/lib/commonjs/renderer/__tests__/e2e/setup/index.d.ts +0 -3
 - package/lib/commonjs/renderer/__tests__/examples/BlendModes.spec.d.ts +0 -1
 - package/lib/commonjs/renderer/__tests__/setup.d.ts +0 -71
 - package/lib/commonjs/skia/__tests__/ColorFilter.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Data.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Drawings.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Enums.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Geometry.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/ImageFilter.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Mock.spec.d.ts +0 -0
 - package/lib/commonjs/skia/__tests__/Paint.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Path.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/RuntimeEffect.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Shader.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Text.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Transform.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/Vertices.spec.d.ts +0 -1
 - package/lib/commonjs/skia/__tests__/setup.d.ts +0 -16
 - package/lib/commonjs/sksg/__tests__/Simple.spec.d.ts +0 -1
 - package/lib/module/__tests__/globalSetup.d.ts +0 -9
 - package/lib/module/__tests__/globalTeardown.d.ts +0 -2
 - package/lib/module/__tests__/setup.d.ts +0 -36
 - package/lib/module/mock/__tests__/mock.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Data.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Drawings.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/FitBox.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Glyphs.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Image.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Paths.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Picture.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Simple.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Surfaces.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Text.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/Transform.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/documentation/Group.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/documentation/paint/Overview.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/documentation/shapes/Box.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Atlas.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Blending.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Blur.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Box.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Camera.spec.d.ts +0 -21
 - package/lib/module/renderer/__tests__/e2e/ColorFilters.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/CoonPatch.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/DataEncoding.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Drawings.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/FontMgr.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Gradient.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Group.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Image.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/ImageFilter.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/ImageFilters.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Mask.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Matrix4.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Offscreen.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Opacity.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Paint.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/ParagraphMethods.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Paragraphs.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/PathEffects.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Paths.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Picture.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Point.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Rect.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/SDF.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/SVG.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Shader.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Skottie.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Snapshot.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Surfaces.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Text.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/TextPath.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Transforms.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Vertices.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/Video.d.ts +0 -1
 - package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +0 -20
 - package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +0 -13
 - package/lib/module/renderer/__tests__/e2e/setup/SkiaObject.d.ts +0 -11
 - package/lib/module/renderer/__tests__/e2e/setup/index.d.ts +0 -3
 - package/lib/module/renderer/__tests__/examples/BlendModes.spec.d.ts +0 -1
 - package/lib/module/renderer/__tests__/setup.d.ts +0 -71
 - package/lib/module/skia/__tests__/ColorFilter.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Data.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Drawings.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Enums.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Geometry.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/ImageFilter.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Mock.spec.d.ts +0 -0
 - package/lib/module/skia/__tests__/Paint.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Path.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/RuntimeEffect.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Shader.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Text.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Transform.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/Vertices.spec.d.ts +0 -1
 - package/lib/module/skia/__tests__/setup.d.ts +0 -16
 - package/lib/module/sksg/__tests__/Simple.spec.d.ts +0 -1
 - package/lib/typescript/src/__tests__/globalSetup.d.ts +0 -9
 - package/lib/typescript/src/__tests__/globalTeardown.d.ts +0 -2
 - package/lib/typescript/src/__tests__/setup.d.ts +0 -36
 - package/lib/typescript/src/mock/__tests__/mock.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Data.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Drawings.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/FitBox.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Glyphs.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Image.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Paths.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Picture.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Simple.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Surfaces.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Text.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/Transform.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/documentation/Group.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/documentation/paint/Overview.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/documentation/shapes/Box.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Atlas.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Blending.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Blur.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Box.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Camera.spec.d.ts +0 -21
 - package/lib/typescript/src/renderer/__tests__/e2e/ColorFilters.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/CoonPatch.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/DataEncoding.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Drawings.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/FontMgr.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Gradient.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Group.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Image.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/ImageFilter.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/ImageFilters.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Mask.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Matrix4.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Offscreen.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Opacity.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Paint.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/ParagraphMethods.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Paragraphs.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/PathEffects.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Paths.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Picture.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Point.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Rect.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/SDF.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/SVG.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Shader.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Skottie.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Snapshot.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Surfaces.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Text.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/TextPath.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Transforms.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Vertices.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/Video.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +0 -20
 - package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +0 -13
 - package/lib/typescript/src/renderer/__tests__/e2e/setup/SkiaObject.d.ts +0 -11
 - package/lib/typescript/src/renderer/__tests__/e2e/setup/index.d.ts +0 -3
 - package/lib/typescript/src/renderer/__tests__/examples/BlendModes.spec.d.ts +0 -1
 - package/lib/typescript/src/renderer/__tests__/setup.d.ts +0 -71
 - package/lib/typescript/src/skia/__tests__/ColorFilter.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Data.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Drawings.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Enums.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Geometry.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/ImageFilter.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Mock.spec.d.ts +0 -0
 - package/lib/typescript/src/skia/__tests__/Paint.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Path.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/RuntimeEffect.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Shader.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Text.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Transform.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/Vertices.spec.d.ts +0 -1
 - package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -16
 - package/lib/typescript/src/sksg/__tests__/Simple.spec.d.ts +0 -1
 - package/libs/android/arm64-v8a/libjsonreader.a +0 -0
 - package/libs/android/arm64-v8a/libpathops.a +0 -0
 - 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_core.a +0 -0
 - package/libs/android/arm64-v8a/libskunicode_icu.a +0 -0
 - package/libs/android/arm64-v8a/libsvg.a +0 -0
 - package/libs/android/armeabi-v7a/libjsonreader.a +0 -0
 - package/libs/android/armeabi-v7a/libpathops.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_core.a +0 -0
 - package/libs/android/armeabi-v7a/libskunicode_icu.a +0 -0
 - package/libs/android/armeabi-v7a/libsvg.a +0 -0
 - package/libs/android/x86/libjsonreader.a +0 -0
 - package/libs/android/x86/libpathops.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_core.a +0 -0
 - package/libs/android/x86/libskunicode_icu.a +0 -0
 - package/libs/android/x86/libsvg.a +0 -0
 - package/libs/android/x86_64/libjsonreader.a +0 -0
 - package/libs/android/x86_64/libpathops.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_core.a +0 -0
 - package/libs/android/x86_64/libskunicode_icu.a +0 -0
 - package/libs/android/x86_64/libsvg.a +0 -0
 - package/libs/apple/libpathops.xcframework/Info.plist +0 -94
 - package/libs/apple/libpathops.xcframework/ios-arm64_arm64e/libpathops.a +0 -0
 - package/libs/apple/libpathops.xcframework/ios-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
 - package/libs/apple/libpathops.xcframework/macos-arm64_x86_64/libpathops.a +0 -0
 - package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e/libpathops.a +0 -0
 - package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
 - package/libs/apple/libskia.xcframework/Info.plist +0 -94
 - package/libs/apple/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
 - package/libs/apple/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
 - package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
 - package/libs/apple/libskia.xcframework/tvos-arm64_arm64e/libskia.a +0 -0
 - package/libs/apple/libskia.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
 - package/libs/apple/libskottie.xcframework/Info.plist +0 -94
 - package/libs/apple/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
 - package/libs/apple/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
 - package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
 - package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e/libskottie.a +0 -0
 - package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
 - package/libs/apple/libskparagraph.xcframework/Info.plist +0 -94
 - package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
 - package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
 - package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
 - package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e/libskparagraph.a +0 -0
 - package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
 - package/libs/apple/libsksg.xcframework/Info.plist +0 -94
 - package/libs/apple/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
 - package/libs/apple/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
 - package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
 - package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e/libsksg.a +0 -0
 - package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
 - package/libs/apple/libskshaper.xcframework/Info.plist +0 -94
 - package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
 - package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
 - package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
 - package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e/libskshaper.a +0 -0
 - package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
 - package/libs/apple/libskunicode_core.xcframework/Info.plist +0 -94
 - package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
 - package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
 - package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
 - package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e/libskunicode_core.a +0 -0
 - package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
 - package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +0 -94
 - package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
 - package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
 - package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
 - package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
 - package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
 - package/libs/apple/libsvg.xcframework/Info.plist +0 -94
 - package/libs/apple/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
 - package/libs/apple/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
 - package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
 - package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e/libsvg.a +0 -0
 - package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
 - package/src/__tests__/globalSetup.ts +0 -53
 - package/src/__tests__/globalTeardown.ts +0 -11
 - package/src/__tests__/setup.ts +0 -192
 - package/src/__tests__/snapshots/animated-images/bird.png +0 -0
 - package/src/__tests__/snapshots/animations/green.png +0 -0
 - package/src/__tests__/snapshots/animations/lightblue.png +0 -0
 - package/src/__tests__/snapshots/animations/quarter-lightblue.png +0 -0
 - package/src/__tests__/snapshots/animations/red.png +0 -0
 - package/src/__tests__/snapshots/atlas/identity.png +0 -0
 - package/src/__tests__/snapshots/atlas/rsxform.png +0 -0
 - package/src/__tests__/snapshots/atlas/rsxform1.png +0 -0
 - package/src/__tests__/snapshots/atlas/simple.png +0 -0
 - package/src/__tests__/snapshots/atlas/simple2.png +0 -0
 - package/src/__tests__/snapshots/box/box-shadow-opacity.png +0 -0
 - package/src/__tests__/snapshots/box/box-shadow.png +0 -0
 - package/src/__tests__/snapshots/box/box-shadow2.png +0 -0
 - package/src/__tests__/snapshots/box/box-shadow3.png +0 -0
 - package/src/__tests__/snapshots/box/box-stroke.png +0 -0
 - package/src/__tests__/snapshots/color-filter/color-filter-composition.png +0 -0
 - package/src/__tests__/snapshots/color-filter/matrix1.png +0 -0
 - package/src/__tests__/snapshots/color-filter/matrix3.png +0 -0
 - package/src/__tests__/snapshots/color-filter/zurich-sepia.png +0 -0
 - package/src/__tests__/snapshots/coons-patch/patch-with-opacity.png +0 -0
 - package/src/__tests__/snapshots/coons-patch/simple.png +0 -0
 - package/src/__tests__/snapshots/cyan-buffer.png +0 -0
 - package/src/__tests__/snapshots/data/oslo.png +0 -0
 - package/src/__tests__/snapshots/data/red.png +0 -0
 - package/src/__tests__/snapshots/data/zurich.png +0 -0
 - package/src/__tests__/snapshots/demos/apple-breathe.png +0 -0
 - package/src/__tests__/snapshots/demos/apple-breathe1.png +0 -0
 - package/src/__tests__/snapshots/demos/breathe.png +0 -0
 - package/src/__tests__/snapshots/demos/breathe2.png +0 -0
 - package/src/__tests__/snapshots/demos/product.png +0 -0
 - package/src/__tests__/snapshots/demos/product2.png +0 -0
 - package/src/__tests__/snapshots/demos/skia-neon.png +0 -0
 - package/src/__tests__/snapshots/demos/skia-neon1.png +0 -0
 - package/src/__tests__/snapshots/drawings/arc.png +0 -0
 - package/src/__tests__/snapshots/drawings/blend-mode-multiply.png +0 -0
 - package/src/__tests__/snapshots/drawings/blend-modes.png +0 -0
 - package/src/__tests__/snapshots/drawings/blur-node.png +0 -0
 - package/src/__tests__/snapshots/drawings/blur.png +0 -0
 - package/src/__tests__/snapshots/drawings/blur2.png +0 -0
 - package/src/__tests__/snapshots/drawings/custom-drawing.png +0 -0
 - package/src/__tests__/snapshots/drawings/cyan-circle.png +0 -0
 - package/src/__tests__/snapshots/drawings/cyan.png +0 -0
 - package/src/__tests__/snapshots/drawings/default-props.png +0 -0
 - package/src/__tests__/snapshots/drawings/hello-world.png +0 -0
 - package/src/__tests__/snapshots/drawings/image-default-props.png +0 -0
 - package/src/__tests__/snapshots/drawings/lightblue-quarter-circle.png +0 -0
 - package/src/__tests__/snapshots/drawings/lightblue-rect.png +0 -0
 - package/src/__tests__/snapshots/drawings/line.png +0 -0
 - package/src/__tests__/snapshots/drawings/multiple-paints.png +0 -0
 - package/src/__tests__/snapshots/drawings/nested-shader.png +0 -0
 - package/src/__tests__/snapshots/drawings/nested-shader2.png +0 -0
 - package/src/__tests__/snapshots/drawings/opacity-image.png +0 -0
 - package/src/__tests__/snapshots/drawings/opacity-multiplication.png +0 -0
 - package/src/__tests__/snapshots/drawings/opacity-multiplication2.png +0 -0
 - package/src/__tests__/snapshots/drawings/points.png +0 -0
 - package/src/__tests__/snapshots/drawings/purple.png +0 -0
 - package/src/__tests__/snapshots/drawings/rotated-image.png +0 -0
 - package/src/__tests__/snapshots/drawings/rotated-scaled-image.png +0 -0
 - package/src/__tests__/snapshots/drawings/rrect-aa.png +0 -0
 - package/src/__tests__/snapshots/drawings/rrect-no-aa.png +0 -0
 - package/src/__tests__/snapshots/drawings/scaled-image.png +0 -0
 - package/src/__tests__/snapshots/drawings/scaled-image2.png +0 -0
 - package/src/__tests__/snapshots/drawings/semi-transparent-layer.png +0 -0
 - package/src/__tests__/snapshots/drawings/shader-opacity-reference.png +0 -0
 - package/src/__tests__/snapshots/drawings/skew-transform.png +0 -0
 - package/src/__tests__/snapshots/drawings/skew-transform2.png +0 -0
 - package/src/__tests__/snapshots/drawings/small-lightblue-rect.png +0 -0
 - package/src/__tests__/snapshots/drawings/stroke.png +0 -0
 - package/src/__tests__/snapshots/drawings/transform-origin.png +0 -0
 - package/src/__tests__/snapshots/drawings/transparent-layer.png +0 -0
 - package/src/__tests__/snapshots/drawings/transparent.png +0 -0
 - package/src/__tests__/snapshots/drawings/violet.png +0 -0
 - package/src/__tests__/snapshots/font/green.png +0 -0
 - package/src/__tests__/snapshots/font/red.png +0 -0
 - package/src/__tests__/snapshots/glyphs/simple.png +0 -0
 - package/src/__tests__/snapshots/gradient/linear-with-opacity.png +0 -0
 - package/src/__tests__/snapshots/gradient/linear.png +0 -0
 - package/src/__tests__/snapshots/green.png +0 -0
 - package/src/__tests__/snapshots/image-filter/blur.png +0 -0
 - package/src/__tests__/snapshots/image-filter/test-shadow.png +0 -0
 - package/src/__tests__/snapshots/images/bundle-android.png +0 -0
 - package/src/__tests__/snapshots/images/bundle-ios.png +0 -0
 - package/src/__tests__/snapshots/images/bundle-node.png +0 -0
 - package/src/__tests__/snapshots/images/bundle.png +0 -0
 - package/src/__tests__/snapshots/images/filter.png +0 -0
 - package/src/__tests__/snapshots/leak.png +0 -0
 - package/src/__tests__/snapshots/matrix4/camera-corner.png +0 -0
 - package/src/__tests__/snapshots/matrix4/camera-offset.png +0 -0
 - package/src/__tests__/snapshots/matrix4/camera-top-left-center.png +0 -0
 - package/src/__tests__/snapshots/matrix4/camera-zoom-out.png +0 -0
 - package/src/__tests__/snapshots/matrix4/full-rect.png +0 -0
 - package/src/__tests__/snapshots/matrix4/perspective.png +0 -0
 - package/src/__tests__/snapshots/matrix4/rect.png +0 -0
 - package/src/__tests__/snapshots/matrix4/scaled-rect.png +0 -0
 - package/src/__tests__/snapshots/matrix4/test-perspective.png +0 -0
 - package/src/__tests__/snapshots/matrix4/test-perspective2.png +0 -0
 - package/src/__tests__/snapshots/paint/blend-mode.png +0 -0
 - package/src/__tests__/snapshots/paint/circle.png +0 -0
 - package/src/__tests__/snapshots/paint/colors.png +0 -0
 - package/src/__tests__/snapshots/paint/dither.png +0 -0
 - package/src/__tests__/snapshots/paint/path-paint.png +0 -0
 - package/src/__tests__/snapshots/paint/without-dither.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-node.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-ellipse-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-ellipse-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android-box.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios-box.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/simple-paragraph-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/simple-paragraph-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-android.png +0 -0
 - package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-ios.png +0 -0
 - package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-node.png +0 -0
 - package/src/__tests__/snapshots/path/interpolate.png +0 -0
 - package/src/__tests__/snapshots/path/logo.png +0 -0
 - package/src/__tests__/snapshots/path-effects/discrete.png +0 -0
 - package/src/__tests__/snapshots/path-effects/sum.png +0 -0
 - package/src/__tests__/snapshots/path-effects/sum2.png +0 -0
 - package/src/__tests__/snapshots/paths/arc.png +0 -0
 - package/src/__tests__/snapshots/paths/emptyPath.png +0 -0
 - package/src/__tests__/snapshots/paths/interpolation1.png +0 -0
 - package/src/__tests__/snapshots/paths/oval.png +0 -0
 - package/src/__tests__/snapshots/paths/pattern.png +0 -0
 - package/src/__tests__/snapshots/paths/poly.png +0 -0
 - package/src/__tests__/snapshots/paths/rrect.png +0 -0
 - package/src/__tests__/snapshots/paths/skia-trimmed.png +0 -0
 - package/src/__tests__/snapshots/paths/skia.png +0 -0
 - package/src/__tests__/snapshots/pictures/create-picture.png +0 -0
 - package/src/__tests__/snapshots/pictures/green.png +0 -0
 - package/src/__tests__/snapshots/pictures/hello-world.png +0 -0
 - package/src/__tests__/snapshots/pictures/red.png +0 -0
 - package/src/__tests__/snapshots/pictures/simple-picture.png +0 -0
 - package/src/__tests__/snapshots/platform-buffer-bgra.png +0 -0
 - package/src/__tests__/snapshots/platform-buffer.png +0 -0
 - package/src/__tests__/snapshots/points/points.png +0 -0
 - package/src/__tests__/snapshots/points/points2.png +0 -0
 - package/src/__tests__/snapshots/render-nodes/simple.png +0 -0
 - package/src/__tests__/snapshots/render-nodes/simple2.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/blend-color-burn.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/blend-color-burn2.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/blend-color-burn3.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/blend-color-dodge.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/blend-multiply.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/int-uniform.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/linear-gradient.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/linear-gradient2.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/small-spiral.png +0 -0
 - package/src/__tests__/snapshots/runtime-effects/spiral.png +0 -0
 - package/src/__tests__/snapshots/runtime-shader/scaled-circle.png +0 -0
 - package/src/__tests__/snapshots/runtime-shader/scaled-circle2.png +0 -0
 - package/src/__tests__/snapshots/runtime-shader/simple.png +0 -0
 - package/src/__tests__/snapshots/runtime-shader/spiral.png +0 -0
 - package/src/__tests__/snapshots/runtime-shader/unscaled-image.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot1-android-ci.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot1-android.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot1-ios.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot2-android-ci.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot2-android.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot2-ios.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot3-android-ci.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot3-android.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot3-ios.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot4-android-ci.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot4-android.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot4-ios.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot5-android.png +0 -0
 - package/src/__tests__/snapshots/screens/snapshot5-ios.png +0 -0
 - package/src/__tests__/snapshots/sdf/circle.png +0 -0
 - package/src/__tests__/snapshots/sdf/heart.png +0 -0
 - package/src/__tests__/snapshots/sdf/line.png +0 -0
 - package/src/__tests__/snapshots/sdf/rectangle.png +0 -0
 - package/src/__tests__/snapshots/shader/bilinear-interpolation.png +0 -0
 - package/src/__tests__/snapshots/shader/hue.png +0 -0
 - package/src/__tests__/snapshots/shader/hue2.png +0 -0
 - package/src/__tests__/snapshots/shader/shader1.png +0 -0
 - package/src/__tests__/snapshots/shader/shader2.png +0 -0
 - package/src/__tests__/snapshots/shader/sweep-gradient.png +0 -0
 - package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
 - package/src/__tests__/snapshots/sksg/breathe.png +0 -0
 - package/src/__tests__/snapshots/sksg/simple.png +0 -0
 - package/src/__tests__/snapshots/sksg/simple2.png +0 -0
 - package/src/__tests__/snapshots/text/text-bounds-android.png +0 -0
 - package/src/__tests__/snapshots/text/text-bounds-ios.png +0 -0
 - package/src/__tests__/snapshots/text/text-default-font-android.png +0 -0
 - package/src/__tests__/snapshots/text/text-default-font-ios.png +0 -0
 - package/src/__tests__/snapshots/text/text-path-bug-android.png +0 -0
 - package/src/__tests__/snapshots/text/text-path-bug-ios.png +0 -0
 - package/src/__tests__/snapshots/text/text-path-bug-node.png +0 -0
 - package/src/__tests__/snapshots/text/text-path1-android.png +0 -0
 - package/src/__tests__/snapshots/text/text-path1-ios.png +0 -0
 - package/src/__tests__/snapshots/text/text-path1-node.png +0 -0
 - package/src/__tests__/snapshots/text/text-path2-android.png +0 -0
 - package/src/__tests__/snapshots/text/text-path2-ios.png +0 -0
 - package/src/__tests__/snapshots/text/text-path2-node.png +0 -0
 - package/src/__tests__/snapshots/transform/rectangles.png +0 -0
 - package/src/__tests__/snapshots/transform/rotate-radiants.png +0 -0
 - package/src/__tests__/snapshots/transform/rotate.png +0 -0
 - package/src/__tests__/snapshots/transform/scale-origin.png +0 -0
 - package/src/__tests__/snapshots/transform/scale.png +0 -0
 - package/src/__tests__/snapshots/transform/skew.png +0 -0
 - package/src/__tests__/snapshots/transparent.png +0 -0
 - package/src/__tests__/snapshots/vertices/billinear-gradient.png +0 -0
 - package/src/__tests__/snapshots/vertices/strip.png +0 -0
 - package/src/__tests__/snapshots/vertices/vertices.png +0 -0
 - package/src/mock/__tests__/mock.spec.ts +0 -47
 - package/src/renderer/__tests__/Data.spec.tsx +0 -66
 - package/src/renderer/__tests__/Drawings.spec.tsx +0 -96
 - package/src/renderer/__tests__/FitBox.spec.tsx +0 -677
 - package/src/renderer/__tests__/Glyphs.spec.tsx +0 -46
 - package/src/renderer/__tests__/Image.spec.tsx +0 -45
 - package/src/renderer/__tests__/Paths.spec.tsx +0 -75
 - package/src/renderer/__tests__/Picture.spec.tsx +0 -83
 - package/src/renderer/__tests__/Simple.spec.tsx +0 -81
 - package/src/renderer/__tests__/Surfaces.spec.tsx +0 -68
 - package/src/renderer/__tests__/Text.spec.tsx +0 -134
 - package/src/renderer/__tests__/Transform.spec.tsx +0 -72
 - package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -170
 - package/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.tsx +0 -51
 - package/src/renderer/__tests__/documentation/paint/Overview.spec.tsx +0 -84
 - package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +0 -46
 - package/src/renderer/__tests__/e2e/AdvancedImageFilters.spec.tsx +0 -492
 - package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -87
 - package/src/renderer/__tests__/e2e/Atlas.spec.tsx +0 -358
 - package/src/renderer/__tests__/e2e/BackdropFilters.spec.tsx +0 -164
 - package/src/renderer/__tests__/e2e/Blending.spec.tsx +0 -115
 - package/src/renderer/__tests__/e2e/Blur.spec.tsx +0 -56
 - package/src/renderer/__tests__/e2e/Box.spec.tsx +0 -105
 - package/src/renderer/__tests__/e2e/Camera.spec.tsx +0 -475
 - package/src/renderer/__tests__/e2e/ColorFilters.spec.tsx +0 -227
 - package/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.tsx +0 -102
 - package/src/renderer/__tests__/e2e/CoonPatch.spec.tsx +0 -74
 - package/src/renderer/__tests__/e2e/DataEncoding.spec.tsx +0 -79
 - package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -254
 - package/src/renderer/__tests__/e2e/FontMgr.spec.tsx +0 -150
 - package/src/renderer/__tests__/e2e/Gradient.spec.tsx +0 -40
 - package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -128
 - package/src/renderer/__tests__/e2e/Image.spec.tsx +0 -77
 - package/src/renderer/__tests__/e2e/ImageEncoding.spec.tsx +0 -255
 - package/src/renderer/__tests__/e2e/ImageFilter.spec.tsx +0 -99
 - package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -320
 - package/src/renderer/__tests__/e2e/LightingImageFilters.spec.tsx +0 -1478
 - package/src/renderer/__tests__/e2e/Mask.spec.tsx +0 -85
 - package/src/renderer/__tests__/e2e/Matrix4.spec.tsx +0 -367
 - package/src/renderer/__tests__/e2e/NativeBuffer.spec.tsx +0 -158
 - package/src/renderer/__tests__/e2e/Offscreen.spec.tsx +0 -109
 - package/src/renderer/__tests__/e2e/Opacity.spec.tsx +0 -301
 - package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -230
 - package/src/renderer/__tests__/e2e/ParagraphMethods.spec.tsx +0 -388
 - package/src/renderer/__tests__/e2e/ParagraphPaint.spec.tsx +0 -262
 - package/src/renderer/__tests__/e2e/Paragraphs.spec.tsx +0 -615
 - package/src/renderer/__tests__/e2e/PathEffects.spec.tsx +0 -73
 - package/src/renderer/__tests__/e2e/Paths.spec.tsx +0 -394
 - package/src/renderer/__tests__/e2e/Picture.spec.tsx +0 -134
 - package/src/renderer/__tests__/e2e/Point.spec.tsx +0 -35
 - package/src/renderer/__tests__/e2e/Rect.spec.tsx +0 -139
 - package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -323
 - package/src/renderer/__tests__/e2e/SDF.spec.tsx +0 -148
 - package/src/renderer/__tests__/e2e/SVG.spec.tsx +0 -192
 - package/src/renderer/__tests__/e2e/Shader.spec.tsx +0 -353
 - package/src/renderer/__tests__/e2e/Skottie.spec.tsx +0 -463
 - package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +0 -29
 - package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +0 -17
 - package/src/renderer/__tests__/e2e/Text.spec.tsx +0 -109
 - package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -43
 - package/src/renderer/__tests__/e2e/Transforms.spec.tsx +0 -63
 - package/src/renderer/__tests__/e2e/Vertices.spec.tsx +0 -30
 - package/src/renderer/__tests__/e2e/Video.ts +0 -68
 - package/src/renderer/__tests__/e2e/setup/Paragraph.ts +0 -60
 - package/src/renderer/__tests__/e2e/setup/SVG.ts +0 -31
 - package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +0 -31
 - package/src/renderer/__tests__/e2e/setup/index.ts +0 -3
 - package/src/renderer/__tests__/e2e/setup/skottie/basic_slots.json +0 -1118
 - package/src/renderer/__tests__/e2e/setup/skottie/color-props.json +0 -1
 - package/src/renderer/__tests__/e2e/setup/skottie/confetti.json +0 -5899
 - package/src/renderer/__tests__/e2e/setup/skottie/drinks.json +0 -43857
 - package/src/renderer/__tests__/e2e/setup/skottie/fingerprint.json +0 -1
 - package/src/renderer/__tests__/e2e/setup/skottie/lego_loader.json +0 -29540
 - package/src/renderer/__tests__/e2e/setup/skottie/new-drop.json +0 -1
 - package/src/renderer/__tests__/e2e/setup/skottie/onboarding.json +0 -1
 - package/src/renderer/__tests__/e2e/setup/skottie/text-layer.json +0 -1
 - package/src/renderer/__tests__/examples/BlendModes.spec.tsx +0 -123
 - package/src/renderer/__tests__/setup.tsx +0 -525
 - package/src/skia/__tests__/ColorFilter.spec.ts +0 -67
 - package/src/skia/__tests__/Data.spec.ts +0 -29
 - package/src/skia/__tests__/Drawings.spec.ts +0 -119
 - package/src/skia/__tests__/Enums.spec.ts +0 -136
 - package/src/skia/__tests__/Geometry.spec.ts +0 -39
 - package/src/skia/__tests__/ImageFilter.spec.ts +0 -19
 - package/src/skia/__tests__/Mock.spec.ts +0 -7
 - package/src/skia/__tests__/Paint.spec.ts +0 -25
 - package/src/skia/__tests__/Path.spec.ts +0 -384
 - package/src/skia/__tests__/RuntimeEffect.spec.ts +0 -66
 - package/src/skia/__tests__/Shader.spec.ts +0 -96
 - package/src/skia/__tests__/Text.spec.ts +0 -32
 - package/src/skia/__tests__/Transform.spec.ts +0 -89
 - package/src/skia/__tests__/Vertices.spec.ts +0 -40
 - package/src/skia/__tests__/assets/Avenir-Heavy.ttf +0 -0
 - package/src/skia/__tests__/assets/DIN-Medium.ttf +0 -0
 - package/src/skia/__tests__/assets/NotoColorEmoji.ttf +0 -0
 - package/src/skia/__tests__/assets/NotoSansSC-Regular.otf +0 -0
 - package/src/skia/__tests__/assets/Pacifico-Regular.ttf +0 -0
 - package/src/skia/__tests__/assets/Roboto-BlackItalic.ttf +0 -0
 - package/src/skia/__tests__/assets/Roboto-Bold.ttf +0 -0
 - package/src/skia/__tests__/assets/Roboto-Italic.ttf +0 -0
 - package/src/skia/__tests__/assets/Roboto-Medium.ttf +0 -0
 - package/src/skia/__tests__/assets/Roboto-Regular.ttf +0 -0
 - package/src/skia/__tests__/assets/UberMove-Medium_mono.ttf +0 -0
 - package/src/skia/__tests__/assets/bird.gif +0 -0
 - package/src/skia/__tests__/assets/box.png +0 -0
 - package/src/skia/__tests__/assets/box2.png +0 -0
 - package/src/skia/__tests__/assets/card.png +0 -0
 - package/src/skia/__tests__/assets/mask.png +0 -0
 - package/src/skia/__tests__/assets/oslo-mini.jpg +0 -0
 - package/src/skia/__tests__/assets/oslo.jpg +0 -0
 - package/src/skia/__tests__/assets/product.png +0 -0
 - package/src/skia/__tests__/assets/skia_logo.png +0 -0
 - package/src/skia/__tests__/assets/skia_logo_jpeg.jpg +0 -0
 - package/src/skia/__tests__/assets/tiger.svg +0 -724
 - package/src/skia/__tests__/assets/zurich.jpg +0 -0
 - package/src/skia/__tests__/setup.ts +0 -27
 - package/src/sksg/__tests__/Simple.spec.tsx +0 -148
 
    
        package/android/CMakeLists.txt
    CHANGED
    
    | 
         @@ -61,7 +61,6 @@ set (SKIA_SKUNICODE_CORE_LIB "skunicode_core") 
     | 
|
| 
       61 
61 
     | 
    
         
             
            set (SKIA_SKUNICODE_ICU_LIB "skunicode_icu")
         
     | 
| 
       62 
62 
     | 
    
         
             
            set (SKIA_SKOTTIE_LIB "skottie")
         
     | 
| 
       63 
63 
     | 
    
         
             
            set (SKIA_SKSG_LIB "sksg")
         
     | 
| 
       64 
     | 
    
         
            -
            set (SKIA_PATHOPS_LIB "pathops")
         
     | 
| 
       65 
64 
     | 
    
         
             
            set (SKIA_JSONREADER_LIB "jsonreader")
         
     | 
| 
       66 
65 
     | 
    
         | 
| 
       67 
66 
     | 
    
         | 
| 
         @@ -326,7 +325,6 @@ if(${REACT_NATIVE_VERSION} GREATER_EQUAL 76) 
     | 
|
| 
       326 
325 
     | 
    
         
             
                    ${SKIA_SKUNICODE_ICU_LIB}
         
     | 
| 
       327 
326 
     | 
    
         
             
                    ${SKIA_SKOTTIE_LIB}
         
     | 
| 
       328 
327 
     | 
    
         
             
                    ${SKIA_SKSG_LIB}
         
     | 
| 
       329 
     | 
    
         
            -
                    ${SKIA_PATHOPS_LIB}
         
     | 
| 
       330 
328 
     | 
    
         
             
                    ${SKIA_JSONREADER_LIB}
         
     | 
| 
       331 
329 
     | 
    
         
             
                    ${SKIA_LIB}
         
     | 
| 
       332 
330 
     | 
    
         
             
                    -ljnigraphics
         
     | 
| 
         @@ -350,7 +348,6 @@ else() 
     | 
|
| 
       350 
348 
     | 
    
         
             
                    ${SKIA_SKUNICODE_ICU_LIB}
         
     | 
| 
       351 
349 
     | 
    
         
             
                    ${SKIA_SKOTTIE_LIB}
         
     | 
| 
       352 
350 
     | 
    
         
             
                    ${SKIA_SKSG_LIB}
         
     | 
| 
       353 
     | 
    
         
            -
                    ${SKIA_PATHOPS_LIB}
         
     | 
| 
       354 
351 
     | 
    
         
             
                    ${SKIA_JSONREADER_LIB}
         
     | 
| 
       355 
352 
     | 
    
         
             
                    ${SKIA_LIB}
         
     | 
| 
       356 
353 
     | 
    
         
             
                    -ljnigraphics
         
     | 
| 
         @@ -19,10 +19,13 @@ 
     | 
|
| 
       19 
19 
     | 
    
         
             
            #include "MainThreadDispatcher.h"
         
     | 
| 
       20 
20 
     | 
    
         
             
            #include "RNSkAndroidVideo.h"
         
     | 
| 
       21 
21 
     | 
    
         
             
            #include "RNSkPlatformContext.h"
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
       22 
24 
     | 
    
         
             
            #pragma clang diagnostic push
         
     | 
| 
       23 
25 
     | 
    
         
             
            #pragma clang diagnostic ignored "-Wdocumentation"
         
     | 
| 
       24 
26 
     | 
    
         | 
| 
       25 
27 
     | 
    
         
             
            #include "include/ports/SkFontMgr_android.h"
         
     | 
| 
      
 28 
     | 
    
         
            +
            #include "include/ports/SkFontScanner_FreeType.h"
         
     | 
| 
       26 
29 
     | 
    
         | 
| 
       27 
30 
     | 
    
         
             
            #pragma clang diagnostic pop
         
     | 
| 
       28 
31 
     | 
    
         | 
| 
         @@ -215,7 +218,7 @@ public: 
     | 
|
| 
       215 
218 
     | 
    
         
             
            #endif
         
     | 
| 
       216 
219 
     | 
    
         | 
| 
       217 
220 
     | 
    
         
             
              sk_sp<SkFontMgr> createFontMgr() override {
         
     | 
| 
       218 
     | 
    
         
            -
                return SkFontMgr_New_Android(nullptr);
         
     | 
| 
      
 221 
     | 
    
         
            +
                return SkFontMgr_New_Android(nullptr, SkFontScanner_Make_FreeType());
         
     | 
| 
       219 
222 
     | 
    
         
             
              }
         
     | 
| 
       220 
223 
     | 
    
         | 
| 
       221 
224 
     | 
    
         
             
              void runOnMainThread(std::function<void()> task) override {
         
     | 
| 
         @@ -16,8 +16,13 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
            #pragma clang diagnostic push
         
     | 
| 
       17 
17 
     | 
    
         
             
            #pragma clang diagnostic ignored "-Wdocumentation"
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
            #include "include/core/SkBlendMode.h"
         
     | 
| 
      
 20 
     | 
    
         
            +
            #include "include/core/SkCanvas.h"
         
     | 
| 
      
 21 
     | 
    
         
            +
            #include "include/core/SkColor.h"
         
     | 
| 
       19 
22 
     | 
    
         
             
            #import "include/core/SkColorSpace.h"
         
     | 
| 
       20 
23 
     | 
    
         
             
            #include "include/core/SkFontMgr.h"
         
     | 
| 
      
 24 
     | 
    
         
            +
            #include "include/core/SkPaint.h"
         
     | 
| 
      
 25 
     | 
    
         
            +
            #include "include/core/SkSamplingOptions.h"
         
     | 
| 
       21 
26 
     | 
    
         
             
            #include "include/core/SkSurface.h"
         
     | 
| 
       22 
27 
     | 
    
         | 
| 
       23 
28 
     | 
    
         
             
            #include "include/ports/SkFontMgr_mac_ct.h"
         
     | 
| 
         @@ -74,22 +79,26 @@ void RNSkApplePlatformContext::releaseNativeBuffer(uint64_t pointer) { 
     | 
|
| 
       74 
79 
     | 
    
         
             
            uint64_t RNSkApplePlatformContext::makeNativeBuffer(sk_sp<SkImage> image) {
         
     | 
| 
       75 
80 
     | 
    
         
             
              // 0. If Image is not in BGRA, convert to BGRA as only BGRA is supported.
         
     | 
| 
       76 
81 
     | 
    
         
             
              if (image->colorType() != kBGRA_8888_SkColorType) {
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
       84 
     | 
    
         
            -
                 
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
                 
     | 
| 
      
 82 
     | 
    
         
            +
                const SkImageInfo bgraInfo =
         
     | 
| 
      
 83 
     | 
    
         
            +
                    SkImageInfo::Make(image->dimensions(), kBGRA_8888_SkColorType,
         
     | 
| 
      
 84 
     | 
    
         
            +
                                      kPremul_SkAlphaType, SkColorSpace::MakeSRGB());
         
     | 
| 
      
 85 
     | 
    
         
            +
                auto surface = SkSurfaces::Raster(bgraInfo);
         
     | 
| 
      
 86 
     | 
    
         
            +
                if (!surface) {
         
     | 
| 
      
 87 
     | 
    
         
            +
                  throw std::runtime_error(
         
     | 
| 
      
 88 
     | 
    
         
            +
                      "Failed to allocate raster surface for BGRA conversion");
         
     | 
| 
      
 89 
     | 
    
         
            +
                }
         
     | 
| 
      
 90 
     | 
    
         
            +
                SkCanvas *canvas = surface->getCanvas();
         
     | 
| 
      
 91 
     | 
    
         
            +
                canvas->clear(SK_ColorTRANSPARENT);
         
     | 
| 
      
 92 
     | 
    
         
            +
                SkPaint paint;
         
     | 
| 
      
 93 
     | 
    
         
            +
                paint.setBlendMode(SkBlendMode::kSrc);
         
     | 
| 
      
 94 
     | 
    
         
            +
                canvas->drawImage(image.get(), 0.0f, 0.0f, SkSamplingOptions(), &paint);
         
     | 
| 
      
 95 
     | 
    
         
            +
                auto bgraImage = surface->makeImageSnapshot();
         
     | 
| 
      
 96 
     | 
    
         
            +
                if (bgraImage == nullptr) {
         
     | 
| 
       89 
97 
     | 
    
         
             
                  throw std::runtime_error(
         
     | 
| 
       90 
98 
     | 
    
         
             
                      "Failed to convert image to BGRA_8888 colortype! Only BGRA_8888 "
         
     | 
| 
       91 
99 
     | 
    
         
             
                      "NativeBuffers are supported.");
         
     | 
| 
       92 
100 
     | 
    
         
             
                }
         
     | 
| 
      
 101 
     | 
    
         
            +
                image = std::move(bgraImage);
         
     | 
| 
       93 
102 
     | 
    
         
             
              }
         
     | 
| 
       94 
103 
     | 
    
         | 
| 
       95 
104 
     | 
    
         
             
              // 1. Get image info
         
     | 
    
        package/cpp/api/JsiSkCanvas.h
    CHANGED
    
    | 
         @@ -34,7 +34,10 @@ 
     | 
|
| 
       34 
34 
     | 
    
         
             
            #include "include/core/SkRegion.h"
         
     | 
| 
       35 
35 
     | 
    
         
             
            #include "include/core/SkSurface.h"
         
     | 
| 
       36 
36 
     | 
    
         
             
            #include "include/core/SkTypeface.h"
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            #if !defined(SK_GRAPHITE)
         
     | 
| 
       37 
39 
     | 
    
         
             
            #include "include/gpu/ganesh/GrDirectContext.h"
         
     | 
| 
      
 40 
     | 
    
         
            +
            #endif
         
     | 
| 
       38 
41 
     | 
    
         | 
| 
       39 
42 
     | 
    
         
             
            #pragma clang diagnostic pop
         
     | 
| 
       40 
43 
     | 
    
         | 
| 
         @@ -69,7 +72,6 @@ public: 
     | 
|
| 
       69 
72 
     | 
    
         | 
| 
       70 
73 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImage) {
         
     | 
| 
       71 
74 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       72 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       73 
75 
     | 
    
         
             
                auto x = arguments[1].asNumber();
         
     | 
| 
       74 
76 
     | 
    
         
             
                auto y = arguments[2].asNumber();
         
     | 
| 
       75 
77 
     | 
    
         
             
                std::shared_ptr<SkPaint> paint;
         
     | 
| 
         @@ -82,7 +84,6 @@ public: 
     | 
|
| 
       82 
84 
     | 
    
         | 
| 
       83 
85 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImageRect) {
         
     | 
| 
       84 
86 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       85 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       86 
87 
     | 
    
         
             
                auto src = JsiSkRect::fromValue(runtime, arguments[1]);
         
     | 
| 
       87 
88 
     | 
    
         
             
                auto dest = JsiSkRect::fromValue(runtime, arguments[2]);
         
     | 
| 
       88 
89 
     | 
    
         
             
                auto paint = JsiSkPaint::fromValue(runtime, arguments[3]);
         
     | 
| 
         @@ -95,7 +96,6 @@ public: 
     | 
|
| 
       95 
96 
     | 
    
         | 
| 
       96 
97 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImageCubic) {
         
     | 
| 
       97 
98 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       98 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       99 
99 
     | 
    
         
             
                auto x = arguments[1].asNumber();
         
     | 
| 
       100 
100 
     | 
    
         
             
                auto y = arguments[2].asNumber();
         
     | 
| 
       101 
101 
     | 
    
         
             
                float B = arguments[3].asNumber();
         
     | 
| 
         @@ -112,7 +112,6 @@ public: 
     | 
|
| 
       112 
112 
     | 
    
         | 
| 
       113 
113 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImageOptions) {
         
     | 
| 
       114 
114 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       115 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       116 
115 
     | 
    
         
             
                auto x = arguments[1].asNumber();
         
     | 
| 
       117 
116 
     | 
    
         
             
                auto y = arguments[2].asNumber();
         
     | 
| 
       118 
117 
     | 
    
         
             
                auto fm = (SkFilterMode)arguments[3].asNumber();
         
     | 
| 
         @@ -129,7 +128,6 @@ public: 
     | 
|
| 
       129 
128 
     | 
    
         | 
| 
       130 
129 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImageNine) {
         
     | 
| 
       131 
130 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       132 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       133 
131 
     | 
    
         
             
                auto center = JsiSkRect::fromValue(runtime, arguments[1]);
         
     | 
| 
       134 
132 
     | 
    
         
             
                auto dest = JsiSkRect::fromValue(runtime, arguments[2]);
         
     | 
| 
       135 
133 
     | 
    
         
             
                auto fm = (SkFilterMode)arguments[3].asNumber();
         
     | 
| 
         @@ -146,7 +144,6 @@ public: 
     | 
|
| 
       146 
144 
     | 
    
         | 
| 
       147 
145 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImageRectCubic) {
         
     | 
| 
       148 
146 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       149 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       150 
147 
     | 
    
         
             
                auto src = JsiSkRect::fromValue(runtime, arguments[1]);
         
     | 
| 
       151 
148 
     | 
    
         
             
                auto dest = JsiSkRect::fromValue(runtime, arguments[2]);
         
     | 
| 
       152 
149 
     | 
    
         
             
                float B = arguments[3].asNumber();
         
     | 
| 
         @@ -166,7 +163,6 @@ public: 
     | 
|
| 
       166 
163 
     | 
    
         | 
| 
       167 
164 
     | 
    
         
             
              JSI_HOST_FUNCTION(drawImageRectOptions) {
         
     | 
| 
       168 
165 
     | 
    
         
             
                auto image = JsiSkImage::fromValue(runtime, arguments[0]);
         
     | 
| 
       169 
     | 
    
         
            -
                validateImageForDrawing(runtime, image);
         
     | 
| 
       170 
166 
     | 
    
         
             
                auto src = JsiSkRect::fromValue(runtime, arguments[1]);
         
     | 
| 
       171 
167 
     | 
    
         
             
                auto dest = JsiSkRect::fromValue(runtime, arguments[2]);
         
     | 
| 
       172 
168 
     | 
    
         
             
                auto filter = (SkFilterMode)arguments[3].asNumber();
         
     | 
| 
         @@ -703,20 +699,6 @@ public: 
     | 
|
| 
       703 
699 
     | 
    
         
             
              SkCanvas *getCanvas() { return _canvas; }
         
     | 
| 
       704 
700 
     | 
    
         | 
| 
       705 
701 
     | 
    
         
             
            private:
         
     | 
| 
       706 
     | 
    
         
            -
              void validateImageForDrawing(jsi::Runtime &runtime,
         
     | 
| 
       707 
     | 
    
         
            -
                                           const sk_sp<SkImage> image) {
         
     | 
| 
       708 
     | 
    
         
            -
            #if !defined(SK_GRAPHITE)
         
     | 
| 
       709 
     | 
    
         
            -
                auto ctx = getContext()->getDirectContext();
         
     | 
| 
       710 
     | 
    
         
            -
                if (!ctx) {
         
     | 
| 
       711 
     | 
    
         
            -
                  throw jsi::JSError(runtime, "No GPU context available");
         
     | 
| 
       712 
     | 
    
         
            -
                }
         
     | 
| 
       713 
     | 
    
         
            -
                if (image && !image->isValid(ctx->asRecorder())) {
         
     | 
| 
       714 
     | 
    
         
            -
                  throw jsi::JSError(
         
     | 
| 
       715 
     | 
    
         
            -
                      runtime, "image used in drawImage() does not belong to this context");
         
     | 
| 
       716 
     | 
    
         
            -
                }
         
     | 
| 
       717 
     | 
    
         
            -
            #endif
         
     | 
| 
       718 
     | 
    
         
            -
              }
         
     | 
| 
       719 
     | 
    
         
            -
             
     | 
| 
       720 
702 
     | 
    
         
             
              SkCanvas *_canvas;
         
     | 
| 
       721 
703 
     | 
    
         
             
            };
         
     | 
| 
       722 
704 
     | 
    
         
             
            } // namespace RNSkia
         
     | 
    
        package/cpp/api/JsiSkImage.h
    CHANGED
    
    | 
         @@ -17,6 +17,8 @@ 
     | 
|
| 
       17 
17 
     | 
    
         
             
            #if defined(SK_GRAPHITE)
         
     | 
| 
       18 
18 
     | 
    
         
             
            #include "RNDawnContext.h"
         
     | 
| 
       19 
19 
     | 
    
         
             
            #include "include/gpu/graphite/Context.h"
         
     | 
| 
      
 20 
     | 
    
         
            +
            #else
         
     | 
| 
      
 21 
     | 
    
         
            +
            #include "include/gpu/ganesh/GrDirectContext.h"
         
     | 
| 
       20 
22 
     | 
    
         
             
            #endif
         
     | 
| 
       21 
23 
     | 
    
         | 
| 
       22 
24 
     | 
    
         
             
            #pragma clang diagnostic push
         
     | 
| 
         @@ -241,7 +243,11 @@ public: 
     | 
|
| 
       241 
243 
     | 
    
         
             
                auto rasterImage = DawnContext::getInstance().MakeRasterImage(getObject());
         
     | 
| 
       242 
244 
     | 
    
         
             
            #else
         
     | 
| 
       243 
245 
     | 
    
         
             
                auto grContext = getContext()->getDirectContext();
         
     | 
| 
       244 
     | 
    
         
            -
                auto  
     | 
| 
      
 246 
     | 
    
         
            +
                auto image = getObject();
         
     | 
| 
      
 247 
     | 
    
         
            +
                if (!grContext) {
         
     | 
| 
      
 248 
     | 
    
         
            +
                  throw jsi::JSError(runtime, "No GPU context available.");
         
     | 
| 
      
 249 
     | 
    
         
            +
                }
         
     | 
| 
      
 250 
     | 
    
         
            +
                auto rasterImage = image->makeRasterImage(grContext);
         
     | 
| 
       245 
251 
     | 
    
         
             
            #endif
         
     | 
| 
       246 
252 
     | 
    
         
             
                auto hostObjectInstance =
         
     | 
| 
       247 
253 
     | 
    
         
             
                    std::make_shared<JsiSkImage>(getContext(), std::move(rasterImage));
         
     | 
| 
         @@ -312,4 +318,4 @@ public: 
     | 
|
| 
       312 
318 
     | 
    
         
             
              }
         
     | 
| 
       313 
319 
     | 
    
         
             
            };
         
     | 
| 
       314 
320 
     | 
    
         | 
| 
       315 
     | 
    
         
            -
            } // namespace RNSkia
         
     | 
| 
      
 321 
     | 
    
         
            +
            } // namespace RNSkia
         
     | 
    
        package/cpp/api/JsiSkPath.h
    CHANGED
    
    
    
        package/cpp/api/JsiSkSVG.h
    CHANGED
    
    | 
         @@ -20,10 +20,13 @@ namespace jsi = facebook::jsi; 
     | 
|
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
            class JsiSkSVG : public JsiSkWrappingSkPtrHostObject<SkSVGDOM> {
         
     | 
| 
       22 
22 
     | 
    
         
             
            public:
         
     | 
| 
       23 
     | 
    
         
            -
              JsiSkSVG(std::shared_ptr<RNSkPlatformContext> context, sk_sp<SkSVGDOM> svgdom 
     | 
| 
      
 23 
     | 
    
         
            +
              JsiSkSVG(std::shared_ptr<RNSkPlatformContext> context, sk_sp<SkSVGDOM> svgdom,
         
     | 
| 
      
 24 
     | 
    
         
            +
                       sk_sp<skresources::ResourceProvider> resourceProvider = nullptr)
         
     | 
| 
       24 
25 
     | 
    
         
             
                  : JsiSkWrappingSkPtrHostObject<SkSVGDOM>(std::move(context),
         
     | 
| 
       25 
26 
     | 
    
         
             
                                                           std::move(svgdom)) {}
         
     | 
| 
       26 
27 
     | 
    
         | 
| 
      
 28 
     | 
    
         
            +
              ~JsiSkSVG() = default;
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       27 
30 
     | 
    
         
             
              EXPORT_JSI_API_TYPENAME(JsiSkSVG, SVG)
         
     | 
| 
       28 
31 
     | 
    
         | 
| 
       29 
32 
     | 
    
         
             
              JSI_HOST_FUNCTION(width) {
         
     | 
| 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #pragma once
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            #include <memory>
         
     | 
| 
      
 4 
     | 
    
         
            +
            #include <unordered_map>
         
     | 
| 
       4 
5 
     | 
    
         
             
            #include <utility>
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
7 
     | 
    
         
             
            #include <jsi/jsi.h>
         
     | 
| 
         @@ -14,6 +15,7 @@ 
     | 
|
| 
       14 
15 
     | 
    
         
             
            #pragma clang diagnostic ignored "-Wdocumentation"
         
     | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
            #include "include/core/SkStream.h"
         
     | 
| 
      
 18 
     | 
    
         
            +
            #include "modules/skresources/include/SkResources.h"
         
     | 
| 
       17 
19 
     | 
    
         | 
| 
       18 
20 
     | 
    
         
             
            #pragma clang diagnostic pop
         
     | 
| 
       19 
21 
     | 
    
         | 
| 
         @@ -21,24 +23,141 @@ namespace RNSkia { 
     | 
|
| 
       21 
23 
     | 
    
         | 
| 
       22 
24 
     | 
    
         
             
            namespace jsi = facebook::jsi;
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
      
 26 
     | 
    
         
            +
            class SVGAssetProvider : public skresources::ResourceProvider {
         
     | 
| 
      
 27 
     | 
    
         
            +
            public:
         
     | 
| 
      
 28 
     | 
    
         
            +
              using AssetMap = std::unordered_map<std::string, sk_sp<SkData>>;
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              static sk_sp<SVGAssetProvider>
         
     | 
| 
      
 31 
     | 
    
         
            +
              Make(AssetMap assets, skresources::ImageDecodeStrategy strategy =
         
     | 
| 
      
 32 
     | 
    
         
            +
                                        skresources::ImageDecodeStrategy::kPreDecode) {
         
     | 
| 
      
 33 
     | 
    
         
            +
                return sk_sp<SVGAssetProvider>(
         
     | 
| 
      
 34 
     | 
    
         
            +
                    new SVGAssetProvider(std::move(assets), strategy));
         
     | 
| 
      
 35 
     | 
    
         
            +
              }
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              // Override loadImageAsset() to handle image loading
         
     | 
| 
      
 38 
     | 
    
         
            +
              sk_sp<skresources::ImageAsset>
         
     | 
| 
      
 39 
     | 
    
         
            +
              loadImageAsset(const char[] /*path*/, const char name[],
         
     | 
| 
      
 40 
     | 
    
         
            +
                             const char[] /*id*/) const override {
         
     | 
| 
      
 41 
     | 
    
         
            +
                // Identify resources by name only
         
     | 
| 
      
 42 
     | 
    
         
            +
                auto it = fAssets.find(name);
         
     | 
| 
      
 43 
     | 
    
         
            +
                if (it != fAssets.end()) {
         
     | 
| 
      
 44 
     | 
    
         
            +
                  // Create ImageAsset from SkData
         
     | 
| 
      
 45 
     | 
    
         
            +
                  return skresources::MultiFrameImageAsset::Make(it->second, fStrategy);
         
     | 
| 
      
 46 
     | 
    
         
            +
                }
         
     | 
| 
      
 47 
     | 
    
         
            +
                return nullptr;
         
     | 
| 
      
 48 
     | 
    
         
            +
              }
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            private:
         
     | 
| 
      
 51 
     | 
    
         
            +
              explicit SVGAssetProvider(AssetMap assets,
         
     | 
| 
      
 52 
     | 
    
         
            +
                                        skresources::ImageDecodeStrategy strategy)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  : fAssets(std::move(assets)), fStrategy(strategy) {}
         
     | 
| 
      
 54 
     | 
    
         
            +
              const AssetMap fAssets;
         
     | 
| 
      
 55 
     | 
    
         
            +
              const skresources::ImageDecodeStrategy fStrategy;
         
     | 
| 
      
 56 
     | 
    
         
            +
            };
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
       24 
58 
     | 
    
         
             
            class JsiSkSVGFactory : public JsiSkHostObject {
         
     | 
| 
       25 
59 
     | 
    
         
             
            public:
         
     | 
| 
       26 
     | 
    
         
            -
               
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                 
     | 
| 
      
 60 
     | 
    
         
            +
              // Helper function to parse asset map from JS object
         
     | 
| 
      
 61 
     | 
    
         
            +
              static SVGAssetProvider::AssetMap parseAssetMap(jsi::Runtime &runtime,
         
     | 
| 
      
 62 
     | 
    
         
            +
                                                              const jsi::Value &jsValue) {
         
     | 
| 
      
 63 
     | 
    
         
            +
                SVGAssetProvider::AssetMap assets;
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                if (!jsValue.isObject()) {
         
     | 
| 
      
 66 
     | 
    
         
            +
                  return assets;
         
     | 
| 
      
 67 
     | 
    
         
            +
                }
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
                auto jsAssetMap = jsValue.asObject(runtime);
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                // Convert JS object to C++ AssetMap
         
     | 
| 
      
 72 
     | 
    
         
            +
                auto propertyNames = jsAssetMap.getPropertyNames(runtime);
         
     | 
| 
      
 73 
     | 
    
         
            +
                size_t propertyCount = propertyNames.size(runtime);
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                for (size_t i = 0; i < propertyCount; i++) {
         
     | 
| 
      
 76 
     | 
    
         
            +
                  auto propertyName =
         
     | 
| 
      
 77 
     | 
    
         
            +
                      propertyNames.getValueAtIndex(runtime, i).asString(runtime);
         
     | 
| 
      
 78 
     | 
    
         
            +
                  auto key = propertyName.utf8(runtime);
         
     | 
| 
      
 79 
     | 
    
         
            +
                  auto jsValue = jsAssetMap.getProperty(runtime, propertyName);
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
                  // Skip null or undefined values
         
     | 
| 
      
 82 
     | 
    
         
            +
                  if (jsValue.isNull() || jsValue.isUndefined()) {
         
     | 
| 
      
 83 
     | 
    
         
            +
                    continue;
         
     | 
| 
      
 84 
     | 
    
         
            +
                  }
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
                  if (jsValue.isObject()) {
         
     | 
| 
      
 87 
     | 
    
         
            +
                    auto jsObject = jsValue.asObject(runtime);
         
     | 
| 
      
 88 
     | 
    
         
            +
                    if (jsObject.isHostObject(runtime)) {
         
     | 
| 
      
 89 
     | 
    
         
            +
                      auto hostObject = jsObject.getHostObject(runtime);
         
     | 
| 
      
 90 
     | 
    
         
            +
                      auto skData = std::dynamic_pointer_cast<JsiSkData>(hostObject);
         
     | 
| 
      
 91 
     | 
    
         
            +
                      if (skData) {
         
     | 
| 
      
 92 
     | 
    
         
            +
                        assets[key] = skData->getObject();
         
     | 
| 
      
 93 
     | 
    
         
            +
                      }
         
     | 
| 
      
 94 
     | 
    
         
            +
                    }
         
     | 
| 
      
 95 
     | 
    
         
            +
                  }
         
     | 
| 
      
 96 
     | 
    
         
            +
                }
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                return assets;
         
     | 
| 
      
 99 
     | 
    
         
            +
              }
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            private:
         
     | 
| 
      
 102 
     | 
    
         
            +
              jsi::Value makeSVGFromStream(jsi::Runtime &runtime,
         
     | 
| 
      
 103 
     | 
    
         
            +
                                           std::unique_ptr<SkMemoryStream> stream,
         
     | 
| 
      
 104 
     | 
    
         
            +
                                           sk_sp<SkFontMgr> fontMgr,
         
     | 
| 
      
 105 
     | 
    
         
            +
                                           SVGAssetProvider::AssetMap assets) {
         
     | 
| 
      
 106 
     | 
    
         
            +
                auto builder = SkSVGDOM::Builder();
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
                if (fontMgr) {
         
     | 
| 
      
 109 
     | 
    
         
            +
                  builder.setFontManager(fontMgr);
         
     | 
| 
      
 110 
     | 
    
         
            +
                }
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
                auto baseProvider = SVGAssetProvider::Make(
         
     | 
| 
      
 113 
     | 
    
         
            +
                    std::move(assets), skresources::ImageDecodeStrategy::kPreDecode);
         
     | 
| 
      
 114 
     | 
    
         
            +
                auto provider = skresources::DataURIResourceProviderProxy::Make(
         
     | 
| 
      
 115 
     | 
    
         
            +
                    std::move(baseProvider), skresources::ImageDecodeStrategy::kPreDecode,
         
     | 
| 
      
 116 
     | 
    
         
            +
                    fontMgr);
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
                // TODO: this sk_sp subclassing issue needs to be fixed.
         
     | 
| 
      
 119 
     | 
    
         
            +
                provider->ref();
         
     | 
| 
      
 120 
     | 
    
         
            +
                builder.setResourceProvider(provider);
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
                auto svg_dom = builder.make(*stream);
         
     | 
| 
       30 
123 
     | 
    
         
             
                auto svg = std::make_shared<JsiSkSVG>(getContext(), std::move(svg_dom));
         
     | 
| 
       31 
124 
     | 
    
         
             
                return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, svg,
         
     | 
| 
       32 
125 
     | 
    
         
             
                                                                   getContext());
         
     | 
| 
       33 
126 
     | 
    
         
             
              }
         
     | 
| 
       34 
127 
     | 
    
         | 
| 
      
 128 
     | 
    
         
            +
            public:
         
     | 
| 
      
 129 
     | 
    
         
            +
              JSI_HOST_FUNCTION(MakeFromData) {
         
     | 
| 
      
 130 
     | 
    
         
            +
                auto data = JsiSkData::fromValue(runtime, arguments[0]);
         
     | 
| 
      
 131 
     | 
    
         
            +
                auto stream = SkMemoryStream::Make(data);
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
                // Parse fontMgr (second parameter)
         
     | 
| 
      
 134 
     | 
    
         
            +
                auto fontMgr = count > 1 && arguments[1].isObject()
         
     | 
| 
      
 135 
     | 
    
         
            +
                                   ? JsiSkFontMgr::fromValue(runtime, arguments[1])
         
     | 
| 
      
 136 
     | 
    
         
            +
                                   : nullptr;
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
                // Parse assets map (third parameter)
         
     | 
| 
      
 139 
     | 
    
         
            +
                auto assets = count > 2 ? parseAssetMap(runtime, arguments[2])
         
     | 
| 
      
 140 
     | 
    
         
            +
                                        : SVGAssetProvider::AssetMap();
         
     | 
| 
      
 141 
     | 
    
         
            +
             
     | 
| 
      
 142 
     | 
    
         
            +
                return makeSVGFromStream(runtime, std::move(stream), fontMgr,
         
     | 
| 
      
 143 
     | 
    
         
            +
                                         std::move(assets));
         
     | 
| 
      
 144 
     | 
    
         
            +
              }
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
       35 
146 
     | 
    
         
             
              JSI_HOST_FUNCTION(MakeFromString) {
         
     | 
| 
       36 
147 
     | 
    
         
             
                auto svgText = arguments[0].asString(runtime).utf8(runtime);
         
     | 
| 
       37 
148 
     | 
    
         
             
                auto stream = SkMemoryStream::MakeDirect(svgText.c_str(), svgText.size());
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
                 
     | 
| 
       40 
     | 
    
         
            -
                 
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
      
 149 
     | 
    
         
            +
             
     | 
| 
      
 150 
     | 
    
         
            +
                // Parse fontMgr (second parameter)
         
     | 
| 
      
 151 
     | 
    
         
            +
                auto fontMgr = count > 1 && arguments[1].isObject()
         
     | 
| 
      
 152 
     | 
    
         
            +
                                   ? JsiSkFontMgr::fromValue(runtime, arguments[1])
         
     | 
| 
      
 153 
     | 
    
         
            +
                                   : nullptr;
         
     | 
| 
      
 154 
     | 
    
         
            +
             
     | 
| 
      
 155 
     | 
    
         
            +
                // Parse assets map (third parameter)
         
     | 
| 
      
 156 
     | 
    
         
            +
                auto assets = count > 2 ? parseAssetMap(runtime, arguments[2])
         
     | 
| 
      
 157 
     | 
    
         
            +
                                        : SVGAssetProvider::AssetMap();
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                return makeSVGFromStream(runtime, std::move(stream), fontMgr,
         
     | 
| 
      
 160 
     | 
    
         
            +
                                         std::move(assets));
         
     | 
| 
       42 
161 
     | 
    
         
             
              }
         
     | 
| 
       43 
162 
     | 
    
         | 
| 
       44 
163 
     | 
    
         
             
              size_t getMemoryPressure() const override { return 512; }
         
     | 
| 
         @@ -14,6 +14,9 @@ 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            namespace AHardwareBufferUtils {
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
      
 17 
     | 
    
         
            +
            // SkColorType expected for AHBs imported as external images
         
     | 
| 
      
 18 
     | 
    
         
            +
            static const SkColorType kExternalFormatColorType = SkColorType::kRGBA_8888_SkColorType;
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       17 
20 
     | 
    
         
             
            SkColorType GetSkColorTypeFromBufferFormat(uint32_t bufferFormat);
         
     | 
| 
       18 
21 
     | 
    
         | 
| 
       19 
22 
     | 
    
         
             
            }  // namespace AHardwareBufferUtils
         
     | 
| 
         @@ -22,10 +22,6 @@ extern "C" { 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
            namespace GrAHardwareBufferUtils {
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
            // TODO: remove this function once Android has been updated to call the AHardwareBufferUtils
         
     | 
| 
       26 
     | 
    
         
            -
            // version
         
     | 
| 
       27 
     | 
    
         
            -
            SkColorType GetSkColorTypeFromBufferFormat(uint32_t bufferFormat);
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
25 
     | 
    
         
             
            #if !defined(SK_DISABLE_LEGACY_ANDROID_HW_UTILS)
         
     | 
| 
       30 
26 
     | 
    
         
             
            GrBackendFormat GetBackendFormat(GrDirectContext* dContext, AHardwareBuffer* hardwareBuffer,
         
     | 
| 
       31 
27 
     | 
    
         
             
                                             uint32_t bufferFormat, bool requireKnownFormat);
         
     | 
| 
         @@ -13,8 +13,6 @@ 
     | 
|
| 
       13 
13 
     | 
    
         
             
            #include "include/core/SkRefCnt.h"
         
     | 
| 
       14 
14 
     | 
    
         
             
            #include "include/core/SkTileMode.h"
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
            #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
16 
     | 
    
         
             
            class SkCanvas;
         
     | 
| 
       19 
17 
     | 
    
         
             
            struct SkIRect;
         
     | 
| 
       20 
18 
     | 
    
         
             
            struct SkRect;
         
     | 
| 
         @@ -84,6 +82,4 @@ public: 
     | 
|
| 
       84 
82 
     | 
    
         
             
                static bool ShaderAsALinearGradient(SkShader* shader, LinearGradientInfo*);
         
     | 
| 
       85 
83 
     | 
    
         
             
            };
         
     | 
| 
       86 
84 
     | 
    
         | 
| 
       87 
     | 
    
         
            -
            #endif // SK_BUILD_FOR_ANDROID_ANDROID
         
     | 
| 
       88 
     | 
    
         
            -
             
     | 
| 
       89 
85 
     | 
    
         
             
            #endif // SkAndroidFrameworkUtils_DEFINED
         
     | 
| 
         @@ -18,6 +18,7 @@ 
     | 
|
| 
       18 
18 
     | 
    
         
             
            #include "include/core/SkTypes.h"
         
     | 
| 
       19 
19 
     | 
    
         
             
            #include "include/core/SkYUVAPixmaps.h"
         
     | 
| 
       20 
20 
     | 
    
         
             
            #include "include/private/SkEncodedInfo.h"
         
     | 
| 
      
 21 
     | 
    
         
            +
            #include "include/private/SkHdrMetadata.h"
         
     | 
| 
       21 
22 
     | 
    
         
             
            #include "include/private/base/SkNoncopyable.h"
         
     | 
| 
       22 
23 
     | 
    
         
             
            #include "modules/skcms/skcms.h"
         
     | 
| 
       23 
24 
     | 
    
         | 
| 
         @@ -239,6 +240,12 @@ public: 
     | 
|
| 
       239 
240 
     | 
    
         
             
                    return this->getEncodedInfo().profile();
         
     | 
| 
       240 
241 
     | 
    
         
             
                }
         
     | 
| 
       241 
242 
     | 
    
         | 
| 
      
 243 
     | 
    
         
            +
                /**
         
     | 
| 
      
 244 
     | 
    
         
            +
                 * Return the HDR metadata associated with this image. Note that even SDR images can include
         
     | 
| 
      
 245 
     | 
    
         
            +
                 * HDR metadata (e.g, indicating how to inverse tone map when displayed on an HDR display).
         
     | 
| 
      
 246 
     | 
    
         
            +
                 */
         
     | 
| 
      
 247 
     | 
    
         
            +
                const skhdr::Metadata& getHdrMetadata() const { return fEncodedInfo.getHdrMetadata(); }
         
     | 
| 
      
 248 
     | 
    
         
            +
             
     | 
| 
       242 
249 
     | 
    
         
             
                /**
         
     | 
| 
       243 
250 
     | 
    
         
             
                 * Whether the encoded input uses 16 or more bits per component.
         
     | 
| 
       244 
251 
     | 
    
         
             
                 */
         
     | 
| 
         @@ -903,12 +910,21 @@ protected: 
     | 
|
| 
       903 
910 
     | 
    
         
             
                 */
         
     | 
| 
       904 
911 
     | 
    
         
             
                [[nodiscard]] bool rewindIfNeeded();
         
     | 
| 
       905 
912 
     | 
    
         | 
| 
      
 913 
     | 
    
         
            +
                /**
         
     | 
| 
      
 914 
     | 
    
         
            +
                 *  Called by onRewind(), attempts to rewind fStream.
         
     | 
| 
      
 915 
     | 
    
         
            +
                 */
         
     | 
| 
      
 916 
     | 
    
         
            +
                bool rewindStream();
         
     | 
| 
      
 917 
     | 
    
         
            +
             
     | 
| 
       906 
918 
     | 
    
         
             
                /**
         
     | 
| 
       907 
919 
     | 
    
         
             
                 *  Called by rewindIfNeeded, if the stream needed to be rewound.
         
     | 
| 
       908 
920 
     | 
    
         
             
                 *
         
     | 
| 
       909 
     | 
    
         
            -
                 *  Subclasses should  
     | 
| 
      
 921 
     | 
    
         
            +
                 *  Subclasses should call rewindStream() if they own one, and then
         
     | 
| 
      
 922 
     | 
    
         
            +
                 *  do any set up needed after.
         
     | 
| 
       910 
923 
     | 
    
         
             
                 */
         
     | 
| 
       911 
924 
     | 
    
         
             
                virtual bool onRewind() {
         
     | 
| 
      
 925 
     | 
    
         
            +
                    if (!this->rewindStream()) {
         
     | 
| 
      
 926 
     | 
    
         
            +
                        return false;
         
     | 
| 
      
 927 
     | 
    
         
            +
                    }
         
     | 
| 
       912 
928 
     | 
    
         
             
                    return true;
         
     | 
| 
       913 
929 
     | 
    
         
             
                }
         
     | 
| 
       914 
930 
     | 
    
         | 
| 
         @@ -992,7 +1008,12 @@ private: 
     | 
|
| 
       992 
1008 
     | 
    
         
             
                };
         
     | 
| 
       993 
1009 
     | 
    
         
             
                XformTime                          fXformTime;
         
     | 
| 
       994 
1010 
     | 
    
         
             
                XformFormat                        fDstXformFormat; // Based on fDstInfo.
         
     | 
| 
       995 
     | 
    
         
            -
                skcms_ICCProfile                    
     | 
| 
      
 1011 
     | 
    
         
            +
                skcms_ICCProfile                   fDstProfileStorage;
         
     | 
| 
      
 1012 
     | 
    
         
            +
                // This tracks either fDstProfileStorage or the ICC profile in fEncodedInfo.
         
     | 
| 
      
 1013 
     | 
    
         
            +
                // For the latter case it is important to not make a profile copy because skcms_Transform
         
     | 
| 
      
 1014 
     | 
    
         
            +
                // only performs a shallow pointer comparison to decide whether it can skip the color space
         
     | 
| 
      
 1015 
     | 
    
         
            +
                // transformation.
         
     | 
| 
      
 1016 
     | 
    
         
            +
                const skcms_ICCProfile*            fDstProfile = &fDstProfileStorage;
         
     | 
| 
       996 
1017 
     | 
    
         
             
                skcms_AlphaFormat                  fDstXformAlphaFormat;
         
     | 
| 
       997 
1018 
     | 
    
         | 
| 
       998 
1019 
     | 
    
         
             
                // Only meaningful during scanline decodes.
         
     | 
| 
         @@ -0,0 +1,30 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Copyright 2024 Google LLC.
         
     | 
| 
      
 3 
     | 
    
         
            +
             *
         
     | 
| 
      
 4 
     | 
    
         
            +
             * Use of this source code is governed by a BSD-style license that can be
         
     | 
| 
      
 5 
     | 
    
         
            +
             * found in the LICENSE file.
         
     | 
| 
      
 6 
     | 
    
         
            +
             */
         
     | 
| 
      
 7 
     | 
    
         
            +
            #ifndef SkPngRustDecoder_DEFINED
         
     | 
| 
      
 8 
     | 
    
         
            +
            #define SkPngRustDecoder_DEFINED
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            #include <memory>
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            #include "include/codec/SkCodec.h"
         
     | 
| 
      
 13 
     | 
    
         
            +
            #include "include/private/base/SkAPI.h"
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            class SkStream;
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            namespace SkPngRustDecoder {
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            /** Returns true if this data claims to be a PNG image. */
         
     | 
| 
      
 20 
     | 
    
         
            +
            SK_API bool IsPng(const void*, size_t);
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            SK_API std::unique_ptr<SkCodec> Decode(std::unique_ptr<SkStream>,
         
     | 
| 
      
 23 
     | 
    
         
            +
                                                   SkCodec::Result*,
         
     | 
| 
      
 24 
     | 
    
         
            +
                                                   SkCodecs::DecodeContext = nullptr);
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            inline constexpr SkCodecs::Decoder Decoder() { return {"png", IsPng, Decode}; }
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            }  // namespace SkPngRustDecoder
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            #endif  // SkPngRustDecoder_DEFINED
         
     | 
| 
         @@ -1230,7 +1230,7 @@ public: 
     | 
|
| 
       1230 
1230 
     | 
    
         
             
                    memory from the heap. This is the default SkBitmap::Allocator invoked by
         
     | 
| 
       1231 
1231 
     | 
    
         
             
                    allocPixels().
         
     | 
| 
       1232 
1232 
     | 
    
         
             
                */
         
     | 
| 
       1233 
     | 
    
         
            -
                class HeapAllocator : public Allocator {
         
     | 
| 
      
 1233 
     | 
    
         
            +
                class SK_API HeapAllocator : public Allocator {
         
     | 
| 
       1234 
1234 
     | 
    
         
             
                public:
         
     | 
| 
       1235 
1235 
     | 
    
         | 
| 
       1236 
1236 
     | 
    
         
             
                    /** Allocates the pixel memory for the bitmap, given its dimensions and
         
     | 
| 
         @@ -12,6 +12,7 @@ 
     | 
|
| 
       12 
12 
     | 
    
         
             
            #include "include/core/SkRefCnt.h"
         
     | 
| 
       13 
13 
     | 
    
         
             
            #include "include/private/base/SkAPI.h"
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
            class SkCanvas;
         
     | 
| 
       15 
16 
     | 
    
         
             
            class SkSurface;
         
     | 
| 
       16 
17 
     | 
    
         
             
            class SkSurfaceProps;
         
     | 
| 
       17 
18 
     | 
    
         
             
            struct SkImageInfo;
         
     | 
| 
         @@ -52,6 +53,10 @@ public: 
     | 
|
| 
       52 
53 
     | 
    
         
             
                                                   const SkSurfaceProps* surfaceProps);
         
     | 
| 
       53 
54 
     | 
    
         
             
                sk_sp<SkSurface> makeBitmapSurface(const SkImageInfo& imageInfo,
         
     | 
| 
       54 
55 
     | 
    
         
             
                                                   const SkSurfaceProps* surfaceProps = nullptr);
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
            private:
         
     | 
| 
      
 58 
     | 
    
         
            +
                // TODO (b/412351769): Implement this so we can capture from a CPU Recorder.
         
     | 
| 
      
 59 
     | 
    
         
            +
                SkCanvas* makeCaptureCanvas(SkCanvas*) final { return nullptr; }
         
     | 
| 
       55 
60 
     | 
    
         
             
            };
         
     | 
| 
       56 
61 
     | 
    
         | 
| 
       57 
62 
     | 
    
         
             
            inline Recorder* AsRecorder(SkRecorder* recorder) {
         
     | 
| 
         @@ -2584,6 +2584,8 @@ private: 
     | 
|
| 
       2584 
2584 
     | 
    
         
             
                void checkForDeferredSave();
         
     | 
| 
       2585 
2585 
     | 
    
         
             
                void internalSetMatrix(const SkM44&);
         
     | 
| 
       2586 
2586 
     | 
    
         | 
| 
      
 2587 
     | 
    
         
            +
                virtual void onSurfaceDelete() {}
         
     | 
| 
      
 2588 
     | 
    
         
            +
             
     | 
| 
       2587 
2589 
     | 
    
         
             
                friend class SkAndroidFrameworkUtils;
         
     | 
| 
       2588 
2590 
     | 
    
         
             
                friend class SkCanvasPriv;      // needs to expose android functions for testing outside android
         
     | 
| 
       2589 
2591 
     | 
    
         
             
                friend class AutoLayerForImageFilter;
         
     | 
| 
         @@ -131,17 +131,16 @@ static constexpr skcms_TransferFunction kRec2020 = { 
     | 
|
| 
       131 
131 
     | 
    
         
             
                    2.22222f, 0.909672f, 0.0903276f, 0.222222f, 0.0812429f, 0, 0};
         
     | 
| 
       132 
132 
     | 
    
         | 
| 
       133 
133 
     | 
    
         
             
            ////////////////////////////////////////////////////////////////////////////////
         
     | 
| 
       134 
     | 
    
         
            -
            //  
     | 
| 
       135 
     | 
    
         
            -
            // specification referenced in the value's row.
         
     | 
| 
      
 134 
     | 
    
         
            +
            // Transfer function defined by ITU-T H.273, table 3. Names are given by the
         
     | 
| 
      
 135 
     | 
    
         
            +
            // first specification referenced in the value's row. The equations in table 3
         
     | 
| 
      
 136 
     | 
    
         
            +
            // "either indicates the reference [OETF] ... or indicates the inverse of the
         
     | 
| 
      
 137 
     | 
    
         
            +
            // reference EOTF". The transfer functions provided are reference EOTFs.
         
     | 
| 
       136 
138 
     | 
    
         | 
| 
       137 
     | 
    
         
            -
            // Rec. ITU-R BT.709-6, value 1.
         
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
             
     | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
                                                               0.081242858299f,
         
     | 
| 
       143 
     | 
    
         
            -
                                                               0.f,
         
     | 
| 
       144 
     | 
    
         
            -
                                                               0.f};
         
     | 
| 
      
 139 
     | 
    
         
            +
            // Rec. ITU-R BT.709-6, value 1. This follows note 1, which reads: "In the cases
         
     | 
| 
      
 140 
     | 
    
         
            +
            // of [...] TransferCharacteristics equal to 1, 6, 14 or 15 [...], although the
         
     | 
| 
      
 141 
     | 
    
         
            +
            // value is defined in terms of a reference [OETF], a suggested corresponding
         
     | 
| 
      
 142 
     | 
    
         
            +
            // reference [EOTF] has been specified in Rec. ITU-R BT.1886-0."
         
     | 
| 
      
 143 
     | 
    
         
            +
            static constexpr skcms_TransferFunction kRec709 = {2.4f, 1.f, 0.f, 0.f, 0.f, 0.f, 0.f};
         
     | 
| 
       145 
144 
     | 
    
         | 
| 
       146 
145 
     | 
    
         
             
            // Rec. ITU-R BT.470-6 System M (historical) assumed display gamma 2.2, value 4.
         
     | 
| 
       147 
146 
     | 
    
         
             
            static constexpr skcms_TransferFunction kRec470SystemM = {2.2f, 1.f, 0.f, 0.f, 0.f, 0.f, 0.f};
         
     | 
| 
         @@ -175,7 +174,7 @@ static constexpr skcms_TransferFunction kRec2020_12bit = kRec709; 
     | 
|
| 
       175 
174 
     | 
    
         | 
| 
       176 
175 
     | 
    
         
             
            // Rec. ITU-R BT.2100-2 perceptual quantization (PQ) system, value 16.
         
     | 
| 
       177 
176 
     | 
    
         
             
            static constexpr skcms_TransferFunction kPQ =
         
     | 
| 
       178 
     | 
    
         
            -
                {- 
     | 
| 
      
 177 
     | 
    
         
            +
                {-5.0f, 203.f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
         
     | 
| 
       179 
178 
     | 
    
         | 
| 
       180 
179 
     | 
    
         
             
            // SMPTE ST 428-1, value 17.
         
     | 
| 
       181 
180 
     | 
    
         
             
            static constexpr skcms_TransferFunction kSMPTE_ST_428_1 = {
         
     | 
| 
         @@ -183,7 +182,7 @@ static constexpr skcms_TransferFunction kSMPTE_ST_428_1 = { 
     | 
|
| 
       183 
182 
     | 
    
         | 
| 
       184 
183 
     | 
    
         
             
            // Rec. ITU-R BT.2100-2 hybrid log-gamma (HLG) system, value 18.
         
     | 
| 
       185 
184 
     | 
    
         
             
            static constexpr skcms_TransferFunction kHLG =
         
     | 
| 
       186 
     | 
    
         
            -
                {- 
     | 
| 
      
 185 
     | 
    
         
            +
                {-6.0f, 203.f, 1000.0f, 1.2f, 0.0f, 0.0f, 0.0f };
         
     | 
| 
       187 
186 
     | 
    
         | 
| 
       188 
187 
     | 
    
         
             
            // Mapping between transfer function names and the number of the corresponding
         
     | 
| 
       189 
188 
     | 
    
         
             
            // row in ITU-T H.273, table 3.  As above, the constants are named based on the
         
     | 
| 
         @@ -13,8 +13,7 @@ 
     | 
|
| 
       13 
13 
     | 
    
         
             
            #include "include/core/SkRefCnt.h"
         
     | 
| 
       14 
14 
     | 
    
         
             
            #include "include/core/SkScalar.h"
         
     | 
| 
       15 
15 
     | 
    
         
             
            #include "include/core/SkSpan.h"
         
     | 
| 
       16 
     | 
    
         
            -
            #include "include/ 
     | 
| 
       17 
     | 
    
         
            -
            #include "include/private/base/SkAssert.h"
         
     | 
| 
      
 16 
     | 
    
         
            +
            #include "include/core/SkTypes.h"
         
     | 
| 
       18 
17 
     | 
    
         
             
            #include "include/private/base/SkTDArray.h"
         
     | 
| 
       19 
18 
     | 
    
         | 
| 
       20 
19 
     | 
    
         
             
            #include <cstddef>
         
     | 
| 
         @@ -22,6 +21,7 @@ 
     | 
|
| 
       22 
21 
     | 
    
         | 
| 
       23 
22 
     | 
    
         
             
            class SkMatrix;
         
     | 
| 
       24 
23 
     | 
    
         
             
            class SkPath;
         
     | 
| 
      
 24 
     | 
    
         
            +
            class SkPathBuilder;
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
            class SK_API SkContourMeasure : public SkRefCnt {
         
     | 
| 
       27 
27 
     | 
    
         
             
            public:
         
     | 
| 
         @@ -54,8 +54,12 @@ public: 
     | 
|
| 
       54 
54 
     | 
    
         
             
                 then return false (and leave dst untouched).
         
     | 
| 
       55 
55 
     | 
    
         
             
                 Begin the segment with a moveTo if startWithMoveTo is true
         
     | 
| 
       56 
56 
     | 
    
         
             
                 */
         
     | 
| 
      
 57 
     | 
    
         
            +
                [[nodiscard]] bool getSegment(SkScalar startD, SkScalar stopD, SkPathBuilder* dst,
         
     | 
| 
      
 58 
     | 
    
         
            +
                                              bool startWithMoveTo) const;
         
     | 
| 
      
 59 
     | 
    
         
            +
            #ifdef SK_SUPPORT_MUTABLE_PATHEFFECT
         
     | 
| 
       57 
60 
     | 
    
         
             
                [[nodiscard]] bool getSegment(SkScalar startD, SkScalar stopD, SkPath* dst,
         
     | 
| 
       58 
61 
     | 
    
         
             
                                              bool startWithMoveTo) const;
         
     | 
| 
      
 62 
     | 
    
         
            +
            #endif
         
     | 
| 
       59 
63 
     | 
    
         | 
| 
       60 
64 
     | 
    
         
             
                /** Return true if the contour is closed()
         
     | 
| 
       61 
65 
     | 
    
         
             
                 */
         
     |