@shopify/react-native-skia 0.1.158 → 0.1.160
Sign up to get free protection for your applications and to get access to all the features.
- 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 +222 -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 +293 -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 +384 -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 +79 -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 +62 -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 +171 -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 +41 -55
- 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 +24 -66
- 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 +15 -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 +25 -66
- 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 +15 -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 +5 -2
- package/src/dom/nodes/JsiSkDOM.ts +170 -56
- package/src/dom/nodes/RenderNode.ts +1 -1
- package/src/renderer/Canvas.tsx +37 -57
- 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 +9 -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:
|