@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
 
| 
         @@ -10,6 +10,7 @@ 
     | 
|
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            #include "include/core/SkMatrix.h"
         
     | 
| 
       12 
12 
     | 
    
         
             
            #include "include/core/SkPath.h"
         
     | 
| 
      
 13 
     | 
    
         
            +
            #include "include/core/SkPathIter.h"
         
     | 
| 
       13 
14 
     | 
    
         
             
            #include "include/core/SkPathTypes.h"
         
     | 
| 
       14 
15 
     | 
    
         
             
            #include "include/core/SkPoint.h"
         
     | 
| 
       15 
16 
     | 
    
         
             
            #include "include/core/SkRect.h"
         
     | 
| 
         @@ -25,6 +26,7 @@ 
     | 
|
| 
       25 
26 
     | 
    
         
             
            #include <tuple>
         
     | 
| 
       26 
27 
     | 
    
         | 
| 
       27 
28 
     | 
    
         
             
            class SkRRect;
         
     | 
| 
      
 29 
     | 
    
         
            +
            struct SkPathRaw;
         
     | 
| 
       28 
30 
     | 
    
         | 
| 
       29 
31 
     | 
    
         
             
            class SK_API SkPathBuilder {
         
     | 
| 
       30 
32 
     | 
    
         
             
            public:
         
     | 
| 
         @@ -84,16 +86,18 @@ public: 
     | 
|
| 
       84 
86 
     | 
    
         
             
                /** Returns an SkPath representing the current state of the SkPathBuilder. The builder is
         
     | 
| 
       85 
87 
     | 
    
         
             
                    unchanged after returning the path.
         
     | 
| 
       86 
88 
     | 
    
         | 
| 
      
 89 
     | 
    
         
            +
                    @param mx if present, applied to the points after they are copied into the resulting path.
         
     | 
| 
       87 
90 
     | 
    
         
             
                    @return  SkPath representing the current state of the builder.
         
     | 
| 
       88 
91 
     | 
    
         
             
                 */
         
     | 
| 
       89 
     | 
    
         
            -
                SkPath snapshot() const;
         
     | 
| 
      
 92 
     | 
    
         
            +
                SkPath snapshot(const SkMatrix* mx = nullptr) const;
         
     | 
| 
       90 
93 
     | 
    
         | 
| 
       91 
94 
     | 
    
         
             
                /** Returns an SkPath representing the current state of the SkPathBuilder. The builder is
         
     | 
| 
       92 
95 
     | 
    
         
             
                    reset to empty after returning the path.
         
     | 
| 
       93 
96 
     | 
    
         | 
| 
      
 97 
     | 
    
         
            +
                    @param mx if present, applied to the points after they are copied into the resulting path.
         
     | 
| 
       94 
98 
     | 
    
         
             
                    @return  SkPath representing the current state of the builder.
         
     | 
| 
       95 
99 
     | 
    
         
             
                 */
         
     | 
| 
       96 
     | 
    
         
            -
                SkPath detach();
         
     | 
| 
      
 100 
     | 
    
         
            +
                SkPath detach(const SkMatrix* mx = nullptr);
         
     | 
| 
       97 
101 
     | 
    
         | 
| 
       98 
102 
     | 
    
         
             
                /** Sets SkPathFillType, the rule used to fill SkPath. While there is no
         
     | 
| 
       99 
103 
     | 
    
         
             
                    check that ft is legal, values outside of SkPathFillType are not supported.
         
     | 
| 
         @@ -129,20 +133,17 @@ public: 
     | 
|
| 
       129 
133 
     | 
    
         
             
                */
         
     | 
| 
       130 
134 
     | 
    
         
             
                SkPathBuilder& reset();
         
     | 
| 
       131 
135 
     | 
    
         | 
| 
       132 
     | 
    
         
            -
                /**  
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
                /** Adds beginning of contour at SkPoint (x, y).
         
     | 
| 
      
 136 
     | 
    
         
            +
                /** Specifies the beginning of contour. If the previous verb was a "move" verb,
         
     | 
| 
      
 137 
     | 
    
         
            +
                 *  then this just replaces the point value of that move, otherwise it appends a new
         
     | 
| 
      
 138 
     | 
    
         
            +
                 *  "move" verb to the builder using the point.
         
     | 
| 
      
 139 
     | 
    
         
            +
                 *
         
     | 
| 
      
 140 
     | 
    
         
            +
                 *  Thus, each contour can only have 1 move verb in it (the last one specified).
         
     | 
| 
      
 141 
     | 
    
         
            +
                 */
         
     | 
| 
      
 142 
     | 
    
         
            +
                SkPathBuilder& moveTo(SkPoint point);
         
     | 
| 
       140 
143 
     | 
    
         | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
                     
     | 
| 
       143 
     | 
    
         
            -
             
     | 
| 
       144 
     | 
    
         
            -
                */
         
     | 
| 
       145 
     | 
    
         
            -
                SkPathBuilder& moveTo(SkScalar x, SkScalar y) { return this->moveTo(SkPoint::Make(x, y)); }
         
     | 
| 
      
 144 
     | 
    
         
            +
                SkPathBuilder& moveTo(SkScalar x, SkScalar y) {
         
     | 
| 
      
 145 
     | 
    
         
            +
                    return this->moveTo(SkPoint::Make(x, y));
         
     | 
| 
      
 146 
     | 
    
         
            +
                }
         
     | 
| 
       146 
147 
     | 
    
         | 
| 
       147 
148 
     | 
    
         
             
                /** Adds line from last point to SkPoint p. If SkPathBuilder is empty, or last SkPath::Verb is
         
     | 
| 
       148 
149 
     | 
    
         
             
                    kClose_Verb, last point is set to (0, 0) before adding line.
         
     | 
| 
         @@ -356,6 +357,18 @@ public: 
     | 
|
| 
       356 
357 
     | 
    
         | 
| 
       357 
358 
     | 
    
         
             
                // Relative versions of segments, relative to the previous position.
         
     | 
| 
       358 
359 
     | 
    
         | 
| 
      
 360 
     | 
    
         
            +
                /** Adds beginning of contour relative to last point.
         
     | 
| 
      
 361 
     | 
    
         
            +
                    If SkPathBuilder is empty, starts contour at (dx, dy).
         
     | 
| 
      
 362 
     | 
    
         
            +
                    Otherwise, start contour at last point offset by (dx, dy).
         
     | 
| 
      
 363 
     | 
    
         
            +
                    Function name stands for "relative move to".
         
     | 
| 
      
 364 
     | 
    
         
            +
             
     | 
| 
      
 365 
     | 
    
         
            +
                    @param pt  vector offset from last point to contour start
         
     | 
| 
      
 366 
     | 
    
         
            +
                    @return    reference to SkPathBuilder
         
     | 
| 
      
 367 
     | 
    
         
            +
             
     | 
| 
      
 368 
     | 
    
         
            +
                    example: https://fiddle.skia.org/c/@Path_rMoveTo
         
     | 
| 
      
 369 
     | 
    
         
            +
                */
         
     | 
| 
      
 370 
     | 
    
         
            +
                SkPathBuilder& rMoveTo(SkPoint pt);
         
     | 
| 
      
 371 
     | 
    
         
            +
             
     | 
| 
       359 
372 
     | 
    
         
             
                /** Adds line from last point to vector given by pt. If SkPathBuilder is empty, or last
         
     | 
| 
       360 
373 
     | 
    
         
             
                    SkPath::Verb is kClose_Verb, last point is set to (0, 0) before adding line.
         
     | 
| 
       361 
374 
     | 
    
         | 
| 
         @@ -635,6 +648,10 @@ public: 
     | 
|
| 
       635 
648 
     | 
    
         
             
                */
         
     | 
| 
       636 
649 
     | 
    
         
             
                SkPathBuilder& addArc(const SkRect& oval, SkScalar startAngleDeg, SkScalar sweepAngleDeg);
         
     | 
| 
       637 
650 
     | 
    
         | 
| 
      
 651 
     | 
    
         
            +
                SkPathBuilder& addLine(SkPoint a, SkPoint b) {
         
     | 
| 
      
 652 
     | 
    
         
            +
                    return this->moveTo(a).lineTo(b);
         
     | 
| 
      
 653 
     | 
    
         
            +
                }
         
     | 
| 
      
 654 
     | 
    
         
            +
             
     | 
| 
       638 
655 
     | 
    
         
             
                /** Adds a new contour to the SkPathBuilder, defined by the rect, and wound in the
         
     | 
| 
       639 
656 
     | 
    
         
             
                    specified direction. The verbs added to the path will be:
         
     | 
| 
       640 
657 
     | 
    
         | 
| 
         @@ -676,7 +693,7 @@ public: 
     | 
|
| 
       676 
693 
     | 
    
         
             
                    @param dir    SkPath::Direction to orient the new contour
         
     | 
| 
       677 
694 
     | 
    
         
             
                    @return       reference to SkPathBuilder
         
     | 
| 
       678 
695 
     | 
    
         
             
                 */
         
     | 
| 
       679 
     | 
    
         
            -
                SkPathBuilder& addRect(const SkRect& rect, SkPathDirection dir = SkPathDirection:: 
     | 
| 
      
 696 
     | 
    
         
            +
                SkPathBuilder& addRect(const SkRect& rect, SkPathDirection dir = SkPathDirection::kDefault) {
         
     | 
| 
       680 
697 
     | 
    
         
             
                    return this->addRect(rect, dir, 0);
         
     | 
| 
       681 
698 
     | 
    
         
             
                }
         
     | 
| 
       682 
699 
     | 
    
         | 
| 
         @@ -714,7 +731,7 @@ public: 
     | 
|
| 
       714 
731 
     | 
    
         
             
                    @param dir    SkPath::Direction to wind SkRRect
         
     | 
| 
       715 
732 
     | 
    
         
             
                    @return       reference to SkPathBuilder
         
     | 
| 
       716 
733 
     | 
    
         
             
                */
         
     | 
| 
       717 
     | 
    
         
            -
                SkPathBuilder& addRRect(const SkRRect& rrect, SkPathDirection dir = SkPathDirection:: 
     | 
| 
      
 734 
     | 
    
         
            +
                SkPathBuilder& addRRect(const SkRRect& rrect, SkPathDirection dir = SkPathDirection::kDefault) {
         
     | 
| 
       718 
735 
     | 
    
         
             
                    // legacy start indices: 6 (CW) and 7 (CCW)
         
     | 
| 
       719 
736 
     | 
    
         
             
                    return this->addRRect(rrect, dir, dir == SkPathDirection::kCW ? 6 : 7);
         
     | 
| 
       720 
737 
     | 
    
         
             
                }
         
     | 
| 
         @@ -730,7 +747,7 @@ public: 
     | 
|
| 
       730 
747 
     | 
    
         | 
| 
       731 
748 
     | 
    
         
             
                    example: https://fiddle.skia.org/c/@Path_addOval_2
         
     | 
| 
       732 
749 
     | 
    
         
             
                */
         
     | 
| 
       733 
     | 
    
         
            -
                SkPathBuilder& addOval(const SkRect& oval, SkPathDirection dir = SkPathDirection:: 
     | 
| 
      
 750 
     | 
    
         
            +
                SkPathBuilder& addOval(const SkRect& oval, SkPathDirection dir = SkPathDirection::kDefault) {
         
     | 
| 
       734 
751 
     | 
    
         
             
                    // legacy start index: 1
         
     | 
| 
       735 
752 
     | 
    
         
             
                    return this->addOval(oval, dir, 1);
         
     | 
| 
       736 
753 
     | 
    
         
             
                }
         
     | 
| 
         @@ -748,7 +765,7 @@ public: 
     | 
|
| 
       748 
765 
     | 
    
         
             
                    @return        reference to SkPathBuilder
         
     | 
| 
       749 
766 
     | 
    
         
             
                */
         
     | 
| 
       750 
767 
     | 
    
         
             
                SkPathBuilder& addCircle(SkScalar x, SkScalar y, SkScalar radius,
         
     | 
| 
       751 
     | 
    
         
            -
                                         SkPathDirection dir = SkPathDirection:: 
     | 
| 
      
 768 
     | 
    
         
            +
                                         SkPathDirection dir = SkPathDirection::kDefault);
         
     | 
| 
       752 
769 
     | 
    
         | 
| 
       753 
770 
     | 
    
         
             
                /** Adds contour created from line array, adding (pts.size() - 1) line segments.
         
     | 
| 
       754 
771 
     | 
    
         
             
                    Contour added starts at pts[0], then adds a line for every additional SkPoint
         
     | 
| 
         @@ -842,8 +859,18 @@ public: 
     | 
|
| 
       842 
859 
     | 
    
         
             
                    @param matrix  SkMatrix to apply to SkPath
         
     | 
| 
       843 
860 
     | 
    
         
             
                    @param pc      whether to apply perspective clipping
         
     | 
| 
       844 
861 
     | 
    
         
             
                */
         
     | 
| 
       845 
     | 
    
         
            -
                SkPathBuilder& transform(const SkMatrix& matrix 
     | 
| 
       846 
     | 
    
         
            -
             
     | 
| 
      
 862 
     | 
    
         
            +
                SkPathBuilder& transform(const SkMatrix& matrix);
         
     | 
| 
      
 863 
     | 
    
         
            +
             
     | 
| 
      
 864 
     | 
    
         
            +
            #ifdef SK_SUPPORT_LEGACY_APPLYPERSPECTIVECLIP
         
     | 
| 
      
 865 
     | 
    
         
            +
                SkPathBuilder& transform(const SkMatrix& matrix, SkApplyPerspectiveClip) {
         
     | 
| 
      
 866 
     | 
    
         
            +
                    return this->transform(matrix);
         
     | 
| 
      
 867 
     | 
    
         
            +
                }
         
     | 
| 
      
 868 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 869 
     | 
    
         
            +
             
     | 
| 
      
 870 
     | 
    
         
            +
                /*
         
     | 
| 
      
 871 
     | 
    
         
            +
                 *  Returns true if the builder is empty, or all of its points are finite.
         
     | 
| 
      
 872 
     | 
    
         
            +
                 */
         
     | 
| 
      
 873 
     | 
    
         
            +
                bool isFinite() const;
         
     | 
| 
       847 
874 
     | 
    
         | 
| 
       848 
875 
     | 
    
         
             
                /** Replaces SkPathFillType with its inverse. The inverse of SkPathFillType describes the area
         
     | 
| 
       849 
876 
     | 
    
         
             
                    unmodified by the original SkPathFillType.
         
     | 
| 
         @@ -903,36 +930,37 @@ public: 
     | 
|
| 
       903 
930 
     | 
    
         
             
                SkSpan<const SkPoint> points() const {
         
     | 
| 
       904 
931 
     | 
    
         
             
                    return fPts;
         
     | 
| 
       905 
932 
     | 
    
         
             
                }
         
     | 
| 
       906 
     | 
    
         
            -
                SkSpan<const  
     | 
| 
      
 933 
     | 
    
         
            +
                SkSpan<const SkPathVerb> verbs() const {
         
     | 
| 
       907 
934 
     | 
    
         
             
                    return fVerbs;
         
     | 
| 
       908 
935 
     | 
    
         
             
                }
         
     | 
| 
      
 936 
     | 
    
         
            +
                SkSpan<const float> conicWeights() const {
         
     | 
| 
      
 937 
     | 
    
         
            +
                    return fConicWeights;
         
     | 
| 
      
 938 
     | 
    
         
            +
                }
         
     | 
| 
      
 939 
     | 
    
         
            +
             
     | 
| 
      
 940 
     | 
    
         
            +
                SkPathBuilder& addRaw(const SkPathRaw&);
         
     | 
| 
      
 941 
     | 
    
         
            +
             
     | 
| 
      
 942 
     | 
    
         
            +
                SkPathIter iter() const;
         
     | 
| 
       909 
943 
     | 
    
         | 
| 
       910 
944 
     | 
    
         
             
            private:
         
     | 
| 
       911 
945 
     | 
    
         
             
                SkPathRef::PointsArray fPts;
         
     | 
| 
       912 
946 
     | 
    
         
             
                SkPathRef::VerbsArray fVerbs;
         
     | 
| 
       913 
947 
     | 
    
         
             
                SkPathRef::ConicWeightsArray fConicWeights;
         
     | 
| 
       914 
948 
     | 
    
         | 
| 
       915 
     | 
    
         
            -
                SkPathFillType 
     | 
| 
       916 
     | 
    
         
            -
                bool 
     | 
| 
      
 949 
     | 
    
         
            +
                SkPathFillType  fFillType;
         
     | 
| 
      
 950 
     | 
    
         
            +
                bool            fIsVolatile;
         
     | 
| 
      
 951 
     | 
    
         
            +
                SkPathConvexity fConvexity;
         
     | 
| 
       917 
952 
     | 
    
         | 
| 
       918 
953 
     | 
    
         
             
                unsigned    fSegmentMask;
         
     | 
| 
       919 
954 
     | 
    
         
             
                SkPoint     fLastMovePoint;
         
     | 
| 
       920 
955 
     | 
    
         
             
                int         fLastMoveIndex; // only needed until SkPath is immutable
         
     | 
| 
       921 
956 
     | 
    
         
             
                bool        fNeedsMoveVerb;
         
     | 
| 
       922 
957 
     | 
    
         | 
| 
       923 
     | 
    
         
            -
                 
     | 
| 
       924 
     | 
    
         
            -
             
     | 
| 
       925 
     | 
    
         
            -
                    kIsA_MoreThanMoves, // we have verbs other than just move
         
     | 
| 
       926 
     | 
    
         
            -
                    kIsA_Oval,          // we are 0 or more moves followed by an oval
         
     | 
| 
       927 
     | 
    
         
            -
                    kIsA_RRect,         // we are 0 or more moves followed by a rrect
         
     | 
| 
       928 
     | 
    
         
            -
                };
         
     | 
| 
       929 
     | 
    
         
            -
                IsA fIsA      = kIsA_JustMoves;
         
     | 
| 
       930 
     | 
    
         
            -
                int fIsAStart = -1;     // tracks direction iff fIsA is not unknown
         
     | 
| 
       931 
     | 
    
         
            -
                bool fIsACCW  = false;  // tracks direction iff fIsA is not unknown
         
     | 
| 
      
 958 
     | 
    
         
            +
                SkPathIsAType fType = SkPathIsAType::kGeneral;
         
     | 
| 
      
 959 
     | 
    
         
            +
                SkPathIsAData fIsA {};
         
     | 
| 
       932 
960 
     | 
    
         | 
| 
       933 
961 
     | 
    
         
             
                // called right before we add a (non-move) verb
         
     | 
| 
       934 
962 
     | 
    
         
             
                void ensureMove() {
         
     | 
| 
       935 
     | 
    
         
            -
                     
     | 
| 
      
 963 
     | 
    
         
            +
                    fType = SkPathIsAType::kGeneral;
         
     | 
| 
       936 
964 
     | 
    
         
             
                    if (fNeedsMoveVerb) {
         
     | 
| 
       937 
965 
     | 
    
         
             
                        this->moveTo(fLastMovePoint);
         
     | 
| 
       938 
966 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -948,6 +976,8 @@ private: 
     | 
|
| 
       948 
976 
     | 
    
         
             
                std::tuple<SkPoint*, SkScalar*> growForVerbsInPath(const SkPathRef& path);
         
     | 
| 
       949 
977 
     | 
    
         | 
| 
       950 
978 
     | 
    
         
             
                friend class SkPathPriv;
         
     | 
| 
      
 979 
     | 
    
         
            +
                friend class SkStroke;
         
     | 
| 
      
 980 
     | 
    
         
            +
                friend class SkPathStroker;
         
     | 
| 
       951 
981 
     | 
    
         
             
            };
         
     | 
| 
       952 
982 
     | 
    
         | 
| 
       953 
983 
     | 
    
         
             
            #endif
         
     | 
| 
         @@ -10,7 +10,7 @@ 
     | 
|
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            #include "include/core/SkFlattenable.h"
         
     | 
| 
       12 
12 
     | 
    
         
             
            #include "include/core/SkRefCnt.h"
         
     | 
| 
       13 
     | 
    
         
            -
            #include "include/ 
     | 
| 
      
 13 
     | 
    
         
            +
            #include "include/core/SkTypes.h"
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            // TODO(kjlubick) update clients and remove this unnecessary #include
         
     | 
| 
       16 
16 
     | 
    
         
             
            #include "include/core/SkPath.h"  // IWYU pragma: keep
         
     | 
| 
         @@ -18,6 +18,7 @@ 
     | 
|
| 
       18 
18 
     | 
    
         
             
            #include <cstddef>
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
            class SkMatrix;
         
     | 
| 
      
 21 
     | 
    
         
            +
            class SkPathBuilder;
         
     | 
| 
       21 
22 
     | 
    
         
             
            class SkStrokeRec;
         
     | 
| 
       22 
23 
     | 
    
         
             
            struct SkDeserialProcs;
         
     | 
| 
       23 
24 
     | 
    
         
             
            struct SkRect;
         
     | 
| 
         @@ -68,11 +69,9 @@ public: 
     | 
|
| 
       68 
69 
     | 
    
         
             
                 *  If this method returns true, the caller will apply (as needed) the
         
     | 
| 
       69 
70 
     | 
    
         
             
                 *  resulting stroke-rec to dst and then draw.
         
     | 
| 
       70 
71 
     | 
    
         
             
                 */
         
     | 
| 
       71 
     | 
    
         
            -
                bool filterPath( 
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
     | 
    
         
            -
                /** Version of filterPath that can be called when the CTM is known. */
         
     | 
| 
       74 
     | 
    
         
            -
                bool filterPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect* cullR,
         
     | 
| 
      
 72 
     | 
    
         
            +
                bool filterPath(SkPathBuilder* dst, const SkPath& src, SkStrokeRec*, const SkRect* cullR,
         
     | 
| 
       75 
73 
     | 
    
         
             
                                const SkMatrix& ctm) const;
         
     | 
| 
      
 74 
     | 
    
         
            +
                bool filterPath(SkPathBuilder* dst, const SkPath& src, SkStrokeRec*) const;
         
     | 
| 
       76 
75 
     | 
    
         | 
| 
       77 
76 
     | 
    
         
             
                /** True if this path effect requires a valid CTM */
         
     | 
| 
       78 
77 
     | 
    
         
             
                bool needsCTM() const;
         
     | 
| 
         @@ -80,6 +79,14 @@ public: 
     | 
|
| 
       80 
79 
     | 
    
         
             
                static sk_sp<SkPathEffect> Deserialize(const void* data, size_t size,
         
     | 
| 
       81 
80 
     | 
    
         
             
                                                       const SkDeserialProcs* procs = nullptr);
         
     | 
| 
       82 
81 
     | 
    
         | 
| 
      
 82 
     | 
    
         
            +
            #ifdef SK_SUPPORT_MUTABLE_PATHEFFECT
         
     | 
| 
      
 83 
     | 
    
         
            +
                bool filterPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect* cullR) const;
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
                /** Version of filterPath that can be called when the CTM is known. */
         
     | 
| 
      
 86 
     | 
    
         
            +
                bool filterPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect* cullR,
         
     | 
| 
      
 87 
     | 
    
         
            +
                                const SkMatrix& ctm) const;
         
     | 
| 
      
 88 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
       83 
90 
     | 
    
         
             
            private:
         
     | 
| 
       84 
91 
     | 
    
         
             
                SkPathEffect() = default;
         
     | 
| 
       85 
92 
     | 
    
         
             
                friend class SkPathEffectBase;
         
     | 
| 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Copyright 2025 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 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            #ifndef SkPathIter_DEFINED
         
     | 
| 
      
 9 
     | 
    
         
            +
            #define SkPathIter_DEFINED
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            #include "include/core/SkPathTypes.h"
         
     | 
| 
      
 12 
     | 
    
         
            +
            #include "include/core/SkPoint.h"
         
     | 
| 
      
 13 
     | 
    
         
            +
            #include "include/core/SkSpan.h"
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            #include <array>
         
     | 
| 
      
 16 
     | 
    
         
            +
            #include <cstddef>
         
     | 
| 
      
 17 
     | 
    
         
            +
            #include <optional>
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            class SK_API SkPathIter {
         
     | 
| 
      
 20 
     | 
    
         
            +
            public:
         
     | 
| 
      
 21 
     | 
    
         
            +
                struct Rec {
         
     | 
| 
      
 22 
     | 
    
         
            +
                    SkSpan<const SkPoint> fPoints;
         
     | 
| 
      
 23 
     | 
    
         
            +
                    float                 fConicWeight;
         
     | 
| 
      
 24 
     | 
    
         
            +
                    SkPathVerb            fVerb;
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    float conicWeight() const {
         
     | 
| 
      
 27 
     | 
    
         
            +
                        SkASSERT(fVerb == SkPathVerb::kConic);
         
     | 
| 
      
 28 
     | 
    
         
            +
                        return fConicWeight;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    }
         
     | 
| 
      
 30 
     | 
    
         
            +
                };
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                SkPathIter(SkSpan<const SkPoint> pts, SkSpan<const SkPathVerb> vbs, SkSpan<const float> cns)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    : pIndex(0), vIndex(0), cIndex(0)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    , fPoints(pts), fVerbs(vbs), fConics(cns)
         
     | 
| 
      
 35 
     | 
    
         
            +
                {
         
     | 
| 
      
 36 
     | 
    
         
            +
                    // For compat older iterators, we trim off a trailing Move.
         
     | 
| 
      
 37 
     | 
    
         
            +
                    // SkPathData is defined to never create this pattern, so perhaps in the future
         
     | 
| 
      
 38 
     | 
    
         
            +
                    // this check can be removed (or replaced by an assert)
         
     | 
| 
      
 39 
     | 
    
         
            +
                    if (!vbs.empty() && vbs.back() == SkPathVerb::kMove) {
         
     | 
| 
      
 40 
     | 
    
         
            +
                        fVerbs = vbs.first(vbs.size() - 1);
         
     | 
| 
      
 41 
     | 
    
         
            +
                    }
         
     | 
| 
      
 42 
     | 
    
         
            +
                }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                /*  Holds the current verb, and its associated points
         
     | 
| 
      
 45 
     | 
    
         
            +
                 *  move:  pts[0]
         
     | 
| 
      
 46 
     | 
    
         
            +
                 *  line:  pts[0..1]
         
     | 
| 
      
 47 
     | 
    
         
            +
                 *  quad:  pts[0..2]
         
     | 
| 
      
 48 
     | 
    
         
            +
                 *  conic: pts[0..2] fConicWeight
         
     | 
| 
      
 49 
     | 
    
         
            +
                 *  cubic: pts[0..3]
         
     | 
| 
      
 50 
     | 
    
         
            +
                 *  close: pts[0..1] ... as if close were a line from pts[0] to pts[1]
         
     | 
| 
      
 51 
     | 
    
         
            +
                 */
         
     | 
| 
      
 52 
     | 
    
         
            +
                std::optional<Rec> next();
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                std::optional<SkPathVerb> peekNextVerb() const {
         
     | 
| 
      
 55 
     | 
    
         
            +
                    if (vIndex < fVerbs.size()) {
         
     | 
| 
      
 56 
     | 
    
         
            +
                        return fVerbs[vIndex];
         
     | 
| 
      
 57 
     | 
    
         
            +
                    }
         
     | 
| 
      
 58 
     | 
    
         
            +
                    return {};
         
     | 
| 
      
 59 
     | 
    
         
            +
                }
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            private:
         
     | 
| 
      
 62 
     | 
    
         
            +
                size_t                   pIndex, vIndex, cIndex;
         
     | 
| 
      
 63 
     | 
    
         
            +
                SkSpan<const SkPoint>    fPoints;
         
     | 
| 
      
 64 
     | 
    
         
            +
                SkSpan<const SkPathVerb> fVerbs;
         
     | 
| 
      
 65 
     | 
    
         
            +
                SkSpan<const float>      fConics;
         
     | 
| 
      
 66 
     | 
    
         
            +
                std::array<SkPoint, 2>   fClosePointStorage;
         
     | 
| 
      
 67 
     | 
    
         
            +
            };
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            class SkPathContourIter {
         
     | 
| 
      
 70 
     | 
    
         
            +
            public:
         
     | 
| 
      
 71 
     | 
    
         
            +
                struct Rec {
         
     | 
| 
      
 72 
     | 
    
         
            +
                    SkSpan<const SkPoint>    fPoints;
         
     | 
| 
      
 73 
     | 
    
         
            +
                    SkSpan<const SkPathVerb> fVerbs;
         
     | 
| 
      
 74 
     | 
    
         
            +
                    SkSpan<const float>      fConics;
         
     | 
| 
      
 75 
     | 
    
         
            +
                };
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                SkPathContourIter(SkSpan<const SkPoint> pts, SkSpan<const SkPathVerb> vbs,
         
     | 
| 
      
 78 
     | 
    
         
            +
                                  SkSpan<const float> cns)
         
     | 
| 
      
 79 
     | 
    
         
            +
                    : fPoints(pts), fVerbs(vbs), fConics(cns)
         
     | 
| 
      
 80 
     | 
    
         
            +
                {}
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                std::optional<Rec> next();
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            private:
         
     | 
| 
      
 85 
     | 
    
         
            +
                SkSpan<const SkPoint>    fPoints;
         
     | 
| 
      
 86 
     | 
    
         
            +
                SkSpan<const SkPathVerb> fVerbs;
         
     | 
| 
      
 87 
     | 
    
         
            +
                SkSpan<const float>      fConics;
         
     | 
| 
      
 88 
     | 
    
         
            +
            };
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            #endif
         
     | 
| 
         @@ -12,11 +12,12 @@ 
     | 
|
| 
       12 
12 
     | 
    
         
             
            #include "include/core/SkPoint.h"
         
     | 
| 
       13 
13 
     | 
    
         
             
            #include "include/core/SkRefCnt.h"
         
     | 
| 
       14 
14 
     | 
    
         
             
            #include "include/core/SkScalar.h"
         
     | 
| 
       15 
     | 
    
         
            -
            #include "include/ 
     | 
| 
      
 15 
     | 
    
         
            +
            #include "include/core/SkTypes.h"
         
     | 
| 
       16 
16 
     | 
    
         
             
            #include "include/private/base/SkDebug.h"
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
            class SkMatrix;
         
     | 
| 
       19 
19 
     | 
    
         
             
            class SkPath;
         
     | 
| 
      
 20 
     | 
    
         
            +
            class SkPathBuilder;
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
            class SK_API SkPathMeasure {
         
     | 
| 
       22 
23 
     | 
    
         
             
            public:
         
     | 
| 
         @@ -70,7 +71,10 @@ public: 
     | 
|
| 
       70 
71 
     | 
    
         
             
                    then return false (and leave dst untouched).
         
     | 
| 
       71 
72 
     | 
    
         
             
                    Begin the segment with a moveTo if startWithMoveTo is true
         
     | 
| 
       72 
73 
     | 
    
         
             
                */
         
     | 
| 
      
 74 
     | 
    
         
            +
                bool getSegment(SkScalar startD, SkScalar stopD, SkPathBuilder* dst, bool startWithMoveTo);
         
     | 
| 
      
 75 
     | 
    
         
            +
            #ifdef SK_SUPPORT_MUTABLE_PATHEFFECT
         
     | 
| 
       73 
76 
     | 
    
         
             
                bool getSegment(SkScalar startD, SkScalar stopD, SkPath* dst, bool startWithMoveTo);
         
     | 
| 
      
 77 
     | 
    
         
            +
            #endif
         
     | 
| 
       74 
78 
     | 
    
         | 
| 
       75 
79 
     | 
    
         
             
                /** Return true if the current contour is closed()
         
     | 
| 
       76 
80 
     | 
    
         
             
                */
         
     | 
| 
         @@ -12,7 +12,7 @@ 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            #include <cstdint>
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
            enum class SkPathFillType {
         
     | 
| 
      
 15 
     | 
    
         
            +
            enum class SkPathFillType : uint8_t {
         
     | 
| 
       16 
16 
     | 
    
         
             
                /** Specifies that "inside" is computed by a non-zero sum of signed edge crossings */
         
     | 
| 
       17 
17 
     | 
    
         
             
                kWinding,
         
     | 
| 
       18 
18 
     | 
    
         
             
                /** Specifies that "inside" is computed by an odd number of edge crossings */
         
     | 
| 
         @@ -20,7 +20,9 @@ enum class SkPathFillType { 
     | 
|
| 
       20 
20 
     | 
    
         
             
                /** Same as Winding, but draws outside of the path, rather than inside */
         
     | 
| 
       21 
21 
     | 
    
         
             
                kInverseWinding,
         
     | 
| 
       22 
22 
     | 
    
         
             
                /** Same as EvenOdd, but draws outside of the path, rather than inside */
         
     | 
| 
       23 
     | 
    
         
            -
                kInverseEvenOdd
         
     | 
| 
      
 23 
     | 
    
         
            +
                kInverseEvenOdd,
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                kDefault = kWinding,
         
     | 
| 
       24 
26 
     | 
    
         
             
            };
         
     | 
| 
       25 
27 
     | 
    
         | 
| 
       26 
28 
     | 
    
         
             
            static inline bool SkPathFillType_IsEvenOdd(SkPathFillType ft) {
         
     | 
| 
         @@ -35,11 +37,13 @@ static inline SkPathFillType SkPathFillType_ConvertToNonInverse(SkPathFillType f 
     | 
|
| 
       35 
37 
     | 
    
         
             
                return static_cast<SkPathFillType>(static_cast<int>(ft) & 1);
         
     | 
| 
       36 
38 
     | 
    
         
             
            }
         
     | 
| 
       37 
39 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
            enum class SkPathDirection {
         
     | 
| 
      
 40 
     | 
    
         
            +
            enum class SkPathDirection : uint8_t {
         
     | 
| 
       39 
41 
     | 
    
         
             
                /** clockwise direction for adding closed contours */
         
     | 
| 
       40 
42 
     | 
    
         
             
                kCW,
         
     | 
| 
       41 
43 
     | 
    
         
             
                /** counter-clockwise direction for adding closed contours */
         
     | 
| 
       42 
44 
     | 
    
         
             
                kCCW,
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                kDefault = kCW,
         
     | 
| 
       43 
47 
     | 
    
         
             
            };
         
     | 
| 
       44 
48 
     | 
    
         | 
| 
       45 
49 
     | 
    
         
             
            enum SkPathSegmentMask {
         
     | 
| 
         @@ -7,28 +7,34 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
            #ifndef SkPathUtils_DEFINED
         
     | 
| 
       8 
8 
     | 
    
         
             
            #define SkPathUtils_DEFINED
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            #include "include/core/SkScalar.h"
         
     | 
| 
      
 10 
     | 
    
         
            +
            #include "include/core/SkScalar.h"  // IWYU pragma: keep
         
     | 
| 
       11 
11 
     | 
    
         
             
            #include "include/core/SkTypes.h"
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            class SkMatrix;
         
     | 
| 
       14 
14 
     | 
    
         
             
            class SkPaint;
         
     | 
| 
       15 
15 
     | 
    
         
             
            class SkPath;
         
     | 
| 
      
 16 
     | 
    
         
            +
            class SkPathBuilder;
         
     | 
| 
       16 
17 
     | 
    
         
             
            struct SkRect;
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
            namespace skpathutils {
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
      
 21 
     | 
    
         
            +
            /* Returns the filled equivalent of the stroked path.
         
     | 
| 
      
 22 
     | 
    
         
            +
             *
         
     | 
| 
      
 23 
     | 
    
         
            +
             *  @param src       SkPath read to create a filled version
         
     | 
| 
      
 24 
     | 
    
         
            +
             *  @param paint     uses settings for stroke cap, width, miter, join, and patheffect.
         
     | 
| 
      
 25 
     | 
    
         
            +
             *  @param dst       results are written to this builder.
         
     | 
| 
      
 26 
     | 
    
         
            +
             *  @param cullRect  optional limit passed to SkPathEffect
         
     | 
| 
      
 27 
     | 
    
         
            +
             *  @param ctm       matrix to take into acount for increased precision (if it scales up).
         
     | 
| 
      
 28 
     | 
    
         
            +
             *  @return          true if the result can be filled, or false if it is a hairline (to be stroked).
         
     | 
| 
      
 29 
     | 
    
         
            +
             */
         
     | 
| 
      
 30 
     | 
    
         
            +
            SK_API bool FillPathWithPaint(const SkPath& src, const SkPaint& paint, SkPathBuilder* dst,
         
     | 
| 
      
 31 
     | 
    
         
            +
                                          const SkRect* cullRect, const SkMatrix& ctm);
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            SK_API bool FillPathWithPaint(const SkPath& src, const SkPaint& paint, SkPathBuilder* dst);
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            SK_API SkPath FillPathWithPaint(const SkPath& src, const SkPaint& paint, bool* isFill = nullptr);
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            #ifdef SK_SUPPORT_MUTABLE_PATHEFFECT
         
     | 
| 
       32 
38 
     | 
    
         
             
            SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst,
         
     | 
| 
       33 
39 
     | 
    
         
             
                                          const SkRect *cullRect, SkScalar resScale = 1);
         
     | 
| 
       34 
40 
     | 
    
         | 
| 
         @@ -36,6 +42,7 @@ SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *d 
     | 
|
| 
       36 
42 
     | 
    
         
             
                                          const SkRect *cullRect, const SkMatrix &ctm);
         
     | 
| 
       37 
43 
     | 
    
         | 
| 
       38 
44 
     | 
    
         
             
            SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst);
         
     | 
| 
      
 45 
     | 
    
         
            +
            #endif
         
     | 
| 
       39 
46 
     | 
    
         | 
| 
       40 
47 
     | 
    
         
             
            }
         
     | 
| 
       41 
48 
     | 
    
         | 
| 
         @@ -17,6 +17,7 @@ 
     | 
|
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
            #include <cstdint>
         
     | 
| 
       19 
19 
     | 
    
         
             
            #include <cstring>
         
     | 
| 
      
 20 
     | 
    
         
            +
            #include <optional>
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
            class SkMatrix;
         
     | 
| 
       22 
23 
     | 
    
         
             
            class SkString;
         
     | 
| 
         @@ -450,18 +451,13 @@ public: 
     | 
|
| 
       450 
451 
     | 
    
         
             
                */
         
     | 
| 
       451 
452 
     | 
    
         
             
                size_t readFromMemory(const void* buffer, size_t length);
         
     | 
| 
       452 
453 
     | 
    
         | 
| 
       453 
     | 
    
         
            -
                /** Transforms by SkRRect by matrix 
     | 
| 
       454 
     | 
    
         
            -
             
     | 
| 
       455 
     | 
    
         
            -
             
     | 
| 
       456 
     | 
    
         
            -
             
     | 
| 
       457 
     | 
    
         
            -
             
     | 
| 
       458 
     | 
    
         
            -
             
     | 
| 
       459 
     | 
    
         
            -
                    @param matrix  SkMatrix specifying the transform
         
     | 
| 
       460 
     | 
    
         
            -
                    @param dst     SkRRect to store the result
         
     | 
| 
       461 
     | 
    
         
            -
                    @return        true if transformation succeeded.
         
     | 
| 
      
 454 
     | 
    
         
            +
                /** Transforms by SkRRect by matrix and return it if possible.
         
     | 
| 
      
 455 
     | 
    
         
            +
                 *  If the matrix does not preserve axis-alignment (e.g. rotates, skews, etc.)
         
     | 
| 
      
 456 
     | 
    
         
            +
                 *  then this returns {}.
         
     | 
| 
      
 457 
     | 
    
         
            +
                 */
         
     | 
| 
      
 458 
     | 
    
         
            +
                std::optional<SkRRect> transform(const SkMatrix&) const;
         
     | 
| 
       462 
459 
     | 
    
         | 
| 
       463 
     | 
    
         
            -
             
     | 
| 
       464 
     | 
    
         
            -
                */
         
     | 
| 
      
 460 
     | 
    
         
            +
                // Deprecated: use optional form
         
     | 
| 
       465 
461 
     | 
    
         
             
                bool transform(const SkMatrix& matrix, SkRRect* dst) const;
         
     | 
| 
       466 
462 
     | 
    
         | 
| 
       467 
463 
     | 
    
         
             
                /** Writes text representation of SkRRect to standard output.
         
     | 
| 
         @@ -9,6 +9,8 @@ 
     | 
|
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            #include "include/private/base/SkAPI.h"
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
            class SkCanvas;
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
       12 
14 
     | 
    
         
             
            namespace skcpu {
         
     | 
| 
       13 
15 
     | 
    
         
             
            class Recorder;
         
     | 
| 
       14 
16 
     | 
    
         
             
            }
         
     | 
| 
         @@ -30,6 +32,16 @@ public: 
     | 
|
| 
       30 
32 
     | 
    
         
             
                virtual Type type() const = 0;
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
       32 
34 
     | 
    
         
             
                virtual skcpu::Recorder* cpuRecorder() = 0;
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            private:
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                /**
         
     | 
| 
      
 39 
     | 
    
         
            +
                * Attempts to create and return an SkCaptureCanvas that wraps the provided base canvas.
         
     | 
| 
      
 40 
     | 
    
         
            +
                * Returns nullptr if capture is not enabled.
         
     | 
| 
      
 41 
     | 
    
         
            +
                */
         
     | 
| 
      
 42 
     | 
    
         
            +
                virtual SkCanvas* makeCaptureCanvas(SkCanvas*) = 0;
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                friend class SkSurface_Base;
         
     | 
| 
       33 
45 
     | 
    
         
             
            };
         
     | 
| 
       34 
46 
     | 
    
         | 
| 
       35 
47 
     | 
    
         
             
            #endif
         
     | 
| 
         @@ -8,6 +8,7 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
            #ifndef SkRect_DEFINED
         
     | 
| 
       9 
9 
     | 
    
         
             
            #define SkRect_DEFINED
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
      
 11 
     | 
    
         
            +
            #include "include/core/SkPathTypes.h"
         
     | 
| 
       11 
12 
     | 
    
         
             
            #include "include/core/SkPoint.h"
         
     | 
| 
       12 
13 
     | 
    
         
             
            #include "include/core/SkSize.h"
         
     | 
| 
       13 
14 
     | 
    
         
             
            #include "include/core/SkSpan.h"
         
     | 
| 
         @@ -17,6 +18,7 @@ 
     | 
|
| 
       17 
18 
     | 
    
         
             
            #include "include/private/base/SkTFitsIn.h"
         
     | 
| 
       18 
19 
     | 
    
         | 
| 
       19 
20 
     | 
    
         
             
            #include <algorithm>
         
     | 
| 
      
 21 
     | 
    
         
            +
            #include <array>
         
     | 
| 
       20 
22 
     | 
    
         
             
            #include <cmath>
         
     | 
| 
       21 
23 
     | 
    
         
             
            #include <cstdint>
         
     | 
| 
       22 
24 
     | 
    
         
             
            #include <cstring>
         
     | 
| 
         @@ -832,16 +834,39 @@ struct SK_API SkRect { 
     | 
|
| 
       832 
834 
     | 
    
         
             
                    return !(a == b);
         
     | 
| 
       833 
835 
     | 
    
         
             
                }
         
     | 
| 
       834 
836 
     | 
    
         | 
| 
       835 
     | 
    
         
            -
                 
     | 
| 
       836 
     | 
    
         
            -
             
     | 
| 
      
 837 
     | 
    
         
            +
                SkPoint TL() const { return {fLeft,  fTop}; }
         
     | 
| 
      
 838 
     | 
    
         
            +
                SkPoint TR() const { return {fRight, fTop}; }
         
     | 
| 
      
 839 
     | 
    
         
            +
                SkPoint BL() const { return {fLeft,  fBottom}; }
         
     | 
| 
      
 840 
     | 
    
         
            +
                SkPoint BR() const { return {fRight, fBottom}; }
         
     | 
| 
       837 
841 
     | 
    
         | 
| 
       838 
     | 
    
         
            -
             
     | 
| 
       839 
     | 
    
         
            -
             
     | 
| 
       840 
     | 
    
         
            -
             
     | 
| 
      
 842 
     | 
    
         
            +
                /** Returns four points in quad that enclose SkRect,
         
     | 
| 
      
 843 
     | 
    
         
            +
                 *  respect the specified path-direction.
         
     | 
| 
      
 844 
     | 
    
         
            +
                 */
         
     | 
| 
      
 845 
     | 
    
         
            +
                std::array<SkPoint, 4> toQuad(SkPathDirection dir = SkPathDirection::kCW) const {
         
     | 
| 
      
 846 
     | 
    
         
            +
                    std::array<SkPoint, 4> storage;
         
     | 
| 
      
 847 
     | 
    
         
            +
                    this->copyToQuad(storage, dir);
         
     | 
| 
      
 848 
     | 
    
         
            +
                    return storage;
         
     | 
| 
      
 849 
     | 
    
         
            +
                }
         
     | 
| 
      
 850 
     | 
    
         
            +
             
     | 
| 
      
 851 
     | 
    
         
            +
                // Same as toQuad(), but copies the 4 points into the specified storage
         
     | 
| 
      
 852 
     | 
    
         
            +
                // which must be at least a size of 4.
         
     | 
| 
      
 853 
     | 
    
         
            +
                void copyToQuad(SkSpan<SkPoint> pts, SkPathDirection dir = SkPathDirection::kCW) const {
         
     | 
| 
      
 854 
     | 
    
         
            +
                    SkASSERT(pts.size() >= 4);
         
     | 
| 
      
 855 
     | 
    
         
            +
                    pts[0] = this->TL();
         
     | 
| 
      
 856 
     | 
    
         
            +
                    pts[2] = this->BR();
         
     | 
| 
      
 857 
     | 
    
         
            +
                    if (dir == SkPathDirection::kCW) {
         
     | 
| 
      
 858 
     | 
    
         
            +
                        pts[1] = this->TR();
         
     | 
| 
      
 859 
     | 
    
         
            +
                        pts[3] = this->BL();
         
     | 
| 
      
 860 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 861 
     | 
    
         
            +
                        pts[1] = this->BL();
         
     | 
| 
      
 862 
     | 
    
         
            +
                        pts[3] = this->TR();
         
     | 
| 
      
 863 
     | 
    
         
            +
                    }
         
     | 
| 
      
 864 
     | 
    
         
            +
                }
         
     | 
| 
       841 
865 
     | 
    
         | 
| 
       842 
     | 
    
         
            -
             
     | 
| 
       843 
     | 
    
         
            -
                 
     | 
| 
       844 
     | 
    
         
            -
             
     | 
| 
      
 866 
     | 
    
         
            +
                // DEPRECATED: use std::array or copyToQuad versions
         
     | 
| 
      
 867 
     | 
    
         
            +
                void toQuad(SkPoint quad[4]) const {
         
     | 
| 
      
 868 
     | 
    
         
            +
                    this->copyToQuad({quad, 4});
         
     | 
| 
      
 869 
     | 
    
         
            +
                }
         
     | 
| 
       845 
870 
     | 
    
         | 
| 
       846 
871 
     | 
    
         
             
                /** Sets SkRect to (0, 0, 0, 0).
         
     | 
| 
       847 
872 
     | 
    
         | 
| 
         @@ -14,11 +14,13 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
            #include "include/private/base/SkDebug.h"
         
     | 
| 
       15 
15 
     | 
    
         
             
            #include "include/private/base/SkTypeTraits.h"
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
      
 17 
     | 
    
         
            +
            #include "include/core/SkPath.h"    // IWYU -- for SK_HIDE_PATH_EDIT_METHODS
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
       17 
19 
     | 
    
         
             
            #include <cstddef>
         
     | 
| 
       18 
20 
     | 
    
         
             
            #include <cstdint>
         
     | 
| 
       19 
21 
     | 
    
         
             
            #include <type_traits>
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
            class  
     | 
| 
      
 23 
     | 
    
         
            +
            class SkPathBuilder;
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
       23 
25 
     | 
    
         
             
            /** \class SkRegion
         
     | 
| 
       24 
26 
     | 
    
         
             
                SkRegion describes the set of pixels used to clip SkCanvas. SkRegion is compact,
         
     | 
| 
         @@ -177,7 +179,7 @@ public: 
     | 
|
| 
       177 
179 
     | 
    
         
             
                */
         
     | 
| 
       178 
180 
     | 
    
         
             
                int computeRegionComplexity() const;
         
     | 
| 
       179 
181 
     | 
    
         | 
| 
       180 
     | 
    
         
            -
                /** Appends outline of SkRegion to path.
         
     | 
| 
      
 182 
     | 
    
         
            +
                /** Appends outline of SkRegion to path builder.
         
     | 
| 
       181 
183 
     | 
    
         
             
                    Returns true if SkRegion is not empty; otherwise, returns false, and leaves path
         
     | 
| 
       182 
184 
     | 
    
         
             
                    unmodified.
         
     | 
| 
       183 
185 
     | 
    
         | 
| 
         @@ -186,7 +188,16 @@ public: 
     | 
|
| 
       186 
188 
     | 
    
         | 
| 
       187 
189 
     | 
    
         
             
                    example: https://fiddle.skia.org/c/@Region_getBoundaryPath
         
     | 
| 
       188 
190 
     | 
    
         
             
                */
         
     | 
| 
      
 191 
     | 
    
         
            +
                bool addBoundaryPath(SkPathBuilder*) const;
         
     | 
| 
      
 192 
     | 
    
         
            +
             
     | 
| 
      
 193 
     | 
    
         
            +
                /**
         
     | 
| 
      
 194 
     | 
    
         
            +
                 * Return the boundary of the region as a path.
         
     | 
| 
      
 195 
     | 
    
         
            +
                 */
         
     | 
| 
      
 196 
     | 
    
         
            +
                SkPath getBoundaryPath() const;
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
      
 198 
     | 
    
         
            +
            #ifndef SK_HIDE_PATH_EDIT_METHODS
         
     | 
| 
       189 
199 
     | 
    
         
             
                bool getBoundaryPath(SkPath* path) const;
         
     | 
| 
      
 200 
     | 
    
         
            +
            #endif
         
     | 
| 
       190 
201 
     | 
    
         | 
| 
       191 
202 
     | 
    
         
             
                /** Constructs an empty SkRegion. SkRegion is set to empty bounds
         
     | 
| 
       192 
203 
     | 
    
         
             
                    at (0, 0) with zero width and height. Always returns false.
         
     | 
| 
         @@ -560,7 +571,7 @@ public: 
     | 
|
| 
       560 
571 
     | 
    
         
             
                /** \class SkRegion::Spanerator
         
     | 
| 
       561 
572 
     | 
    
         
             
                    Returns the line segment ends within SkRegion that intersect a horizontal line.
         
     | 
| 
       562 
573 
     | 
    
         
             
                */
         
     | 
| 
       563 
     | 
    
         
            -
                class Spanerator {
         
     | 
| 
      
 574 
     | 
    
         
            +
                class SK_API Spanerator {
         
     | 
| 
       564 
575 
     | 
    
         
             
                public:
         
     | 
| 
       565 
576 
     | 
    
         | 
| 
       566 
577 
     | 
    
         
             
                    /** Sets SkRegion::Spanerator to return line segments in SkRegion on scan line.
         
     | 
| 
         @@ -133,18 +133,6 @@ static inline SkScalar SkScalarInterp(SkScalar A, SkScalar B, SkScalar t) { 
     | 
|
| 
       133 
133 
     | 
    
         
             
                return A + (B - A) * t;
         
     | 
| 
       134 
134 
     | 
    
         
             
            }
         
     | 
| 
       135 
135 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
            /** Interpolate along the function described by (keys[length], values[length])
         
     | 
| 
       137 
     | 
    
         
            -
                for the passed searchKey. SearchKeys outside the range keys[0]-keys[Length]
         
     | 
| 
       138 
     | 
    
         
            -
                clamp to the min or max value. This function assumes the number of pairs
         
     | 
| 
       139 
     | 
    
         
            -
                (length) will be small and a linear search is used.
         
     | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
                Repeated keys are allowed for discontinuous functions (so long as keys is
         
     | 
| 
       142 
     | 
    
         
            -
                monotonically increasing). If key is the value of a repeated scalar in
         
     | 
| 
       143 
     | 
    
         
            -
                keys the first one will be used.
         
     | 
| 
       144 
     | 
    
         
            -
            */
         
     | 
| 
       145 
     | 
    
         
            -
            SkScalar SkScalarInterpFunc(SkScalar searchKey, const SkScalar keys[],
         
     | 
| 
       146 
     | 
    
         
            -
                                        const SkScalar values[], int length);
         
     | 
| 
       147 
     | 
    
         
            -
             
     | 
| 
       148 
136 
     | 
    
         
             
            /*
         
     | 
| 
       149 
137 
     | 
    
         
             
             *  Helper to compare an array of scalars.
         
     | 
| 
       150 
138 
     | 
    
         
             
             */
         
     |