@shopify/react-native-skia 2.10.0 → 2.10.1
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 +7 -41
- package/android/build.gradle +33 -0
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
- package/cpp/api/JsiNativeBuffer.h +14 -20
- package/cpp/api/JsiSkAnimatedImage.h +13 -16
- package/cpp/api/JsiSkAnimatedImageFactory.h +9 -7
- package/cpp/api/JsiSkApi.h +94 -90
- package/cpp/api/JsiSkCanvas.h +108 -251
- package/cpp/api/JsiSkColorFilterFactory.h +45 -63
- package/cpp/api/JsiSkContourMeasure.h +19 -29
- package/cpp/api/JsiSkContourMeasureIter.h +6 -6
- package/cpp/api/JsiSkConverters.h +410 -0
- package/cpp/api/JsiSkDataFactory.h +9 -15
- package/cpp/api/JsiSkFont.h +99 -180
- package/cpp/api/JsiSkFontMgr.h +19 -21
- package/cpp/api/JsiSkFontMgrFactory.h +4 -5
- package/cpp/api/JsiSkImage.h +66 -66
- package/cpp/api/JsiSkImageFactory.h +66 -63
- package/cpp/api/JsiSkImageFilterFactory.h +354 -608
- package/cpp/api/JsiSkImageInfo.h +10 -13
- package/cpp/api/JsiSkMaskFilterFactory.h +8 -11
- package/cpp/api/JsiSkMatrix.h +36 -73
- package/cpp/api/JsiSkNativeObjects.h +60 -92
- package/cpp/api/JsiSkPaint.h +73 -131
- package/cpp/api/JsiSkParagraph.h +36 -53
- package/cpp/api/JsiSkParagraphBuilder.h +36 -64
- package/cpp/api/JsiSkParagraphBuilderFactory.h +11 -16
- package/cpp/api/JsiSkPath.h +216 -349
- package/cpp/api/JsiSkPathBuilder.h +133 -269
- package/cpp/api/JsiSkPathBuilderFactory.h +11 -11
- package/cpp/api/JsiSkPathEffectFactory.h +52 -72
- package/cpp/api/JsiSkPathFactory.h +129 -195
- package/cpp/api/JsiSkPicture.h +12 -18
- package/cpp/api/JsiSkPictureRecorder.h +14 -15
- package/cpp/api/JsiSkPoint.h +4 -4
- package/cpp/api/JsiSkRRect.h +7 -8
- package/cpp/api/JsiSkRSXform.h +10 -23
- package/cpp/api/JsiSkRect.h +23 -31
- package/cpp/api/JsiSkRuntimeEffect.h +67 -83
- package/cpp/api/JsiSkRuntimeEffectFactory.h +6 -10
- package/cpp/api/JsiSkRuntimeShaderBuilder.h +5 -14
- package/cpp/api/JsiSkSVG.h +4 -4
- package/cpp/api/JsiSkShaderFactory.h +153 -225
- package/cpp/api/JsiSkSkottie.h +104 -126
- package/cpp/api/JsiSkSurface.h +11 -14
- package/cpp/api/JsiSkSurfaceFactory.h +6 -7
- package/cpp/api/JsiSkTextBlobFactory.h +31 -54
- package/cpp/api/JsiSkTypeface.h +8 -12
- package/cpp/api/JsiSkTypefaceFactory.h +9 -7
- package/cpp/api/JsiSkTypefaceFontProvider.h +22 -23
- package/cpp/api/JsiSkTypefaceFontProviderFactory.h +5 -6
- package/cpp/api/JsiSkVertices.h +6 -8
- package/cpp/api/JsiSkiaContext.h +10 -11
- package/cpp/api/JsiVideo.h +31 -71
- package/cpp/jsi/JSIConverter.h +0 -31
- package/cpp/jsi/NativeObject.h +11 -6
- package/cpp/rnskia/RNDawnContext.h +18 -2
- package/cpp/rnskia/RNDawnInterop.cpp +19 -0
- package/cpp/rnskia/RNDawnUtils.h +18 -1
- package/cpp/rnskia/RNSkManager.cpp +5 -162
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
- package/lib/commonjs/mock/index.js +0 -1
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
- package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
- package/lib/commonjs/skia/types/Skia.d.ts +5 -15
- package/lib/commonjs/skia/types/Skia.js.map +1 -1
- package/lib/commonjs/skia/types/index.d.ts +0 -1
- package/lib/commonjs/skia/types/index.js +0 -11
- package/lib/commonjs/skia/types/index.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
- package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +1 -4
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/commonjs/views/index.d.ts +0 -1
- package/lib/commonjs/views/index.js +0 -11
- package/lib/commonjs/views/index.js.map +1 -1
- package/lib/module/mock/index.js +0 -1
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
- package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
- package/lib/module/skia/types/Skia.d.ts +5 -15
- package/lib/module/skia/types/Skia.js.map +1 -1
- package/lib/module/skia/types/index.d.ts +0 -1
- package/lib/module/skia/types/index.js +0 -1
- package/lib/module/skia/types/index.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
- package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
- package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +1 -4
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/views/index.d.ts +0 -1
- package/lib/module/views/index.js +0 -1
- package/lib/module/views/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
- package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
- package/lib/typescript/lib/module/mock/index.d.ts +0 -2
- package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
- package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
- package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
- package/lib/typescript/lib/module/views/index.d.ts +0 -1
- package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
- package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
- package/lib/typescript/src/skia/types/index.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
- package/lib/typescript/src/views/index.d.ts +0 -1
- package/package.json +3 -4
- package/react-native-skia.podspec +38 -4
- package/src/mock/index.ts +0 -1
- package/src/skia/types/Image/ImageFactory.ts +15 -6
- package/src/skia/types/Skia.ts +5 -15
- package/src/skia/types/index.ts +0 -1
- package/src/skia/web/JsiSkImageFactory.ts +3 -3
- package/src/skia/web/JsiSkia.ts +2 -5
- package/src/views/index.ts +0 -1
- package/android/cpp/jni/JniWebGPUView.cpp +0 -112
- package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
- package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
- package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
- package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
- package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
- package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
- package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
- package/apple/SkiaPlatformContext.h +0 -20
- package/apple/SkiaPlatformContext.mm +0 -21
- package/apple/SkiaWebGPUView.mm +0 -81
- package/apple/WebGPUMetalView.mm +0 -136
- package/cpp/rnwgpu/ArrayBuffer.h +0 -116
- package/cpp/rnwgpu/Canvas.h +0 -52
- package/cpp/rnwgpu/PlatformContext.h +0 -18
- package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
- package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
- package/cpp/rnwgpu/api/Convertors.h +0 -783
- package/cpp/rnwgpu/api/External.h +0 -12
- package/cpp/rnwgpu/api/GPU.cpp +0 -162
- package/cpp/rnwgpu/api/GPU.h +0 -60
- package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -239
- package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
- package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
- package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
- package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
- package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
- package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
- package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
- package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
- package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
- package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
- package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
- package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
- package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
- package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
- package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
- package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
- package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
- package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
- package/cpp/rnwgpu/api/GPUDevice.cpp +0 -613
- package/cpp/rnwgpu/api/GPUDevice.h +0 -258
- package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
- package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
- package/cpp/rnwgpu/api/GPUError.h +0 -35
- package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
- package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
- package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
- package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
- package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
- package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
- package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
- package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
- package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
- package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
- package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
- package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
- package/cpp/rnwgpu/api/GPUQueue.h +0 -84
- package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
- package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
- package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
- package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
- package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
- package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
- package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
- package/cpp/rnwgpu/api/GPUSampler.h +0 -44
- package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
- package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
- package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
- package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
- package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
- package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
- package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
- package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
- package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
- package/cpp/rnwgpu/api/GPUTexture.h +0 -162
- package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
- package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
- package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
- package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
- package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
- package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
- package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
- package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
- package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
- package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
- package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
- package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
- package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
- package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
- package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
- package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
- package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
- package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
- package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
- package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
- package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
- package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
- package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
- package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
- package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
- package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
- package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
- package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
- package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
- package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
- package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
- package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
- package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
- package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
- package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
- package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
- package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
- package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
- package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
- package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
- package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
- package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
- package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
- package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
- package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
- package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
- package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
- package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
- package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
- package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
- package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
- package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
- package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
- package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
- package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
- package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
- package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
- package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
- package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
- package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
- package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -213
- package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
- package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
- package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
- package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
- package/lib/commonjs/skia/types/WebGPU.js +0 -105
- package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
- package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
- package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
- package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
- package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
- package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
- package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
- package/lib/commonjs/specs/utils.d.ts +0 -1
- package/lib/commonjs/specs/utils.js +0 -11
- package/lib/commonjs/specs/utils.js.map +0 -1
- package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
- package/lib/commonjs/views/WebGPUCanvas.js +0 -79
- package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
- package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
- package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
- package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
- package/lib/module/skia/types/WebGPU.d.ts +0 -184
- package/lib/module/skia/types/WebGPU.js +0 -99
- package/lib/module/skia/types/WebGPU.js.map +0 -1
- package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
- package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
- package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
- package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
- package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
- package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
- package/lib/module/specs/utils.d.ts +0 -1
- package/lib/module/specs/utils.js +0 -5
- package/lib/module/specs/utils.js.map +0 -1
- package/lib/module/views/WebGPUCanvas.d.ts +0 -33
- package/lib/module/views/WebGPUCanvas.js +0 -70
- package/lib/module/views/WebGPUCanvas.js.map +0 -1
- package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
- package/lib/module/views/WebGPUCanvas.web.js +0 -12
- package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
- package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
- package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
- package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
- package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
- package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
- package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
- package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
- package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
- package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
- package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
- package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
- package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
- package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
- package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
- package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
- package/lib/typescript/src/specs/utils.d.ts +0 -1
- package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
- package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
- package/src/skia/types/WebGPU.ts +0 -226
- package/src/specs/WebGPUViewNativeComponent.ts +0 -11
- package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
- package/src/specs/utils.ts +0 -4
- package/src/views/WebGPUCanvas.tsx +0 -125
- package/src/views/WebGPUCanvas.web.tsx +0 -36
package/cpp/api/JsiSkImage.h
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
3
|
#include <memory>
|
|
4
|
+
#include <optional>
|
|
4
5
|
#include <string>
|
|
5
6
|
#include <utility>
|
|
7
|
+
#include <variant>
|
|
6
8
|
|
|
9
|
+
#include "JsiSkConverters.h"
|
|
7
10
|
#include "JsiSkDispatcher.h"
|
|
8
11
|
#include "JsiSkImageInfo.h"
|
|
9
12
|
#include "JsiSkMatrix.h"
|
|
@@ -148,53 +151,42 @@ public:
|
|
|
148
151
|
static constexpr const char *CLASS_NAME = "Image";
|
|
149
152
|
|
|
150
153
|
// TODO-API: Properties?
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
return static_cast<double>(getObject()->height());
|
|
154
|
-
}
|
|
154
|
+
double width() { return static_cast<double>(getObject()->width()); }
|
|
155
|
+
double height() { return static_cast<double>(getObject()->height()); }
|
|
155
156
|
|
|
156
|
-
|
|
157
|
-
return JsiSkImageInfo
|
|
158
|
-
|
|
157
|
+
std::shared_ptr<JsiSkImageInfo> getImageInfo() {
|
|
158
|
+
return std::make_shared<JsiSkImageInfo>(getContext(),
|
|
159
|
+
getObject()->imageInfo());
|
|
159
160
|
}
|
|
160
161
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
auto
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
getObject()->makeShader(tmx, tmy, SkSamplingOptions(fm, mm), m);
|
|
171
|
-
return makeJsiObject(runtime, std::make_shared<JsiSkShader>(
|
|
172
|
-
getContext(), std::move(shader)));
|
|
162
|
+
std::shared_ptr<JsiSkShader>
|
|
163
|
+
makeShaderOptions(double tmx, double tmy, double fm, double mm,
|
|
164
|
+
std::optional<std::shared_ptr<SkMatrix>> m) {
|
|
165
|
+
auto shader = getObject()->makeShader(
|
|
166
|
+
static_cast<SkTileMode>(tmx), static_cast<SkTileMode>(tmy),
|
|
167
|
+
SkSamplingOptions(static_cast<SkFilterMode>(fm),
|
|
168
|
+
static_cast<SkMipmapMode>(mm)),
|
|
169
|
+
m.has_value() ? m->get() : nullptr);
|
|
170
|
+
return std::make_shared<JsiSkShader>(getContext(), std::move(shader));
|
|
173
171
|
}
|
|
174
172
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
auto
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
auto shader =
|
|
184
|
-
getObject()->makeShader(tmx, tmy, SkSamplingOptions({B, C}), m);
|
|
185
|
-
return makeJsiObject(runtime, std::make_shared<JsiSkShader>(
|
|
186
|
-
getContext(), std::move(shader)));
|
|
173
|
+
std::shared_ptr<JsiSkShader>
|
|
174
|
+
makeShaderCubic(double tmx, double tmy, double B, double C,
|
|
175
|
+
std::optional<std::shared_ptr<SkMatrix>> m) {
|
|
176
|
+
auto shader = getObject()->makeShader(
|
|
177
|
+
static_cast<SkTileMode>(tmx), static_cast<SkTileMode>(tmy),
|
|
178
|
+
SkSamplingOptions({SkDoubleToScalar(B), SkDoubleToScalar(C)}),
|
|
179
|
+
m.has_value() ? m->get() : nullptr);
|
|
180
|
+
return std::make_shared<JsiSkShader>(getContext(), std::move(shader));
|
|
187
181
|
}
|
|
188
182
|
|
|
189
|
-
sk_sp<SkData> encodeImageData(
|
|
183
|
+
sk_sp<SkData> encodeImageData(JsiOptional<double> formatParam,
|
|
184
|
+
JsiOptional<double> qualityParam) {
|
|
190
185
|
// Get optional parameters
|
|
191
|
-
auto format =
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
auto quality = (count >= 2 && arguments[1].isNumber())
|
|
196
|
-
? arguments[1].asNumber()
|
|
197
|
-
: 100.0;
|
|
186
|
+
auto format = formatParam.has_value()
|
|
187
|
+
? static_cast<SkEncodedImageFormat>(*formatParam)
|
|
188
|
+
: SkEncodedImageFormat::kPNG;
|
|
189
|
+
auto quality = qualityParam.has_value() ? *qualityParam : 100.0;
|
|
198
190
|
auto image = getObject();
|
|
199
191
|
#if defined(SK_GRAPHITE)
|
|
200
192
|
image = DawnContext::getInstance().MakeRasterImage(image);
|
|
@@ -238,8 +230,17 @@ public:
|
|
|
238
230
|
return data;
|
|
239
231
|
}
|
|
240
232
|
|
|
233
|
+
// Stays raw: constructs a Uint8Array result.
|
|
241
234
|
JSI_HOST_FUNCTION(encodeToBytes) {
|
|
242
|
-
|
|
235
|
+
JsiOptional<double> format =
|
|
236
|
+
count >= 1 && !arguments[0].isUndefined() && !arguments[0].isNull()
|
|
237
|
+
? JsiOptional<double>(arguments[0].asNumber())
|
|
238
|
+
: JsiOptional<double>();
|
|
239
|
+
JsiOptional<double> quality = count >= 2 && arguments[1].isNumber()
|
|
240
|
+
? JsiOptional<double>(
|
|
241
|
+
arguments[1].asNumber())
|
|
242
|
+
: JsiOptional<double>();
|
|
243
|
+
auto data = encodeImageData(format, quality);
|
|
243
244
|
if (!data) {
|
|
244
245
|
return jsi::Value::null();
|
|
245
246
|
}
|
|
@@ -261,17 +262,18 @@ public:
|
|
|
261
262
|
return array;
|
|
262
263
|
}
|
|
263
264
|
|
|
264
|
-
|
|
265
|
-
|
|
265
|
+
std::variant<std::nullptr_t, std::string>
|
|
266
|
+
encodeToBase64(JsiOptional<double> format, JsiOptional<double> quality) {
|
|
267
|
+
auto data = encodeImageData(format, quality);
|
|
266
268
|
if (!data) {
|
|
267
|
-
return
|
|
269
|
+
return nullptr;
|
|
268
270
|
}
|
|
269
271
|
|
|
270
272
|
auto len = Base64::Encode(data->bytes(), data->size(), nullptr);
|
|
271
273
|
auto buffer = std::string(len, 0);
|
|
272
274
|
Base64::Encode(data->bytes(), data->size(),
|
|
273
275
|
reinterpret_cast<void *>(&buffer[0]));
|
|
274
|
-
return
|
|
276
|
+
return buffer;
|
|
275
277
|
}
|
|
276
278
|
|
|
277
279
|
JSI_HOST_FUNCTION(readPixels) {
|
|
@@ -328,22 +330,22 @@ public:
|
|
|
328
330
|
return dest;
|
|
329
331
|
}
|
|
330
332
|
|
|
331
|
-
|
|
333
|
+
std::variant<std::nullptr_t, std::shared_ptr<JsiSkImage>>
|
|
334
|
+
makeNonTextureImage() {
|
|
332
335
|
#if defined(SK_GRAPHITE)
|
|
333
336
|
auto rasterImage = DawnContext::getInstance().MakeRasterImage(getObject());
|
|
334
337
|
#else
|
|
335
338
|
auto grContext = getContext()->getDirectContext();
|
|
336
339
|
auto image = getObject();
|
|
337
340
|
if (!grContext) {
|
|
338
|
-
throw
|
|
341
|
+
throw std::runtime_error("No GPU context available.");
|
|
339
342
|
}
|
|
340
343
|
auto rasterImage = image->makeRasterImage(grContext);
|
|
341
344
|
#endif
|
|
342
345
|
if (!rasterImage) {
|
|
343
|
-
return
|
|
346
|
+
return nullptr;
|
|
344
347
|
}
|
|
345
|
-
return
|
|
346
|
-
getContext(), std::move(rasterImage)));
|
|
348
|
+
return std::make_shared<JsiSkImage>(getContext(), std::move(rasterImage));
|
|
347
349
|
}
|
|
348
350
|
|
|
349
351
|
JSI_HOST_FUNCTION(getNativeTextureUnstable) {
|
|
@@ -355,9 +357,7 @@ public:
|
|
|
355
357
|
return JsiTextureInfo::toValue(runtime, texInfo);
|
|
356
358
|
}
|
|
357
359
|
|
|
358
|
-
|
|
359
|
-
return jsi::Value(getObject()->isTextureBacked());
|
|
360
|
-
}
|
|
360
|
+
bool isTextureBacked() { return getObject()->isTextureBacked(); }
|
|
361
361
|
|
|
362
362
|
/**
|
|
363
363
|
Returns the underlying object from a host object of this type
|
|
@@ -369,26 +369,26 @@ public:
|
|
|
369
369
|
|
|
370
370
|
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
371
371
|
installCommon(runtime, prototype);
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
372
|
+
installMethod(runtime, prototype, "width", &JsiSkImage::width);
|
|
373
|
+
installMethod(runtime, prototype, "height", &JsiSkImage::height);
|
|
374
|
+
installMethod(runtime, prototype, "getImageInfo",
|
|
375
|
+
&JsiSkImage::getImageInfo);
|
|
376
|
+
installMethod(runtime, prototype, "makeShaderOptions",
|
|
377
|
+
&JsiSkImage::makeShaderOptions);
|
|
378
|
+
installMethod(runtime, prototype, "makeShaderCubic",
|
|
379
|
+
&JsiSkImage::makeShaderCubic);
|
|
380
380
|
installHostMethod(runtime, prototype, "encodeToBytes",
|
|
381
381
|
&JsiSkImage::encodeToBytes);
|
|
382
|
-
|
|
383
|
-
|
|
382
|
+
installMethod(runtime, prototype, "encodeToBase64",
|
|
383
|
+
&JsiSkImage::encodeToBase64);
|
|
384
384
|
installHostMethod(runtime, prototype, "readPixels",
|
|
385
385
|
&JsiSkImage::readPixels);
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
installMethod(runtime, prototype, "makeNonTextureImage",
|
|
387
|
+
&JsiSkImage::makeNonTextureImage);
|
|
388
388
|
installHostMethod(runtime, prototype, "getNativeTextureUnstable",
|
|
389
389
|
&JsiSkImage::getNativeTextureUnstable);
|
|
390
|
-
|
|
391
|
-
|
|
390
|
+
installMethod(runtime, prototype, "isTextureBacked",
|
|
391
|
+
&JsiSkImage::isTextureBacked);
|
|
392
392
|
}
|
|
393
393
|
|
|
394
394
|
JsiSkImage(std::shared_ptr<RNSkPlatformContext> context,
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
#include <memory>
|
|
4
4
|
#include <utility>
|
|
5
|
+
#include <variant>
|
|
5
6
|
|
|
6
7
|
#include <jsi/jsi.h>
|
|
7
8
|
|
|
9
|
+
#include "JsiSkConverters.h"
|
|
8
10
|
#include "JsiSkData.h"
|
|
9
11
|
#include "JsiSkImage.h"
|
|
10
12
|
#include "JsiSkImageInfo.h"
|
|
@@ -13,7 +15,6 @@
|
|
|
13
15
|
|
|
14
16
|
#ifdef SK_GRAPHITE
|
|
15
17
|
#include "rnskia/RNDawnContext.h"
|
|
16
|
-
#include "rnwgpu/api/GPUTexture.h"
|
|
17
18
|
#endif
|
|
18
19
|
|
|
19
20
|
namespace RNSkia {
|
|
@@ -24,43 +25,35 @@ class JsiSkImageFactory : public JsiSkNativeObject<JsiSkImageFactory> {
|
|
|
24
25
|
public:
|
|
25
26
|
static constexpr const char *CLASS_NAME = "ImageFactory";
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
std::make_shared<JsiSkImage>(getContext(), nullptr));
|
|
28
|
+
std::shared_ptr<JsiSkImage> MakeNull() {
|
|
29
|
+
return std::make_shared<JsiSkImage>(getContext(), nullptr);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
std::variant<std::nullptr_t, std::shared_ptr<JsiSkImage>>
|
|
33
|
+
MakeImageFromEncoded(sk_sp<SkData> data) {
|
|
34
34
|
auto image = SkImages::DeferredFromEncodedData(data);
|
|
35
35
|
if (image == nullptr) {
|
|
36
|
-
return
|
|
36
|
+
return nullptr;
|
|
37
37
|
}
|
|
38
|
-
return
|
|
39
|
-
runtime, std::make_shared<JsiSkImage>(getContext(), std::move(image)));
|
|
38
|
+
return std::make_shared<JsiSkImage>(getContext(), std::move(image));
|
|
40
39
|
}
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
jsi::BigInt pointer = arguments[0].asBigInt(runtime);
|
|
44
|
-
const uintptr_t nativeBufferPointer = pointer.asUint64(runtime);
|
|
45
|
-
void *rawPointer = reinterpret_cast<void *>(nativeBufferPointer);
|
|
41
|
+
std::shared_ptr<JsiSkImage> MakeImageFromNativeBuffer(void *rawPointer) {
|
|
46
42
|
auto image = getContext()->makeImageFromNativeBuffer(rawPointer);
|
|
47
43
|
if (image == nullptr) {
|
|
48
44
|
throw std::runtime_error("Failed to convert NativeBuffer to SkImage!");
|
|
49
45
|
}
|
|
50
|
-
return
|
|
51
|
-
runtime, std::make_shared<JsiSkImage>(getContext(), std::move(image)));
|
|
46
|
+
return std::make_shared<JsiSkImage>(getContext(), std::move(image));
|
|
52
47
|
}
|
|
53
48
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
auto bytesPerRow = arguments[2].asNumber();
|
|
49
|
+
std::variant<std::nullptr_t, std::shared_ptr<JsiSkImage>>
|
|
50
|
+
MakeImage(std::shared_ptr<SkImageInfo> imageInfo, sk_sp<SkData> pixelData,
|
|
51
|
+
double bytesPerRow) {
|
|
58
52
|
auto image = SkImages::RasterFromData(*imageInfo, pixelData, bytesPerRow);
|
|
59
53
|
if (image == nullptr) {
|
|
60
|
-
return
|
|
54
|
+
return nullptr;
|
|
61
55
|
}
|
|
62
|
-
return
|
|
63
|
-
runtime, std::make_shared<JsiSkImage>(getContext(), std::move(image)));
|
|
56
|
+
return std::make_shared<JsiSkImage>(getContext(), std::move(image));
|
|
64
57
|
}
|
|
65
58
|
|
|
66
59
|
JSI_HOST_FUNCTION(MakeImageFromViewTag) {
|
|
@@ -109,84 +102,94 @@ public:
|
|
|
109
102
|
runtime, std::make_shared<JsiSkImage>(getContext(), std::move(image)));
|
|
110
103
|
}
|
|
111
104
|
|
|
112
|
-
|
|
105
|
+
// Pointer-based texture interop with react-native-webgpu. The GPUTexture
|
|
106
|
+
// JS objects live in react-native-webgpu, so textures cross the package
|
|
107
|
+
// boundary as raw WGPUTexture pointers (BigInt), exactly like the device
|
|
108
|
+
// handoff (Skia.getNativeDevice / importDevice). Only sound on the shared
|
|
109
|
+
// device: both packages link one Dawn and share one wgpu::Instance.
|
|
110
|
+
|
|
111
|
+
JSI_HOST_FUNCTION(MakeImageFromNativeTexture) {
|
|
113
112
|
#ifdef SK_GRAPHITE
|
|
114
|
-
if (count < 1 || !arguments[0].
|
|
115
|
-
throw std::runtime_error(
|
|
116
|
-
|
|
113
|
+
if (count < 1 || !arguments[0].isBigInt()) {
|
|
114
|
+
throw std::runtime_error("MakeImageFromNativeTexture requires a "
|
|
115
|
+
"WGPUTexture pointer (BigInt), e.g. "
|
|
116
|
+
"texture.nativePointer");
|
|
117
117
|
}
|
|
118
|
-
auto
|
|
119
|
-
|
|
120
|
-
if (
|
|
121
|
-
throw std::runtime_error(
|
|
118
|
+
auto raw = reinterpret_cast<WGPUTexture>(
|
|
119
|
+
arguments[0].asBigInt(runtime).asUint64(runtime));
|
|
120
|
+
if (raw == nullptr) {
|
|
121
|
+
throw std::runtime_error(
|
|
122
|
+
"MakeImageFromNativeTexture: pointer must be non-null");
|
|
122
123
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
// Borrow: AddRef so our wgpu::Texture holds its own reference; the
|
|
125
|
+
// wrapped SkImage retains the texture for its lifetime (see
|
|
126
|
+
// DawnContext::MakeImageFromTexture) and the caller keeps ownership of
|
|
127
|
+
// the JS GPUTexture.
|
|
128
|
+
wgpuTextureAddRef(raw);
|
|
129
|
+
wgpu::Texture texture = wgpu::Texture::Acquire(raw);
|
|
129
130
|
auto &dawnContext = DawnContext::getInstance();
|
|
130
|
-
auto image =
|
|
131
|
-
|
|
131
|
+
auto image = dawnContext.MakeImageFromTexture(
|
|
132
|
+
texture, static_cast<int>(texture.GetWidth()),
|
|
133
|
+
static_cast<int>(texture.GetHeight()), texture.GetFormat());
|
|
132
134
|
if (image == nullptr) {
|
|
133
|
-
throw std::runtime_error(
|
|
135
|
+
throw std::runtime_error(
|
|
136
|
+
"MakeImageFromNativeTexture: failed to wrap the texture");
|
|
134
137
|
}
|
|
135
138
|
return makeJsiObject(
|
|
136
139
|
runtime, std::make_shared<JsiSkImage>(getContext(), std::move(image)));
|
|
137
140
|
#else
|
|
138
141
|
throw std::runtime_error(
|
|
139
|
-
"
|
|
140
|
-
"Rebuild with SK_GRAPHITE enabled.");
|
|
142
|
+
"MakeImageFromNativeTexture is only available with the Graphite "
|
|
143
|
+
"backend. Rebuild with SK_GRAPHITE enabled.");
|
|
141
144
|
#endif
|
|
142
145
|
}
|
|
143
146
|
|
|
144
|
-
JSI_HOST_FUNCTION(
|
|
147
|
+
JSI_HOST_FUNCTION(MakeNativeTextureFromImage) {
|
|
145
148
|
#ifdef SK_GRAPHITE
|
|
146
149
|
if (count < 1) {
|
|
147
150
|
throw std::runtime_error(
|
|
148
|
-
"
|
|
151
|
+
"MakeNativeTextureFromImage requires an SkImage argument");
|
|
149
152
|
}
|
|
150
153
|
auto image = JsiSkImage::fromValue(runtime, arguments[0]);
|
|
151
154
|
if (!image) {
|
|
152
155
|
throw std::runtime_error("Invalid SkImage object");
|
|
153
156
|
}
|
|
154
|
-
|
|
155
157
|
auto &dawnContext = DawnContext::getInstance();
|
|
156
158
|
wgpu::Texture texture = dawnContext.MakeTextureFromImage(image);
|
|
157
159
|
if (!texture) {
|
|
158
|
-
throw std::runtime_error(
|
|
160
|
+
throw std::runtime_error(
|
|
161
|
+
"MakeNativeTextureFromImage: failed to create the texture");
|
|
159
162
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
return
|
|
163
|
+
// Transfer ownership: the returned pointer carries one reference and must
|
|
164
|
+
// be adopted exactly once (react-native-webgpu's adoptTexture()), which
|
|
165
|
+
// releases it when the JS GPUTexture is destroyed.
|
|
166
|
+
return jsi::BigInt::fromUint64(
|
|
167
|
+
runtime, reinterpret_cast<uint64_t>(texture.MoveToCHandle()));
|
|
164
168
|
#else
|
|
165
169
|
throw std::runtime_error(
|
|
166
|
-
"
|
|
167
|
-
"Rebuild with SK_GRAPHITE enabled.");
|
|
170
|
+
"MakeNativeTextureFromImage is only available with the Graphite "
|
|
171
|
+
"backend. Rebuild with SK_GRAPHITE enabled.");
|
|
168
172
|
#endif
|
|
169
173
|
}
|
|
170
174
|
|
|
171
175
|
size_t getMemoryPressure() override { return 1024; }
|
|
172
176
|
|
|
173
177
|
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
174
|
-
|
|
175
|
-
|
|
178
|
+
installMethod(runtime, prototype, "MakeImageFromEncoded",
|
|
179
|
+
&JsiSkImageFactory::MakeImageFromEncoded);
|
|
176
180
|
installHostMethod(runtime, prototype, "MakeImageFromViewTag",
|
|
177
181
|
&JsiSkImageFactory::MakeImageFromViewTag);
|
|
178
|
-
|
|
179
|
-
|
|
182
|
+
installMethod(runtime, prototype, "MakeImageFromNativeBuffer",
|
|
183
|
+
&JsiSkImageFactory::MakeImageFromNativeBuffer);
|
|
180
184
|
installHostMethod(runtime, prototype, "MakeImageFromNativeTextureUnstable",
|
|
181
185
|
&JsiSkImageFactory::MakeImageFromNativeTextureUnstable);
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
&JsiSkImageFactory::MakeTextureFromImage);
|
|
186
|
+
installMethod(runtime, prototype, "MakeImage",
|
|
187
|
+
&JsiSkImageFactory::MakeImage);
|
|
188
|
+
installMethod(runtime, prototype, "MakeNull", &JsiSkImageFactory::MakeNull);
|
|
189
|
+
installHostMethod(runtime, prototype, "MakeImageFromNativeTexture",
|
|
190
|
+
&JsiSkImageFactory::MakeImageFromNativeTexture);
|
|
191
|
+
installHostMethod(runtime, prototype, "MakeNativeTextureFromImage",
|
|
192
|
+
&JsiSkImageFactory::MakeNativeTextureFromImage);
|
|
190
193
|
}
|
|
191
194
|
|
|
192
195
|
explicit JsiSkImageFactory(std::shared_ptr<RNSkPlatformContext> context)
|