@shopify/react-native-skia 0.1.157 → 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 +31 -30
- 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/JsiSkContourMeasure.h +7 -5
- 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/DrawingNode.js +1 -5
- package/lib/commonjs/dom/nodes/DrawingNode.js.map +1 -1
- 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 +3 -9
- package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/Text.js +4 -9
- package/lib/commonjs/dom/nodes/drawings/Text.js.map +1 -1
- package/lib/commonjs/dom/types/Common.js.map +1 -1
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/mock/index.js +0 -1
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +21 -57
- 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/components/Mask.js +1 -3
- package/lib/commonjs/renderer/components/Mask.js.map +1 -1
- package/lib/commonjs/renderer/components/Paint.js +5 -18
- package/lib/commonjs/renderer/components/Paint.js.map +1 -1
- package/lib/commonjs/renderer/useCanvas.js +8 -6
- package/lib/commonjs/renderer/useCanvas.js.map +1 -1
- package/lib/commonjs/skia/core/Picture.js +1 -24
- package/lib/commonjs/skia/core/Picture.js.map +1 -1
- package/lib/commonjs/skia/core/Rect.js +1 -1
- package/lib/commonjs/skia/core/Rect.js.map +1 -1
- package/lib/commonjs/skia/types/ContourMeasure.js.map +1 -1
- package/lib/commonjs/skia/types/Size.js +2 -0
- package/lib/commonjs/skia/types/Size.js.map +1 -0
- package/lib/commonjs/skia/types/index.js +13 -0
- package/lib/commonjs/skia/types/index.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColor.js +8 -0
- package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js +4 -7
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/commonjs/values/web/RNSkReadonlyValue.js +4 -2
- package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js +9 -2
- 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/DrawingNode.js +2 -6
- package/lib/module/dom/nodes/DrawingNode.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 +2 -5
- package/lib/module/dom/nodes/RenderNode.js.map +1 -1
- package/lib/module/dom/nodes/drawings/Text.js +4 -9
- package/lib/module/dom/nodes/drawings/Text.js.map +1 -1
- package/lib/module/dom/types/Common.js.map +1 -1
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/mock/index.js +0 -1
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/renderer/Canvas.js +22 -58
- 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/components/Mask.js +2 -4
- package/lib/module/renderer/components/Mask.js.map +1 -1
- package/lib/module/renderer/components/Paint.js +3 -14
- package/lib/module/renderer/components/Paint.js.map +1 -1
- package/lib/module/renderer/useCanvas.js +6 -4
- package/lib/module/renderer/useCanvas.js.map +1 -1
- package/lib/module/skia/core/Picture.js +0 -18
- package/lib/module/skia/core/Picture.js.map +1 -1
- package/lib/module/skia/core/Rect.js +1 -1
- package/lib/module/skia/core/Rect.js.map +1 -1
- package/lib/module/skia/types/ContourMeasure.js.map +1 -1
- package/lib/module/skia/types/Size.js +2 -0
- package/lib/module/skia/types/Size.js.map +1 -0
- package/lib/module/skia/types/index.js +1 -0
- package/lib/module/skia/types/index.js.map +1 -1
- package/lib/module/skia/web/JsiSkColor.js +8 -0
- package/lib/module/skia/web/JsiSkColor.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasure.js +3 -7
- package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/module/values/web/RNSkReadonlyValue.js +4 -2
- package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
- package/lib/module/views/SkiaBaseWebView.js +9 -2
- 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/dom/nodes/RenderNode.d.ts +1 -3
- package/lib/typescript/src/dom/types/Common.d.ts +2 -3
- package/lib/typescript/src/dom/types/Drawings.d.ts +1 -3
- package/lib/typescript/src/renderer/Canvas.d.ts +5 -5
- package/lib/typescript/src/renderer/DependencyManager.d.ts +0 -2
- package/lib/typescript/src/renderer/HostComponents.d.ts +67 -8
- package/lib/typescript/src/renderer/components/Paint.d.ts +3 -4
- package/lib/typescript/src/renderer/useCanvas.d.ts +1 -6
- package/lib/typescript/src/skia/core/Picture.d.ts +0 -8
- package/lib/typescript/src/skia/types/ContourMeasure.d.ts +3 -2
- package/lib/typescript/src/skia/types/Size.d.ts +4 -0
- package/lib/typescript/src/skia/types/index.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +2 -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 +6 -4
- package/react-native-skia.podspec +3 -1
- package/src/dom/nodes/DrawingNode.ts +2 -4
- package/src/dom/nodes/JsiSkDOM.ts +170 -56
- package/src/dom/nodes/RenderNode.ts +2 -14
- package/src/dom/nodes/drawings/Text.ts +4 -4
- package/src/dom/types/Common.ts +2 -4
- package/src/dom/types/Drawings.ts +1 -4
- package/src/mock/index.ts +0 -1
- package/src/renderer/Canvas.tsx +32 -51
- package/src/renderer/DependencyManager.tsx +0 -5
- package/src/renderer/HostComponents.ts +153 -5
- package/src/renderer/components/Mask.tsx +2 -2
- package/src/renderer/components/Paint.tsx +3 -14
- package/src/renderer/useCanvas.ts +5 -5
- package/src/skia/core/Picture.ts +0 -24
- package/src/skia/core/Rect.ts +1 -1
- package/src/skia/types/ContourMeasure.tsx +3 -2
- package/src/skia/types/Size.ts +4 -0
- package/src/skia/types/index.ts +1 -0
- package/src/skia/web/JsiSkColor.ts +11 -0
- package/src/skia/web/JsiSkContourMeasure.ts +7 -3
- package/src/values/web/RNSkReadonlyValue.ts +4 -2
- package/src/views/SkiaBaseWebView.tsx +6 -2
- 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
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"setup-skia-web": "./scripts/setup-canvaskit.js"
|
|
8
8
|
},
|
|
9
9
|
"title": "React Native Skia",
|
|
10
|
-
"version": "0.1.
|
|
10
|
+
"version": "0.1.159",
|
|
11
11
|
"description": "High-performance React Native Graphics using Skia",
|
|
12
12
|
"main": "lib/module/index.js",
|
|
13
13
|
"files": [
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"libs/ios/libsvg.xcframework",
|
|
33
33
|
"libs/ios/libskottie.xcframework",
|
|
34
34
|
"libs/ios/libsksg.xcframework",
|
|
35
|
+
"libs/ios/libskparagraph.xcframework",
|
|
36
|
+
"libs/ios/libskunicode.xcframework",
|
|
35
37
|
"react-native-skia.podspec",
|
|
36
38
|
"scripts/install-npm.js",
|
|
37
39
|
"scripts/setup-canvaskit.js",
|
|
@@ -77,21 +79,21 @@
|
|
|
77
79
|
}
|
|
78
80
|
},
|
|
79
81
|
"devDependencies": {
|
|
82
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
|
80
83
|
"@types/jest": "^28.1.6",
|
|
81
|
-
"@types/react-native": "0.
|
|
84
|
+
"@types/react-native": "0.70.6",
|
|
82
85
|
"@types/react-reconciler": "^0.26.7",
|
|
83
86
|
"eslint": "8.21.0",
|
|
84
87
|
"eslint-config-react-native-wcandillon": "3.9.0",
|
|
85
88
|
"eslint-plugin-reanimated": "2.0.0",
|
|
86
89
|
"jest": "28.1.3",
|
|
87
90
|
"react": "18.1.0",
|
|
88
|
-
"react-native": "0.70.
|
|
91
|
+
"react-native": "0.70.6",
|
|
89
92
|
"react-native-builder-bob": "^0.18.2",
|
|
90
93
|
"ts-jest": "^28.0.7",
|
|
91
94
|
"typescript": "4.8.3"
|
|
92
95
|
},
|
|
93
96
|
"dependencies": {
|
|
94
|
-
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
|
95
97
|
"canvaskit-wasm": "0.36.1",
|
|
96
98
|
"react-reconciler": "^0.27.0"
|
|
97
99
|
},
|
|
@@ -31,7 +31,9 @@ Pod::Spec.new do |s|
|
|
|
31
31
|
s.ios.vendored_frameworks = [
|
|
32
32
|
'libs/ios/libskia.xcframework',
|
|
33
33
|
'libs/ios/libsvg.xcframework',
|
|
34
|
-
'libs/ios/libskshaper.xcframework'
|
|
34
|
+
'libs/ios/libskshaper.xcframework',
|
|
35
|
+
'libs/ios/libskparagraph.xcframework',
|
|
36
|
+
'libs/ios/libskunicode.xcframework',
|
|
35
37
|
]
|
|
36
38
|
|
|
37
39
|
# All iOS cpp/h files
|
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
import type { NodeContext } from "./Node";
|
|
10
10
|
import { JsiDeclarationNode } from "./Node";
|
|
11
11
|
import { PaintNode } from "./PaintNode";
|
|
12
|
-
import {
|
|
12
|
+
import { JsiRenderNode } from "./RenderNode";
|
|
13
13
|
|
|
14
14
|
export abstract class JsiDrawingNode<P extends DrawingNodeProps, C>
|
|
15
15
|
extends JsiRenderNode<P>
|
|
@@ -52,10 +52,8 @@ export abstract class JsiDrawingNode<P extends DrawingNodeProps, C>
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
renderNode(ctx: DrawingContext): void {
|
|
55
|
-
if (this.props.paint
|
|
55
|
+
if (this.props.paint) {
|
|
56
56
|
this.draw({ ...ctx, paint: this.props.paint });
|
|
57
|
-
} else if (this.props.paint && this.props.paint.current != null) {
|
|
58
|
-
this.draw({ ...ctx, paint: this.props.paint.current.materialize() });
|
|
59
57
|
} else {
|
|
60
58
|
this.draw(ctx);
|
|
61
59
|
}
|
|
@@ -127,232 +127,346 @@ export class JsiSkDOM implements SkDOM {
|
|
|
127
127
|
constructor(private ctx: NodeContext) {}
|
|
128
128
|
|
|
129
129
|
Layer(props?: ChildrenProps) {
|
|
130
|
-
return
|
|
130
|
+
return global.SkiaDomApi && global.SkiaDomApi.LayerNode
|
|
131
|
+
? global.SkiaDomApi.LayerNode(props ?? {})
|
|
132
|
+
: new LayerNode(this.ctx, props ?? {});
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
Group(props?: GroupProps) {
|
|
134
|
-
return
|
|
136
|
+
return global.SkiaDomApi && global.SkiaDomApi.GroupNode
|
|
137
|
+
? global.SkiaDomApi.GroupNode(props ?? {})
|
|
138
|
+
: new GroupNode(this.ctx, props ?? {});
|
|
135
139
|
}
|
|
136
140
|
|
|
137
141
|
Paint(props: PaintProps) {
|
|
138
|
-
return
|
|
142
|
+
return global.SkiaDomApi && global.SkiaDomApi.PaintNode
|
|
143
|
+
? global.SkiaDomApi.PaintNode(props ?? {})
|
|
144
|
+
: new PaintNode(this.ctx, props);
|
|
139
145
|
}
|
|
140
146
|
|
|
141
147
|
// Drawings
|
|
142
148
|
Fill(props?: DrawingNodeProps) {
|
|
143
|
-
return
|
|
149
|
+
return global.SkiaDomApi && global.SkiaDomApi.FillNode
|
|
150
|
+
? global.SkiaDomApi.FillNode(props ?? {})
|
|
151
|
+
: new FillNode(this.ctx, props);
|
|
144
152
|
}
|
|
145
153
|
|
|
146
154
|
Image(props: ImageProps) {
|
|
147
|
-
return
|
|
155
|
+
return global.SkiaDomApi && global.SkiaDomApi.ImageNode
|
|
156
|
+
? global.SkiaDomApi.ImageNode(props ?? {})
|
|
157
|
+
: new ImageNode(this.ctx, props);
|
|
148
158
|
}
|
|
149
159
|
|
|
150
160
|
Circle(props: CircleProps) {
|
|
151
|
-
return
|
|
161
|
+
return global.SkiaDomApi && global.SkiaDomApi.CircleNode
|
|
162
|
+
? global.SkiaDomApi.CircleNode(props ?? {})
|
|
163
|
+
: new CircleNode(this.ctx, props);
|
|
152
164
|
}
|
|
153
165
|
|
|
154
166
|
Path(props: PathProps) {
|
|
155
|
-
return
|
|
167
|
+
return global.SkiaDomApi && global.SkiaDomApi.PathNode
|
|
168
|
+
? global.SkiaDomApi.PathNode(props ?? {})
|
|
169
|
+
: new PathNode(this.ctx, props);
|
|
156
170
|
}
|
|
157
171
|
|
|
158
172
|
CustomDrawing(props: CustomDrawingNodeProps) {
|
|
159
|
-
return
|
|
173
|
+
return global.SkiaDomApi && global.SkiaDomApi.CustomDrawingNode
|
|
174
|
+
? global.SkiaDomApi.CustomDrawingNode(props ?? {})
|
|
175
|
+
: new CustomDrawingNode(this.ctx, props);
|
|
160
176
|
}
|
|
161
177
|
|
|
162
178
|
Line(props: LineProps) {
|
|
163
|
-
return
|
|
179
|
+
return global.SkiaDomApi && global.SkiaDomApi.LineNode
|
|
180
|
+
? global.SkiaDomApi.LineNode(props ?? {})
|
|
181
|
+
: new LineNode(this.ctx, props);
|
|
164
182
|
}
|
|
165
183
|
|
|
166
184
|
Oval(props: OvalProps) {
|
|
167
|
-
return
|
|
185
|
+
return global.SkiaDomApi && global.SkiaDomApi.OvalNode
|
|
186
|
+
? global.SkiaDomApi.OvalNode(props ?? {})
|
|
187
|
+
: new OvalNode(this.ctx, props);
|
|
168
188
|
}
|
|
169
189
|
|
|
170
190
|
Patch(props: PatchProps) {
|
|
171
|
-
return
|
|
191
|
+
return global.SkiaDomApi && global.SkiaDomApi.PatchNode
|
|
192
|
+
? global.SkiaDomApi.PatchNode(props ?? {})
|
|
193
|
+
: new PatchNode(this.ctx, props);
|
|
172
194
|
}
|
|
173
195
|
|
|
174
196
|
Points(props: PointsProps) {
|
|
175
|
-
return
|
|
197
|
+
return global.SkiaDomApi && global.SkiaDomApi.PointsNode
|
|
198
|
+
? global.SkiaDomApi.PointsNode(props ?? {})
|
|
199
|
+
: new PointsNode(this.ctx, props);
|
|
176
200
|
}
|
|
177
201
|
|
|
178
202
|
Rect(props: RectProps) {
|
|
179
|
-
return
|
|
203
|
+
return global.SkiaDomApi && global.SkiaDomApi.RectNode
|
|
204
|
+
? global.SkiaDomApi.RectNode(props)
|
|
205
|
+
: new RectNode(this.ctx, props);
|
|
180
206
|
}
|
|
181
207
|
|
|
182
208
|
RRect(props: RoundedRectProps) {
|
|
183
|
-
return
|
|
209
|
+
return global.SkiaDomApi && global.SkiaDomApi.RRectNode
|
|
210
|
+
? global.SkiaDomApi.RRectNode(props)
|
|
211
|
+
: new RRectNode(this.ctx, props);
|
|
184
212
|
}
|
|
185
213
|
|
|
186
214
|
Vertices(props: VerticesProps) {
|
|
187
|
-
return
|
|
215
|
+
return global.SkiaDomApi && global.SkiaDomApi.VerticesNode
|
|
216
|
+
? global.SkiaDomApi.VerticesNode(props)
|
|
217
|
+
: new VerticesNode(this.ctx, props);
|
|
188
218
|
}
|
|
189
219
|
|
|
190
220
|
Text(props: TextProps) {
|
|
191
|
-
return
|
|
221
|
+
return global.SkiaDomApi && global.SkiaDomApi.TextNode
|
|
222
|
+
? global.SkiaDomApi.TextNode(props)
|
|
223
|
+
: new TextNode(this.ctx, props);
|
|
192
224
|
}
|
|
193
225
|
|
|
194
226
|
TextPath(props: TextPathProps) {
|
|
195
|
-
return
|
|
227
|
+
return global.SkiaDomApi && global.SkiaDomApi.TextPathNode
|
|
228
|
+
? global.SkiaDomApi.TextPathNode(props)
|
|
229
|
+
: new TextPathNode(this.ctx, props);
|
|
196
230
|
}
|
|
197
231
|
|
|
198
232
|
TextBlob(props: TextBlobProps) {
|
|
199
|
-
return
|
|
233
|
+
return global.SkiaDomApi && global.SkiaDomApi.TextBlobNode
|
|
234
|
+
? global.SkiaDomApi.TextBlobNode(props)
|
|
235
|
+
: new TextBlobNode(this.ctx, props);
|
|
200
236
|
}
|
|
201
237
|
|
|
202
238
|
Glyphs(props: GlyphsProps) {
|
|
203
|
-
return
|
|
239
|
+
return global.SkiaDomApi && global.SkiaDomApi.GlyphsNode
|
|
240
|
+
? global.SkiaDomApi.GlyphsNode(props)
|
|
241
|
+
: new GlyphsNode(this.ctx, props);
|
|
204
242
|
}
|
|
205
243
|
|
|
206
244
|
DiffRect(props: DiffRectProps) {
|
|
207
|
-
return
|
|
245
|
+
return global.SkiaDomApi && global.SkiaDomApi.DiffRectNode
|
|
246
|
+
? global.SkiaDomApi.DiffRectNode(props)
|
|
247
|
+
: new DiffRectNode(this.ctx, props);
|
|
208
248
|
}
|
|
209
249
|
|
|
210
250
|
Picture(props: PictureProps) {
|
|
211
|
-
return
|
|
251
|
+
return global.SkiaDomApi && global.SkiaDomApi.PictureNode
|
|
252
|
+
? global.SkiaDomApi.PictureNode(props)
|
|
253
|
+
: new PictureNode(this.ctx, props);
|
|
212
254
|
}
|
|
213
255
|
|
|
214
256
|
ImageSVG(props: ImageSVGProps) {
|
|
215
|
-
return
|
|
257
|
+
return global.SkiaDomApi && global.SkiaDomApi.ImageSVGNode
|
|
258
|
+
? global.SkiaDomApi.ImageSVGNode(props)
|
|
259
|
+
: new ImageSVGNode(this.ctx, props);
|
|
216
260
|
}
|
|
217
261
|
|
|
218
262
|
// BlurMaskFilters
|
|
219
263
|
BlurMaskFilter(props: BlurMaskFilterProps) {
|
|
220
|
-
return
|
|
264
|
+
return global.SkiaDomApi && global.SkiaDomApi.BlurMaskFilterNode
|
|
265
|
+
? global.SkiaDomApi.BlurMaskFilterNode(props)
|
|
266
|
+
: new BlurMaskFilterNode(this.ctx, props);
|
|
221
267
|
}
|
|
222
268
|
|
|
223
269
|
// ImageFilters
|
|
224
270
|
BlendImageFilter(props: BlendImageFilterProps) {
|
|
225
|
-
return
|
|
271
|
+
return global.SkiaDomApi && global.SkiaDomApi.BlendImageFilterNode
|
|
272
|
+
? global.SkiaDomApi.BlendImageFilterNode(props)
|
|
273
|
+
: new BlendImageFilterNode(this.ctx, props);
|
|
226
274
|
}
|
|
227
275
|
|
|
228
276
|
DropShadowImageFilter(props: DropShadowImageFilterProps) {
|
|
229
|
-
return
|
|
277
|
+
return global.SkiaDomApi && global.SkiaDomApi.DropShadowImageFilterNode
|
|
278
|
+
? global.SkiaDomApi.DropShadowImageFilterNode(props)
|
|
279
|
+
: new DropShadowImageFilterNode(this.ctx, props);
|
|
230
280
|
}
|
|
231
281
|
|
|
232
282
|
DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {
|
|
233
|
-
return
|
|
283
|
+
return global.SkiaDomApi && global.SkiaDomApi.DisplacementMapImageFilterNode
|
|
284
|
+
? global.SkiaDomApi.DisplacementMapImageFilterNode(props)
|
|
285
|
+
: new DisplacementMapImageFilterNode(this.ctx, props);
|
|
234
286
|
}
|
|
235
287
|
|
|
236
288
|
BlurImageFilter(props: BlurImageFilterProps) {
|
|
237
|
-
return
|
|
289
|
+
return global.SkiaDomApi && global.SkiaDomApi.BlurImageFilterNode
|
|
290
|
+
? global.SkiaDomApi.BlurImageFilterNode(props)
|
|
291
|
+
: new BlurImageFilterNode(this.ctx, props);
|
|
238
292
|
}
|
|
239
293
|
|
|
240
294
|
OffsetImageFilter(props: OffsetImageFilterProps) {
|
|
241
|
-
return
|
|
295
|
+
return global.SkiaDomApi && global.SkiaDomApi.OffsetImageFilterNode
|
|
296
|
+
? global.SkiaDomApi.OffsetImageFilterNode(props)
|
|
297
|
+
: new OffsetImageFilterNode(this.ctx, props);
|
|
242
298
|
}
|
|
243
299
|
|
|
244
300
|
MorphologyImageFilter(props: MorphologyImageFilterProps) {
|
|
245
|
-
return
|
|
301
|
+
return global.SkiaDomApi && global.SkiaDomApi.MorphologyImageFilterNode
|
|
302
|
+
? global.SkiaDomApi.MorphologyImageFilterNode(props)
|
|
303
|
+
: new MorphologyImageFilterNode(this.ctx, props);
|
|
246
304
|
}
|
|
247
305
|
|
|
248
306
|
RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {
|
|
249
|
-
return
|
|
307
|
+
return global.SkiaDomApi && global.SkiaDomApi.RuntimeShaderImageFilterNode
|
|
308
|
+
? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)
|
|
309
|
+
: new RuntimeShaderImageFilterNode(this.ctx, props);
|
|
250
310
|
}
|
|
251
311
|
|
|
252
312
|
// Color Filters
|
|
253
313
|
MatrixColorFilter(props: MatrixColorFilterProps) {
|
|
254
|
-
return
|
|
314
|
+
return global.SkiaDomApi && global.SkiaDomApi.MatrixColorFilterNode
|
|
315
|
+
? global.SkiaDomApi.MatrixColorFilterNode(props)
|
|
316
|
+
: new MatrixColorFilterNode(this.ctx, props);
|
|
255
317
|
}
|
|
256
318
|
|
|
257
319
|
BlendColorFilter(props: BlendColorFilterProps) {
|
|
258
|
-
return
|
|
320
|
+
return global.SkiaDomApi && global.SkiaDomApi.BlendColorFilterNode
|
|
321
|
+
? global.SkiaDomApi.BlendColorFilterNode(props)
|
|
322
|
+
: new BlendColorFilterNode(this.ctx, props);
|
|
259
323
|
}
|
|
260
324
|
|
|
261
325
|
LumaColorFilter() {
|
|
262
|
-
return
|
|
326
|
+
return global.SkiaDomApi && global.SkiaDomApi.LumaColorFilterNode
|
|
327
|
+
? global.SkiaDomApi.LumaColorFilterNode()
|
|
328
|
+
: new LumaColorFilterNode(this.ctx);
|
|
263
329
|
}
|
|
264
330
|
|
|
265
331
|
LinearToSRGBGammaColorFilter() {
|
|
266
|
-
return
|
|
332
|
+
return global.SkiaDomApi &&
|
|
333
|
+
global.SkiaDomApi.LinearToSRGBGammaColorFilterNode
|
|
334
|
+
? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()
|
|
335
|
+
: new LinearToSRGBGammaColorFilterNode(this.ctx);
|
|
267
336
|
}
|
|
268
337
|
|
|
269
338
|
SRGBToLinearGammaColorFilter() {
|
|
270
|
-
return
|
|
339
|
+
return global.SkiaDomApi &&
|
|
340
|
+
global.SkiaDomApi.SRGBToLinearGammaColorFilterNode
|
|
341
|
+
? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()
|
|
342
|
+
: new SRGBToLinearGammaColorFilterNode(this.ctx);
|
|
271
343
|
}
|
|
272
344
|
|
|
273
345
|
LerpColorFilter(props: LerpColorFilterProps) {
|
|
274
|
-
return
|
|
346
|
+
return global.SkiaDomApi && global.SkiaDomApi.LerpColorFilterNode
|
|
347
|
+
? global.SkiaDomApi.LerpColorFilterNode(props)
|
|
348
|
+
: new LerpColorFilterNode(this.ctx, props);
|
|
275
349
|
}
|
|
276
350
|
|
|
277
351
|
// Shaders
|
|
278
352
|
Shader(props: ShaderProps) {
|
|
279
|
-
return
|
|
353
|
+
return global.SkiaDomApi && global.SkiaDomApi.ShaderNode
|
|
354
|
+
? global.SkiaDomApi.ShaderNode(props)
|
|
355
|
+
: new ShaderNode(this.ctx, props);
|
|
280
356
|
}
|
|
281
357
|
|
|
282
358
|
ImageShader(props: ImageShaderProps) {
|
|
283
|
-
return
|
|
359
|
+
return global.SkiaDomApi && global.SkiaDomApi.ImageShaderNode
|
|
360
|
+
? global.SkiaDomApi.ImageShaderNode(props)
|
|
361
|
+
: new ImageShaderNode(this.ctx, props);
|
|
284
362
|
}
|
|
285
363
|
|
|
286
364
|
ColorShader(props: ColorProps) {
|
|
287
|
-
return
|
|
365
|
+
return global.SkiaDomApi && global.SkiaDomApi.ColorShaderNode
|
|
366
|
+
? global.SkiaDomApi.ColorShaderNode(props)
|
|
367
|
+
: new ColorNode(this.ctx, props);
|
|
288
368
|
}
|
|
289
369
|
|
|
290
370
|
SweepGradient(props: SweepGradientProps) {
|
|
291
|
-
return
|
|
371
|
+
return global.SkiaDomApi && global.SkiaDomApi.SweepGradientNode
|
|
372
|
+
? global.SkiaDomApi.SweepGradientNode(props)
|
|
373
|
+
: new SweepGradientNode(this.ctx, props);
|
|
292
374
|
}
|
|
293
375
|
|
|
294
376
|
Turbulence(props: TurbulenceProps) {
|
|
295
|
-
return
|
|
377
|
+
return global.SkiaDomApi && global.SkiaDomApi.TurbulenceNode
|
|
378
|
+
? global.SkiaDomApi.TurbulenceNode(props)
|
|
379
|
+
: new TurbulenceNode(this.ctx, props);
|
|
296
380
|
}
|
|
297
381
|
|
|
298
382
|
FractalNoise(props: FractalNoiseProps) {
|
|
299
|
-
return
|
|
383
|
+
return global.SkiaDomApi && global.SkiaDomApi.FractalNoiseNode
|
|
384
|
+
? global.SkiaDomApi.FractalNoiseNode(props)
|
|
385
|
+
: new FractalNoiseNode(this.ctx, props);
|
|
300
386
|
}
|
|
301
387
|
|
|
302
388
|
LinearGradient(props: LinearGradientProps) {
|
|
303
|
-
return
|
|
389
|
+
return global.SkiaDomApi && global.SkiaDomApi.LinearGradientNode
|
|
390
|
+
? global.SkiaDomApi.LinearGradientNode(props)
|
|
391
|
+
: new LinearGradientNode(this.ctx, props);
|
|
304
392
|
}
|
|
305
393
|
|
|
306
394
|
RadialGradient(props: RadialGradientProps) {
|
|
307
|
-
return
|
|
395
|
+
return global.SkiaDomApi && global.SkiaDomApi.RadialGradientNode
|
|
396
|
+
? global.SkiaDomApi.RadialGradientNode(props)
|
|
397
|
+
: new RadialGradientNode(this.ctx, props);
|
|
308
398
|
}
|
|
309
399
|
|
|
310
400
|
TwoPointConicalGradient(props: TwoPointConicalGradientProps) {
|
|
311
|
-
return
|
|
401
|
+
return global.SkiaDomApi && global.SkiaDomApi.TwoPointConicalGradientNode
|
|
402
|
+
? global.SkiaDomApi.TwoPointConicalGradientNode(props)
|
|
403
|
+
: new TwoPointConicalGradientNode(this.ctx, props);
|
|
312
404
|
}
|
|
313
405
|
|
|
314
406
|
// Path Effects
|
|
315
407
|
CornerPathEffect(props: CornerPathEffectProps) {
|
|
316
|
-
return
|
|
408
|
+
return global.SkiaDomApi && global.SkiaDomApi.CornerPathEffectNode
|
|
409
|
+
? global.SkiaDomApi.CornerPathEffectNode(props)
|
|
410
|
+
: new CornerPathEffectNode(this.ctx, props);
|
|
317
411
|
}
|
|
318
412
|
|
|
319
413
|
DiscretePathEffect(props: DiscretePathEffectProps) {
|
|
320
|
-
return
|
|
414
|
+
return global.SkiaDomApi && global.SkiaDomApi.DiscretePathEffectNode
|
|
415
|
+
? global.SkiaDomApi.DiscretePathEffectNode(props)
|
|
416
|
+
: new DiscretePathEffectNode(this.ctx, props);
|
|
321
417
|
}
|
|
322
418
|
|
|
323
419
|
DashPathEffect(props: DashPathEffectProps) {
|
|
324
|
-
return
|
|
420
|
+
return global.SkiaDomApi && global.SkiaDomApi.DashPathEffectNode
|
|
421
|
+
? global.SkiaDomApi.DashPathEffectNode(props)
|
|
422
|
+
: new DashPathEffectNode(this.ctx, props);
|
|
325
423
|
}
|
|
326
424
|
|
|
327
425
|
Path1DPathEffect(props: Path1DPathEffectProps) {
|
|
328
|
-
return
|
|
426
|
+
return global.SkiaDomApi && global.SkiaDomApi.Path1DPathEffectNode
|
|
427
|
+
? global.SkiaDomApi.Path1DPathEffectNode(props)
|
|
428
|
+
: new Path1DPathEffectNode(this.ctx, props);
|
|
329
429
|
}
|
|
330
430
|
|
|
331
431
|
Path2DPathEffect(props: Path2DPathEffectProps) {
|
|
332
|
-
return
|
|
432
|
+
return global.SkiaDomApi && global.SkiaDomApi.Path2DPathEffectNode
|
|
433
|
+
? global.SkiaDomApi.Path2DPathEffectNode(props)
|
|
434
|
+
: new Path2DPathEffectNode(this.ctx, props);
|
|
333
435
|
}
|
|
334
436
|
|
|
335
437
|
SumPathEffect() {
|
|
336
|
-
return
|
|
438
|
+
return global.SkiaDomApi && global.SkiaDomApi.SumPathEffectNode
|
|
439
|
+
? global.SkiaDomApi.SumPathEffectNode()
|
|
440
|
+
: new SumPathEffectNode(this.ctx);
|
|
337
441
|
}
|
|
338
442
|
|
|
339
443
|
Line2DPathEffect(props: Line2DPathEffectProps) {
|
|
340
|
-
return
|
|
444
|
+
return global.SkiaDomApi && global.SkiaDomApi.Line2DPathEffectNode
|
|
445
|
+
? global.SkiaDomApi.Line2DPathEffectNode(props)
|
|
446
|
+
: new Line2DPathEffectNode(this.ctx, props);
|
|
341
447
|
}
|
|
342
448
|
|
|
343
449
|
Blend(props: BlendProps) {
|
|
344
|
-
return
|
|
450
|
+
return global.SkiaDomApi && global.SkiaDomApi.BlendNode
|
|
451
|
+
? global.SkiaDomApi.BlendNode(props)
|
|
452
|
+
: new BlendNode(this.ctx, props);
|
|
345
453
|
}
|
|
346
454
|
|
|
347
455
|
BackdropFilter(props: ChildrenProps) {
|
|
348
|
-
return
|
|
456
|
+
return global.SkiaDomApi && global.SkiaDomApi.BackdropFilterNode
|
|
457
|
+
? global.SkiaDomApi.BackdropFilterNode(props)
|
|
458
|
+
: new BackdropFilterNode(this.ctx, props);
|
|
349
459
|
}
|
|
350
460
|
|
|
351
461
|
Box(props: BoxProps) {
|
|
352
|
-
return
|
|
462
|
+
return global.SkiaDomApi && global.SkiaDomApi.BoxNode
|
|
463
|
+
? global.SkiaDomApi.BoxNode(props)
|
|
464
|
+
: new BoxNode(this.ctx, props);
|
|
353
465
|
}
|
|
354
466
|
|
|
355
467
|
BoxShadow(props: BoxShadowProps) {
|
|
356
|
-
return
|
|
468
|
+
return global.SkiaDomApi && global.SkiaDomApi.BoxShadowNode
|
|
469
|
+
? global.SkiaDomApi.BoxShadowNode(props)
|
|
470
|
+
: new BoxShadowNode(this.ctx, props);
|
|
357
471
|
}
|
|
358
472
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { RefObject } from "react";
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
SkMatrix,
|
|
5
3
|
SkRect,
|
|
@@ -21,7 +19,6 @@ import type {
|
|
|
21
19
|
DrawingContext,
|
|
22
20
|
NodeType,
|
|
23
21
|
Node,
|
|
24
|
-
DeclarationNode,
|
|
25
22
|
} from "../types";
|
|
26
23
|
|
|
27
24
|
import { isPathDef, processPath, processTransformProps } from "./datatypes";
|
|
@@ -236,17 +233,12 @@ export abstract class JsiRenderNode<P extends GroupProps>
|
|
|
236
233
|
this.clipRRect !== undefined;
|
|
237
234
|
const shouldSave = hasTransform || hasClip || !!layer;
|
|
238
235
|
const op = invertClip ? ClipOp.Difference : ClipOp.Intersect;
|
|
239
|
-
|
|
240
236
|
if (shouldSave) {
|
|
241
237
|
if (layer) {
|
|
242
238
|
if (typeof layer === "boolean") {
|
|
243
239
|
canvas.saveLayer();
|
|
244
|
-
} else if (isSkPaint(layer)) {
|
|
245
|
-
canvas.saveLayer(layer);
|
|
246
240
|
} else {
|
|
247
|
-
canvas.saveLayer(
|
|
248
|
-
layer.current ? layer.current.materialize() : undefined
|
|
249
|
-
);
|
|
241
|
+
canvas.saveLayer(layer);
|
|
250
242
|
}
|
|
251
243
|
} else {
|
|
252
244
|
canvas.save();
|
|
@@ -274,10 +266,6 @@ export abstract class JsiRenderNode<P extends GroupProps>
|
|
|
274
266
|
abstract renderNode(ctx: DrawingContext): void;
|
|
275
267
|
}
|
|
276
268
|
|
|
277
|
-
export const isSkPaint = (
|
|
278
|
-
obj: RefObject<DeclarationNode<unknown, SkPaint>> | SkPaint
|
|
279
|
-
): obj is SkPaint => "__typename__" in obj && obj.__typename__ === "Paint";
|
|
280
|
-
|
|
281
269
|
const concatPaint = (
|
|
282
270
|
parent: SkPaint,
|
|
283
271
|
{
|
|
@@ -305,7 +293,7 @@ const concatPaint = (
|
|
|
305
293
|
paint.setColor(color);
|
|
306
294
|
} else {
|
|
307
295
|
const cl = paint.getColor();
|
|
308
|
-
cl[3]
|
|
296
|
+
cl[3] = opacity;
|
|
309
297
|
paint.setColor(cl);
|
|
310
298
|
}
|
|
311
299
|
if (strokeWidth !== undefined) {
|
|
@@ -57,10 +57,10 @@ export class TextPathNode extends JsiDrawingNode<TextPathProps, SkTextBlob> {
|
|
|
57
57
|
}
|
|
58
58
|
// Gives us the (x, y) coordinates as well as the cos/sin of the tangent
|
|
59
59
|
// line at that position.
|
|
60
|
-
const
|
|
61
|
-
const adjustedX =
|
|
62
|
-
const adjustedY =
|
|
63
|
-
rsx.push(this.Skia.RSXform(
|
|
60
|
+
const [p, t] = cont.getPosTan(dist);
|
|
61
|
+
const adjustedX = p.x - (width / 2) * t.x;
|
|
62
|
+
const adjustedY = p.y - (width / 2) * t.y;
|
|
63
|
+
rsx.push(this.Skia.RSXform(t.x, t.y, adjustedX, adjustedY));
|
|
64
64
|
dist += width / 2;
|
|
65
65
|
}
|
|
66
66
|
return this.Skia.TextBlob.MakeFromRSXform(text, rsx, font);
|
package/src/dom/types/Common.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReactNode
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
2
|
|
|
3
3
|
import type {
|
|
4
4
|
BlendMode,
|
|
@@ -15,8 +15,6 @@ import type {
|
|
|
15
15
|
Vector,
|
|
16
16
|
} from "../../skia/types";
|
|
17
17
|
|
|
18
|
-
import type { DeclarationNode } from "./Node";
|
|
19
|
-
|
|
20
18
|
export type SkEnum<T> = Uncapitalize<keyof T extends string ? keyof T : never>;
|
|
21
19
|
|
|
22
20
|
export type PathDef = string | SkPath;
|
|
@@ -86,5 +84,5 @@ export interface PaintProps extends ChildrenProps {
|
|
|
86
84
|
export interface GroupProps extends PaintProps, TransformProps {
|
|
87
85
|
clip?: ClipDef;
|
|
88
86
|
invertClip?: boolean;
|
|
89
|
-
layer?:
|
|
87
|
+
layer?: SkPaint | boolean;
|
|
90
88
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { RefObject } from "react";
|
|
2
|
-
|
|
3
1
|
import type {
|
|
4
2
|
FillType,
|
|
5
3
|
SkImage,
|
|
@@ -29,10 +27,9 @@ import type {
|
|
|
29
27
|
SkEnum,
|
|
30
28
|
} from "./Common";
|
|
31
29
|
import type { DrawingContext } from "./DrawingContext";
|
|
32
|
-
import type { DeclarationNode } from "./Node";
|
|
33
30
|
|
|
34
31
|
export interface DrawingNodeProps extends GroupProps {
|
|
35
|
-
paint?: SkPaint
|
|
32
|
+
paint?: SkPaint;
|
|
36
33
|
}
|
|
37
34
|
|
|
38
35
|
export type ImageProps = DrawingNodeProps &
|