@shopify/react-native-skia 0.1.192 → 0.1.193
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 +1 -1
- package/android/build.gradle +1 -0
- package/android/cpp/jni/JniPlatformContext.cpp +1 -1
- package/cpp/api/JsiSkImage.h +25 -4
- package/cpp/api/JsiSkImageFactory.h +2 -2
- package/cpp/api/JsiSkPath.h +8 -6
- package/cpp/rnskia/dom/base/Declaration.h +5 -7
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
- package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
- package/cpp/skia/include/android/SkImageAndroid.h +101 -0
- package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
- package/cpp/skia/include/codec/SkCodec.h +31 -17
- package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
- package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
- package/cpp/skia/include/config/SkUserConfig.h +61 -29
- package/cpp/skia/include/core/SkBitmap.h +25 -25
- package/cpp/skia/include/core/SkBlurTypes.h +0 -2
- package/cpp/skia/include/core/SkCanvas.h +32 -15
- package/cpp/skia/include/core/SkCapabilities.h +2 -2
- package/cpp/skia/include/core/SkColor.h +2 -0
- package/cpp/skia/include/core/SkColorPriv.h +19 -4
- package/cpp/skia/include/core/SkColorSpace.h +14 -17
- package/cpp/skia/include/core/SkColorType.h +1 -0
- package/cpp/skia/include/core/SkContourMeasure.h +1 -1
- package/cpp/skia/include/core/SkCoverageMode.h +0 -2
- package/cpp/skia/include/core/SkCubicMap.h +2 -0
- package/cpp/skia/include/core/SkData.h +5 -2
- package/cpp/skia/include/core/SkDataTable.h +6 -2
- package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
- package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
- package/cpp/skia/include/core/SkDrawable.h +10 -2
- package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
- package/cpp/skia/include/core/SkFlattenable.h +4 -2
- package/cpp/skia/include/core/SkFont.h +1 -0
- package/cpp/skia/include/core/SkFontMetrics.h +1 -0
- package/cpp/skia/include/core/SkFontMgr.h +20 -29
- package/cpp/skia/include/core/SkFontStyle.h +4 -1
- package/cpp/skia/include/core/SkGraphics.h +21 -18
- package/cpp/skia/include/core/SkICC.h +3 -13
- package/cpp/skia/include/core/SkImage.h +395 -717
- package/cpp/skia/include/core/SkImageGenerator.h +19 -74
- package/cpp/skia/include/core/SkImageInfo.h +7 -5
- package/cpp/skia/include/core/SkM44.h +11 -0
- package/cpp/skia/include/core/SkMaskFilter.h +6 -3
- package/cpp/skia/include/core/SkMatrix.h +14 -4
- package/cpp/skia/include/core/SkMesh.h +52 -18
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPaint.h +11 -34
- package/cpp/skia/include/core/SkPath.h +23 -4
- package/cpp/skia/include/core/SkPathBuilder.h +13 -5
- package/cpp/skia/include/core/SkPathMeasure.h +1 -1
- package/cpp/skia/include/core/SkPathTypes.h +0 -2
- package/cpp/skia/include/core/SkPathUtils.h +42 -0
- package/cpp/skia/include/core/SkPicture.h +3 -2
- package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
- package/cpp/skia/include/core/SkPixelRef.h +4 -8
- package/cpp/skia/include/core/SkPixmap.h +12 -20
- package/cpp/skia/include/core/SkPoint.h +4 -2
- package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
- package/cpp/skia/include/core/SkRRect.h +5 -1
- package/cpp/skia/include/core/SkRect.h +6 -3
- package/cpp/skia/include/core/SkRefCnt.h +9 -14
- package/cpp/skia/include/core/SkRegion.h +1 -1
- package/cpp/skia/include/core/SkScalar.h +2 -4
- package/cpp/skia/include/core/SkSerialProcs.h +18 -10
- package/cpp/skia/include/core/SkShader.h +1 -64
- package/cpp/skia/include/core/SkSize.h +2 -0
- package/cpp/skia/include/core/SkSpan.h +4 -112
- package/cpp/skia/include/core/SkStream.h +11 -12
- package/cpp/skia/include/core/SkString.h +9 -25
- package/cpp/skia/include/core/SkStrokeRec.h +1 -1
- package/cpp/skia/include/core/SkSurface.h +83 -61
- package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
- package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
- package/cpp/skia/include/core/SkTextBlob.h +2 -2
- package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
- package/cpp/skia/include/core/SkTime.h +1 -1
- package/cpp/skia/include/core/SkTypeface.h +9 -2
- package/cpp/skia/include/core/SkTypes.h +37 -466
- package/cpp/skia/include/core/SkVertices.h +2 -0
- package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
- package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
- package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
- package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
- package/cpp/skia/include/effects/SkGradientShader.h +65 -14
- package/cpp/skia/include/effects/SkImageFilters.h +0 -11
- package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
- package/cpp/skia/include/encode/SkEncoder.h +7 -3
- package/cpp/skia/include/encode/SkICC.h +36 -0
- package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
- package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
- package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
- package/cpp/skia/include/gpu/GpuTypes.h +23 -1
- package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
- package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
- package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
- package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
- package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
- package/cpp/skia/include/gpu/GrTypes.h +18 -18
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
- package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
- package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
- package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
- package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
- package/cpp/skia/include/gpu/graphite/Context.h +85 -32
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
- package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
- package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
- package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
- package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
- package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
- package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
- package/cpp/skia/include/pathops/SkPathOps.h +3 -3
- package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
- package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
- package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
- package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
- package/cpp/skia/include/private/SkChecksum.h +32 -7
- package/cpp/skia/include/private/SkColorData.h +1 -26
- package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
- package/cpp/skia/include/private/SkGainmapShader.h +53 -0
- package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
- package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
- package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
- package/cpp/skia/include/private/SkOpts_spi.h +3 -1
- package/cpp/skia/include/private/SkPathRef.h +64 -47
- package/cpp/skia/include/private/SkSLDefines.h +5 -5
- package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
- package/cpp/skia/include/private/SkSpinlock.h +1 -1
- package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
- package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
- package/cpp/skia/include/private/base/SkAPI.h +52 -0
- package/cpp/skia/include/private/base/SkAlign.h +39 -0
- package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
- package/cpp/skia/include/private/base/SkAssert.h +92 -0
- package/cpp/skia/include/private/base/SkAttributes.h +102 -0
- package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
- package/cpp/skia/include/private/base/SkContainers.h +46 -0
- package/cpp/skia/include/private/base/SkDebug.h +27 -0
- package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
- package/cpp/skia/include/private/base/SkFeatures.h +151 -0
- package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
- package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
- package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
- package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
- package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
- package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
- package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
- package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
- package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
- package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
- package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
- package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
- package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
- package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
- package/cpp/skia/include/private/base/SkTArray.h +694 -0
- package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
- package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
- package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
- package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
- package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
- package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
- package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
- package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
- package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
- package/cpp/skia/include/private/chromium/Slug.h +0 -9
- package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
- package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
- package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
- package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
- package/cpp/skia/include/utils/SkCamera.h +1 -1
- package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
- package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
- package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
- package/cpp/skia/include/utils/SkParsePath.h +1 -1
- package/cpp/skia/modules/skcms/skcms.h +14 -0
- package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
- package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
- package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
- package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
- package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
- package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
- package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
- package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
- package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/ios/libskia.xcframework/Info.plist +5 -5
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/react-native-skia.podspec +1 -1
- package/scripts/install-npm.js +11 -1
- package/cpp/skia/include/core/SkImageEncoder.h +0 -71
- package/cpp/skia/include/gpu/GrConfig.h +0 -53
- package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
- package/cpp/skia/include/private/SkHalf.h +0 -38
- package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
- package/cpp/skia/include/private/SkSLIRNode.h +0 -64
- package/cpp/skia/include/private/SkSLLayout.h +0 -144
- package/cpp/skia/include/private/SkSLModifiers.h +0 -178
- package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
- package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
- package/cpp/skia/include/private/SkSLStatement.h +0 -86
- package/cpp/skia/include/private/SkSLString.h +0 -41
- package/cpp/skia/include/private/SkSLSymbol.h +0 -94
- package/cpp/skia/include/private/SkSafe_math.h +0 -52
- package/cpp/skia/include/private/SkStringView.h +0 -51
- package/cpp/skia/include/private/SkTArray.h +0 -655
- package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
- package/cpp/skia/include/private/SkVx.h +0 -1026
- package/cpp/skia/include/sksl/DSL.h +0 -37
- package/cpp/skia/include/sksl/DSLBlock.h +0 -58
- package/cpp/skia/include/sksl/DSLCase.h +0 -62
- package/cpp/skia/include/sksl/DSLCore.h +0 -492
- package/cpp/skia/include/sksl/DSLExpression.h +0 -241
- package/cpp/skia/include/sksl/DSLFunction.h +0 -113
- package/cpp/skia/include/sksl/DSLLayout.h +0 -92
- package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
- package/cpp/skia/include/sksl/DSLStatement.h +0 -82
- package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
- package/cpp/skia/include/sksl/DSLType.h +0 -271
- package/cpp/skia/include/sksl/DSLVar.h +0 -231
- package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
- package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
- package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
- package/cpp/skia/include/utils/SkRandom.h +0 -169
- package/cpp/skia/src/core/SkLRUCache.h +0 -126
- package/cpp/skia/src/core/SkTInternalLList.h +0 -302
- /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
- /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
- /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
|
@@ -8,32 +8,25 @@
|
|
|
8
8
|
#ifndef SkImageGenerator_DEFINED
|
|
9
9
|
#define SkImageGenerator_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
12
|
-
#include "include/core/SkColor.h"
|
|
13
|
-
#include "include/core/SkImage.h"
|
|
11
|
+
#include "include/core/SkData.h"
|
|
14
12
|
#include "include/core/SkImageInfo.h"
|
|
15
|
-
#include "include/core/
|
|
13
|
+
#include "include/core/SkPixmap.h"
|
|
14
|
+
#include "include/core/SkRefCnt.h"
|
|
16
15
|
#include "include/core/SkYUVAPixmaps.h"
|
|
16
|
+
#include "include/private/base/SkAPI.h"
|
|
17
17
|
|
|
18
|
+
#if defined(SK_GRAPHITE)
|
|
19
|
+
#include "include/core/SkImage.h"
|
|
20
|
+
#include "include/gpu/graphite/Recorder.h"
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
#include <cstddef>
|
|
24
|
+
#include <cstdint>
|
|
25
|
+
#include <memory>
|
|
18
26
|
#include <optional>
|
|
19
27
|
|
|
20
28
|
class GrRecordingContext;
|
|
21
|
-
|
|
22
|
-
class GrSamplerState;
|
|
23
|
-
class SkBitmap;
|
|
24
|
-
class SkData;
|
|
25
|
-
class SkMatrix;
|
|
26
|
-
class SkPaint;
|
|
27
|
-
class SkPicture;
|
|
28
|
-
|
|
29
|
-
enum class GrImageTexGenPolicy : int;
|
|
30
|
-
|
|
31
|
-
#if SK_GRAPHITE_ENABLED
|
|
32
|
-
namespace skgpu::graphite {
|
|
33
|
-
enum class Mipmapped : bool;
|
|
34
|
-
class Recorder;
|
|
35
|
-
}
|
|
36
|
-
#endif
|
|
29
|
+
enum SkAlphaType : int;
|
|
37
30
|
|
|
38
31
|
class SK_API SkImageGenerator {
|
|
39
32
|
public:
|
|
@@ -121,36 +114,12 @@ public:
|
|
|
121
114
|
*/
|
|
122
115
|
bool getYUVAPlanes(const SkYUVAPixmaps& yuvaPixmaps);
|
|
123
116
|
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* If the generator can natively/efficiently return its pixels as a GPU image (backed by a
|
|
127
|
-
* texture) this will return that image. If not, this will return NULL.
|
|
128
|
-
*
|
|
129
|
-
* Regarding the GrRecordingContext parameter:
|
|
130
|
-
*
|
|
131
|
-
* It must be non-NULL. The generator should only succeed if:
|
|
132
|
-
* - its internal context is the same
|
|
133
|
-
* - it can somehow convert its texture into one that is valid for the provided context.
|
|
134
|
-
*
|
|
135
|
-
* If the mipmapped parameter is kYes, the generator should try to create a TextureProxy that
|
|
136
|
-
* at least has the mip levels allocated and the base layer filled in. If this is not possible,
|
|
137
|
-
* the generator is allowed to return a non mipped proxy, but this will have some additional
|
|
138
|
-
* overhead in later allocating mips and copying of the base layer.
|
|
139
|
-
*
|
|
140
|
-
* GrImageTexGenPolicy determines whether or not a new texture must be created (and its budget
|
|
141
|
-
* status) or whether this may (but is not required to) return a pre-existing texture that is
|
|
142
|
-
* retained by the generator (kDraw).
|
|
143
|
-
*/
|
|
144
|
-
GrSurfaceProxyView generateTexture(GrRecordingContext*,
|
|
145
|
-
const SkImageInfo& info,
|
|
146
|
-
GrMipmapped mipmapped,
|
|
147
|
-
GrImageTexGenPolicy);
|
|
148
|
-
#endif
|
|
117
|
+
virtual bool isTextureGenerator() const { return false; }
|
|
149
118
|
|
|
150
|
-
#if
|
|
119
|
+
#if defined(SK_GRAPHITE)
|
|
151
120
|
sk_sp<SkImage> makeTextureImage(skgpu::graphite::Recorder*,
|
|
152
121
|
const SkImageInfo&,
|
|
153
|
-
skgpu::
|
|
122
|
+
skgpu::Mipmapped);
|
|
154
123
|
#endif
|
|
155
124
|
|
|
156
125
|
/**
|
|
@@ -164,17 +133,6 @@ public:
|
|
|
164
133
|
static std::unique_ptr<SkImageGenerator> MakeFromEncoded(
|
|
165
134
|
sk_sp<SkData>, std::optional<SkAlphaType> = std::nullopt);
|
|
166
135
|
|
|
167
|
-
/** Return a new image generator backed by the specified picture. If the size is empty or
|
|
168
|
-
* the picture is NULL, this returns NULL.
|
|
169
|
-
* The optional matrix and paint arguments are passed to drawPicture() at rasterization
|
|
170
|
-
* time.
|
|
171
|
-
*/
|
|
172
|
-
static std::unique_ptr<SkImageGenerator> MakeFromPicture(const SkISize&, sk_sp<SkPicture>,
|
|
173
|
-
const SkMatrix*, const SkPaint*,
|
|
174
|
-
SkImage::BitDepth,
|
|
175
|
-
sk_sp<SkColorSpace>,
|
|
176
|
-
SkSurfaceProps props = {});
|
|
177
|
-
|
|
178
136
|
protected:
|
|
179
137
|
static constexpr int kNeedNewImageUniqueID = 0;
|
|
180
138
|
|
|
@@ -187,30 +145,17 @@ protected:
|
|
|
187
145
|
virtual bool onQueryYUVAInfo(const SkYUVAPixmapInfo::SupportedDataTypes&,
|
|
188
146
|
SkYUVAPixmapInfo*) const { return false; }
|
|
189
147
|
virtual bool onGetYUVAPlanes(const SkYUVAPixmaps&) { return false; }
|
|
190
|
-
#if SK_SUPPORT_GPU
|
|
191
|
-
// returns nullptr
|
|
192
|
-
virtual GrSurfaceProxyView onGenerateTexture(GrRecordingContext*, const SkImageInfo&,
|
|
193
|
-
GrMipmapped, GrImageTexGenPolicy);
|
|
194
|
-
|
|
195
|
-
// Most internal SkImageGenerators produce textures and views that use kTopLeft_GrSurfaceOrigin.
|
|
196
|
-
// If the generator may produce textures with different origins (e.g.
|
|
197
|
-
// GrAHardwareBufferImageGenerator) it should override this function to return the correct
|
|
198
|
-
// origin.
|
|
199
|
-
virtual GrSurfaceOrigin origin() const { return kTopLeft_GrSurfaceOrigin; }
|
|
200
|
-
#endif
|
|
201
148
|
|
|
202
|
-
#if
|
|
149
|
+
#if defined(SK_GRAPHITE)
|
|
203
150
|
virtual sk_sp<SkImage> onMakeTextureImage(skgpu::graphite::Recorder*,
|
|
204
151
|
const SkImageInfo&,
|
|
205
|
-
skgpu::
|
|
152
|
+
skgpu::Mipmapped);
|
|
206
153
|
#endif
|
|
154
|
+
const SkImageInfo fInfo;
|
|
207
155
|
|
|
208
156
|
private:
|
|
209
|
-
const SkImageInfo fInfo;
|
|
210
157
|
const uint32_t fUniqueID;
|
|
211
158
|
|
|
212
|
-
friend class SkImage_Lazy;
|
|
213
|
-
|
|
214
159
|
// This is our default impl, which may be different on different platforms.
|
|
215
160
|
// It is called from NewFromEncoded() after it has checked for any runtime factory.
|
|
216
161
|
// The SkData will never be NULL, as that will have been checked by NewFromEncoded.
|
|
@@ -10,16 +10,18 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkAlphaType.h"
|
|
12
12
|
#include "include/core/SkColorType.h"
|
|
13
|
-
#include "include/core/SkMath.h"
|
|
14
13
|
#include "include/core/SkRect.h"
|
|
15
14
|
#include "include/core/SkRefCnt.h"
|
|
16
15
|
#include "include/core/SkSize.h"
|
|
16
|
+
#include "include/private/base/SkAPI.h"
|
|
17
|
+
#include "include/private/base/SkDebug.h"
|
|
18
|
+
#include "include/private/base/SkMath.h"
|
|
19
|
+
#include "include/private/base/SkTFitsIn.h"
|
|
17
20
|
|
|
18
|
-
#include
|
|
19
|
-
#include
|
|
21
|
+
#include <cstddef>
|
|
22
|
+
#include <cstdint>
|
|
23
|
+
#include <utility>
|
|
20
24
|
|
|
21
|
-
class SkReadBuffer;
|
|
22
|
-
class SkWriteBuffer;
|
|
23
25
|
class SkColorSpace;
|
|
24
26
|
|
|
25
27
|
/** Returns the number of bytes required to store a pixel, including unused padding.
|
|
@@ -99,6 +99,11 @@ struct SK_API SkV4 {
|
|
|
99
99
|
}
|
|
100
100
|
bool operator!=(const SkV4& v) const { return !(*this == v); }
|
|
101
101
|
|
|
102
|
+
static SkScalar Dot(const SkV4& a, const SkV4& b) {
|
|
103
|
+
return a.x*b.x + a.y*b.y + a.z*b.z + a.w*b.w;
|
|
104
|
+
}
|
|
105
|
+
static SkV4 Normalize(const SkV4& v) { return v * (1.0f / v.length()); }
|
|
106
|
+
|
|
102
107
|
SkV4 operator-() const { return {-x, -y, -z, -w}; }
|
|
103
108
|
SkV4 operator+(const SkV4& v) const { return { x + v.x, y + v.y, z + v.z, w + v.w }; }
|
|
104
109
|
SkV4 operator-(const SkV4& v) const { return { x - v.x, y - v.y, z - v.z, w - v.w }; }
|
|
@@ -111,6 +116,12 @@ struct SK_API SkV4 {
|
|
|
111
116
|
}
|
|
112
117
|
friend SkV4 operator*(SkScalar s, const SkV4& v) { return v*s; }
|
|
113
118
|
|
|
119
|
+
SkScalar lengthSquared() const { return Dot(*this, *this); }
|
|
120
|
+
SkScalar length() const { return SkScalarSqrt(Dot(*this, *this)); }
|
|
121
|
+
|
|
122
|
+
SkScalar dot(const SkV4& v) const { return Dot(*this, v); }
|
|
123
|
+
SkV4 normalize() const { return Normalize(*this); }
|
|
124
|
+
|
|
114
125
|
const float* ptr() const { return &x; }
|
|
115
126
|
float* ptr() { return &x; }
|
|
116
127
|
|
|
@@ -8,12 +8,15 @@
|
|
|
8
8
|
#ifndef SkMaskFilter_DEFINED
|
|
9
9
|
#define SkMaskFilter_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkBlurTypes.h"
|
|
12
|
-
#include "include/core/SkCoverageMode.h"
|
|
13
11
|
#include "include/core/SkFlattenable.h"
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
14
13
|
#include "include/core/SkScalar.h"
|
|
14
|
+
#include "include/core/SkTypes.h"
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
#include <cstddef>
|
|
17
|
+
|
|
18
|
+
enum SkBlurStyle : int;
|
|
19
|
+
struct SkDeserialProcs;
|
|
17
20
|
struct SkRect;
|
|
18
21
|
|
|
19
22
|
/** \class SkMaskFilter
|
|
@@ -8,12 +8,19 @@
|
|
|
8
8
|
#ifndef SkMatrix_DEFINED
|
|
9
9
|
#define SkMatrix_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/core/SkPoint.h"
|
|
11
12
|
#include "include/core/SkRect.h"
|
|
12
|
-
#include "include/
|
|
13
|
-
#include "include/
|
|
13
|
+
#include "include/core/SkScalar.h"
|
|
14
|
+
#include "include/core/SkTypes.h"
|
|
15
|
+
#include "include/private/base/SkMacros.h"
|
|
16
|
+
#include "include/private/base/SkTo.h"
|
|
17
|
+
|
|
18
|
+
#include <cstdint>
|
|
19
|
+
#include <cstring>
|
|
14
20
|
|
|
15
|
-
struct SkRSXform;
|
|
16
21
|
struct SkPoint3;
|
|
22
|
+
struct SkRSXform;
|
|
23
|
+
struct SkSize;
|
|
17
24
|
|
|
18
25
|
// Remove when clients are updated to live without this
|
|
19
26
|
#define SK_SUPPORT_LEGACY_MATRIX_RECTTORECT
|
|
@@ -1812,7 +1819,10 @@ public:
|
|
|
1812
1819
|
if (tx != 0.0f || ty != 0.0f) {
|
|
1813
1820
|
mask |= kTranslate_Mask;
|
|
1814
1821
|
}
|
|
1815
|
-
|
|
1822
|
+
if (sx != 0 && sy != 0) {
|
|
1823
|
+
mask |= kRectStaysRect_Mask;
|
|
1824
|
+
}
|
|
1825
|
+
this->setTypeMask(mask);
|
|
1816
1826
|
}
|
|
1817
1827
|
|
|
1818
1828
|
/** Returns true if all elements of the matrix are finite. Returns false if any
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
#include "include/effects/SkRuntimeEffect.h"
|
|
20
20
|
|
|
21
21
|
#include <memory>
|
|
22
|
+
#include <tuple>
|
|
22
23
|
#include <vector>
|
|
23
24
|
|
|
24
25
|
class GrDirectContext;
|
|
@@ -29,22 +30,31 @@ namespace SkSL { struct Program; }
|
|
|
29
30
|
|
|
30
31
|
/**
|
|
31
32
|
* A specification for custom meshes. Specifies the vertex buffer attributes and stride, the
|
|
32
|
-
* vertex program that produces a user-defined set of varyings, a fragment program that ingests
|
|
33
|
-
* the interpolated varyings and produces local coordinates and optionally a color.
|
|
33
|
+
* vertex program that produces a user-defined set of varyings, and a fragment program that ingests
|
|
34
|
+
* the interpolated varyings and produces local coordinates for shading and optionally a color.
|
|
35
|
+
*
|
|
36
|
+
* The varyings must include a float2 named "position". If the passed varyings does not
|
|
37
|
+
* contain such a varying then one is implicitly added to the final specification and the SkSL
|
|
38
|
+
* Varyings struct described below. It is an error to have a varying named "position" that has a
|
|
39
|
+
* type other than float2.
|
|
40
|
+
*
|
|
41
|
+
* The provided attributes and varyings are used to create Attributes and Varyings structs in SkSL
|
|
42
|
+
* that are used by the shaders. Each attribute from the Attribute span becomes a member of the
|
|
43
|
+
* SkSL Attributes struct and likewise for the varyings.
|
|
34
44
|
*
|
|
35
45
|
* The signature of the vertex program must be:
|
|
36
|
-
*
|
|
37
|
-
* where the return value is a local position that will be transformed by SkCanvas's matrix.
|
|
46
|
+
* Varyings main(const Attributes).
|
|
38
47
|
*
|
|
39
48
|
* The signature of the fragment program must be either:
|
|
40
|
-
*
|
|
49
|
+
* float2 main(const Varyings)
|
|
41
50
|
* or
|
|
42
|
-
*
|
|
51
|
+
* float2 main(const Varyings, out (half4|float4) color)
|
|
43
52
|
*
|
|
44
53
|
* where the return value is the local coordinates that will be used to access SkShader. If the
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
54
|
+
* color variant is used, the returned color will be blended with SkPaint's SkShader (or SkPaint
|
|
55
|
+
* color in absence of a SkShader) using the SkBlender passed to SkCanvas drawMesh(). To use
|
|
56
|
+
* interpolated local space positions as the shader coordinates, equivalent to how SkPaths are
|
|
57
|
+
* shaded, return the position field from the Varying struct as the coordinates.
|
|
48
58
|
*
|
|
49
59
|
* The vertex and fragment programs may both contain uniforms. Uniforms with the same name are
|
|
50
60
|
* assumed to be shared between stages. It is an error to specify uniforms in the vertex and
|
|
@@ -187,11 +197,12 @@ private:
|
|
|
187
197
|
SkMeshSpecification(SkSpan<const Attribute>,
|
|
188
198
|
size_t,
|
|
189
199
|
SkSpan<const Varying>,
|
|
200
|
+
int passthroughLocalCoordsVaryingIndex,
|
|
201
|
+
uint32_t deadVaryingMask,
|
|
190
202
|
std::vector<Uniform> uniforms,
|
|
191
203
|
std::unique_ptr<const SkSL::Program>,
|
|
192
204
|
std::unique_ptr<const SkSL::Program>,
|
|
193
205
|
ColorType,
|
|
194
|
-
bool hasLocalCoords,
|
|
195
206
|
sk_sp<SkColorSpace>,
|
|
196
207
|
SkAlphaType);
|
|
197
208
|
|
|
@@ -208,8 +219,9 @@ private:
|
|
|
208
219
|
const std::unique_ptr<const SkSL::Program> fFS;
|
|
209
220
|
const size_t fStride;
|
|
210
221
|
uint32_t fHash;
|
|
222
|
+
const int fPassthroughLocalCoordsVaryingIndex;
|
|
223
|
+
const uint32_t fDeadVaryingMask;
|
|
211
224
|
const ColorType fColorType;
|
|
212
|
-
const bool fHasLocalCoords;
|
|
213
225
|
const sk_sp<SkColorSpace> fColorSpace;
|
|
214
226
|
const SkAlphaType fAlphaType;
|
|
215
227
|
};
|
|
@@ -295,8 +307,11 @@ public:
|
|
|
295
307
|
*/
|
|
296
308
|
static sk_sp<IndexBuffer> MakeIndexBuffer(GrDirectContext*, const void* data, size_t size);
|
|
297
309
|
|
|
298
|
-
/**
|
|
299
|
-
|
|
310
|
+
/**
|
|
311
|
+
* Makes a copy of an index buffer. The implementation currently only supports a CPU-backed
|
|
312
|
+
* source buffer.
|
|
313
|
+
*/
|
|
314
|
+
static sk_sp<IndexBuffer> CopyIndexBuffer(GrDirectContext*, sk_sp<IndexBuffer>);
|
|
300
315
|
|
|
301
316
|
/**
|
|
302
317
|
* Makes a vertex buffer to be used with SkMeshes. The buffer may be CPU- or GPU-backed
|
|
@@ -313,12 +328,23 @@ public:
|
|
|
313
328
|
*/
|
|
314
329
|
static sk_sp<VertexBuffer> MakeVertexBuffer(GrDirectContext*, const void*, size_t size);
|
|
315
330
|
|
|
316
|
-
/**
|
|
317
|
-
|
|
331
|
+
/**
|
|
332
|
+
* Makes a copy of a vertex buffer. The implementation currently only supports a CPU-backed
|
|
333
|
+
* source buffer.
|
|
334
|
+
*/
|
|
335
|
+
static sk_sp<VertexBuffer> CopyVertexBuffer(GrDirectContext*, sk_sp<VertexBuffer>);
|
|
318
336
|
|
|
319
337
|
enum class Mode { kTriangles, kTriangleStrip };
|
|
320
338
|
|
|
321
|
-
|
|
339
|
+
struct Result;
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Creates a non-indexed SkMesh. The returned SkMesh can be tested for validity using
|
|
343
|
+
* SkMesh::isValid(). An invalid mesh simply fails to draws if passed to SkCanvas::drawMesh().
|
|
344
|
+
* If the mesh is invalid the returned string give contain the reason for the failure (e.g. the
|
|
345
|
+
* vertex buffer was null or uniform data too small).
|
|
346
|
+
*/
|
|
347
|
+
static Result Make(sk_sp<SkMeshSpecification>,
|
|
322
348
|
Mode,
|
|
323
349
|
sk_sp<VertexBuffer>,
|
|
324
350
|
size_t vertexCount,
|
|
@@ -326,7 +352,13 @@ public:
|
|
|
326
352
|
sk_sp<const SkData> uniforms,
|
|
327
353
|
const SkRect& bounds);
|
|
328
354
|
|
|
329
|
-
|
|
355
|
+
/**
|
|
356
|
+
* Creates an indexed SkMesh. The returned SkMesh can be tested for validity using
|
|
357
|
+
* SkMesh::isValid(). A invalid mesh simply fails to draw if passed to SkCanvas::drawMesh().
|
|
358
|
+
* If the mesh is invalid the returned string give contain the reason for the failure (e.g. the
|
|
359
|
+
* index buffer was null or uniform data too small).
|
|
360
|
+
*/
|
|
361
|
+
static Result MakeIndexed(sk_sp<SkMeshSpecification>,
|
|
330
362
|
Mode,
|
|
331
363
|
sk_sp<VertexBuffer>,
|
|
332
364
|
size_t vertexCount,
|
|
@@ -364,7 +396,7 @@ public:
|
|
|
364
396
|
private:
|
|
365
397
|
friend struct SkMeshPriv;
|
|
366
398
|
|
|
367
|
-
bool validate() const;
|
|
399
|
+
std::tuple<bool, SkString> validate() const;
|
|
368
400
|
|
|
369
401
|
sk_sp<SkMeshSpecification> fSpec;
|
|
370
402
|
|
|
@@ -384,6 +416,8 @@ private:
|
|
|
384
416
|
SkRect fBounds = SkRect::MakeEmpty();
|
|
385
417
|
};
|
|
386
418
|
|
|
419
|
+
struct SkMesh::Result { SkMesh mesh; SkString error; };
|
|
420
|
+
|
|
387
421
|
#endif // SK_ENABLE_SKSL
|
|
388
422
|
|
|
389
423
|
#endif
|
|
@@ -8,23 +8,28 @@
|
|
|
8
8
|
#ifndef SkPaint_DEFINED
|
|
9
9
|
#define SkPaint_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkBlendMode.h"
|
|
12
11
|
#include "include/core/SkColor.h"
|
|
13
12
|
#include "include/core/SkRefCnt.h"
|
|
14
|
-
#include "include/
|
|
15
|
-
|
|
13
|
+
#include "include/core/SkScalar.h"
|
|
14
|
+
#include "include/core/SkTypes.h"
|
|
15
|
+
#include "include/private/base/SkCPUTypes.h"
|
|
16
|
+
#include "include/private/base/SkFloatingPoint.h"
|
|
17
|
+
#include "include/private/base/SkTo.h"
|
|
18
|
+
#include "include/private/base/SkTypeTraits.h"
|
|
19
|
+
|
|
20
|
+
#include <cstdint>
|
|
16
21
|
#include <optional>
|
|
22
|
+
#include <type_traits>
|
|
17
23
|
|
|
18
24
|
class SkBlender;
|
|
19
25
|
class SkColorFilter;
|
|
20
26
|
class SkColorSpace;
|
|
21
|
-
struct SkRect;
|
|
22
27
|
class SkImageFilter;
|
|
23
28
|
class SkMaskFilter;
|
|
24
|
-
class SkMatrix;
|
|
25
|
-
class SkPath;
|
|
26
29
|
class SkPathEffect;
|
|
27
30
|
class SkShader;
|
|
31
|
+
enum class SkBlendMode;
|
|
32
|
+
struct SkRect;
|
|
28
33
|
|
|
29
34
|
/** \class SkPaint
|
|
30
35
|
SkPaint controls options applied when drawing. SkPaint collects all
|
|
@@ -383,34 +388,6 @@ public:
|
|
|
383
388
|
*/
|
|
384
389
|
void setStrokeJoin(Join join);
|
|
385
390
|
|
|
386
|
-
/** Returns the filled equivalent of the stroked path.
|
|
387
|
-
|
|
388
|
-
@param src SkPath read to create a filled version
|
|
389
|
-
@param dst resulting SkPath; may be the same as src, but may not be nullptr
|
|
390
|
-
@param cullRect optional limit passed to SkPathEffect
|
|
391
|
-
@param resScale if > 1, increase precision, else if (0 < resScale < 1) reduce precision
|
|
392
|
-
to favor speed and size
|
|
393
|
-
@return true if the path represents style fill, or false if it represents hairline
|
|
394
|
-
*/
|
|
395
|
-
bool getFillPath(const SkPath& src, SkPath* dst, const SkRect* cullRect,
|
|
396
|
-
SkScalar resScale = 1) const;
|
|
397
|
-
|
|
398
|
-
bool getFillPath(const SkPath& src, SkPath* dst, const SkRect* cullRect,
|
|
399
|
-
const SkMatrix& ctm) const;
|
|
400
|
-
|
|
401
|
-
/** Returns the filled equivalent of the stroked path.
|
|
402
|
-
|
|
403
|
-
Replaces dst with the src path modified by SkPathEffect and style stroke.
|
|
404
|
-
SkPathEffect, if any, is not culled. stroke width is created with default precision.
|
|
405
|
-
|
|
406
|
-
@param src SkPath read to create a filled version
|
|
407
|
-
@param dst resulting SkPath dst may be the same as src, but may not be nullptr
|
|
408
|
-
@return true if the path represents style fill, or false if it represents hairline
|
|
409
|
-
*/
|
|
410
|
-
bool getFillPath(const SkPath& src, SkPath* dst) const {
|
|
411
|
-
return this->getFillPath(src, dst, nullptr, 1);
|
|
412
|
-
}
|
|
413
|
-
|
|
414
391
|
/** Returns optional colors used when filling a path, such as a gradient.
|
|
415
392
|
|
|
416
393
|
Does not alter SkShader SkRefCnt.
|
|
@@ -10,20 +10,29 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkMatrix.h"
|
|
12
12
|
#include "include/core/SkPathTypes.h"
|
|
13
|
+
#include "include/core/SkPoint.h"
|
|
14
|
+
#include "include/core/SkRect.h"
|
|
13
15
|
#include "include/core/SkRefCnt.h"
|
|
14
|
-
#include "include/
|
|
15
|
-
|
|
16
|
+
#include "include/core/SkScalar.h"
|
|
17
|
+
#include "include/core/SkTypes.h"
|
|
18
|
+
#include "include/private/base/SkDebug.h"
|
|
19
|
+
#include "include/private/base/SkTo.h"
|
|
20
|
+
#include "include/private/base/SkTypeTraits.h"
|
|
21
|
+
|
|
22
|
+
#include <atomic>
|
|
23
|
+
#include <cstddef>
|
|
24
|
+
#include <cstdint>
|
|
16
25
|
#include <initializer_list>
|
|
17
26
|
#include <tuple>
|
|
27
|
+
#include <type_traits>
|
|
18
28
|
|
|
19
|
-
class SkAutoPathBoundsUpdate;
|
|
20
29
|
class SkData;
|
|
21
30
|
class SkPathRef;
|
|
22
31
|
class SkRRect;
|
|
23
32
|
class SkWStream;
|
|
24
|
-
|
|
25
33
|
enum class SkPathConvexity;
|
|
26
34
|
enum class SkPathFirstDirection;
|
|
35
|
+
struct SkPathVerbAnalysis;
|
|
27
36
|
|
|
28
37
|
// WIP -- define this locally, and fix call-sites to use SkPathBuilder (skbug.com/9000)
|
|
29
38
|
//#define SK_HIDE_PATH_EDIT_METHODS
|
|
@@ -1866,6 +1875,16 @@ private:
|
|
|
1866
1875
|
*/
|
|
1867
1876
|
void shrinkToFit();
|
|
1868
1877
|
|
|
1878
|
+
// Creates a new Path after the supplied arguments have been validated by
|
|
1879
|
+
// sk_path_analyze_verbs().
|
|
1880
|
+
static SkPath MakeInternal(const SkPathVerbAnalysis& analsis,
|
|
1881
|
+
const SkPoint points[],
|
|
1882
|
+
const uint8_t verbs[],
|
|
1883
|
+
int verbCount,
|
|
1884
|
+
const SkScalar conics[],
|
|
1885
|
+
SkPathFillType fillType,
|
|
1886
|
+
bool isVolatile);
|
|
1887
|
+
|
|
1869
1888
|
friend class SkAutoPathBoundsUpdate;
|
|
1870
1889
|
friend class SkAutoDisableOvalCheck;
|
|
1871
1890
|
friend class SkAutoDisableDirectionCheck;
|
|
@@ -8,11 +8,19 @@
|
|
|
8
8
|
#ifndef SkPathBuilder_DEFINED
|
|
9
9
|
#define SkPathBuilder_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkMatrix.h"
|
|
12
11
|
#include "include/core/SkPath.h"
|
|
13
12
|
#include "include/core/SkPathTypes.h"
|
|
13
|
+
#include "include/core/SkPoint.h"
|
|
14
|
+
#include "include/core/SkRect.h"
|
|
14
15
|
#include "include/core/SkRefCnt.h"
|
|
15
|
-
#include "include/
|
|
16
|
+
#include "include/core/SkScalar.h"
|
|
17
|
+
#include "include/core/SkTypes.h"
|
|
18
|
+
#include "include/private/SkPathRef.h"
|
|
19
|
+
#include "include/private/base/SkTo.h"
|
|
20
|
+
|
|
21
|
+
#include <initializer_list>
|
|
22
|
+
|
|
23
|
+
class SkRRect;
|
|
16
24
|
|
|
17
25
|
class SK_API SkPathBuilder {
|
|
18
26
|
public:
|
|
@@ -220,9 +228,9 @@ public:
|
|
|
220
228
|
}
|
|
221
229
|
|
|
222
230
|
private:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
231
|
+
SkPathRef::PointsArray fPts;
|
|
232
|
+
SkPathRef::VerbsArray fVerbs;
|
|
233
|
+
SkPathRef::ConicWeightsArray fConicWeights;
|
|
226
234
|
|
|
227
235
|
SkPathFillType fFillType;
|
|
228
236
|
bool fIsVolatile;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef SkPathUtils_DEFINED
|
|
8
|
+
#define SkPathUtils_DEFINED
|
|
9
|
+
|
|
10
|
+
#include "include/core/SkScalar.h"
|
|
11
|
+
#include "include/core/SkTypes.h"
|
|
12
|
+
|
|
13
|
+
class SkMatrix;
|
|
14
|
+
class SkPaint;
|
|
15
|
+
class SkPath;
|
|
16
|
+
struct SkRect;
|
|
17
|
+
|
|
18
|
+
namespace skpathutils {
|
|
19
|
+
|
|
20
|
+
/** Returns the filled equivalent of the stroked path.
|
|
21
|
+
|
|
22
|
+
@param src SkPath read to create a filled version
|
|
23
|
+
@param paint SkPaint, from which attributes such as stroke cap, width, miter, and join,
|
|
24
|
+
as well as pathEffect will be used.
|
|
25
|
+
@param dst resulting SkPath; may be the same as src, but may not be nullptr
|
|
26
|
+
@param cullRect optional limit passed to SkPathEffect
|
|
27
|
+
@param resScale if > 1, increase precision, else if (0 < resScale < 1) reduce precision
|
|
28
|
+
to favor speed and size
|
|
29
|
+
@return true if the dst path was updated, false if it was not (e.g. if the path
|
|
30
|
+
represents hairline and cannot be filled).
|
|
31
|
+
*/
|
|
32
|
+
SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst,
|
|
33
|
+
const SkRect *cullRect, SkScalar resScale = 1);
|
|
34
|
+
|
|
35
|
+
SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst,
|
|
36
|
+
const SkRect *cullRect, const SkMatrix &ctm);
|
|
37
|
+
|
|
38
|
+
SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst);
|
|
39
|
+
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#endif
|
|
@@ -243,8 +243,9 @@ private:
|
|
|
243
243
|
|
|
244
244
|
void serialize(SkWStream*, const SkSerialProcs*, class SkRefCntSet* typefaces,
|
|
245
245
|
bool textBlobsOnly=false) const;
|
|
246
|
-
static sk_sp<SkPicture>
|
|
247
|
-
|
|
246
|
+
static sk_sp<SkPicture> MakeFromStreamPriv(SkStream*, const SkDeserialProcs*,
|
|
247
|
+
class SkTypefacePlayback*,
|
|
248
|
+
int recursionLimit);
|
|
248
249
|
friend class SkPictureData;
|
|
249
250
|
|
|
250
251
|
/** Return true if the SkStream/Buffer represents a serialized picture, and
|
|
@@ -8,20 +8,16 @@
|
|
|
8
8
|
#ifndef SkPixelRef_DEFINED
|
|
9
9
|
#define SkPixelRef_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkBitmap.h"
|
|
12
|
-
#include "include/core/SkImageInfo.h"
|
|
13
|
-
#include "include/core/SkPixmap.h"
|
|
14
11
|
#include "include/core/SkRefCnt.h"
|
|
15
12
|
#include "include/core/SkSize.h"
|
|
16
13
|
#include "include/private/SkIDChangeListener.h"
|
|
17
|
-
#include "include/private/
|
|
18
|
-
#include "include/private/
|
|
14
|
+
#include "include/private/base/SkAPI.h"
|
|
15
|
+
#include "include/private/base/SkTo.h"
|
|
19
16
|
|
|
20
17
|
#include <atomic>
|
|
18
|
+
#include <cstddef>
|
|
19
|
+
#include <cstdint>
|
|
21
20
|
|
|
22
|
-
struct SkIRect;
|
|
23
|
-
|
|
24
|
-
class GrTexture;
|
|
25
21
|
class SkDiscardableMemory;
|
|
26
22
|
|
|
27
23
|
/** \class SkPixelRef
|