@shopify/react-native-skia 1.3.13 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +9 -4
- package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +6 -0
- package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.cpp +81 -0
- package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.h +40 -0
- package/cpp/api/JsiSkApi.h +2 -0
- package/cpp/api/JsiSkPath.h +29 -19
- package/cpp/api/JsiSkRuntimeEffect.h +7 -0
- package/cpp/api/JsiSkiaContext.h +79 -0
- package/cpp/rnskia/RNSkPlatformContext.h +4 -0
- package/cpp/rnskia/SkiaContext.h +22 -0
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -2
- package/cpp/skia/include/android/SkImageAndroid.h +1 -1
- package/cpp/skia/include/android/SkSurfaceAndroid.h +1 -1
- package/cpp/skia/include/codec/SkAndroidCodec.h +13 -9
- package/cpp/skia/include/codec/SkCodec.h +28 -5
- package/cpp/skia/include/core/SkArc.h +69 -0
- package/cpp/skia/include/core/SkBitmap.h +10 -0
- package/cpp/skia/include/core/SkBlender.h +2 -3
- package/cpp/skia/include/core/SkCanvas.h +86 -16
- package/cpp/skia/include/core/SkCapabilities.h +0 -4
- package/cpp/skia/include/core/SkColorFilter.h +4 -4
- package/cpp/skia/include/core/SkColorPriv.h +5 -7
- package/cpp/skia/include/core/SkColorType.h +2 -0
- package/cpp/skia/include/core/SkFlattenable.h +1 -1
- package/cpp/skia/include/core/SkFontArguments.h +3 -1
- package/cpp/skia/include/core/SkFontParameters.h +3 -2
- package/cpp/skia/include/core/SkFourByteTag.h +19 -0
- package/cpp/skia/include/core/SkImage.h +41 -1
- package/cpp/skia/include/core/SkImageGenerator.h +0 -5
- package/cpp/skia/include/core/SkImageInfo.h +20 -0
- package/cpp/skia/include/core/SkM44.h +1 -1
- package/cpp/skia/include/core/SkMatrix.h +2 -1
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPaint.h +1 -1
- package/cpp/skia/include/core/SkPath.h +20 -6
- package/cpp/skia/include/core/SkPathMeasure.h +1 -0
- package/cpp/skia/include/core/SkPicture.h +5 -5
- package/cpp/skia/include/core/SkPoint3.h +2 -12
- package/cpp/skia/include/core/SkRRect.h +5 -0
- package/cpp/skia/include/core/SkRect.h +5 -16
- package/cpp/skia/include/core/SkRefCnt.h +2 -0
- package/cpp/skia/include/core/SkScalar.h +20 -32
- package/cpp/skia/include/core/SkShader.h +17 -0
- package/cpp/skia/include/core/SkSize.h +2 -1
- package/cpp/skia/include/core/SkStream.h +2 -3
- package/cpp/skia/include/core/SkStrokeRec.h +6 -1
- package/cpp/skia/include/core/SkSurface.h +13 -4
- package/cpp/skia/include/core/SkSurfaceProps.h +5 -0
- package/cpp/skia/include/core/SkSwizzle.h +3 -1
- package/cpp/skia/include/core/SkTypeface.h +1 -0
- package/cpp/skia/include/core/SkTypes.h +1 -19
- package/cpp/skia/include/core/SkUnPreMultiply.h +4 -5
- package/cpp/skia/include/core/SkVertices.h +4 -2
- package/cpp/skia/include/docs/SkPDFDocument.h +11 -14
- package/cpp/skia/include/effects/SkHighContrastFilter.h +6 -6
- package/cpp/skia/include/effects/SkImageFilters.h +49 -23
- package/cpp/skia/include/effects/SkRuntimeEffect.h +51 -70
- package/cpp/skia/include/effects/SkShaderMaskFilter.h +2 -0
- package/cpp/skia/include/effects/SkTableMaskFilter.h +2 -0
- package/cpp/skia/include/gpu/GrBackendSemaphore.h +2 -120
- package/cpp/skia/include/gpu/GrBackendSurface.h +2 -466
- package/cpp/skia/include/gpu/GrContextOptions.h +2 -368
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +2 -179
- package/cpp/skia/include/gpu/GrDirectContext.h +2 -1011
- package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -47
- package/cpp/skia/include/gpu/GrDriverBugWorkaroundsAutogen.h +2 -41
- package/cpp/skia/include/gpu/GrRecordingContext.h +2 -279
- package/cpp/skia/include/gpu/GrTypes.h +2 -238
- package/cpp/skia/include/gpu/GrYUVABackendTextures.h +2 -118
- package/cpp/skia/include/gpu/d3d/GrD3DBackendContext.h +2 -29
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +2 -242
- package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +80 -0
- package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +412 -0
- package/cpp/skia/include/gpu/ganesh/GrContextOptions.h +386 -0
- package/cpp/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
- package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +993 -0
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +45 -0
- package/cpp/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +285 -0
- package/cpp/skia/include/gpu/ganesh/GrTypes.h +177 -0
- package/cpp/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +1 -1
- package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
- package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
- package/cpp/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +1 -1
- package/cpp/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLFunctions.h +306 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLInterface.h +338 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
- package/cpp/skia/include/gpu/{gl → ganesh/gl}/egl/GrGLMakeEGLInterface.h +2 -2
- package/cpp/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
- package/cpp/skia/include/gpu/{mtl → ganesh/mtl}/GrMtlBackendContext.h +2 -2
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
- package/cpp/skia/include/gpu/{mtl → ganesh/mtl}/GrMtlTypes.h +1 -3
- package/cpp/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +2 -2
- package/cpp/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +2 -2
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +1 -1
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +7 -3
- package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +6 -3
- package/cpp/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
- package/cpp/skia/include/gpu/gl/GrGLAssembleHelpers.h +2 -9
- package/cpp/skia/include/gpu/gl/GrGLAssembleInterface.h +2 -38
- package/cpp/skia/include/gpu/gl/GrGLConfig.h +2 -73
- package/cpp/skia/include/gpu/gl/GrGLExtensions.h +2 -72
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +2 -301
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -332
- package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -213
- package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +20 -41
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +18 -118
- package/cpp/skia/include/gpu/graphite/Context.h +122 -44
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +30 -3
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +45 -17
- package/cpp/skia/include/gpu/graphite/Image.h +56 -54
- package/cpp/skia/include/gpu/graphite/Recorder.h +68 -14
- package/cpp/skia/include/gpu/graphite/Recording.h +3 -3
- package/cpp/skia/include/gpu/graphite/Surface.h +6 -2
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +36 -117
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +108 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +4 -1
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +41 -25
- package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +197 -0
- package/cpp/skia/include/gpu/graphite/precompile/Precompile.h +48 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileBase.h +84 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +85 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +119 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +51 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +170 -0
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +24 -2
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +2 -157
- package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +2 -0
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +2 -101
- package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +13 -8
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +9 -3
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +4 -1
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +25 -8
- package/cpp/skia/include/ports/SkFontMgr_Fontations.h +20 -0
- package/cpp/skia/include/ports/SkFontMgr_android.h +7 -0
- package/cpp/skia/include/ports/SkImageGeneratorCG.h +3 -1
- package/cpp/skia/include/ports/SkTypeface_win.h +0 -17
- package/cpp/skia/include/private/SkEncodedInfo.h +8 -2
- package/cpp/skia/include/private/SkExif.h +28 -75
- package/cpp/skia/include/private/SkGainmapInfo.h +47 -7
- package/cpp/skia/include/private/SkJpegMetadataDecoder.h +12 -0
- package/cpp/skia/include/private/SkPathRef.h +52 -44
- package/cpp/skia/include/private/SkXmp.h +13 -4
- package/cpp/skia/include/private/base/SkASAN.h +56 -0
- package/cpp/skia/include/private/base/SkAlign.h +5 -0
- package/cpp/skia/include/private/base/SkContainers.h +10 -2
- package/cpp/skia/include/private/base/SkFeatures.h +22 -1
- package/cpp/skia/include/private/base/SkFloatingPoint.h +51 -65
- package/cpp/skia/include/private/base/SkMacros.h +67 -0
- package/cpp/skia/include/private/base/SkMalloc.h +8 -0
- package/cpp/skia/include/private/base/SkPoint_impl.h +2 -11
- package/cpp/skia/include/private/base/SkTArray.h +108 -23
- package/cpp/skia/include/private/base/SkTFitsIn.h +1 -12
- package/cpp/skia/include/private/chromium/GrDeferredDisplayList.h +1 -1
- package/cpp/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +0 -39
- package/cpp/skia/include/private/chromium/GrPromiseImageTexture.h +1 -1
- package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +3 -3
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -4
- package/cpp/skia/include/private/chromium/Slug.h +5 -11
- package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +2 -2
- package/cpp/skia/include/private/gpu/ganesh/GrTextureGenerator.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +21 -93
- package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +2 -2
- package/cpp/skia/include/utils/SkCustomTypeface.h +1 -0
- package/cpp/skia/include/utils/SkNWayCanvas.h +1 -1
- package/cpp/skia/include/utils/SkParse.h +0 -1
- package/cpp/skia/modules/skcms/src/Transform_inl.h +59 -56
- package/cpp/skia/modules/skcms/src/skcms_Transform.h +3 -0
- package/cpp/skia/modules/skcms/src/skcms_internals.h +2 -0
- package/cpp/skia/modules/skcms/src/skcms_public.h +46 -14
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +15 -1
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +2 -2
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +2 -4
- package/cpp/skia/modules/skresources/include/SkResources.h +1 -1
- package/cpp/skia/modules/skshaper/include/SkShaper.h +316 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_coretext.h +19 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
- package/cpp/skia/modules/skunicode/include/SkUnicode.h +6 -23
- package/cpp/skia/modules/svg/include/SkSVGAttribute.h +0 -3
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +12 -2
- package/cpp/skia/modules/svg/include/SkSVGCircle.h +13 -0
- package/cpp/skia/modules/svg/include/SkSVGClipPath.h +6 -0
- package/cpp/skia/modules/svg/include/SkSVGContainer.h +17 -1
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +25 -15
- package/cpp/skia/modules/svg/include/SkSVGEllipse.h +13 -2
- package/cpp/skia/modules/svg/include/SkSVGFe.h +11 -2
- package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
- package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +10 -1
- package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeImage.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +5 -0
- package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
- package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +8 -0
- package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFilter.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +3 -3
- package/cpp/skia/modules/svg/include/SkSVGGradient.h +10 -2
- package/cpp/skia/modules/svg/include/SkSVGImage.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGLine.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGLinearGradient.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGMask.h +6 -0
- package/cpp/skia/modules/svg/include/SkSVGNode.h +13 -2
- package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +5 -0
- package/cpp/skia/modules/svg/include/SkSVGPath.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGPattern.h +5 -0
- package/cpp/skia/modules/svg/include/SkSVGPoly.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGRect.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +43 -7
- package/cpp/skia/modules/svg/include/SkSVGSVG.h +7 -0
- package/cpp/skia/modules/svg/include/SkSVGShape.h +8 -2
- package/cpp/skia/modules/svg/include/SkSVGStop.h +5 -3
- package/cpp/skia/modules/svg/include/SkSVGText.h +8 -2
- package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +8 -0
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGUse.h +7 -0
- package/cpp/skia/src/base/SkMathPriv.h +337 -0
- package/cpp/skia/src/base/SkTLazy.h +208 -0
- package/cpp/skia/src/core/SkTHash.h +58 -7
- package/cpp/skia/src/gpu/ganesh/gl/GrGLDefines.h +3 -0
- package/ios/RNSkia-iOS/RNSkiOSPlatformContext.h +3 -0
- package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +7 -0
- package/ios/RNSkia-iOS/SkiaCVPixelBufferUtils.mm +7 -2
- package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.h +78 -0
- package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.mm +20 -4
- package/lib/commonjs/renderer/HostConfig.js.map +1 -1
- package/lib/commonjs/skia/types/Paragraph/TextStyle.d.ts +2 -2
- package/lib/commonjs/skia/types/Paragraph/TextStyle.js.map +1 -1
- package/lib/commonjs/skia/types/Skia.d.ts +6 -1
- package/lib/commonjs/skia/types/Skia.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +4 -1
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/commonjs/web/WithSkiaWeb.d.ts +11 -4
- package/lib/commonjs/web/WithSkiaWeb.js +3 -2
- package/lib/commonjs/web/WithSkiaWeb.js.map +1 -1
- package/lib/module/renderer/HostConfig.js.map +1 -1
- package/lib/module/skia/types/Paragraph/TextStyle.d.ts +2 -2
- package/lib/module/skia/types/Paragraph/TextStyle.js.map +1 -1
- package/lib/module/skia/types/Skia.d.ts +6 -1
- package/lib/module/skia/types/Skia.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +4 -1
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/web/WithSkiaWeb.d.ts +11 -4
- package/lib/module/web/WithSkiaWeb.js +3 -2
- package/lib/module/web/WithSkiaWeb.js.map +1 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -0
- package/lib/typescript/lib/commonjs/web/WithSkiaWeb.d.ts +2 -1
- package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -0
- package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -0
- package/lib/typescript/lib/module/web/WithSkiaWeb.d.ts +2 -1
- package/lib/typescript/src/skia/types/Paragraph/TextStyle.d.ts +2 -2
- package/lib/typescript/src/skia/types/Skia.d.ts +6 -1
- package/lib/typescript/src/web/WithSkiaWeb.d.ts +11 -4
- 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/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/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/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/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/Info.plist +5 -5
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/Info.plist +5 -5
- 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/Info.plist +5 -5
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +3 -5
- package/react-native-skia.podspec +2 -1
- package/src/renderer/HostConfig.ts +5 -1
- package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +5 -2
- package/src/renderer/__tests__/e2e/Paths.spec.tsx +12 -5
- package/src/renderer/__tests__/e2e/SDF.spec.tsx +1 -1
- package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +1 -1
- package/src/skia/types/Paragraph/TextStyle.ts +2 -2
- package/src/skia/types/Skia.ts +7 -1
- package/src/skia/web/JsiSkia.ts +3 -0
- package/src/web/WithSkiaWeb.tsx +17 -6
- package/cpp/skia/include/core/SkDrawLooper.h +0 -135
- package/cpp/skia/include/effects/SkBlurDrawLooper.h +0 -26
- package/cpp/skia/include/effects/SkLayerDrawLooper.h +0 -161
- package/cpp/skia/include/gpu/gl/GrGLConfig_chrome.h +0 -14
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +0 -84
- package/cpp/skia/include/gpu/vk/GrVkExtensions.h +0 -15
- package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +0 -15
- package/cpp/skia/include/ports/SkFontMgr_indirect.h +0 -102
- package/cpp/skia/include/ports/SkRemotableFontMgr.h +0 -139
- package/cpp/skia/include/private/base/SkFloatBits.h +0 -90
- package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +0 -69
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +0 -54
- package/cpp/skia/include/private/gpu/graphite/MtlGraphiteTypesPriv.h +0 -95
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +0 -83
- package/cpp/skia/src/core/SkPathEnums.h +0 -25
- package/cpp/skia/src/core/SkPathPriv.h +0 -540
- package/libs/android/arm64-v8a/libskunicode.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode.a +0 -0
- package/libs/android/x86/libskunicode.a +0 -0
- package/libs/android/x86_64/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/Info.plist +0 -46
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- /package/cpp/skia/include/gpu/{gl → ganesh/gl}/glx/GrGLMakeGLXInterface.h +0 -0
@@ -2,7 +2,7 @@ import React from "react";
|
|
2
2
|
|
3
3
|
import { surface, importSkia } from "../setup";
|
4
4
|
import { Fill, Group, Path, Rect } from "../../components";
|
5
|
-
import { checkImage, docPath } from "../../../__tests__/setup";
|
5
|
+
import { checkImage, docPath, itRunsNodeOnly } from "../../../__tests__/setup";
|
6
6
|
import type { Skia } from "../../../skia/types";
|
7
7
|
import { PaintStyle } from "../../../skia/types";
|
8
8
|
|
@@ -65,14 +65,21 @@ describe("Paths", () => {
|
|
65
65
|
const cmds = path.toCmds();
|
66
66
|
return cmds;
|
67
67
|
});
|
68
|
-
|
68
|
+
const { Skia } = importSkia();
|
69
|
+
const ref = Skia.Path.Make();
|
70
|
+
ref.moveTo(0, 0).lineTo(1, 0).lineTo(1, 1);
|
71
|
+
ref.close();
|
72
|
+
expect(result[result.length - 1]).toEqual([5]);
|
69
73
|
});
|
70
74
|
it("toCmd should work properly", async () => {
|
71
75
|
const result = await surface.eval((Skia) => {
|
72
76
|
const path = Skia.Path.MakeFromSVGString(
|
73
77
|
// eslint-disable-next-line max-len
|
74
78
|
"M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
|
75
|
-
)
|
79
|
+
);
|
80
|
+
if (!path) {
|
81
|
+
return [];
|
82
|
+
}
|
76
83
|
const cmds = path.toCmds();
|
77
84
|
return cmds;
|
78
85
|
});
|
@@ -94,7 +101,7 @@ describe("Paths", () => {
|
|
94
101
|
});
|
95
102
|
expect(result).toEqual("M20 20L20 40L40 20");
|
96
103
|
});
|
97
|
-
|
104
|
+
itRunsNodeOnly("should accept [0.0001, 1.00001] as trim value", async () => {
|
98
105
|
const result = await surface.eval((Skia) => {
|
99
106
|
const path = Skia.Path.Make();
|
100
107
|
path.moveTo(20, 20);
|
@@ -116,7 +123,7 @@ describe("Paths", () => {
|
|
116
123
|
});
|
117
124
|
expect(result).toEqual("M20 20L20 40L40 20");
|
118
125
|
});
|
119
|
-
|
126
|
+
itRunsNodeOnly("interpolation values can overshoot", async () => {
|
120
127
|
const result = await surface.eval((Skia) => {
|
121
128
|
const path2 = Skia.Path.Make();
|
122
129
|
path2.moveTo(0, 0);
|
@@ -15,7 +15,7 @@ describe("Snapshot", () => {
|
|
15
15
|
});
|
16
16
|
itRunsE2eOnly("should capture a somewhat complex snapshot", async () => {
|
17
17
|
// text spacing on the fabric example app is slightly different
|
18
|
-
await testSnapshot("Snapshot2",
|
18
|
+
await testSnapshot("Snapshot2", 5000);
|
19
19
|
});
|
20
20
|
itRunsE2eOnly("should respect overflow: hidden", async () => {
|
21
21
|
await testSnapshot("Snapshot3");
|
@@ -50,10 +50,10 @@ export enum TextBaseline {
|
|
50
50
|
export interface SkTextStyle {
|
51
51
|
backgroundColor?: SkColor;
|
52
52
|
color?: SkColor;
|
53
|
-
decoration?:
|
53
|
+
decoration?: TextDecoration;
|
54
54
|
decorationColor?: SkColor;
|
55
55
|
decorationThickness?: number;
|
56
|
-
decorationStyle?:
|
56
|
+
decorationStyle?: TextDecorationStyle;
|
57
57
|
fontFamilies?: string[];
|
58
58
|
fontFeatures?: SkTextFontFeatures[];
|
59
59
|
fontSize?: number;
|
package/src/skia/types/Skia.ts
CHANGED
@@ -21,7 +21,7 @@ import type { SkVertices, VertexMode } from "./Vertices/Vertices";
|
|
21
21
|
import type { DataFactory } from "./Data";
|
22
22
|
import type { SVGFactory } from "./SVG";
|
23
23
|
import type { TextBlobFactory } from "./TextBlob";
|
24
|
-
import type { SurfaceFactory } from "./Surface";
|
24
|
+
import type { SkSurface, SurfaceFactory } from "./Surface";
|
25
25
|
import type { SkRSXform } from "./RSXform";
|
26
26
|
import type { SkPath } from "./Path/Path";
|
27
27
|
import type { SkContourMeasureIter } from "./ContourMeasure";
|
@@ -33,6 +33,11 @@ import type { ParagraphBuilderFactory } from "./Paragraph/ParagraphBuilder";
|
|
33
33
|
import type { Video } from "./Video";
|
34
34
|
import type { NativeBufferFactory } from "./NativeBuffer";
|
35
35
|
|
36
|
+
export interface SkiaContext {
|
37
|
+
getSurface(): SkSurface;
|
38
|
+
present(): void;
|
39
|
+
}
|
40
|
+
|
36
41
|
/**
|
37
42
|
* Declares the interface for the native Skia API
|
38
43
|
*/
|
@@ -97,5 +102,6 @@ export interface Skia {
|
|
97
102
|
Surface: SurfaceFactory;
|
98
103
|
ParagraphBuilder: ParagraphBuilderFactory;
|
99
104
|
Video: (url: string) => Promise<Video> | Video;
|
105
|
+
Context(surface: bigint, width: number, height: number): SkiaContext;
|
100
106
|
NativeBuffer: NativeBufferFactory;
|
101
107
|
}
|
package/src/skia/web/JsiSkia.ts
CHANGED
@@ -129,4 +129,7 @@ export const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({
|
|
129
129
|
ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),
|
130
130
|
NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),
|
131
131
|
Video: createVideo.bind(null, CanvasKit),
|
132
|
+
Context: (_surface: bigint, _width: number, _height: number) => {
|
133
|
+
throw new Error("Not implemented on React Native Web");
|
134
|
+
}
|
132
135
|
});
|
package/src/web/WithSkiaWeb.tsx
CHANGED
@@ -5,17 +5,28 @@ import { Platform } from "../Platform";
|
|
5
5
|
|
6
6
|
import { LoadSkiaWeb } from "./LoadSkiaWeb";
|
7
7
|
|
8
|
-
|
8
|
+
type NonOptionalKeys<T> = {
|
9
|
+
[k in keyof T]-?: undefined extends T[k] ? never : k;
|
10
|
+
}[keyof T];
|
11
|
+
|
12
|
+
type WithSkiaProps<TProps> = {
|
9
13
|
fallback?: ComponentProps<typeof Suspense>["fallback"];
|
10
|
-
getComponent: () => Promise<{ default: ComponentType }>;
|
14
|
+
getComponent: () => Promise<{ default: ComponentType<TProps> }>;
|
11
15
|
opts?: Parameters<typeof LoadSkiaWeb>[0];
|
12
|
-
}
|
16
|
+
} & (NonOptionalKeys<TProps> extends never
|
17
|
+
? {
|
18
|
+
componentProps?: TProps;
|
19
|
+
}
|
20
|
+
: {
|
21
|
+
componentProps: TProps;
|
22
|
+
});
|
13
23
|
|
14
|
-
export const WithSkiaWeb = ({
|
24
|
+
export const WithSkiaWeb = <TProps extends object>({
|
15
25
|
getComponent,
|
16
26
|
fallback,
|
17
27
|
opts,
|
18
|
-
|
28
|
+
componentProps,
|
29
|
+
}: WithSkiaProps<TProps>) => {
|
19
30
|
const Inner = useMemo(
|
20
31
|
// TODO: investigate
|
21
32
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
@@ -34,7 +45,7 @@ export const WithSkiaWeb = ({
|
|
34
45
|
);
|
35
46
|
return (
|
36
47
|
<Suspense fallback={fallback ?? null}>
|
37
|
-
<Inner />
|
48
|
+
<Inner {...componentProps} />
|
38
49
|
</Suspense>
|
39
50
|
);
|
40
51
|
};
|
@@ -1,135 +0,0 @@
|
|
1
|
-
|
2
|
-
/*
|
3
|
-
* Copyright 2011 The Android Open Source Project
|
4
|
-
*
|
5
|
-
* Use of this source code is governed by a BSD-style license that can be
|
6
|
-
* found in the LICENSE file.
|
7
|
-
*/
|
8
|
-
|
9
|
-
|
10
|
-
#ifndef SkDrawLooper_DEFINED
|
11
|
-
#define SkDrawLooper_DEFINED
|
12
|
-
|
13
|
-
#include "include/core/SkBlurTypes.h"
|
14
|
-
#include "include/core/SkColor.h"
|
15
|
-
#include "include/core/SkFlattenable.h"
|
16
|
-
#include "include/core/SkPoint.h"
|
17
|
-
#include <functional> // std::function
|
18
|
-
|
19
|
-
#ifndef SK_SUPPORT_LEGACY_DRAWLOOPER
|
20
|
-
#error "SkDrawLooper is unsupported"
|
21
|
-
#endif
|
22
|
-
|
23
|
-
class SkArenaAlloc;
|
24
|
-
class SkCanvas;
|
25
|
-
class SkMatrix;
|
26
|
-
class SkPaint;
|
27
|
-
struct SkRect;
|
28
|
-
|
29
|
-
/** \class SkDrawLooper
|
30
|
-
DEPRECATED: No longer supported in Skia.
|
31
|
-
*/
|
32
|
-
class SK_API SkDrawLooper : public SkFlattenable {
|
33
|
-
public:
|
34
|
-
/**
|
35
|
-
* Holds state during a draw. Users call next() until it returns false.
|
36
|
-
*
|
37
|
-
* Subclasses of SkDrawLooper should create a subclass of this object to
|
38
|
-
* hold state specific to their subclass.
|
39
|
-
*/
|
40
|
-
class SK_API Context {
|
41
|
-
public:
|
42
|
-
Context() {}
|
43
|
-
virtual ~Context() {}
|
44
|
-
|
45
|
-
struct Info {
|
46
|
-
SkVector fTranslate;
|
47
|
-
bool fApplyPostCTM;
|
48
|
-
|
49
|
-
void applyToCTM(SkMatrix* ctm) const;
|
50
|
-
void applyToCanvas(SkCanvas*) const;
|
51
|
-
};
|
52
|
-
|
53
|
-
/**
|
54
|
-
* Called in a loop on objects returned by SkDrawLooper::createContext().
|
55
|
-
* Each time true is returned, the object is drawn (possibly with a modified
|
56
|
-
* canvas and/or paint). When false is finally returned, drawing for the object
|
57
|
-
* stops.
|
58
|
-
*
|
59
|
-
* On each call, the paint will be in its original state, but the
|
60
|
-
* canvas will be as it was following the previous call to next() or
|
61
|
-
* createContext().
|
62
|
-
*
|
63
|
-
* The implementation must ensure that, when next() finally returns
|
64
|
-
* false, the canvas has been restored to the state it was
|
65
|
-
* initially, before createContext() was first called.
|
66
|
-
*/
|
67
|
-
virtual bool next(Info*, SkPaint*) = 0;
|
68
|
-
|
69
|
-
private:
|
70
|
-
Context(const Context&) = delete;
|
71
|
-
Context& operator=(const Context&) = delete;
|
72
|
-
};
|
73
|
-
|
74
|
-
/**
|
75
|
-
* Called right before something is being drawn. Returns a Context
|
76
|
-
* whose next() method should be called until it returns false.
|
77
|
-
*/
|
78
|
-
virtual Context* makeContext(SkArenaAlloc*) const = 0;
|
79
|
-
|
80
|
-
/**
|
81
|
-
* The fast bounds functions are used to enable the paint to be culled early
|
82
|
-
* in the drawing pipeline. If a subclass can support this feature it must
|
83
|
-
* return true for the canComputeFastBounds() function. If that function
|
84
|
-
* returns false then computeFastBounds behavior is undefined otherwise it
|
85
|
-
* is expected to have the following behavior. Given the parent paint and
|
86
|
-
* the parent's bounding rect the subclass must fill in and return the
|
87
|
-
* storage rect, where the storage rect is with the union of the src rect
|
88
|
-
* and the looper's bounding rect.
|
89
|
-
*/
|
90
|
-
bool canComputeFastBounds(const SkPaint& paint) const;
|
91
|
-
void computeFastBounds(const SkPaint& paint, const SkRect& src, SkRect* dst) const;
|
92
|
-
|
93
|
-
struct BlurShadowRec {
|
94
|
-
SkScalar fSigma;
|
95
|
-
SkVector fOffset;
|
96
|
-
SkColor fColor;
|
97
|
-
SkBlurStyle fStyle;
|
98
|
-
};
|
99
|
-
/**
|
100
|
-
* If this looper can be interpreted as having two layers, such that
|
101
|
-
* 1. The first layer (bottom most) just has a blur and translate
|
102
|
-
* 2. The second layer has no modifications to either paint or canvas
|
103
|
-
* 3. No other layers.
|
104
|
-
* then return true, and if not null, fill out the BlurShadowRec).
|
105
|
-
*
|
106
|
-
* If any of the above are not met, return false and ignore the BlurShadowRec parameter.
|
107
|
-
*/
|
108
|
-
virtual bool asABlurShadow(BlurShadowRec*) const;
|
109
|
-
|
110
|
-
static SkFlattenable::Type GetFlattenableType() {
|
111
|
-
return kSkDrawLooper_Type;
|
112
|
-
}
|
113
|
-
|
114
|
-
SkFlattenable::Type getFlattenableType() const override {
|
115
|
-
return kSkDrawLooper_Type;
|
116
|
-
}
|
117
|
-
|
118
|
-
static sk_sp<SkDrawLooper> Deserialize(const void* data, size_t size,
|
119
|
-
const SkDeserialProcs* procs = nullptr) {
|
120
|
-
return sk_sp<SkDrawLooper>(static_cast<SkDrawLooper*>(
|
121
|
-
SkFlattenable::Deserialize(
|
122
|
-
kSkDrawLooper_Type, data, size, procs).release()));
|
123
|
-
}
|
124
|
-
|
125
|
-
void apply(SkCanvas* canvas, const SkPaint& paint,
|
126
|
-
std::function<void(SkCanvas*, const SkPaint&)>);
|
127
|
-
|
128
|
-
protected:
|
129
|
-
SkDrawLooper() {}
|
130
|
-
|
131
|
-
private:
|
132
|
-
using INHERITED = SkFlattenable;
|
133
|
-
};
|
134
|
-
|
135
|
-
#endif
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2008 The Android Open Source Project
|
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 SkBlurDrawLooper_DEFINED
|
9
|
-
#define SkBlurDrawLooper_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkDrawLooper.h"
|
12
|
-
|
13
|
-
#ifndef SK_SUPPORT_LEGACY_DRAWLOOPER
|
14
|
-
#error "SkDrawLooper is unsupported"
|
15
|
-
#endif
|
16
|
-
|
17
|
-
/**
|
18
|
-
* DEPRECATED: No longer supported in Skia.
|
19
|
-
*/
|
20
|
-
namespace SkBlurDrawLooper {
|
21
|
-
sk_sp<SkDrawLooper> SK_API Make(SkColor4f color, SkColorSpace* cs,
|
22
|
-
SkScalar sigma, SkScalar dx, SkScalar dy);
|
23
|
-
sk_sp<SkDrawLooper> SK_API Make(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy);
|
24
|
-
} // namespace SkBlurDrawLooper
|
25
|
-
|
26
|
-
#endif
|
@@ -1,161 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2011 Google Inc.
|
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 SkLayerDrawLooper_DEFINED
|
9
|
-
#define SkLayerDrawLooper_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkBlendMode.h"
|
12
|
-
#include "include/core/SkDrawLooper.h"
|
13
|
-
#include "include/core/SkPaint.h"
|
14
|
-
#include "include/core/SkPoint.h"
|
15
|
-
|
16
|
-
#ifndef SK_SUPPORT_LEGACY_DRAWLOOPER
|
17
|
-
#error "SkDrawLooper is unsupported"
|
18
|
-
#endif
|
19
|
-
|
20
|
-
/**
|
21
|
-
* DEPRECATED: No longer supported by Skia.
|
22
|
-
*/
|
23
|
-
class SK_API SkLayerDrawLooper : public SkDrawLooper {
|
24
|
-
public:
|
25
|
-
~SkLayerDrawLooper() override;
|
26
|
-
|
27
|
-
/**
|
28
|
-
* Bits specifies which aspects of the layer's paint should replace the
|
29
|
-
* corresponding aspects on the draw's paint.
|
30
|
-
* kEntirePaint_Bits means use the layer's paint completely.
|
31
|
-
* 0 means ignore the layer's paint... except for fColorMode, which is
|
32
|
-
* always applied.
|
33
|
-
*/
|
34
|
-
enum Bits {
|
35
|
-
kStyle_Bit = 1 << 0, //!< use this layer's Style/stroke settings
|
36
|
-
kPathEffect_Bit = 1 << 2, //!< use this layer's patheffect
|
37
|
-
kMaskFilter_Bit = 1 << 3, //!< use this layer's maskfilter
|
38
|
-
kShader_Bit = 1 << 4, //!< use this layer's shader
|
39
|
-
kColorFilter_Bit = 1 << 5, //!< use this layer's colorfilter
|
40
|
-
kXfermode_Bit = 1 << 6, //!< use this layer's xfermode
|
41
|
-
|
42
|
-
// unsupported kTextSkewX_Bit = 1 << 1,
|
43
|
-
|
44
|
-
/**
|
45
|
-
* Use the layer's paint entirely, with these exceptions:
|
46
|
-
* - We never override the draw's paint's text_encoding, since that is
|
47
|
-
* used to interpret the text/len parameters in draw[Pos]Text.
|
48
|
-
* - Color is always computed using the LayerInfo's fColorMode.
|
49
|
-
*/
|
50
|
-
kEntirePaint_Bits = -1
|
51
|
-
|
52
|
-
};
|
53
|
-
typedef int32_t BitFlags;
|
54
|
-
|
55
|
-
/**
|
56
|
-
* Info for how to apply the layer's paint and offset.
|
57
|
-
*
|
58
|
-
* fColorMode controls how we compute the final color for the layer:
|
59
|
-
* The layer's paint's color is treated as the SRC
|
60
|
-
* The draw's paint's color is treated as the DST
|
61
|
-
* final-color = Mode(layers-color, draws-color);
|
62
|
-
* Any SkBlendMode will work. Two common choices are:
|
63
|
-
* kSrc: to use the layer's color, ignoring the draw's
|
64
|
-
* kDst: to just keep the draw's color, ignoring the layer's
|
65
|
-
*/
|
66
|
-
struct SK_API LayerInfo {
|
67
|
-
BitFlags fPaintBits;
|
68
|
-
SkBlendMode fColorMode;
|
69
|
-
SkVector fOffset;
|
70
|
-
bool fPostTranslate; //!< applies to fOffset
|
71
|
-
|
72
|
-
/**
|
73
|
-
* Initial the LayerInfo. Defaults to settings that will draw the
|
74
|
-
* layer with no changes: e.g.
|
75
|
-
* fPaintBits == 0
|
76
|
-
* fColorMode == kDst_Mode
|
77
|
-
* fOffset == (0, 0)
|
78
|
-
*/
|
79
|
-
LayerInfo();
|
80
|
-
};
|
81
|
-
|
82
|
-
SkDrawLooper::Context* makeContext(SkArenaAlloc*) const override;
|
83
|
-
|
84
|
-
bool asABlurShadow(BlurShadowRec* rec) const override;
|
85
|
-
|
86
|
-
protected:
|
87
|
-
SkLayerDrawLooper();
|
88
|
-
|
89
|
-
void flatten(SkWriteBuffer&) const override;
|
90
|
-
|
91
|
-
private:
|
92
|
-
SK_FLATTENABLE_HOOKS(SkLayerDrawLooper)
|
93
|
-
|
94
|
-
struct Rec {
|
95
|
-
Rec* fNext;
|
96
|
-
SkPaint fPaint;
|
97
|
-
LayerInfo fInfo;
|
98
|
-
};
|
99
|
-
Rec* fRecs;
|
100
|
-
int fCount;
|
101
|
-
|
102
|
-
// state-machine during the init/next cycle
|
103
|
-
class LayerDrawLooperContext : public SkDrawLooper::Context {
|
104
|
-
public:
|
105
|
-
explicit LayerDrawLooperContext(const SkLayerDrawLooper* looper);
|
106
|
-
|
107
|
-
protected:
|
108
|
-
bool next(Info*, SkPaint* paint) override;
|
109
|
-
|
110
|
-
private:
|
111
|
-
Rec* fCurrRec;
|
112
|
-
|
113
|
-
static void ApplyInfo(SkPaint* dst, const SkPaint& src, const LayerInfo&);
|
114
|
-
};
|
115
|
-
|
116
|
-
using INHERITED = SkDrawLooper;
|
117
|
-
|
118
|
-
public:
|
119
|
-
class SK_API Builder {
|
120
|
-
public:
|
121
|
-
Builder();
|
122
|
-
|
123
|
-
~Builder();
|
124
|
-
|
125
|
-
/**
|
126
|
-
* Call for each layer you want to add (from top to bottom).
|
127
|
-
* This returns a paint you can modify, but that ptr is only valid until
|
128
|
-
* the next call made to addLayer().
|
129
|
-
*/
|
130
|
-
SkPaint* addLayer(const LayerInfo&);
|
131
|
-
|
132
|
-
/**
|
133
|
-
* This layer will draw with the original paint, at the specified offset
|
134
|
-
*/
|
135
|
-
void addLayer(SkScalar dx, SkScalar dy);
|
136
|
-
|
137
|
-
/**
|
138
|
-
* This layer will with the original paint and no offset.
|
139
|
-
*/
|
140
|
-
void addLayer() { this->addLayer(0, 0); }
|
141
|
-
|
142
|
-
/// Similar to addLayer, but adds a layer to the top.
|
143
|
-
SkPaint* addLayerOnTop(const LayerInfo&);
|
144
|
-
|
145
|
-
/**
|
146
|
-
* Pass list of layers on to newly built looper and return it. This will
|
147
|
-
* also reset the builder, so it can be used to build another looper.
|
148
|
-
*/
|
149
|
-
sk_sp<SkDrawLooper> detach();
|
150
|
-
|
151
|
-
private:
|
152
|
-
Builder(const Builder&) = delete;
|
153
|
-
Builder& operator=(const Builder&) = delete;
|
154
|
-
|
155
|
-
Rec* fRecs;
|
156
|
-
Rec* fTopRec;
|
157
|
-
int fCount;
|
158
|
-
};
|
159
|
-
};
|
160
|
-
|
161
|
-
#endif
|
@@ -1,14 +0,0 @@
|
|
1
|
-
|
2
|
-
/*
|
3
|
-
* Copyright 2011 Google Inc.
|
4
|
-
*
|
5
|
-
* Use of this source code is governed by a BSD-style license that can be
|
6
|
-
* found in the LICENSE file.
|
7
|
-
*/
|
8
|
-
#ifndef GrGLConfig_chrome_DEFINED
|
9
|
-
#define GrGLConfig_chrome_DEFINED
|
10
|
-
|
11
|
-
// glGetError() forces a sync with gpu process on chrome
|
12
|
-
#define GR_GL_CHECK_ERROR_START 0
|
13
|
-
|
14
|
-
#endif
|
@@ -1,84 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2016 Google Inc.
|
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 GrVkBackendContext_DEFINED
|
9
|
-
#define GrVkBackendContext_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkRefCnt.h"
|
12
|
-
#include "include/gpu/vk/GrVkTypes.h"
|
13
|
-
#include "include/gpu/vk/VulkanMemoryAllocator.h"
|
14
|
-
|
15
|
-
namespace skgpu { class VulkanExtensions; }
|
16
|
-
|
17
|
-
enum GrVkExtensionFlags {
|
18
|
-
kEXT_debug_report_GrVkExtensionFlag = 0x0001,
|
19
|
-
kNV_glsl_shader_GrVkExtensionFlag = 0x0002,
|
20
|
-
kKHR_surface_GrVkExtensionFlag = 0x0004,
|
21
|
-
kKHR_swapchain_GrVkExtensionFlag = 0x0008,
|
22
|
-
kKHR_win32_surface_GrVkExtensionFlag = 0x0010,
|
23
|
-
kKHR_android_surface_GrVkExtensionFlag = 0x0020,
|
24
|
-
kKHR_xcb_surface_GrVkExtensionFlag = 0x0040,
|
25
|
-
};
|
26
|
-
|
27
|
-
enum GrVkFeatureFlags {
|
28
|
-
kGeometryShader_GrVkFeatureFlag = 0x0001,
|
29
|
-
kDualSrcBlend_GrVkFeatureFlag = 0x0002,
|
30
|
-
kSampleRateShading_GrVkFeatureFlag = 0x0004,
|
31
|
-
};
|
32
|
-
|
33
|
-
// It is not guaranteed VkPhysicalDeviceProperties2 will be in the client's header so we forward
|
34
|
-
// declare it here to be safe.
|
35
|
-
struct VkPhysicalDeviceFeatures2;
|
36
|
-
|
37
|
-
// The BackendContext contains all of the base Vulkan objects needed by the GrVkGpu. The assumption
|
38
|
-
// is that the client will set these up and pass them to the GrVkGpu constructor. The VkDevice
|
39
|
-
// created must support at least one graphics queue, which is passed in as well.
|
40
|
-
// The QueueFamilyIndex must match the family of the given queue. It is needed for CommandPool
|
41
|
-
// creation, and any GrBackendObjects handed to us (e.g., for wrapped textures) needs to be created
|
42
|
-
// in or transitioned to that family. The refs held by members of this struct must be released
|
43
|
-
// (either by deleting the struct or manually releasing the refs) before the underlying vulkan
|
44
|
-
// device and instance are destroyed.
|
45
|
-
struct SK_API GrVkBackendContext {
|
46
|
-
VkInstance fInstance = VK_NULL_HANDLE;
|
47
|
-
VkPhysicalDevice fPhysicalDevice = VK_NULL_HANDLE;
|
48
|
-
VkDevice fDevice = VK_NULL_HANDLE;
|
49
|
-
VkQueue fQueue = VK_NULL_HANDLE;
|
50
|
-
uint32_t fGraphicsQueueIndex = 0;
|
51
|
-
uint32_t fMinAPIVersion = 0; // Deprecated. Use fInstanceVersion
|
52
|
-
// instead.
|
53
|
-
uint32_t fInstanceVersion = 0; // Deprecated. Use fMaxApiVersion
|
54
|
-
// The max api version set here should match the value set in VkApplicationInfo::apiVersion when
|
55
|
-
// then VkInstance was created.
|
56
|
-
uint32_t fMaxAPIVersion = 0;
|
57
|
-
uint32_t fExtensions = 0; // Deprecated. Use fVkExtensions instead.
|
58
|
-
const skgpu::VulkanExtensions* fVkExtensions = nullptr;
|
59
|
-
uint32_t fFeatures = 0; // Deprecated. Use fDeviceFeatures[2]
|
60
|
-
// instead.
|
61
|
-
// The client can create their VkDevice with either a VkPhysicalDeviceFeatures or
|
62
|
-
// VkPhysicalDeviceFeatures2 struct, thus we have to support taking both. The
|
63
|
-
// VkPhysicalDeviceFeatures2 struct is needed so we know if the client enabled any extension
|
64
|
-
// specific features. If fDeviceFeatures2 is not null then we ignore fDeviceFeatures. If both
|
65
|
-
// fDeviceFeatures and fDeviceFeatures2 are null we will assume no features are enabled.
|
66
|
-
const VkPhysicalDeviceFeatures* fDeviceFeatures = nullptr;
|
67
|
-
const VkPhysicalDeviceFeatures2* fDeviceFeatures2 = nullptr;
|
68
|
-
sk_sp<skgpu::VulkanMemoryAllocator> fMemoryAllocator;
|
69
|
-
skgpu::VulkanGetProc fGetProc = nullptr;
|
70
|
-
// This is deprecated and should be set to false. The client is responsible for managing the
|
71
|
-
// lifetime of the VkInstance and VkDevice objects.
|
72
|
-
bool fOwnsInstanceAndDevice = false;
|
73
|
-
// Indicates that we are working with protected content and all CommandPool and Queue operations
|
74
|
-
// should be done in a protected context.
|
75
|
-
skgpu::Protected fProtectedContext = skgpu::Protected::kNo;
|
76
|
-
// Optional callback which will be invoked if a VK_ERROR_DEVICE_LOST error code is received from
|
77
|
-
// the driver. Debug information from the driver will be provided to the callback if the
|
78
|
-
// VK_EXT_device_fault extension is supported and enabled (VkPhysicalDeviceFaultFeaturesEXT must
|
79
|
-
// be in the pNext chain of VkDeviceCreateInfo).
|
80
|
-
skgpu::VulkanDeviceLostContext fDeviceLostContext = nullptr;
|
81
|
-
skgpu::VulkanDeviceLostProc fDeviceLostProc = nullptr;
|
82
|
-
};
|
83
|
-
|
84
|
-
#endif
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2016 Google Inc.
|
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 GrVkExtensions_DEFINED
|
9
|
-
#define GrVkExtensions_DEFINED
|
10
|
-
|
11
|
-
#include "include/gpu/vk/VulkanExtensions.h"
|
12
|
-
|
13
|
-
using GrVkExtensions = skgpu::VulkanExtensions;
|
14
|
-
|
15
|
-
#endif
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2018 Google Inc.
|
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 GrVkMemoryAllocator_DEFINED
|
9
|
-
#define GrVkMemoryAllocator_DEFINED
|
10
|
-
|
11
|
-
#include "include/gpu/vk/VulkanMemoryAllocator.h"
|
12
|
-
|
13
|
-
using GrVkMemoryAllocator = skgpu::VulkanMemoryAllocator;
|
14
|
-
|
15
|
-
#endif
|