@shopify/react-native-skia 0.1.158 → 0.1.159
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 +35 -11
- package/android/build.gradle +21 -25
- package/android/cpp/jni/JniLoad.cpp +2 -0
- package/android/cpp/jni/include/JniSkiaDomView.h +89 -0
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +4 -3
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +4 -3
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +2 -1
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +45 -0
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +64 -0
- package/cpp/api/JsiSkHostObjects.h +6 -0
- package/cpp/api/JsiSkImageFilterFactory.h +1 -1
- package/cpp/api/JsiSkPaint.h +9 -2
- package/cpp/api/JsiSkPath.h +1 -0
- package/cpp/api/JsiSkRuntimeEffect.h +36 -36
- package/cpp/jsi/JsiHostObject.cpp +16 -28
- package/cpp/jsi/JsiHostObject.h +127 -7
- package/cpp/jsi/JsiValue.cpp +346 -0
- package/cpp/jsi/JsiValue.h +222 -0
- package/cpp/jsi/JsiValueWrapper.h +33 -5
- package/cpp/rnskia/RNSkDomView.cpp +220 -0
- package/cpp/rnskia/RNSkDomView.h +140 -0
- package/cpp/rnskia/RNSkJsView.cpp +0 -4
- package/cpp/rnskia/RNSkJsView.h +6 -4
- package/cpp/rnskia/RNSkManager.cpp +7 -0
- package/cpp/rnskia/RNSkPictureView.h +5 -8
- package/cpp/rnskia/RNSkView.h +113 -5
- package/cpp/rnskia/dom/JsiDomApi.h +167 -0
- package/cpp/rnskia/dom/base/BaseNodeProp.h +72 -0
- package/cpp/rnskia/dom/base/DerivedNodeProp.h +187 -0
- package/cpp/rnskia/dom/base/DrawingContext.cpp +227 -0
- package/cpp/rnskia/dom/base/DrawingContext.h +136 -0
- package/cpp/rnskia/dom/base/JsiDependencyManager.h +294 -0
- package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +176 -0
- package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +50 -0
- package/cpp/rnskia/dom/base/JsiDomNode.h +361 -0
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +267 -0
- package/cpp/rnskia/dom/base/NodeProp.h +130 -0
- package/cpp/rnskia/dom/base/NodePropsContainer.h +119 -0
- package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +38 -0
- package/cpp/rnskia/dom/nodes/JsiBlendNode.h +112 -0
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +78 -0
- package/cpp/rnskia/dom/nodes/JsiBoxNode.h +104 -0
- package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +33 -0
- package/cpp/rnskia/dom/nodes/JsiCircleNode.h +38 -0
- package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +192 -0
- package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +123 -0
- package/cpp/rnskia/dom/nodes/JsiDiffRectNode.h +42 -0
- package/cpp/rnskia/dom/nodes/JsiFillNode.h +22 -0
- package/cpp/rnskia/dom/nodes/JsiGlyphsNode.h +56 -0
- package/cpp/rnskia/dom/nodes/JsiGroupNode.h +26 -0
- package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +415 -0
- package/cpp/rnskia/dom/nodes/JsiImageNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiImageSvgNode.h +44 -0
- package/cpp/rnskia/dom/nodes/JsiLayerNode.h +64 -0
- package/cpp/rnskia/dom/nodes/JsiLineNode.h +43 -0
- package/cpp/rnskia/dom/nodes/JsiOvalNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiPaintNode.h +77 -0
- package/cpp/rnskia/dom/nodes/JsiPatchNode.h +54 -0
- package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +315 -0
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +181 -0
- package/cpp/rnskia/dom/nodes/JsiPictureNode.h +32 -0
- package/cpp/rnskia/dom/nodes/JsiPointsNode.h +51 -0
- package/cpp/rnskia/dom/nodes/JsiRRectNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiRectNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +517 -0
- package/cpp/rnskia/dom/nodes/JsiTextBlobNode.h +47 -0
- package/cpp/rnskia/dom/nodes/JsiTextNode.h +54 -0
- package/cpp/rnskia/dom/nodes/JsiTextPathNode.h +32 -0
- package/cpp/rnskia/dom/nodes/JsiVerticesNode.h +43 -0
- package/cpp/rnskia/dom/props/BezierProps.h +63 -0
- package/cpp/rnskia/dom/props/BlendModeProp.h +101 -0
- package/cpp/rnskia/dom/props/BoxShadowProps.h +61 -0
- package/cpp/rnskia/dom/props/CircleProp.h +46 -0
- package/cpp/rnskia/dom/props/ClipProp.h +62 -0
- package/cpp/rnskia/dom/props/ColorProp.h +80 -0
- package/cpp/rnskia/dom/props/DrawingProp.h +33 -0
- package/cpp/rnskia/dom/props/FontProp.h +34 -0
- package/cpp/rnskia/dom/props/GlyphsProp.h +53 -0
- package/cpp/rnskia/dom/props/ImageProps.h +173 -0
- package/cpp/rnskia/dom/props/LayerProp.h +50 -0
- package/cpp/rnskia/dom/props/MatrixProp.h +33 -0
- package/cpp/rnskia/dom/props/NumbersProp.h +63 -0
- package/cpp/rnskia/dom/props/PaintProps.h +172 -0
- package/cpp/rnskia/dom/props/PathProp.h +55 -0
- package/cpp/rnskia/dom/props/PictureProp.h +38 -0
- package/cpp/rnskia/dom/props/PointProp.h +72 -0
- package/cpp/rnskia/dom/props/PointsProp.h +83 -0
- package/cpp/rnskia/dom/props/RRectProp.h +134 -0
- package/cpp/rnskia/dom/props/RadiusProp.h +43 -0
- package/cpp/rnskia/dom/props/RectProp.h +118 -0
- package/cpp/rnskia/dom/props/StrokeProps.h +75 -0
- package/cpp/rnskia/dom/props/SvgProp.h +37 -0
- package/cpp/rnskia/dom/props/TextBlobProp.h +128 -0
- package/cpp/rnskia/dom/props/TileModeProp.h +50 -0
- package/cpp/rnskia/dom/props/TransformProp.h +80 -0
- package/cpp/rnskia/dom/props/TransformsProps.h +68 -0
- package/cpp/rnskia/dom/props/UniformsProp.h +194 -0
- package/cpp/rnskia/dom/props/VertexModeProp.h +47 -0
- package/cpp/rnskia/dom/props/VerticesProps.h +67 -0
- package/cpp/rnskia/values/RNSkReadonlyValue.h +13 -4
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +35 -1
- package/cpp/skia/include/codec/SkAndroidCodec.h +17 -1
- package/cpp/skia/include/codec/SkCodec.h +8 -5
- package/cpp/skia/include/core/SkAnnotation.h +2 -0
- package/cpp/skia/include/core/SkBitmap.h +52 -1
- package/cpp/skia/include/core/SkBlendMode.h +2 -0
- package/cpp/skia/include/core/SkCanvas.h +52 -31
- package/cpp/skia/include/core/SkCapabilities.h +44 -0
- package/cpp/skia/include/core/SkColor.h +7 -0
- package/cpp/skia/include/core/SkColorFilter.h +37 -0
- package/cpp/skia/include/core/SkColorSpace.h +1 -1
- package/cpp/skia/include/core/SkFont.h +4 -0
- package/cpp/skia/include/core/SkFontMgr.h +3 -0
- package/cpp/skia/include/core/SkGraphics.h +9 -0
- package/cpp/skia/include/core/SkImage.h +77 -17
- package/cpp/skia/include/core/SkImageEncoder.h +5 -3
- package/cpp/skia/include/core/SkImageGenerator.h +27 -17
- package/cpp/skia/include/core/SkM44.h +1 -0
- package/cpp/skia/include/core/SkMesh.h +120 -34
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkOverdrawCanvas.h +2 -1
- package/cpp/skia/include/core/SkPaint.h +15 -2
- package/cpp/skia/include/core/SkPath.h +4 -0
- package/cpp/skia/include/core/SkPathBuilder.h +1 -1
- package/cpp/skia/include/core/SkPicture.h +0 -3
- package/cpp/skia/include/core/SkPictureRecorder.h +0 -2
- package/cpp/skia/include/core/SkPixmap.h +19 -0
- package/cpp/skia/include/core/SkRasterHandleAllocator.h +3 -1
- package/cpp/skia/include/core/SkRect.h +11 -4
- package/cpp/skia/include/core/SkRefCnt.h +13 -1
- package/cpp/skia/include/core/SkRegion.h +6 -0
- package/cpp/skia/include/core/SkSamplingOptions.h +8 -6
- package/cpp/skia/include/core/SkScalar.h +6 -25
- package/cpp/skia/include/core/SkShader.h +20 -12
- package/cpp/skia/include/core/SkSpan.h +51 -19
- package/cpp/skia/include/core/SkStream.h +2 -2
- package/cpp/skia/include/core/SkString.h +11 -3
- package/cpp/skia/include/core/SkSurface.h +85 -8
- package/cpp/skia/include/core/SkTextBlob.h +5 -2
- package/cpp/skia/include/core/SkTypes.h +11 -10
- package/cpp/skia/include/docs/SkPDFDocument.h +0 -5
- package/cpp/skia/include/effects/Sk1DPathEffect.h +6 -1
- package/cpp/skia/include/effects/Sk2DPathEffect.h +4 -1
- package/cpp/skia/include/effects/SkColorMatrix.h +1 -0
- package/cpp/skia/include/effects/SkColorMatrixFilter.h +5 -8
- package/cpp/skia/include/effects/SkCornerPathEffect.h +5 -1
- package/cpp/skia/include/effects/SkDashPathEffect.h +5 -1
- package/cpp/skia/include/effects/SkGradientShader.h +68 -38
- package/cpp/skia/include/effects/SkHighContrastFilter.h +5 -1
- package/cpp/skia/include/effects/SkImageFilters.h +5 -4
- package/cpp/skia/include/effects/SkLumaColorFilter.h +4 -1
- package/cpp/skia/include/effects/SkOpPathEffect.h +6 -2
- package/cpp/skia/include/effects/SkOverdrawColorFilter.h +5 -2
- package/cpp/skia/include/effects/SkRuntimeEffect.h +54 -62
- package/cpp/skia/include/effects/SkShaderMaskFilter.h +3 -1
- package/cpp/skia/include/effects/SkTableColorFilter.h +8 -21
- package/cpp/skia/include/effects/SkTableMaskFilter.h +5 -1
- package/cpp/skia/include/effects/SkTrimPathEffect.h +5 -1
- package/cpp/skia/include/encode/SkEncoder.h +17 -0
- package/cpp/skia/include/encode/SkWebpEncoder.h +17 -0
- package/cpp/skia/include/gpu/GpuTypes.h +18 -0
- package/cpp/skia/include/gpu/GrBackendSurface.h +38 -17
- package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +6 -71
- package/cpp/skia/include/gpu/GrContextOptions.h +1 -1
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +10 -9
- package/cpp/skia/include/gpu/GrDirectContext.h +42 -22
- package/cpp/skia/include/gpu/GrRecordingContext.h +6 -3
- package/cpp/skia/include/gpu/GrTypes.h +11 -11
- package/cpp/skia/include/gpu/MutableTextureState.h +122 -0
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -0
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +1 -0
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +7 -0
- package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +195 -0
- package/cpp/skia/include/gpu/graphite/Context.h +47 -55
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +85 -0
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +1 -17
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +61 -0
- package/cpp/skia/include/gpu/graphite/Recorder.h +87 -8
- package/cpp/skia/include/gpu/graphite/Recording.h +19 -9
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +40 -8
- package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +25 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +3 -2
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +69 -0
- package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +39 -0
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +21 -19
- package/cpp/skia/include/gpu/vk/GrVkExtensions.h +2 -50
- package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +2 -127
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +5 -43
- package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +46 -0
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +67 -0
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +116 -0
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +59 -0
- package/cpp/skia/include/pathops/SkPathOps.h +1 -1
- package/cpp/skia/include/private/SkColorData.h +10 -40
- package/cpp/skia/include/private/SkEncodedInfo.h +9 -3
- package/cpp/skia/include/private/SkFloatingPoint.h +9 -6
- package/cpp/skia/include/private/SkHalf.h +5 -52
- package/cpp/skia/include/private/SkMacros.h +1 -1
- package/cpp/skia/include/private/SkMalloc.h +4 -0
- package/cpp/skia/include/private/SkPathRef.h +10 -10
- package/cpp/skia/include/private/SkSLModifiers.h +59 -23
- package/cpp/skia/include/private/SkSLProgramKind.h +1 -0
- package/cpp/skia/include/private/SkSLSymbol.h +7 -3
- package/cpp/skia/include/private/SkStringView.h +4 -0
- package/cpp/skia/include/private/SkTArray.h +21 -7
- package/cpp/skia/include/private/SkTDArray.h +173 -285
- package/cpp/skia/include/private/SkTHash.h +33 -32
- package/cpp/skia/include/private/SkTemplates.h +24 -26
- package/cpp/skia/include/private/SkVx.h +218 -135
- package/cpp/skia/include/private/chromium/GrSlug.h +3 -65
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +6 -3
- package/cpp/skia/include/private/chromium/Slug.h +76 -0
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +6 -1
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +5 -39
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +63 -0
- package/cpp/skia/include/{gpu/vk/GrVkVulkan.h → private/gpu/vk/SkiaVulkan.h} +2 -2
- package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +57 -0
- package/cpp/skia/include/sksl/DSL.h +0 -1
- package/cpp/skia/include/sksl/DSLBlock.h +4 -18
- package/cpp/skia/include/sksl/DSLCase.h +2 -8
- package/cpp/skia/include/sksl/DSLCore.h +8 -15
- package/cpp/skia/include/sksl/DSLExpression.h +51 -142
- package/cpp/skia/include/sksl/DSLFunction.h +7 -15
- package/cpp/skia/include/sksl/DSLModifiers.h +5 -2
- package/cpp/skia/include/sksl/DSLStatement.h +4 -39
- package/cpp/skia/include/sksl/DSLSymbols.h +1 -11
- package/cpp/skia/include/sksl/DSLType.h +20 -12
- package/cpp/skia/include/sksl/DSLVar.h +56 -146
- package/cpp/skia/include/sksl/SkSLErrorReporter.h +2 -15
- package/cpp/skia/include/sksl/SkSLOperator.h +62 -59
- package/cpp/skia/include/sksl/SkSLPosition.h +2 -0
- package/cpp/skia/include/sksl/SkSLVersion.h +27 -0
- package/cpp/skia/include/svg/SkSVGCanvas.h +1 -0
- package/cpp/skia/include/utils/SkAnimCodecPlayer.h +1 -1
- package/cpp/skia/include/utils/SkBase64.h +2 -0
- package/cpp/skia/include/utils/SkCustomTypeface.h +24 -11
- package/cpp/skia/include/utils/SkEventTracer.h +12 -1
- package/cpp/skia/include/utils/SkNWayCanvas.h +11 -4
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +9 -4
- package/cpp/skia/include/utils/SkParse.h +3 -0
- package/cpp/skia/include/utils/SkShadowUtils.h +2 -0
- package/cpp/skia/include/utils/SkTextUtils.h +2 -1
- package/cpp/skia/{include/third_party → modules}/skcms/skcms.h +10 -0
- package/cpp/skia/modules/skcms/skcms_internal.h +56 -0
- package/cpp/skia/modules/skcms/src/Transform_inl.h +1609 -0
- package/cpp/skia/modules/skparagraph/include/DartTypes.h +153 -0
- package/cpp/skia/modules/skparagraph/include/FontArguments.h +46 -0
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +84 -0
- package/cpp/skia/modules/skparagraph/include/Metrics.h +98 -0
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +111 -0
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +69 -0
- package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +77 -0
- package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +143 -0
- package/cpp/skia/modules/skparagraph/include/TextShadow.h +30 -0
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +352 -0
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +81 -0
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +3 -3
- package/cpp/skia/src/core/SkLRUCache.h +126 -0
- package/cpp/skia/src/core/SkTInternalLList.h +302 -0
- package/cpp/utils/RNSkTimingInfo.h +1 -0
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +15 -4
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +40 -54
- package/ios/RNSkia-iOS/SkiaDomViewManager.h +8 -0
- package/ios/RNSkia-iOS/SkiaDomViewManager.mm +51 -0
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -56
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.js +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +19 -63
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/DependencyManager.js +0 -5
- package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/useCanvas.js +4 -18
- package/lib/commonjs/renderer/useCanvas.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js +7 -0
- package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
- package/lib/commonjs/views/SkiaDomView.js +152 -0
- package/lib/commonjs/views/SkiaDomView.js.map +1 -0
- package/lib/commonjs/views/SkiaDomView.web.js +55 -0
- package/lib/commonjs/views/SkiaDomView.web.js.map +1 -0
- package/lib/commonjs/views/SkiaPictureView.js +16 -2
- package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
- package/lib/commonjs/views/SkiaView.js +17 -2
- package/lib/commonjs/views/SkiaView.js.map +1 -1
- package/lib/commonjs/views/index.js +13 -0
- package/lib/commonjs/views/index.js.map +1 -1
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.js +56 -56
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/dom/nodes/RenderNode.js +1 -1
- package/lib/module/dom/nodes/RenderNode.js.map +1 -1
- package/lib/module/renderer/Canvas.js +20 -64
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/DependencyManager.js +0 -5
- package/lib/module/renderer/DependencyManager.js.map +1 -1
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/useCanvas.js +2 -13
- package/lib/module/renderer/useCanvas.js.map +1 -1
- package/lib/module/views/SkiaBaseWebView.js +7 -0
- package/lib/module/views/SkiaBaseWebView.js.map +1 -1
- package/lib/module/views/SkiaDomView.js +128 -0
- package/lib/module/views/SkiaDomView.js.map +1 -0
- package/lib/module/views/SkiaDomView.web.js +41 -0
- package/lib/module/views/SkiaDomView.web.js.map +1 -0
- package/lib/module/views/SkiaPictureView.js +14 -2
- package/lib/module/views/SkiaPictureView.js.map +1 -1
- package/lib/module/views/SkiaView.js +15 -2
- package/lib/module/views/SkiaView.js.map +1 -1
- package/lib/module/views/index.js +1 -0
- package/lib/module/views/index.js.map +1 -1
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +57 -64
- package/lib/typescript/src/renderer/Canvas.d.ts +5 -8
- package/lib/typescript/src/renderer/DependencyManager.d.ts +0 -2
- package/lib/typescript/src/renderer/HostComponents.d.ts +66 -3
- package/lib/typescript/src/renderer/useCanvas.d.ts +0 -6
- package/lib/typescript/src/views/SkiaBaseWebView.d.ts +4 -0
- package/lib/typescript/src/views/SkiaDomView.d.ts +31 -0
- package/lib/typescript/src/views/SkiaDomView.web.d.ts +7 -0
- package/lib/typescript/src/views/index.d.ts +1 -0
- package/lib/typescript/src/views/types.d.ts +12 -2
- 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.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.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.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.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- 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/libskparagraph.xcframework/Info.plist +42 -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/libskunicode.xcframework/Info.plist +42 -0
- 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/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 +5 -3
- package/react-native-skia.podspec +3 -1
- package/src/dom/nodes/JsiSkDOM.ts +170 -56
- package/src/dom/nodes/RenderNode.ts +1 -1
- package/src/renderer/Canvas.tsx +32 -56
- package/src/renderer/DependencyManager.tsx +0 -5
- package/src/renderer/HostComponents.ts +152 -1
- package/src/renderer/useCanvas.ts +1 -15
- package/src/views/SkiaBaseWebView.tsx +4 -0
- package/src/views/SkiaDomView.tsx +120 -0
- package/src/views/SkiaDomView.web.tsx +37 -0
- package/src/views/SkiaPictureView.tsx +10 -2
- package/src/views/SkiaView.tsx +11 -3
- package/src/views/index.ts +1 -0
- package/src/views/types.ts +19 -2
- package/cpp/jsi/JsiSimpleValueWrapper.h +0 -99
- package/cpp/skia/include/c/sk_canvas.h +0 -159
- package/cpp/skia/include/c/sk_colorspace.h +0 -25
- package/cpp/skia/include/c/sk_data.h +0 -65
- package/cpp/skia/include/c/sk_image.h +0 -71
- package/cpp/skia/include/c/sk_imageinfo.h +0 -62
- package/cpp/skia/include/c/sk_maskfilter.h +0 -47
- package/cpp/skia/include/c/sk_matrix.h +0 -49
- package/cpp/skia/include/c/sk_paint.h +0 -145
- package/cpp/skia/include/c/sk_path.h +0 -102
- package/cpp/skia/include/c/sk_picture.h +0 -70
- package/cpp/skia/include/c/sk_shader.h +0 -143
- package/cpp/skia/include/c/sk_surface.h +0 -73
- package/cpp/skia/include/c/sk_types.h +0 -278
- package/cpp/skia/include/gpu/graphite/SkStuff.h +0 -47
- package/cpp/skia/include/private/SkNx.h +0 -430
- package/cpp/skia/include/private/SkNx_neon.h +0 -713
- package/cpp/skia/include/private/SkNx_sse.h +0 -823
- package/cpp/skia/include/sksl/DSLRuntimeEffects.h +0 -32
- package/cpp/skia/include/sksl/DSLWrapper.h +0 -77
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
#ifndef SkCornerPathEffect_DEFINED
|
|
9
9
|
#define SkCornerPathEffect_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkPathEffect;
|
|
12
16
|
|
|
13
17
|
/** \class SkCornerPathEffect
|
|
14
18
|
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
#ifndef SkDashPathEffect_DEFINED
|
|
9
9
|
#define SkDashPathEffect_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkPathEffect;
|
|
12
16
|
|
|
13
17
|
class SK_API SkDashPathEffect {
|
|
14
18
|
public:
|
|
@@ -8,12 +8,11 @@
|
|
|
8
8
|
#ifndef SkGradientShader_DEFINED
|
|
9
9
|
#define SkGradientShader_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/core/SkColorSpace.h"
|
|
11
12
|
#include "include/core/SkRefCnt.h"
|
|
12
13
|
#include "include/core/SkShader.h"
|
|
13
14
|
#include "include/core/SkTileMode.h"
|
|
14
15
|
|
|
15
|
-
class SkColorSpace;
|
|
16
|
-
|
|
17
16
|
/** \class SkGradientShader
|
|
18
17
|
|
|
19
18
|
SkGradientShader hosts factories for creating subclasses of SkShader that
|
|
@@ -60,6 +59,16 @@ public:
|
|
|
60
59
|
kInterpolateColorsInPremul_Flag = 1 << 0,
|
|
61
60
|
};
|
|
62
61
|
|
|
62
|
+
struct Interpolation {
|
|
63
|
+
enum class InPremul : bool { kNo = false, kYes = true };
|
|
64
|
+
|
|
65
|
+
InPremul fInPremul = InPremul::kNo;
|
|
66
|
+
|
|
67
|
+
static Interpolation FromFlags(uint32_t flags) {
|
|
68
|
+
return {flags & kInterpolateColorsInPremul_Flag ? InPremul::kYes : InPremul::kNo};
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
63
72
|
/** Returns a shader that generates a linear gradient between the two specified points.
|
|
64
73
|
<p />
|
|
65
74
|
@param pts The start and end points for the gradient.
|
|
@@ -77,12 +86,7 @@ public:
|
|
|
77
86
|
static sk_sp<SkShader> MakeLinear(const SkPoint pts[2],
|
|
78
87
|
const SkColor colors[], const SkScalar pos[], int count,
|
|
79
88
|
SkTileMode mode,
|
|
80
|
-
uint32_t flags, const SkMatrix* localMatrix);
|
|
81
|
-
static sk_sp<SkShader> MakeLinear(const SkPoint pts[2],
|
|
82
|
-
const SkColor colors[], const SkScalar pos[], int count,
|
|
83
|
-
SkTileMode mode) {
|
|
84
|
-
return MakeLinear(pts, colors, pos, count, mode, 0, nullptr);
|
|
85
|
-
}
|
|
89
|
+
uint32_t flags = 0, const SkMatrix* localMatrix = nullptr);
|
|
86
90
|
|
|
87
91
|
/** Returns a shader that generates a linear gradient between the two specified points.
|
|
88
92
|
<p />
|
|
@@ -101,10 +105,15 @@ public:
|
|
|
101
105
|
static sk_sp<SkShader> MakeLinear(const SkPoint pts[2],
|
|
102
106
|
const SkColor4f colors[], sk_sp<SkColorSpace> colorSpace,
|
|
103
107
|
const SkScalar pos[], int count, SkTileMode mode,
|
|
104
|
-
|
|
108
|
+
const Interpolation& interpolation,
|
|
109
|
+
const SkMatrix* localMatrix);
|
|
105
110
|
static sk_sp<SkShader> MakeLinear(const SkPoint pts[2],
|
|
106
111
|
const SkColor4f colors[], sk_sp<SkColorSpace> colorSpace,
|
|
107
|
-
const SkScalar pos[], int count, SkTileMode mode
|
|
112
|
+
const SkScalar pos[], int count, SkTileMode mode,
|
|
113
|
+
uint32_t flags = 0, const SkMatrix* localMatrix = nullptr) {
|
|
114
|
+
return MakeLinear(pts, colors, std::move(colorSpace), pos, count, mode,
|
|
115
|
+
Interpolation::FromFlags(flags), localMatrix);
|
|
116
|
+
}
|
|
108
117
|
|
|
109
118
|
/** Returns a shader that generates a radial gradient given the center and radius.
|
|
110
119
|
<p />
|
|
@@ -122,12 +131,7 @@ public:
|
|
|
122
131
|
static sk_sp<SkShader> MakeRadial(const SkPoint& center, SkScalar radius,
|
|
123
132
|
const SkColor colors[], const SkScalar pos[], int count,
|
|
124
133
|
SkTileMode mode,
|
|
125
|
-
uint32_t flags, const SkMatrix* localMatrix);
|
|
126
|
-
static sk_sp<SkShader> MakeRadial(const SkPoint& center, SkScalar radius,
|
|
127
|
-
const SkColor colors[], const SkScalar pos[], int count,
|
|
128
|
-
SkTileMode mode) {
|
|
129
|
-
return MakeRadial(center, radius, colors, pos, count, mode, 0, nullptr);
|
|
130
|
-
}
|
|
134
|
+
uint32_t flags = 0, const SkMatrix* localMatrix = nullptr);
|
|
131
135
|
|
|
132
136
|
/** Returns a shader that generates a radial gradient given the center and radius.
|
|
133
137
|
<p />
|
|
@@ -145,10 +149,15 @@ public:
|
|
|
145
149
|
static sk_sp<SkShader> MakeRadial(const SkPoint& center, SkScalar radius,
|
|
146
150
|
const SkColor4f colors[], sk_sp<SkColorSpace> colorSpace,
|
|
147
151
|
const SkScalar pos[], int count, SkTileMode mode,
|
|
148
|
-
|
|
152
|
+
const Interpolation& interpolation,
|
|
153
|
+
const SkMatrix* localMatrix);
|
|
149
154
|
static sk_sp<SkShader> MakeRadial(const SkPoint& center, SkScalar radius,
|
|
150
155
|
const SkColor4f colors[], sk_sp<SkColorSpace> colorSpace,
|
|
151
|
-
const SkScalar pos[], int count, SkTileMode mode
|
|
156
|
+
const SkScalar pos[], int count, SkTileMode mode,
|
|
157
|
+
uint32_t flags = 0, const SkMatrix* localMatrix = nullptr) {
|
|
158
|
+
return MakeRadial(center, radius, colors, std::move(colorSpace), pos, count, mode,
|
|
159
|
+
Interpolation::FromFlags(flags), localMatrix);
|
|
160
|
+
}
|
|
152
161
|
|
|
153
162
|
/**
|
|
154
163
|
* Returns a shader that generates a conical gradient given two circles, or
|
|
@@ -160,14 +169,8 @@ public:
|
|
|
160
169
|
const SkPoint& end, SkScalar endRadius,
|
|
161
170
|
const SkColor colors[], const SkScalar pos[],
|
|
162
171
|
int count, SkTileMode mode,
|
|
163
|
-
uint32_t flags
|
|
164
|
-
|
|
165
|
-
const SkPoint& end, SkScalar endRadius,
|
|
166
|
-
const SkColor colors[], const SkScalar pos[],
|
|
167
|
-
int count, SkTileMode mode) {
|
|
168
|
-
return MakeTwoPointConical(start, startRadius, end, endRadius, colors, pos, count, mode,
|
|
169
|
-
0, nullptr);
|
|
170
|
-
}
|
|
172
|
+
uint32_t flags = 0,
|
|
173
|
+
const SkMatrix* localMatrix = nullptr);
|
|
171
174
|
|
|
172
175
|
/**
|
|
173
176
|
* Returns a shader that generates a conical gradient given two circles, or
|
|
@@ -180,14 +183,29 @@ public:
|
|
|
180
183
|
const SkColor4f colors[],
|
|
181
184
|
sk_sp<SkColorSpace> colorSpace, const SkScalar pos[],
|
|
182
185
|
int count, SkTileMode mode,
|
|
183
|
-
|
|
186
|
+
const Interpolation& interpolation,
|
|
187
|
+
const SkMatrix* localMatrix);
|
|
184
188
|
static sk_sp<SkShader> MakeTwoPointConical(const SkPoint& start, SkScalar startRadius,
|
|
185
189
|
const SkPoint& end, SkScalar endRadius,
|
|
186
190
|
const SkColor4f colors[],
|
|
187
191
|
sk_sp<SkColorSpace> colorSpace, const SkScalar pos[],
|
|
188
|
-
int count, SkTileMode mode
|
|
192
|
+
int count, SkTileMode mode,
|
|
193
|
+
uint32_t flags = 0,
|
|
194
|
+
const SkMatrix* localMatrix = nullptr) {
|
|
195
|
+
return MakeTwoPointConical(start, startRadius, end, endRadius, colors,
|
|
196
|
+
std::move(colorSpace), pos, count, mode,
|
|
197
|
+
Interpolation::FromFlags(flags), localMatrix);
|
|
198
|
+
}
|
|
189
199
|
|
|
190
200
|
/** Returns a shader that generates a sweep gradient given a center.
|
|
201
|
+
|
|
202
|
+
The shader accepts negative angles and angles larger than 360, draws
|
|
203
|
+
between 0 and 360 degrees, similar to the CSS conic-gradient
|
|
204
|
+
semantics. 0 degrees means horizontal positive x axis. The start angle
|
|
205
|
+
must be less than the end angle, otherwise a null pointer is
|
|
206
|
+
returned. If color stops do not contain 0 and 1 but are within this
|
|
207
|
+
range, the respective outer color stop is repeated for 0 and 1. Color
|
|
208
|
+
stops less than 0 are clamped to 0, and greater than 1 are clamped to 1.
|
|
191
209
|
<p />
|
|
192
210
|
@param cx The X coordinate of the center of the sweep
|
|
193
211
|
@param cx The Y coordinate of the center of the sweep
|
|
@@ -210,16 +228,20 @@ public:
|
|
|
210
228
|
uint32_t flags, const SkMatrix* localMatrix);
|
|
211
229
|
static sk_sp<SkShader> MakeSweep(SkScalar cx, SkScalar cy,
|
|
212
230
|
const SkColor colors[], const SkScalar pos[], int count,
|
|
213
|
-
uint32_t flags, const SkMatrix* localMatrix) {
|
|
231
|
+
uint32_t flags = 0, const SkMatrix* localMatrix = nullptr) {
|
|
214
232
|
return MakeSweep(cx, cy, colors, pos, count, SkTileMode::kClamp, 0, 360, flags,
|
|
215
233
|
localMatrix);
|
|
216
234
|
}
|
|
217
|
-
static sk_sp<SkShader> MakeSweep(SkScalar cx, SkScalar cy,
|
|
218
|
-
const SkColor colors[], const SkScalar pos[], int count) {
|
|
219
|
-
return MakeSweep(cx, cy, colors, pos, count, 0, nullptr);
|
|
220
|
-
}
|
|
221
235
|
|
|
222
236
|
/** Returns a shader that generates a sweep gradient given a center.
|
|
237
|
+
|
|
238
|
+
The shader accepts negative angles and angles larger than 360, draws
|
|
239
|
+
between 0 and 360 degrees, similar to the CSS conic-gradient
|
|
240
|
+
semantics. 0 degrees means horizontal positive x axis. The start angle
|
|
241
|
+
must be less than the end angle, otherwise a null pointer is
|
|
242
|
+
returned. If color stops do not contain 0 and 1 but are within this
|
|
243
|
+
range, the respective outer color stop is repeated for 0 and 1. Color
|
|
244
|
+
stops less than 0 are clamped to 0, and greater than 1 are clamped to 1.
|
|
223
245
|
<p />
|
|
224
246
|
@param cx The X coordinate of the center of the sweep
|
|
225
247
|
@param cx The Y coordinate of the center of the sweep
|
|
@@ -240,16 +262,24 @@ public:
|
|
|
240
262
|
const SkScalar pos[], int count,
|
|
241
263
|
SkTileMode mode,
|
|
242
264
|
SkScalar startAngle, SkScalar endAngle,
|
|
243
|
-
|
|
265
|
+
const Interpolation& interpolation,
|
|
266
|
+
const SkMatrix* localMatrix);
|
|
244
267
|
static sk_sp<SkShader> MakeSweep(SkScalar cx, SkScalar cy,
|
|
245
268
|
const SkColor4f colors[], sk_sp<SkColorSpace> colorSpace,
|
|
246
269
|
const SkScalar pos[], int count,
|
|
247
|
-
|
|
270
|
+
SkTileMode mode,
|
|
271
|
+
SkScalar startAngle, SkScalar endAngle,
|
|
272
|
+
uint32_t flags, const SkMatrix* localMatrix) {
|
|
273
|
+
return MakeSweep(cx, cy, colors, std::move(colorSpace), pos, count, mode, startAngle,
|
|
274
|
+
endAngle, Interpolation::FromFlags(flags), localMatrix);
|
|
275
|
+
}
|
|
248
276
|
static sk_sp<SkShader> MakeSweep(SkScalar cx, SkScalar cy,
|
|
249
277
|
const SkColor4f colors[], sk_sp<SkColorSpace> colorSpace,
|
|
250
|
-
const SkScalar pos[], int count
|
|
251
|
-
|
|
252
|
-
|
|
278
|
+
const SkScalar pos[], int count,
|
|
279
|
+
uint32_t flags = 0, const SkMatrix* localMatrix = nullptr) {
|
|
280
|
+
return MakeSweep(cx, cy, colors, std::move(colorSpace), pos, count, SkTileMode::kClamp,
|
|
281
|
+
0, 360, flags, localMatrix);
|
|
282
|
+
}
|
|
253
283
|
};
|
|
254
284
|
|
|
255
285
|
#endif
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
#ifndef SkHighContrastFilter_DEFINED
|
|
9
9
|
#define SkHighContrastFilter_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkColorFilter;
|
|
12
16
|
|
|
13
17
|
/**
|
|
14
18
|
* Configuration struct for SkHighContrastFilter.
|
|
@@ -154,7 +154,8 @@ public:
|
|
|
154
154
|
* @param yChannelSelector RGBA channel that encodes the y displacement per pixel.
|
|
155
155
|
* @param scale Scale applied to displacement extracted from image.
|
|
156
156
|
* @param displacement The filter defining the displacement image, or null to use source.
|
|
157
|
-
* @param color The filter providing the color pixels to be displaced.
|
|
157
|
+
* @param color The filter providing the color pixels to be displaced. If null,
|
|
158
|
+
* it will use the source.
|
|
158
159
|
* @param cropRect Optional rectangle that crops the color input and output.
|
|
159
160
|
*/
|
|
160
161
|
static sk_sp<SkImageFilter> DisplacementMap(SkColorChannel xChannelSelector,
|
|
@@ -344,13 +345,13 @@ public:
|
|
|
344
345
|
* fill the result image
|
|
345
346
|
* @param childShaderName The name of the child shader defined in the builder that will be
|
|
346
347
|
* bound to the input param (or the source image if the input param
|
|
347
|
-
* is null). If
|
|
348
|
+
* is null). If empty, the builder can have exactly one child shader,
|
|
348
349
|
* which automatically binds the input param.
|
|
349
350
|
* @param input The image filter that will be provided as input to the runtime
|
|
350
351
|
* shader. If null the implicit source image is used instead
|
|
351
352
|
*/
|
|
352
353
|
static sk_sp<SkImageFilter> RuntimeShader(const SkRuntimeShaderBuilder& builder,
|
|
353
|
-
|
|
354
|
+
std::string_view childShaderName,
|
|
354
355
|
sk_sp<SkImageFilter> input);
|
|
355
356
|
|
|
356
357
|
/**
|
|
@@ -369,7 +370,7 @@ public:
|
|
|
369
370
|
* @param inputCount How many entries are present in 'childShaderNames' and 'inputs'.
|
|
370
371
|
*/
|
|
371
372
|
static sk_sp<SkImageFilter> RuntimeShader(const SkRuntimeShaderBuilder& builder,
|
|
372
|
-
|
|
373
|
+
std::string_view childShaderNames[],
|
|
373
374
|
const sk_sp<SkImageFilter> inputs[],
|
|
374
375
|
int inputCount);
|
|
375
376
|
#endif // SK_ENABLE_SKSL
|
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
#ifndef SkLumaColorFilter_DEFINED
|
|
9
9
|
#define SkLumaColorFilter_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkTypes.h"
|
|
13
|
+
|
|
14
|
+
class SkColorFilter;
|
|
12
15
|
|
|
13
16
|
/**
|
|
14
17
|
* SkLumaColorFilter multiplies the luma of its input into the alpha channel,
|
|
@@ -8,11 +8,15 @@
|
|
|
8
8
|
#ifndef SkOpPathEffect_DEFINED
|
|
9
9
|
#define SkOpPathEffect_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkMatrix.h"
|
|
12
11
|
#include "include/core/SkPaint.h"
|
|
13
|
-
#include "include/core/
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
13
|
+
#include "include/core/SkScalar.h"
|
|
14
|
+
#include "include/core/SkTypes.h"
|
|
14
15
|
#include "include/pathops/SkPathOps.h"
|
|
15
16
|
|
|
17
|
+
class SkMatrix;
|
|
18
|
+
class SkPathEffect;
|
|
19
|
+
|
|
16
20
|
class SK_API SkMergePathEffect {
|
|
17
21
|
public:
|
|
18
22
|
/* Defers to two other patheffects, and then combines their outputs using the specified op.
|
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
* found in the LICENSE file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#include "include/core/
|
|
9
|
-
#include "include/core/
|
|
8
|
+
#include "include/core/SkColor.h"
|
|
9
|
+
#include "include/core/SkRefCnt.h"
|
|
10
|
+
#include "include/core/SkTypes.h"
|
|
11
|
+
|
|
12
|
+
class SkColorFilter;
|
|
10
13
|
|
|
11
14
|
#ifndef SkOverdrawColorFilter_DEFINED
|
|
12
15
|
#define SkOverdrawColorFilter_DEFINED
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
|
|
26
26
|
#ifdef SK_ENABLE_SKSL
|
|
27
27
|
|
|
28
|
+
#include "include/sksl/SkSLVersion.h"
|
|
29
|
+
|
|
28
30
|
class GrRecordingContext;
|
|
29
31
|
class SkFilterColorProgram;
|
|
30
32
|
class SkImage;
|
|
@@ -68,20 +70,32 @@ public:
|
|
|
68
70
|
};
|
|
69
71
|
|
|
70
72
|
enum Flags {
|
|
71
|
-
// Uniform is
|
|
73
|
+
// Uniform is declared as an array. 'count' contains array length.
|
|
72
74
|
kArray_Flag = 0x1,
|
|
73
75
|
|
|
74
76
|
// Uniform is declared with layout(color). Colors should be supplied as unpremultiplied,
|
|
75
77
|
// extended-range (unclamped) sRGB (ie SkColor4f). The uniform will be automatically
|
|
76
78
|
// transformed to unpremultiplied extended-range working-space colors.
|
|
77
79
|
kColor_Flag = 0x2,
|
|
80
|
+
|
|
81
|
+
// When used with SkMeshSpecification, indicates that the uniform is present in the
|
|
82
|
+
// vertex shader. Not used with SkRuntimeEffect.
|
|
83
|
+
kVertex_Flag = 0x4,
|
|
84
|
+
|
|
85
|
+
// When used with SkMeshSpecification, indicates that the uniform is present in the
|
|
86
|
+
// fragment shader. Not used with SkRuntimeEffect.
|
|
87
|
+
kFragment_Flag = 0x8,
|
|
88
|
+
|
|
89
|
+
// This flag indicates that the SkSL uniform uses a medium-precision type
|
|
90
|
+
// (i.e., `half` instead of `float`).
|
|
91
|
+
kHalfPrecision_Flag = 0x10,
|
|
78
92
|
};
|
|
79
93
|
|
|
80
|
-
|
|
81
|
-
size_t
|
|
82
|
-
Type
|
|
83
|
-
int
|
|
84
|
-
uint32_t
|
|
94
|
+
std::string_view name;
|
|
95
|
+
size_t offset;
|
|
96
|
+
Type type;
|
|
97
|
+
int count;
|
|
98
|
+
uint32_t flags;
|
|
85
99
|
|
|
86
100
|
bool isArray() const { return SkToBool(this->flags & kArray_Flag); }
|
|
87
101
|
bool isColor() const { return SkToBool(this->flags & kColor_Flag); }
|
|
@@ -96,9 +110,9 @@ public:
|
|
|
96
110
|
};
|
|
97
111
|
|
|
98
112
|
struct Child {
|
|
99
|
-
|
|
100
|
-
ChildType
|
|
101
|
-
int
|
|
113
|
+
std::string_view name;
|
|
114
|
+
ChildType type;
|
|
115
|
+
int index;
|
|
102
116
|
};
|
|
103
117
|
|
|
104
118
|
class Options {
|
|
@@ -112,16 +126,16 @@ public:
|
|
|
112
126
|
friend class SkRuntimeEffect;
|
|
113
127
|
friend class SkRuntimeEffectPriv;
|
|
114
128
|
|
|
129
|
+
// Public SkSL does not allow access to sk_FragCoord. The semantics of that variable are
|
|
130
|
+
// confusing, and expose clients to implementation details of saveLayer and image filters.
|
|
131
|
+
bool usePrivateRTShaderModule = false;
|
|
132
|
+
|
|
133
|
+
// TODO(skia:11209) - Replace this with a promised SkCapabilities?
|
|
115
134
|
// This flag lifts the ES2 restrictions on Runtime Effects that are gated by the
|
|
116
135
|
// `strictES2Mode` check. Be aware that the software renderer and pipeline-stage effect are
|
|
117
136
|
// still largely ES3-unaware and can still fail or crash if post-ES2 features are used.
|
|
118
137
|
// This is only intended for use by tests and certain internally created effects.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
// Similarly: Public SkSL does not allow access to sk_FragCoord. The semantics of that
|
|
122
|
-
// variable are confusing, and expose clients to implementation details of saveLayer and
|
|
123
|
-
// image filters.
|
|
124
|
-
bool usePrivateRTShaderModule = false;
|
|
138
|
+
SkSL::Version maxVersionAllowed = SkSL::Version::k100;
|
|
125
139
|
};
|
|
126
140
|
|
|
127
141
|
// If the effect is compiled successfully, `effect` will be non-null.
|
|
@@ -148,10 +162,6 @@ public:
|
|
|
148
162
|
|
|
149
163
|
// Shader SkSL requires an entry point that looks like:
|
|
150
164
|
// vec4 main(vec2 inCoords) { ... }
|
|
151
|
-
// -or-
|
|
152
|
-
// vec4 main(vec2 inCoords, vec4 inColor) { ... }
|
|
153
|
-
//
|
|
154
|
-
// Most shaders don't use the input color, so that parameter is optional.
|
|
155
165
|
static Result MakeForShader(SkString sksl, const Options&);
|
|
156
166
|
static Result MakeForShader(SkString sksl) {
|
|
157
167
|
return MakeForShader(std::move(sksl), Options{});
|
|
@@ -164,19 +174,6 @@ public:
|
|
|
164
174
|
return MakeForBlender(std::move(sksl), Options{});
|
|
165
175
|
}
|
|
166
176
|
|
|
167
|
-
// DSL entry points
|
|
168
|
-
static Result MakeForColorFilter(std::unique_ptr<SkSL::Program> program, const Options&);
|
|
169
|
-
static Result MakeForColorFilter(std::unique_ptr<SkSL::Program> program);
|
|
170
|
-
|
|
171
|
-
static Result MakeForShader(std::unique_ptr<SkSL::Program> program, const Options&);
|
|
172
|
-
static Result MakeForShader(std::unique_ptr<SkSL::Program> program);
|
|
173
|
-
static sk_sp<SkRuntimeEffect> MakeForShader(std::unique_ptr<SkSL::Program> program,
|
|
174
|
-
const Options&, SkSL::ErrorReporter* errors);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
static Result MakeForBlender(std::unique_ptr<SkSL::Program> program, const Options&);
|
|
178
|
-
static Result MakeForBlender(std::unique_ptr<SkSL::Program> program);
|
|
179
|
-
|
|
180
177
|
// Object that allows passing a SkShader, SkColorFilter or SkBlender as a child
|
|
181
178
|
class ChildPtr {
|
|
182
179
|
public:
|
|
@@ -195,33 +192,38 @@ public:
|
|
|
195
192
|
SkBlender* blender() const;
|
|
196
193
|
SkFlattenable* flattenable() const { return fChild.get(); }
|
|
197
194
|
|
|
195
|
+
using sk_is_trivially_relocatable = std::true_type;
|
|
196
|
+
|
|
198
197
|
private:
|
|
199
198
|
sk_sp<SkFlattenable> fChild;
|
|
199
|
+
|
|
200
|
+
static_assert(::sk_is_trivially_relocatable<decltype(fChild)>::value);
|
|
200
201
|
};
|
|
201
202
|
|
|
202
|
-
sk_sp<SkShader> makeShader(sk_sp<SkData> uniforms,
|
|
203
|
+
sk_sp<SkShader> makeShader(sk_sp<const SkData> uniforms,
|
|
203
204
|
sk_sp<SkShader> children[],
|
|
204
205
|
size_t childCount,
|
|
205
206
|
const SkMatrix* localMatrix = nullptr) const;
|
|
206
|
-
sk_sp<SkShader> makeShader(sk_sp<SkData> uniforms,
|
|
207
|
+
sk_sp<SkShader> makeShader(sk_sp<const SkData> uniforms,
|
|
207
208
|
SkSpan<ChildPtr> children,
|
|
208
209
|
const SkMatrix* localMatrix = nullptr) const;
|
|
209
210
|
|
|
210
211
|
sk_sp<SkImage> makeImage(GrRecordingContext*,
|
|
211
|
-
sk_sp<SkData> uniforms,
|
|
212
|
+
sk_sp<const SkData> uniforms,
|
|
212
213
|
SkSpan<ChildPtr> children,
|
|
213
214
|
const SkMatrix* localMatrix,
|
|
214
215
|
SkImageInfo resultInfo,
|
|
215
216
|
bool mipmapped) const;
|
|
216
217
|
|
|
217
|
-
sk_sp<SkColorFilter> makeColorFilter(sk_sp<SkData> uniforms) const;
|
|
218
|
-
sk_sp<SkColorFilter> makeColorFilter(sk_sp<SkData> uniforms,
|
|
218
|
+
sk_sp<SkColorFilter> makeColorFilter(sk_sp<const SkData> uniforms) const;
|
|
219
|
+
sk_sp<SkColorFilter> makeColorFilter(sk_sp<const SkData> uniforms,
|
|
219
220
|
sk_sp<SkColorFilter> children[],
|
|
220
221
|
size_t childCount) const;
|
|
221
|
-
sk_sp<SkColorFilter> makeColorFilter(sk_sp<SkData> uniforms,
|
|
222
|
+
sk_sp<SkColorFilter> makeColorFilter(sk_sp<const SkData> uniforms,
|
|
222
223
|
SkSpan<ChildPtr> children) const;
|
|
223
224
|
|
|
224
|
-
sk_sp<SkBlender> makeBlender(sk_sp<SkData> uniforms,
|
|
225
|
+
sk_sp<SkBlender> makeBlender(sk_sp<const SkData> uniforms,
|
|
226
|
+
SkSpan<ChildPtr> children = {}) const;
|
|
225
227
|
|
|
226
228
|
/**
|
|
227
229
|
* Creates a new Runtime Effect patterned after an already-existing one. The new shader behaves
|
|
@@ -248,14 +250,19 @@ public:
|
|
|
248
250
|
// provide an SkData of this size, containing values for all of those variables.
|
|
249
251
|
size_t uniformSize() const;
|
|
250
252
|
|
|
251
|
-
SkSpan<const Uniform> uniforms() const { return
|
|
252
|
-
SkSpan<const Child> children() const { return
|
|
253
|
+
SkSpan<const Uniform> uniforms() const { return SkSpan(fUniforms); }
|
|
254
|
+
SkSpan<const Child> children() const { return SkSpan(fChildren); }
|
|
253
255
|
|
|
254
256
|
// Returns pointer to the named uniform variable's description, or nullptr if not found
|
|
255
|
-
const Uniform* findUniform(
|
|
257
|
+
const Uniform* findUniform(std::string_view name) const;
|
|
256
258
|
|
|
257
259
|
// Returns pointer to the named child's description, or nullptr if not found
|
|
258
|
-
const Child* findChild(
|
|
260
|
+
const Child* findChild(std::string_view name) const;
|
|
261
|
+
|
|
262
|
+
// Allows the runtime effect type to be identified.
|
|
263
|
+
bool allowShader() const { return (fFlags & kAllowShader_Flag); }
|
|
264
|
+
bool allowColorFilter() const { return (fFlags & kAllowColorFilter_Flag); }
|
|
265
|
+
bool allowBlender() const { return (fFlags & kAllowBlender_Flag); }
|
|
259
266
|
|
|
260
267
|
static void RegisterFlattenables();
|
|
261
268
|
~SkRuntimeEffect() override;
|
|
@@ -283,15 +290,6 @@ private:
|
|
|
283
290
|
|
|
284
291
|
static Result MakeFromSource(SkString sksl, const Options& options, SkSL::ProgramKind kind);
|
|
285
292
|
|
|
286
|
-
static Result MakeFromDSL(std::unique_ptr<SkSL::Program> program,
|
|
287
|
-
const Options& options,
|
|
288
|
-
SkSL::ProgramKind kind);
|
|
289
|
-
|
|
290
|
-
static sk_sp<SkRuntimeEffect> MakeFromDSL(std::unique_ptr<SkSL::Program> program,
|
|
291
|
-
const Options& options,
|
|
292
|
-
SkSL::ProgramKind kind,
|
|
293
|
-
SkSL::ErrorReporter* errors);
|
|
294
|
-
|
|
295
293
|
static Result MakeInternal(std::unique_ptr<SkSL::Program> program,
|
|
296
294
|
const Options& options,
|
|
297
295
|
SkSL::ProgramKind kind);
|
|
@@ -300,14 +298,11 @@ private:
|
|
|
300
298
|
|
|
301
299
|
uint32_t hash() const { return fHash; }
|
|
302
300
|
bool usesSampleCoords() const { return (fFlags & kUsesSampleCoords_Flag); }
|
|
303
|
-
bool allowShader() const { return (fFlags & kAllowShader_Flag); }
|
|
304
|
-
bool allowColorFilter() const { return (fFlags & kAllowColorFilter_Flag); }
|
|
305
|
-
bool allowBlender() const { return (fFlags & kAllowBlender_Flag); }
|
|
306
301
|
bool samplesOutsideMain() const { return (fFlags & kSamplesOutsideMain_Flag); }
|
|
307
302
|
bool usesColorTransform() const { return (fFlags & kUsesColorTransform_Flag); }
|
|
308
303
|
bool alwaysOpaque() const { return (fFlags & kAlwaysOpaque_Flag); }
|
|
309
304
|
|
|
310
|
-
const SkFilterColorProgram* getFilterColorProgram();
|
|
305
|
+
const SkFilterColorProgram* getFilterColorProgram() const;
|
|
311
306
|
|
|
312
307
|
#if SK_SUPPORT_GPU
|
|
313
308
|
friend class GrSkSLFP; // fBaseProgram, fSampleUsages
|
|
@@ -417,11 +412,8 @@ public:
|
|
|
417
412
|
|
|
418
413
|
const SkRuntimeEffect* effect() const { return fEffect.get(); }
|
|
419
414
|
|
|
420
|
-
BuilderUniform uniform(
|
|
421
|
-
BuilderChild child(
|
|
422
|
-
const SkRuntimeEffect::Child* child = fEffect->findChild(name);
|
|
423
|
-
return { this, child };
|
|
424
|
-
}
|
|
415
|
+
BuilderUniform uniform(std::string_view name) { return { this, fEffect->findUniform(name) }; }
|
|
416
|
+
BuilderChild child(std::string_view name) { return { this, fEffect->findChild(name) }; }
|
|
425
417
|
|
|
426
418
|
protected:
|
|
427
419
|
SkRuntimeEffectBuilder() = delete;
|
|
@@ -440,7 +432,7 @@ protected:
|
|
|
440
432
|
SkRuntimeEffectBuilder& operator=(SkRuntimeEffectBuilder&&) = delete;
|
|
441
433
|
SkRuntimeEffectBuilder& operator=(const SkRuntimeEffectBuilder&) = delete;
|
|
442
434
|
|
|
443
|
-
sk_sp<SkData> uniforms() { return fUniforms; }
|
|
435
|
+
sk_sp<const SkData> uniforms() { return fUniforms; }
|
|
444
436
|
SkRuntimeEffect::ChildPtr* children() { return fChildren.data(); }
|
|
445
437
|
size_t numChildren() { return fChildren.size(); }
|
|
446
438
|
|
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
#ifndef SkShaderMaskFilter_DEFINED
|
|
9
9
|
#define SkShaderMaskFilter_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkTypes.h"
|
|
12
13
|
|
|
14
|
+
class SkMaskFilter;
|
|
13
15
|
class SkShader;
|
|
14
16
|
|
|
15
17
|
class SK_API SkShaderMaskFilter {
|
|
@@ -10,33 +10,20 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkColorFilter.h"
|
|
12
12
|
|
|
13
|
+
// (DEPRECATED) These factory functions are deprecated. Please use the ones in
|
|
14
|
+
// SkColorFilters (i.e., Table and TableARGB).
|
|
13
15
|
class SK_API SkTableColorFilter {
|
|
14
16
|
public:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* a' = table[a];
|
|
19
|
-
* r' = table[r];
|
|
20
|
-
* g' = table[g];
|
|
21
|
-
* b' = table[b];
|
|
22
|
-
* Compoents are operated on in unpremultiplied space. If the incomming
|
|
23
|
-
* colors are premultiplied, they are temporarily unpremultiplied, then
|
|
24
|
-
* the table is applied, and then the result is remultiplied.
|
|
25
|
-
*/
|
|
26
|
-
static sk_sp<SkColorFilter> Make(const uint8_t table[256]);
|
|
17
|
+
static sk_sp<SkColorFilter> Make(const uint8_t table[256]) {
|
|
18
|
+
return SkColorFilters::Table(table);
|
|
19
|
+
}
|
|
27
20
|
|
|
28
|
-
/**
|
|
29
|
-
* Create a table colorfilter, with a different table for each
|
|
30
|
-
* component [A, R, G, B]. If a given table is NULL, then it is
|
|
31
|
-
* treated as identity, with the component left unchanged. If a table
|
|
32
|
-
* is not null, then its contents are copied into the filter.
|
|
33
|
-
*/
|
|
34
21
|
static sk_sp<SkColorFilter> MakeARGB(const uint8_t tableA[256],
|
|
35
22
|
const uint8_t tableR[256],
|
|
36
23
|
const uint8_t tableG[256],
|
|
37
|
-
const uint8_t tableB[256])
|
|
38
|
-
|
|
39
|
-
|
|
24
|
+
const uint8_t tableB[256]) {
|
|
25
|
+
return SkColorFilters::TableARGB(tableA, tableR, tableG, tableB);
|
|
26
|
+
}
|
|
40
27
|
};
|
|
41
28
|
|
|
42
29
|
#endif
|
|
@@ -8,8 +8,12 @@
|
|
|
8
8
|
#ifndef SkTableMaskFilter_DEFINED
|
|
9
9
|
#define SkTableMaskFilter_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkMaskFilter.h"
|
|
12
11
|
#include "include/core/SkScalar.h"
|
|
12
|
+
#include "include/core/SkTypes.h"
|
|
13
|
+
|
|
14
|
+
#include <cstdint>
|
|
15
|
+
|
|
16
|
+
class SkMaskFilter;
|
|
13
17
|
|
|
14
18
|
/** \class SkTableMaskFilter
|
|
15
19
|
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
#ifndef SkTrimPathEffect_DEFINED
|
|
9
9
|
#define SkTrimPathEffect_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkPathEffect;
|
|
12
16
|
|
|
13
17
|
class SK_API SkTrimPathEffect {
|
|
14
18
|
public:
|