@shopify/react-native-skia 0.1.158 → 0.1.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +35 -11
- package/android/build.gradle +21 -25
- package/android/cpp/jni/JniLoad.cpp +2 -0
- package/android/cpp/jni/include/JniSkiaDomView.h +89 -0
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +4 -3
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +4 -3
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +2 -1
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +45 -0
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +64 -0
- package/cpp/api/JsiSkHostObjects.h +6 -0
- package/cpp/api/JsiSkImageFilterFactory.h +1 -1
- package/cpp/api/JsiSkPaint.h +9 -2
- package/cpp/api/JsiSkPath.h +1 -0
- package/cpp/api/JsiSkRuntimeEffect.h +36 -36
- package/cpp/jsi/JsiHostObject.cpp +16 -28
- package/cpp/jsi/JsiHostObject.h +127 -7
- package/cpp/jsi/JsiValue.cpp +346 -0
- package/cpp/jsi/JsiValue.h +222 -0
- package/cpp/jsi/JsiValueWrapper.h +33 -5
- package/cpp/rnskia/RNSkDomView.cpp +220 -0
- package/cpp/rnskia/RNSkDomView.h +140 -0
- package/cpp/rnskia/RNSkJsView.cpp +0 -4
- package/cpp/rnskia/RNSkJsView.h +6 -4
- package/cpp/rnskia/RNSkManager.cpp +7 -0
- package/cpp/rnskia/RNSkPictureView.h +5 -8
- package/cpp/rnskia/RNSkView.h +113 -5
- package/cpp/rnskia/dom/JsiDomApi.h +167 -0
- package/cpp/rnskia/dom/base/BaseNodeProp.h +72 -0
- package/cpp/rnskia/dom/base/DerivedNodeProp.h +187 -0
- package/cpp/rnskia/dom/base/DrawingContext.cpp +227 -0
- package/cpp/rnskia/dom/base/DrawingContext.h +136 -0
- package/cpp/rnskia/dom/base/JsiDependencyManager.h +294 -0
- package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +176 -0
- package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +50 -0
- package/cpp/rnskia/dom/base/JsiDomNode.h +361 -0
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +267 -0
- package/cpp/rnskia/dom/base/NodeProp.h +130 -0
- package/cpp/rnskia/dom/base/NodePropsContainer.h +119 -0
- package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +38 -0
- package/cpp/rnskia/dom/nodes/JsiBlendNode.h +112 -0
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +78 -0
- package/cpp/rnskia/dom/nodes/JsiBoxNode.h +104 -0
- package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +33 -0
- package/cpp/rnskia/dom/nodes/JsiCircleNode.h +38 -0
- package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +192 -0
- package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +123 -0
- package/cpp/rnskia/dom/nodes/JsiDiffRectNode.h +42 -0
- package/cpp/rnskia/dom/nodes/JsiFillNode.h +22 -0
- package/cpp/rnskia/dom/nodes/JsiGlyphsNode.h +56 -0
- package/cpp/rnskia/dom/nodes/JsiGroupNode.h +26 -0
- package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +415 -0
- package/cpp/rnskia/dom/nodes/JsiImageNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiImageSvgNode.h +44 -0
- package/cpp/rnskia/dom/nodes/JsiLayerNode.h +64 -0
- package/cpp/rnskia/dom/nodes/JsiLineNode.h +43 -0
- package/cpp/rnskia/dom/nodes/JsiOvalNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiPaintNode.h +77 -0
- package/cpp/rnskia/dom/nodes/JsiPatchNode.h +54 -0
- package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +315 -0
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +181 -0
- package/cpp/rnskia/dom/nodes/JsiPictureNode.h +32 -0
- package/cpp/rnskia/dom/nodes/JsiPointsNode.h +51 -0
- package/cpp/rnskia/dom/nodes/JsiRRectNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiRectNode.h +34 -0
- package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +517 -0
- package/cpp/rnskia/dom/nodes/JsiTextBlobNode.h +47 -0
- package/cpp/rnskia/dom/nodes/JsiTextNode.h +54 -0
- package/cpp/rnskia/dom/nodes/JsiTextPathNode.h +32 -0
- package/cpp/rnskia/dom/nodes/JsiVerticesNode.h +43 -0
- package/cpp/rnskia/dom/props/BezierProps.h +63 -0
- package/cpp/rnskia/dom/props/BlendModeProp.h +101 -0
- package/cpp/rnskia/dom/props/BoxShadowProps.h +61 -0
- package/cpp/rnskia/dom/props/CircleProp.h +46 -0
- package/cpp/rnskia/dom/props/ClipProp.h +62 -0
- package/cpp/rnskia/dom/props/ColorProp.h +80 -0
- package/cpp/rnskia/dom/props/DrawingProp.h +33 -0
- package/cpp/rnskia/dom/props/FontProp.h +34 -0
- package/cpp/rnskia/dom/props/GlyphsProp.h +53 -0
- package/cpp/rnskia/dom/props/ImageProps.h +173 -0
- package/cpp/rnskia/dom/props/LayerProp.h +50 -0
- package/cpp/rnskia/dom/props/MatrixProp.h +33 -0
- package/cpp/rnskia/dom/props/NumbersProp.h +63 -0
- package/cpp/rnskia/dom/props/PaintProps.h +172 -0
- package/cpp/rnskia/dom/props/PathProp.h +55 -0
- package/cpp/rnskia/dom/props/PictureProp.h +38 -0
- package/cpp/rnskia/dom/props/PointProp.h +72 -0
- package/cpp/rnskia/dom/props/PointsProp.h +83 -0
- package/cpp/rnskia/dom/props/RRectProp.h +134 -0
- package/cpp/rnskia/dom/props/RadiusProp.h +43 -0
- package/cpp/rnskia/dom/props/RectProp.h +118 -0
- package/cpp/rnskia/dom/props/StrokeProps.h +75 -0
- package/cpp/rnskia/dom/props/SvgProp.h +37 -0
- package/cpp/rnskia/dom/props/TextBlobProp.h +128 -0
- package/cpp/rnskia/dom/props/TileModeProp.h +50 -0
- package/cpp/rnskia/dom/props/TransformProp.h +80 -0
- package/cpp/rnskia/dom/props/TransformsProps.h +68 -0
- package/cpp/rnskia/dom/props/UniformsProp.h +194 -0
- package/cpp/rnskia/dom/props/VertexModeProp.h +47 -0
- package/cpp/rnskia/dom/props/VerticesProps.h +67 -0
- package/cpp/rnskia/values/RNSkReadonlyValue.h +13 -4
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +35 -1
- package/cpp/skia/include/codec/SkAndroidCodec.h +17 -1
- package/cpp/skia/include/codec/SkCodec.h +8 -5
- package/cpp/skia/include/core/SkAnnotation.h +2 -0
- package/cpp/skia/include/core/SkBitmap.h +52 -1
- package/cpp/skia/include/core/SkBlendMode.h +2 -0
- package/cpp/skia/include/core/SkCanvas.h +52 -31
- package/cpp/skia/include/core/SkCapabilities.h +44 -0
- package/cpp/skia/include/core/SkColor.h +7 -0
- package/cpp/skia/include/core/SkColorFilter.h +37 -0
- package/cpp/skia/include/core/SkColorSpace.h +1 -1
- package/cpp/skia/include/core/SkFont.h +4 -0
- package/cpp/skia/include/core/SkFontMgr.h +3 -0
- package/cpp/skia/include/core/SkGraphics.h +9 -0
- package/cpp/skia/include/core/SkImage.h +77 -17
- package/cpp/skia/include/core/SkImageEncoder.h +5 -3
- package/cpp/skia/include/core/SkImageGenerator.h +27 -17
- package/cpp/skia/include/core/SkM44.h +1 -0
- package/cpp/skia/include/core/SkMesh.h +120 -34
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkOverdrawCanvas.h +2 -1
- package/cpp/skia/include/core/SkPaint.h +15 -2
- package/cpp/skia/include/core/SkPath.h +4 -0
- package/cpp/skia/include/core/SkPathBuilder.h +1 -1
- package/cpp/skia/include/core/SkPicture.h +0 -3
- package/cpp/skia/include/core/SkPictureRecorder.h +0 -2
- package/cpp/skia/include/core/SkPixmap.h +19 -0
- package/cpp/skia/include/core/SkRasterHandleAllocator.h +3 -1
- package/cpp/skia/include/core/SkRect.h +11 -4
- package/cpp/skia/include/core/SkRefCnt.h +13 -1
- package/cpp/skia/include/core/SkRegion.h +6 -0
- package/cpp/skia/include/core/SkSamplingOptions.h +8 -6
- package/cpp/skia/include/core/SkScalar.h +6 -25
- package/cpp/skia/include/core/SkShader.h +20 -12
- package/cpp/skia/include/core/SkSpan.h +51 -19
- package/cpp/skia/include/core/SkStream.h +2 -2
- package/cpp/skia/include/core/SkString.h +11 -3
- package/cpp/skia/include/core/SkSurface.h +85 -8
- package/cpp/skia/include/core/SkTextBlob.h +5 -2
- package/cpp/skia/include/core/SkTypes.h +11 -10
- package/cpp/skia/include/docs/SkPDFDocument.h +0 -5
- package/cpp/skia/include/effects/Sk1DPathEffect.h +6 -1
- package/cpp/skia/include/effects/Sk2DPathEffect.h +4 -1
- package/cpp/skia/include/effects/SkColorMatrix.h +1 -0
- package/cpp/skia/include/effects/SkColorMatrixFilter.h +5 -8
- package/cpp/skia/include/effects/SkCornerPathEffect.h +5 -1
- package/cpp/skia/include/effects/SkDashPathEffect.h +5 -1
- package/cpp/skia/include/effects/SkGradientShader.h +68 -38
- package/cpp/skia/include/effects/SkHighContrastFilter.h +5 -1
- package/cpp/skia/include/effects/SkImageFilters.h +5 -4
- package/cpp/skia/include/effects/SkLumaColorFilter.h +4 -1
- package/cpp/skia/include/effects/SkOpPathEffect.h +6 -2
- package/cpp/skia/include/effects/SkOverdrawColorFilter.h +5 -2
- package/cpp/skia/include/effects/SkRuntimeEffect.h +54 -62
- package/cpp/skia/include/effects/SkShaderMaskFilter.h +3 -1
- package/cpp/skia/include/effects/SkTableColorFilter.h +8 -21
- package/cpp/skia/include/effects/SkTableMaskFilter.h +5 -1
- package/cpp/skia/include/effects/SkTrimPathEffect.h +5 -1
- package/cpp/skia/include/encode/SkEncoder.h +17 -0
- package/cpp/skia/include/encode/SkWebpEncoder.h +17 -0
- package/cpp/skia/include/gpu/GpuTypes.h +18 -0
- package/cpp/skia/include/gpu/GrBackendSurface.h +38 -17
- package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +6 -71
- package/cpp/skia/include/gpu/GrContextOptions.h +1 -1
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +10 -9
- package/cpp/skia/include/gpu/GrDirectContext.h +42 -22
- package/cpp/skia/include/gpu/GrRecordingContext.h +6 -3
- package/cpp/skia/include/gpu/GrTypes.h +11 -11
- package/cpp/skia/include/gpu/MutableTextureState.h +122 -0
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -0
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +1 -0
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +7 -0
- package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +195 -0
- package/cpp/skia/include/gpu/graphite/Context.h +47 -55
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +85 -0
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +1 -17
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +61 -0
- package/cpp/skia/include/gpu/graphite/Recorder.h +87 -8
- package/cpp/skia/include/gpu/graphite/Recording.h +19 -9
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +40 -8
- package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +25 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +3 -2
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +69 -0
- package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +39 -0
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +21 -19
- package/cpp/skia/include/gpu/vk/GrVkExtensions.h +2 -50
- package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +2 -127
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +5 -43
- package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +46 -0
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +67 -0
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +116 -0
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +59 -0
- package/cpp/skia/include/pathops/SkPathOps.h +1 -1
- package/cpp/skia/include/private/SkColorData.h +10 -40
- package/cpp/skia/include/private/SkEncodedInfo.h +9 -3
- package/cpp/skia/include/private/SkFloatingPoint.h +9 -6
- package/cpp/skia/include/private/SkHalf.h +5 -52
- package/cpp/skia/include/private/SkMacros.h +1 -1
- package/cpp/skia/include/private/SkMalloc.h +4 -0
- package/cpp/skia/include/private/SkPathRef.h +10 -10
- package/cpp/skia/include/private/SkSLModifiers.h +59 -23
- package/cpp/skia/include/private/SkSLProgramKind.h +1 -0
- package/cpp/skia/include/private/SkSLSymbol.h +7 -3
- package/cpp/skia/include/private/SkStringView.h +4 -0
- package/cpp/skia/include/private/SkTArray.h +21 -7
- package/cpp/skia/include/private/SkTDArray.h +173 -285
- package/cpp/skia/include/private/SkTHash.h +33 -32
- package/cpp/skia/include/private/SkTemplates.h +24 -26
- package/cpp/skia/include/private/SkVx.h +218 -135
- package/cpp/skia/include/private/chromium/GrSlug.h +3 -65
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +6 -3
- package/cpp/skia/include/private/chromium/Slug.h +76 -0
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +6 -1
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +5 -39
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +63 -0
- package/cpp/skia/include/{gpu/vk/GrVkVulkan.h → private/gpu/vk/SkiaVulkan.h} +2 -2
- package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +57 -0
- package/cpp/skia/include/sksl/DSL.h +0 -1
- package/cpp/skia/include/sksl/DSLBlock.h +4 -18
- package/cpp/skia/include/sksl/DSLCase.h +2 -8
- package/cpp/skia/include/sksl/DSLCore.h +8 -15
- package/cpp/skia/include/sksl/DSLExpression.h +51 -142
- package/cpp/skia/include/sksl/DSLFunction.h +7 -15
- package/cpp/skia/include/sksl/DSLModifiers.h +5 -2
- package/cpp/skia/include/sksl/DSLStatement.h +4 -39
- package/cpp/skia/include/sksl/DSLSymbols.h +1 -11
- package/cpp/skia/include/sksl/DSLType.h +20 -12
- package/cpp/skia/include/sksl/DSLVar.h +56 -146
- package/cpp/skia/include/sksl/SkSLErrorReporter.h +2 -15
- package/cpp/skia/include/sksl/SkSLOperator.h +62 -59
- package/cpp/skia/include/sksl/SkSLPosition.h +2 -0
- package/cpp/skia/include/sksl/SkSLVersion.h +27 -0
- package/cpp/skia/include/svg/SkSVGCanvas.h +1 -0
- package/cpp/skia/include/utils/SkAnimCodecPlayer.h +1 -1
- package/cpp/skia/include/utils/SkBase64.h +2 -0
- package/cpp/skia/include/utils/SkCustomTypeface.h +24 -11
- package/cpp/skia/include/utils/SkEventTracer.h +12 -1
- package/cpp/skia/include/utils/SkNWayCanvas.h +11 -4
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +9 -4
- package/cpp/skia/include/utils/SkParse.h +3 -0
- package/cpp/skia/include/utils/SkShadowUtils.h +2 -0
- package/cpp/skia/include/utils/SkTextUtils.h +2 -1
- package/cpp/skia/{include/third_party → modules}/skcms/skcms.h +10 -0
- package/cpp/skia/modules/skcms/skcms_internal.h +56 -0
- package/cpp/skia/modules/skcms/src/Transform_inl.h +1609 -0
- package/cpp/skia/modules/skparagraph/include/DartTypes.h +153 -0
- package/cpp/skia/modules/skparagraph/include/FontArguments.h +46 -0
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +84 -0
- package/cpp/skia/modules/skparagraph/include/Metrics.h +98 -0
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +111 -0
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +69 -0
- package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +77 -0
- package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +143 -0
- package/cpp/skia/modules/skparagraph/include/TextShadow.h +30 -0
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +352 -0
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +81 -0
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +3 -3
- package/cpp/skia/src/core/SkLRUCache.h +126 -0
- package/cpp/skia/src/core/SkTInternalLList.h +302 -0
- package/cpp/utils/RNSkTimingInfo.h +1 -0
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +15 -4
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +40 -54
- package/ios/RNSkia-iOS/SkiaDomViewManager.h +8 -0
- package/ios/RNSkia-iOS/SkiaDomViewManager.mm +51 -0
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -56
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.js +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +19 -63
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/DependencyManager.js +0 -5
- package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
- package/lib/commonjs/renderer/HostComponents.js.map +1 -1
- package/lib/commonjs/renderer/useCanvas.js +4 -18
- package/lib/commonjs/renderer/useCanvas.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js +7 -0
- package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
- package/lib/commonjs/views/SkiaDomView.js +152 -0
- package/lib/commonjs/views/SkiaDomView.js.map +1 -0
- package/lib/commonjs/views/SkiaDomView.web.js +55 -0
- package/lib/commonjs/views/SkiaDomView.web.js.map +1 -0
- package/lib/commonjs/views/SkiaPictureView.js +16 -2
- package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
- package/lib/commonjs/views/SkiaView.js +17 -2
- package/lib/commonjs/views/SkiaView.js.map +1 -1
- package/lib/commonjs/views/index.js +13 -0
- package/lib/commonjs/views/index.js.map +1 -1
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.js +56 -56
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/dom/nodes/RenderNode.js +1 -1
- package/lib/module/dom/nodes/RenderNode.js.map +1 -1
- package/lib/module/renderer/Canvas.js +20 -64
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/DependencyManager.js +0 -5
- package/lib/module/renderer/DependencyManager.js.map +1 -1
- package/lib/module/renderer/HostComponents.js.map +1 -1
- package/lib/module/renderer/useCanvas.js +2 -13
- package/lib/module/renderer/useCanvas.js.map +1 -1
- package/lib/module/views/SkiaBaseWebView.js +7 -0
- package/lib/module/views/SkiaBaseWebView.js.map +1 -1
- package/lib/module/views/SkiaDomView.js +128 -0
- package/lib/module/views/SkiaDomView.js.map +1 -0
- package/lib/module/views/SkiaDomView.web.js +41 -0
- package/lib/module/views/SkiaDomView.web.js.map +1 -0
- package/lib/module/views/SkiaPictureView.js +14 -2
- package/lib/module/views/SkiaPictureView.js.map +1 -1
- package/lib/module/views/SkiaView.js +15 -2
- package/lib/module/views/SkiaView.js.map +1 -1
- package/lib/module/views/index.js +1 -0
- package/lib/module/views/index.js.map +1 -1
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +57 -64
- package/lib/typescript/src/renderer/Canvas.d.ts +5 -8
- package/lib/typescript/src/renderer/DependencyManager.d.ts +0 -2
- package/lib/typescript/src/renderer/HostComponents.d.ts +66 -3
- package/lib/typescript/src/renderer/useCanvas.d.ts +0 -6
- package/lib/typescript/src/views/SkiaBaseWebView.d.ts +4 -0
- package/lib/typescript/src/views/SkiaDomView.d.ts +31 -0
- package/lib/typescript/src/views/SkiaDomView.web.d.ts +7 -0
- package/lib/typescript/src/views/index.d.ts +1 -0
- package/lib/typescript/src/views/types.d.ts +12 -2
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libskparagraph.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libskunicode.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libskparagraph.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libskunicode.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libskparagraph.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libskunicode.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libskparagraph.xcframework/Info.plist +42 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/Info.plist +5 -5
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libskunicode.xcframework/Info.plist +42 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +5 -3
- package/react-native-skia.podspec +3 -1
- package/src/dom/nodes/JsiSkDOM.ts +170 -56
- package/src/dom/nodes/RenderNode.ts +1 -1
- package/src/renderer/Canvas.tsx +32 -56
- package/src/renderer/DependencyManager.tsx +0 -5
- package/src/renderer/HostComponents.ts +152 -1
- package/src/renderer/useCanvas.ts +1 -15
- package/src/views/SkiaBaseWebView.tsx +4 -0
- package/src/views/SkiaDomView.tsx +120 -0
- package/src/views/SkiaDomView.web.tsx +37 -0
- package/src/views/SkiaPictureView.tsx +10 -2
- package/src/views/SkiaView.tsx +11 -3
- package/src/views/index.ts +1 -0
- package/src/views/types.ts +19 -2
- package/cpp/jsi/JsiSimpleValueWrapper.h +0 -99
- package/cpp/skia/include/c/sk_canvas.h +0 -159
- package/cpp/skia/include/c/sk_colorspace.h +0 -25
- package/cpp/skia/include/c/sk_data.h +0 -65
- package/cpp/skia/include/c/sk_image.h +0 -71
- package/cpp/skia/include/c/sk_imageinfo.h +0 -62
- package/cpp/skia/include/c/sk_maskfilter.h +0 -47
- package/cpp/skia/include/c/sk_matrix.h +0 -49
- package/cpp/skia/include/c/sk_paint.h +0 -145
- package/cpp/skia/include/c/sk_path.h +0 -102
- package/cpp/skia/include/c/sk_picture.h +0 -70
- package/cpp/skia/include/c/sk_shader.h +0 -143
- package/cpp/skia/include/c/sk_surface.h +0 -73
- package/cpp/skia/include/c/sk_types.h +0 -278
- package/cpp/skia/include/gpu/graphite/SkStuff.h +0 -47
- package/cpp/skia/include/private/SkNx.h +0 -430
- package/cpp/skia/include/private/SkNx_neon.h +0 -713
- package/cpp/skia/include/private/SkNx_sse.h +0 -823
- package/cpp/skia/include/sksl/DSLRuntimeEffects.h +0 -32
- package/cpp/skia/include/sksl/DSLWrapper.h +0 -77
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
#ifndef SKSL_DSL_VAR
|
|
9
9
|
#define SKSL_DSL_VAR
|
|
10
10
|
|
|
11
|
+
#include "include/private/SkSLStatement.h"
|
|
11
12
|
#include "include/sksl/DSLExpression.h"
|
|
12
13
|
#include "include/sksl/DSLModifiers.h"
|
|
13
14
|
#include "include/sksl/DSLType.h"
|
|
14
15
|
#include "include/sksl/SkSLPosition.h"
|
|
15
16
|
|
|
16
|
-
#include <
|
|
17
|
+
#include <cstdint>
|
|
17
18
|
#include <memory>
|
|
18
19
|
#include <string_view>
|
|
19
20
|
#include <utility>
|
|
@@ -22,9 +23,6 @@ namespace SkSL {
|
|
|
22
23
|
|
|
23
24
|
class Expression;
|
|
24
25
|
class ExpressionArray;
|
|
25
|
-
class IRGenerator;
|
|
26
|
-
class SPIRVCodeGenerator;
|
|
27
|
-
class Statement;
|
|
28
26
|
class Variable;
|
|
29
27
|
enum class VariableStorage : int8_t;
|
|
30
28
|
|
|
@@ -33,31 +31,16 @@ namespace dsl {
|
|
|
33
31
|
class DSLVarBase {
|
|
34
32
|
public:
|
|
35
33
|
/**
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
DSLVarBase() : fType(kVoid_Type), fDeclared(true) {}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Constructs a new variable with the specified type and name. The name is used (in mangled
|
|
42
|
-
* form) in the resulting shader code; it is not otherwise important. Since mangling prevents
|
|
43
|
-
* name conflicts and the variable's name is only important when debugging shaders, the name
|
|
44
|
-
* parameter is optional.
|
|
34
|
+
* Constructs a new variable with the specified type and name.
|
|
45
35
|
*/
|
|
46
|
-
DSLVarBase(DSLType type, std::string_view name,
|
|
47
|
-
Position namePos);
|
|
48
|
-
|
|
49
|
-
DSLVarBase(DSLType type, DSLExpression initialValue, Position pos, Position namePos);
|
|
50
|
-
|
|
51
|
-
DSLVarBase(const DSLModifiers& modifiers, DSLType type, std::string_view name,
|
|
36
|
+
DSLVarBase(VariableStorage storage, DSLType type, std::string_view name,
|
|
52
37
|
DSLExpression initialValue, Position pos, Position namePos);
|
|
53
38
|
|
|
54
|
-
DSLVarBase(const DSLModifiers& modifiers, DSLType type,
|
|
55
|
-
Position pos, Position namePos);
|
|
39
|
+
DSLVarBase(VariableStorage storage, const DSLModifiers& modifiers, DSLType type,
|
|
40
|
+
std::string_view name, DSLExpression initialValue, Position pos, Position namePos);
|
|
56
41
|
|
|
57
42
|
DSLVarBase(DSLVarBase&&) = default;
|
|
58
43
|
|
|
59
|
-
virtual ~DSLVarBase();
|
|
60
|
-
|
|
61
44
|
std::string_view name() const {
|
|
62
45
|
return fName;
|
|
63
46
|
}
|
|
@@ -66,64 +49,75 @@ public:
|
|
|
66
49
|
return fModifiers;
|
|
67
50
|
}
|
|
68
51
|
|
|
69
|
-
|
|
52
|
+
VariableStorage storage() const {
|
|
53
|
+
return fStorage;
|
|
54
|
+
}
|
|
70
55
|
|
|
71
56
|
DSLExpression x() {
|
|
72
|
-
return DSLExpression(*this
|
|
57
|
+
return DSLExpression(*this).x();
|
|
73
58
|
}
|
|
74
59
|
|
|
75
60
|
DSLExpression y() {
|
|
76
|
-
return DSLExpression(*this
|
|
61
|
+
return DSLExpression(*this).y();
|
|
77
62
|
}
|
|
78
63
|
|
|
79
64
|
DSLExpression z() {
|
|
80
|
-
return DSLExpression(*this
|
|
65
|
+
return DSLExpression(*this).z();
|
|
81
66
|
}
|
|
82
67
|
|
|
83
68
|
DSLExpression w() {
|
|
84
|
-
return DSLExpression(*this
|
|
69
|
+
return DSLExpression(*this).w();
|
|
85
70
|
}
|
|
86
71
|
|
|
87
72
|
DSLExpression r() {
|
|
88
|
-
return DSLExpression(*this
|
|
73
|
+
return DSLExpression(*this).r();
|
|
89
74
|
}
|
|
90
75
|
|
|
91
76
|
DSLExpression g() {
|
|
92
|
-
return DSLExpression(*this
|
|
77
|
+
return DSLExpression(*this).g();
|
|
93
78
|
}
|
|
94
79
|
|
|
95
80
|
DSLExpression b() {
|
|
96
|
-
return DSLExpression(*this
|
|
81
|
+
return DSLExpression(*this).b();
|
|
97
82
|
}
|
|
98
83
|
|
|
99
84
|
DSLExpression a() {
|
|
100
|
-
return DSLExpression(*this
|
|
85
|
+
return DSLExpression(*this).a();
|
|
101
86
|
}
|
|
102
87
|
|
|
103
88
|
DSLExpression field(std::string_view name) {
|
|
104
|
-
return DSLExpression(*this
|
|
89
|
+
return DSLExpression(*this).field(name);
|
|
105
90
|
}
|
|
106
91
|
|
|
107
|
-
|
|
92
|
+
DSLExpression operator[](DSLExpression&& index);
|
|
108
93
|
|
|
109
|
-
|
|
110
|
-
return ++DSLExpression(*this
|
|
94
|
+
DSLExpression operator++() {
|
|
95
|
+
return ++DSLExpression(*this);
|
|
111
96
|
}
|
|
112
97
|
|
|
113
|
-
|
|
114
|
-
return DSLExpression(*this
|
|
98
|
+
DSLExpression operator++(int) {
|
|
99
|
+
return DSLExpression(*this)++;
|
|
115
100
|
}
|
|
116
101
|
|
|
117
|
-
|
|
118
|
-
return --DSLExpression(*this
|
|
102
|
+
DSLExpression operator--() {
|
|
103
|
+
return --DSLExpression(*this);
|
|
119
104
|
}
|
|
120
105
|
|
|
121
|
-
|
|
122
|
-
return DSLExpression(*this
|
|
106
|
+
DSLExpression operator--(int) {
|
|
107
|
+
return DSLExpression(*this)--;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
template <class T> DSLExpression assign(T&& param) {
|
|
111
|
+
return this->assignExpression(DSLExpression(std::forward<T>(param)));
|
|
123
112
|
}
|
|
124
113
|
|
|
125
114
|
protected:
|
|
126
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Creates an empty, unpopulated var. Can be replaced with a real var later via `swap`.
|
|
117
|
+
*/
|
|
118
|
+
DSLVarBase(VariableStorage storage) : fType(kVoid_Type), fStorage(storage) {}
|
|
119
|
+
|
|
120
|
+
DSLExpression assignExpression(DSLExpression other);
|
|
127
121
|
|
|
128
122
|
void swap(DSLVarBase& other);
|
|
129
123
|
|
|
@@ -133,24 +127,18 @@ protected:
|
|
|
133
127
|
// it to kVoid; in other words, you shouldn't generally be relying on this field to be correct.
|
|
134
128
|
// If you need to determine the variable's type, look at DSLWriter::Var(...)->type() instead.
|
|
135
129
|
DSLType fType;
|
|
136
|
-
int fUniformHandle = -1;
|
|
137
130
|
std::unique_ptr<SkSL::Statement> fDeclaration;
|
|
138
|
-
|
|
131
|
+
SkSL::Variable* fVar = nullptr;
|
|
139
132
|
Position fNamePosition;
|
|
140
|
-
std::string_view fRawName; // for error reporting
|
|
141
133
|
std::string_view fName;
|
|
142
134
|
DSLExpression fInitialValue;
|
|
143
|
-
// true if we have attempted to create the SkSL var
|
|
144
|
-
bool fInitialized = false;
|
|
145
|
-
bool fDeclared = false;
|
|
146
135
|
Position fPosition;
|
|
136
|
+
VariableStorage fStorage;
|
|
137
|
+
bool fInitialized = false;
|
|
147
138
|
|
|
148
139
|
friend class DSLCore;
|
|
149
|
-
friend class DSLExpression;
|
|
150
140
|
friend class DSLFunction;
|
|
151
141
|
friend class DSLWriter;
|
|
152
|
-
friend class ::SkSL::IRGenerator;
|
|
153
|
-
friend class ::SkSL::SPIRVCodeGenerator;
|
|
154
142
|
};
|
|
155
143
|
|
|
156
144
|
/**
|
|
@@ -158,45 +146,18 @@ protected:
|
|
|
158
146
|
*/
|
|
159
147
|
class DSLVar : public DSLVarBase {
|
|
160
148
|
public:
|
|
161
|
-
DSLVar()
|
|
149
|
+
DSLVar();
|
|
162
150
|
|
|
163
|
-
DSLVar(DSLType type, std::string_view name =
|
|
164
|
-
|
|
165
|
-
Position pos = {}, Position namePos = {})
|
|
166
|
-
: INHERITED(type, name, std::move(initialValue), pos, namePos) {}
|
|
151
|
+
DSLVar(DSLType type, std::string_view name, DSLExpression initialValue = DSLExpression(),
|
|
152
|
+
Position pos = {}, Position namePos = {});
|
|
167
153
|
|
|
168
|
-
DSLVar(
|
|
169
|
-
Position pos = {}, Position namePos = {})
|
|
170
|
-
: DSLVar(type, std::string_view(name), std::move(initialValue), pos, namePos) {}
|
|
171
|
-
|
|
172
|
-
DSLVar(DSLType type, DSLExpression initialValue, Position pos = {}, Position namePos = {})
|
|
173
|
-
: INHERITED(type, std::move(initialValue), pos, namePos) {}
|
|
174
|
-
|
|
175
|
-
DSLVar(const DSLModifiers& modifiers, DSLType type, std::string_view name = "var",
|
|
176
|
-
DSLExpression initialValue = DSLExpression(), Position pos = {}, Position namePos = {})
|
|
177
|
-
: INHERITED(modifiers, type, name, std::move(initialValue), pos, namePos) {}
|
|
178
|
-
|
|
179
|
-
DSLVar(const DSLModifiers& modifiers, DSLType type, const char* name,
|
|
180
|
-
DSLExpression initialValue = DSLExpression(), Position pos = {}, Position namePos = {})
|
|
181
|
-
: DSLVar(modifiers, type, std::string_view(name), std::move(initialValue), pos, namePos) {}
|
|
154
|
+
DSLVar(const DSLModifiers& modifiers, DSLType type, std::string_view name,
|
|
155
|
+
DSLExpression initialValue = DSLExpression(), Position pos = {}, Position namePos = {});
|
|
182
156
|
|
|
183
157
|
DSLVar(DSLVar&&) = default;
|
|
184
158
|
|
|
185
|
-
VariableStorage storage() const override;
|
|
186
|
-
|
|
187
159
|
void swap(DSLVar& other);
|
|
188
160
|
|
|
189
|
-
DSLPossibleExpression operator=(DSLExpression expr);
|
|
190
|
-
|
|
191
|
-
DSLPossibleExpression operator=(DSLVar& param) {
|
|
192
|
-
return this->operator=(DSLExpression(param));
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
template<class Param>
|
|
196
|
-
DSLPossibleExpression operator=(Param& param) {
|
|
197
|
-
return this->operator=(DSLExpression(param));
|
|
198
|
-
}
|
|
199
|
-
|
|
200
161
|
private:
|
|
201
162
|
using INHERITED = DSLVarBase;
|
|
202
163
|
};
|
|
@@ -206,48 +167,21 @@ private:
|
|
|
206
167
|
*/
|
|
207
168
|
class DSLGlobalVar : public DSLVarBase {
|
|
208
169
|
public:
|
|
209
|
-
DSLGlobalVar()
|
|
210
|
-
|
|
211
|
-
DSLGlobalVar(DSLType type, std::string_view name = "var",
|
|
212
|
-
DSLExpression initialValue = DSLExpression(), Position pos = {}, Position namePos = {})
|
|
213
|
-
: INHERITED(type, name, std::move(initialValue), pos, namePos) {}
|
|
214
|
-
|
|
215
|
-
DSLGlobalVar(DSLType type, const char* name, DSLExpression initialValue = DSLExpression(),
|
|
216
|
-
Position pos = {}, Position namePos = {})
|
|
217
|
-
: DSLGlobalVar(type, std::string_view(name), std::move(initialValue), pos, namePos) {}
|
|
170
|
+
DSLGlobalVar();
|
|
218
171
|
|
|
219
|
-
DSLGlobalVar(DSLType type, DSLExpression initialValue,
|
|
220
|
-
Position pos = {}, Position namePos = {})
|
|
221
|
-
: INHERITED(type, std::move(initialValue), pos, namePos) {}
|
|
172
|
+
DSLGlobalVar(DSLType type, std::string_view name, DSLExpression initialValue = DSLExpression(),
|
|
173
|
+
Position pos = {}, Position namePos = {});
|
|
222
174
|
|
|
223
|
-
DSLGlobalVar(const DSLModifiers& modifiers, DSLType type, std::string_view name
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
DSLGlobalVar(const DSLModifiers& modifiers, DSLType type, const char* name,
|
|
228
|
-
DSLExpression initialValue = DSLExpression(), Position pos = {}, Position namePos = {})
|
|
229
|
-
: DSLGlobalVar(modifiers, type, std::string_view(name), std::move(initialValue), pos,
|
|
230
|
-
namePos) {}
|
|
175
|
+
DSLGlobalVar(const DSLModifiers& modifiers, DSLType type, std::string_view name,
|
|
176
|
+
DSLExpression initialValue = DSLExpression(),
|
|
177
|
+
Position pos = {}, Position namePos = {});
|
|
231
178
|
|
|
232
179
|
DSLGlobalVar(const char* name);
|
|
233
180
|
|
|
234
181
|
DSLGlobalVar(DSLGlobalVar&&) = default;
|
|
235
182
|
|
|
236
|
-
VariableStorage storage() const override;
|
|
237
|
-
|
|
238
183
|
void swap(DSLGlobalVar& other);
|
|
239
184
|
|
|
240
|
-
DSLPossibleExpression operator=(DSLExpression expr);
|
|
241
|
-
|
|
242
|
-
DSLPossibleExpression operator=(DSLGlobalVar& param) {
|
|
243
|
-
return this->operator=(DSLExpression(param));
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
template<class Param>
|
|
247
|
-
DSLPossibleExpression operator=(Param& param) {
|
|
248
|
-
return this->operator=(DSLExpression(param));
|
|
249
|
-
}
|
|
250
|
-
|
|
251
185
|
/**
|
|
252
186
|
* Implements the following method calls:
|
|
253
187
|
* half4 shader::eval(float2 coords);
|
|
@@ -259,8 +193,7 @@ public:
|
|
|
259
193
|
* Implements the following method call:
|
|
260
194
|
* half4 blender::eval(half4 src, half4 dst);
|
|
261
195
|
*/
|
|
262
|
-
DSLExpression eval(DSLExpression x, DSLExpression y,
|
|
263
|
-
Position pos = {});
|
|
196
|
+
DSLExpression eval(DSLExpression x, DSLExpression y, Position pos = {});
|
|
264
197
|
|
|
265
198
|
private:
|
|
266
199
|
DSLExpression eval(ExpressionArray args, Position pos);
|
|
@@ -275,40 +208,17 @@ private:
|
|
|
275
208
|
*/
|
|
276
209
|
class DSLParameter : public DSLVarBase {
|
|
277
210
|
public:
|
|
278
|
-
DSLParameter()
|
|
279
|
-
|
|
280
|
-
DSLParameter(DSLType type, std::string_view name = "var",
|
|
281
|
-
Position pos = {}, Position namePos = {})
|
|
282
|
-
: INHERITED(type, name, DSLExpression(), pos, namePos) {}
|
|
211
|
+
DSLParameter();
|
|
283
212
|
|
|
284
|
-
DSLParameter(DSLType type,
|
|
285
|
-
: DSLParameter(type, std::string_view(name), pos, namePos) {}
|
|
213
|
+
DSLParameter(DSLType type, std::string_view name, Position pos = {}, Position namePos = {});
|
|
286
214
|
|
|
287
|
-
DSLParameter(const DSLModifiers& modifiers, DSLType type, std::string_view name
|
|
288
|
-
Position pos = {}, Position namePos = {})
|
|
289
|
-
: INHERITED(modifiers, type, name, DSLExpression(), pos, namePos) {}
|
|
290
|
-
|
|
291
|
-
DSLParameter(const DSLModifiers& modifiers, DSLType type, const char* name,
|
|
292
|
-
Position pos = {}, Position namePos = {})
|
|
293
|
-
: DSLParameter(modifiers, type, std::string_view(name), pos, namePos) {}
|
|
215
|
+
DSLParameter(const DSLModifiers& modifiers, DSLType type, std::string_view name,
|
|
216
|
+
Position pos = {}, Position namePos = {});
|
|
294
217
|
|
|
295
218
|
DSLParameter(DSLParameter&&) = default;
|
|
296
219
|
|
|
297
|
-
VariableStorage storage() const override;
|
|
298
|
-
|
|
299
220
|
void swap(DSLParameter& other);
|
|
300
221
|
|
|
301
|
-
DSLPossibleExpression operator=(DSLExpression expr);
|
|
302
|
-
|
|
303
|
-
DSLPossibleExpression operator=(DSLParameter& param) {
|
|
304
|
-
return this->operator=(DSLExpression(param));
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
template<class Param>
|
|
308
|
-
DSLPossibleExpression operator=(Param& param) {
|
|
309
|
-
return this->operator=(DSLExpression(param));
|
|
310
|
-
}
|
|
311
|
-
|
|
312
222
|
private:
|
|
313
223
|
using INHERITED = DSLVarBase;
|
|
314
224
|
};
|
|
@@ -10,9 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkTypes.h"
|
|
12
12
|
|
|
13
|
-
#include <string>
|
|
14
13
|
#include <string_view>
|
|
15
|
-
#include <vector>
|
|
16
14
|
|
|
17
15
|
namespace SkSL {
|
|
18
16
|
|
|
@@ -25,24 +23,14 @@ class ErrorReporter {
|
|
|
25
23
|
public:
|
|
26
24
|
ErrorReporter() {}
|
|
27
25
|
|
|
28
|
-
virtual ~ErrorReporter() {
|
|
29
|
-
SkASSERT(fPendingErrors.empty());
|
|
30
|
-
}
|
|
26
|
+
virtual ~ErrorReporter() {}
|
|
31
27
|
|
|
32
|
-
void error(std::string_view msg
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Reports an error message at the given line of the source text. Errors reported
|
|
36
|
-
* with a line of -1 will be queued until line number information can be determined.
|
|
37
|
-
*/
|
|
38
|
-
void error(Position pos, std::string_view msg);
|
|
28
|
+
void error(Position position, std::string_view msg);
|
|
39
29
|
|
|
40
30
|
std::string_view source() const { return fSource; }
|
|
41
31
|
|
|
42
32
|
void setSource(std::string_view source) { fSource = source; }
|
|
43
33
|
|
|
44
|
-
void reportPendingErrors(Position pos);
|
|
45
|
-
|
|
46
34
|
int errorCount() const {
|
|
47
35
|
return fErrorCount;
|
|
48
36
|
}
|
|
@@ -61,7 +49,6 @@ private:
|
|
|
61
49
|
Position position(int offset) const;
|
|
62
50
|
|
|
63
51
|
std::string_view fSource;
|
|
64
|
-
std::vector<std::string> fPendingErrors;
|
|
65
52
|
int fErrorCount = 0;
|
|
66
53
|
};
|
|
67
54
|
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#ifndef SKSL_OPERATOR
|
|
9
9
|
#define SKSL_OPERATOR
|
|
10
10
|
|
|
11
|
+
#include <cstdint>
|
|
11
12
|
#include <string_view>
|
|
12
13
|
|
|
13
14
|
namespace SkSL {
|
|
@@ -15,66 +16,68 @@ namespace SkSL {
|
|
|
15
16
|
class Context;
|
|
16
17
|
class Type;
|
|
17
18
|
|
|
19
|
+
enum class OperatorKind : uint8_t {
|
|
20
|
+
PLUS,
|
|
21
|
+
MINUS,
|
|
22
|
+
STAR,
|
|
23
|
+
SLASH,
|
|
24
|
+
PERCENT,
|
|
25
|
+
SHL,
|
|
26
|
+
SHR,
|
|
27
|
+
LOGICALNOT,
|
|
28
|
+
LOGICALAND,
|
|
29
|
+
LOGICALOR,
|
|
30
|
+
LOGICALXOR,
|
|
31
|
+
BITWISENOT,
|
|
32
|
+
BITWISEAND,
|
|
33
|
+
BITWISEOR,
|
|
34
|
+
BITWISEXOR,
|
|
35
|
+
EQ,
|
|
36
|
+
EQEQ,
|
|
37
|
+
NEQ,
|
|
38
|
+
LT,
|
|
39
|
+
GT,
|
|
40
|
+
LTEQ,
|
|
41
|
+
GTEQ,
|
|
42
|
+
PLUSEQ,
|
|
43
|
+
MINUSEQ,
|
|
44
|
+
STAREQ,
|
|
45
|
+
SLASHEQ,
|
|
46
|
+
PERCENTEQ,
|
|
47
|
+
SHLEQ,
|
|
48
|
+
SHREQ,
|
|
49
|
+
BITWISEANDEQ,
|
|
50
|
+
BITWISEOREQ,
|
|
51
|
+
BITWISEXOREQ,
|
|
52
|
+
PLUSPLUS,
|
|
53
|
+
MINUSMINUS,
|
|
54
|
+
COMMA
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
enum class OperatorPrecedence : uint8_t {
|
|
58
|
+
kParentheses = 1,
|
|
59
|
+
kPostfix = 2,
|
|
60
|
+
kPrefix = 3,
|
|
61
|
+
kMultiplicative = 4,
|
|
62
|
+
kAdditive = 5,
|
|
63
|
+
kShift = 6,
|
|
64
|
+
kRelational = 7,
|
|
65
|
+
kEquality = 8,
|
|
66
|
+
kBitwiseAnd = 9,
|
|
67
|
+
kBitwiseXor = 10,
|
|
68
|
+
kBitwiseOr = 11,
|
|
69
|
+
kLogicalAnd = 12,
|
|
70
|
+
kLogicalXor = 13,
|
|
71
|
+
kLogicalOr = 14,
|
|
72
|
+
kTernary = 15,
|
|
73
|
+
kAssignment = 16,
|
|
74
|
+
kSequence = 17,
|
|
75
|
+
kTopLevel = kSequence
|
|
76
|
+
};
|
|
77
|
+
|
|
18
78
|
class Operator {
|
|
19
79
|
public:
|
|
20
|
-
|
|
21
|
-
PLUS,
|
|
22
|
-
MINUS,
|
|
23
|
-
STAR,
|
|
24
|
-
SLASH,
|
|
25
|
-
PERCENT,
|
|
26
|
-
SHL,
|
|
27
|
-
SHR,
|
|
28
|
-
LOGICALNOT,
|
|
29
|
-
LOGICALAND,
|
|
30
|
-
LOGICALOR,
|
|
31
|
-
LOGICALXOR,
|
|
32
|
-
BITWISENOT,
|
|
33
|
-
BITWISEAND,
|
|
34
|
-
BITWISEOR,
|
|
35
|
-
BITWISEXOR,
|
|
36
|
-
EQ,
|
|
37
|
-
EQEQ,
|
|
38
|
-
NEQ,
|
|
39
|
-
LT,
|
|
40
|
-
GT,
|
|
41
|
-
LTEQ,
|
|
42
|
-
GTEQ,
|
|
43
|
-
PLUSEQ,
|
|
44
|
-
MINUSEQ,
|
|
45
|
-
STAREQ,
|
|
46
|
-
SLASHEQ,
|
|
47
|
-
PERCENTEQ,
|
|
48
|
-
SHLEQ,
|
|
49
|
-
SHREQ,
|
|
50
|
-
BITWISEANDEQ,
|
|
51
|
-
BITWISEOREQ,
|
|
52
|
-
BITWISEXOREQ,
|
|
53
|
-
PLUSPLUS,
|
|
54
|
-
MINUSMINUS,
|
|
55
|
-
COMMA
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
enum class Precedence {
|
|
59
|
-
kParentheses = 1,
|
|
60
|
-
kPostfix = 2,
|
|
61
|
-
kPrefix = 3,
|
|
62
|
-
kMultiplicative = 4,
|
|
63
|
-
kAdditive = 5,
|
|
64
|
-
kShift = 6,
|
|
65
|
-
kRelational = 7,
|
|
66
|
-
kEquality = 8,
|
|
67
|
-
kBitwiseAnd = 9,
|
|
68
|
-
kBitwiseXor = 10,
|
|
69
|
-
kBitwiseOr = 11,
|
|
70
|
-
kLogicalAnd = 12,
|
|
71
|
-
kLogicalXor = 13,
|
|
72
|
-
kLogicalOr = 14,
|
|
73
|
-
kTernary = 15,
|
|
74
|
-
kAssignment = 16,
|
|
75
|
-
kSequence = 17,
|
|
76
|
-
kTopLevel = kSequence
|
|
77
|
-
};
|
|
80
|
+
using Kind = OperatorKind;
|
|
78
81
|
|
|
79
82
|
Operator(Kind op) : fKind(op) {}
|
|
80
83
|
|
|
@@ -84,7 +87,7 @@ public:
|
|
|
84
87
|
return fKind == Kind::EQEQ || fKind == Kind::NEQ;
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
OperatorPrecedence getBinaryPrecedence() const;
|
|
88
91
|
|
|
89
92
|
// Returns the operator name surrounded by the expected whitespace for a tidy binary expression.
|
|
90
93
|
const char* operatorName() const;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkSLVersion_DEFINED
|
|
9
|
+
#define SkSLVersion_DEFINED
|
|
10
|
+
|
|
11
|
+
namespace SkSL {
|
|
12
|
+
|
|
13
|
+
enum class Version {
|
|
14
|
+
/**
|
|
15
|
+
* Desktop GLSL 1.10, GLSL ES 1.00, WebGL 1.0
|
|
16
|
+
*/
|
|
17
|
+
k100,
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Desktop GLSL 3.30, GLSL ES 3.00, WebGL 2.0
|
|
21
|
+
*/
|
|
22
|
+
k300,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
} // namespace SkSL
|
|
26
|
+
|
|
27
|
+
#endif
|
|
@@ -8,28 +8,25 @@
|
|
|
8
8
|
#ifndef SkCustomTypeface_DEFINED
|
|
9
9
|
#define SkCustomTypeface_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/core/SkDrawable.h"
|
|
11
12
|
#include "include/core/SkFontMetrics.h"
|
|
12
13
|
#include "include/core/SkFontStyle.h"
|
|
13
14
|
#include "include/core/SkPath.h"
|
|
15
|
+
#include "include/core/SkRect.h"
|
|
14
16
|
#include "include/core/SkRefCnt.h"
|
|
15
17
|
#include "include/core/SkTypes.h"
|
|
16
18
|
|
|
17
19
|
#include <vector>
|
|
18
20
|
|
|
19
|
-
class SkImage;
|
|
20
|
-
class SkPaint;
|
|
21
|
-
class SkPicture;
|
|
22
21
|
class SkStream;
|
|
23
22
|
class SkTypeface;
|
|
24
23
|
|
|
25
|
-
class SkCustomTypefaceBuilder {
|
|
24
|
+
class SK_API SkCustomTypefaceBuilder {
|
|
26
25
|
public:
|
|
27
26
|
SkCustomTypefaceBuilder();
|
|
28
27
|
|
|
29
28
|
void setGlyph(SkGlyphID, float advance, const SkPath&);
|
|
30
|
-
void setGlyph(SkGlyphID, float advance,
|
|
31
|
-
void setGlyph(SkGlyphID, float advance, sk_sp<SkImage>, float scale);
|
|
32
|
-
void setGlyph(SkGlyphID, float advance, sk_sp<SkPicture>);
|
|
29
|
+
void setGlyph(SkGlyphID, float advance, sk_sp<SkDrawable>, const SkRect& bounds);
|
|
33
30
|
|
|
34
31
|
void setMetrics(const SkFontMetrics& fm, float scale = 1);
|
|
35
32
|
void setFontStyle(SkFontStyle);
|
|
@@ -37,14 +34,30 @@ public:
|
|
|
37
34
|
sk_sp<SkTypeface> detach();
|
|
38
35
|
|
|
39
36
|
private:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
struct GlyphRec {
|
|
38
|
+
// logical union
|
|
39
|
+
SkPath fPath;
|
|
40
|
+
sk_sp<SkDrawable> fDrawable;
|
|
41
|
+
|
|
42
|
+
SkRect fBounds = {0,0,0,0}; // only used for drawable glyphs atm
|
|
43
|
+
float fAdvance = 0;
|
|
44
|
+
|
|
45
|
+
bool isDrawable() const {
|
|
46
|
+
SkASSERT(!fDrawable || fPath.isEmpty());
|
|
47
|
+
return fDrawable != nullptr;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
std::vector<GlyphRec> fGlyphRecs;
|
|
52
|
+
SkFontMetrics fMetrics;
|
|
53
|
+
SkFontStyle fStyle;
|
|
54
|
+
|
|
55
|
+
GlyphRec& ensureStorage(SkGlyphID);
|
|
44
56
|
|
|
45
57
|
static sk_sp<SkTypeface> Deserialize(SkStream*);
|
|
46
58
|
|
|
47
59
|
friend class SkTypeface;
|
|
60
|
+
friend class SkUserTypeface;
|
|
48
61
|
};
|
|
49
62
|
|
|
50
63
|
#endif
|