@shopify/react-native-skia 2.10.0 → 2.11.0-next.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/dawn/include/dawn/dawn_proc.h +53 -0
- package/cpp/dawn/include/dawn/dawn_proc_table.h +330 -0
- package/cpp/dawn/include/dawn/dawn_thread_dispatch_proc.h +47 -0
- package/cpp/dawn/include/dawn/dawn_version.h +41 -0
- package/cpp/dawn/include/dawn/native/D3D11Backend.h +65 -0
- package/cpp/dawn/include/dawn/native/D3D12Backend.h +86 -0
- package/cpp/dawn/include/dawn/native/D3DBackend.h +56 -0
- package/cpp/dawn/include/dawn/native/DawnNative.h +369 -0
- package/cpp/dawn/include/dawn/native/MetalBackend.h +56 -0
- package/cpp/dawn/include/dawn/native/NullBackend.h +39 -0
- package/cpp/dawn/include/dawn/native/OpenGLBackend.h +89 -0
- package/cpp/dawn/include/dawn/native/VulkanBackend.h +183 -0
- package/cpp/dawn/include/dawn/native/WebGPUBackend.h +49 -0
- package/cpp/dawn/include/dawn/native/dawn_native_export.h +49 -0
- package/cpp/dawn/include/dawn/platform/DawnPlatform.h +210 -0
- package/cpp/dawn/include/dawn/platform/dawn_platform_export.h +49 -0
- package/cpp/dawn/include/dawn/replay/Replay.h +99 -0
- package/cpp/dawn/include/dawn/replay/dawn_replay_export.h +49 -0
- package/cpp/dawn/include/dawn/webgpu_cpp_print.h +2844 -0
- package/cpp/dawn/include/tint/tint.h +90 -0
- package/cpp/dawn/include/webgpu/webgpu.h +4987 -0
- package/cpp/dawn/include/webgpu/webgpu_cpp.h +10080 -0
- package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +57 -0
- package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +161 -0
- package/cpp/dawn/include/webgpu/webgpu_glfw.h +88 -0
- 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/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +45 -0
- package/cpp/skia/src/gpu/graphite/ResourceTypes.h +360 -0
- package/cpp/skia/src/gpu/graphite/TextureProxyView.h +105 -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/libs/.graphite +1 -0
- package/package.json +8 -9
- 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/JsiSkImageInfo.h
CHANGED
|
@@ -60,14 +60,12 @@ public:
|
|
|
60
60
|
std::move(context), imageInfo));
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
JSI_PROPERTY_GET(colorType) {
|
|
63
|
+
double getWidth() { return static_cast<double>(getObject()->width()); }
|
|
64
|
+
double getHeight() { return static_cast<double>(getObject()->height()); }
|
|
65
|
+
double getColorType() {
|
|
68
66
|
return static_cast<double>(getObject()->colorType());
|
|
69
67
|
}
|
|
70
|
-
|
|
68
|
+
double getAlphaType() {
|
|
71
69
|
return static_cast<double>(getObject()->alphaType());
|
|
72
70
|
}
|
|
73
71
|
|
|
@@ -77,13 +75,12 @@ public:
|
|
|
77
75
|
|
|
78
76
|
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
79
77
|
installCommon(runtime, prototype);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
&JsiSkImageInfo::get_alphaType);
|
|
78
|
+
installGetter(runtime, prototype, "width", &JsiSkImageInfo::getWidth);
|
|
79
|
+
installGetter(runtime, prototype, "height", &JsiSkImageInfo::getHeight);
|
|
80
|
+
installGetter(runtime, prototype, "colorType",
|
|
81
|
+
&JsiSkImageInfo::getColorType);
|
|
82
|
+
installGetter(runtime, prototype, "alphaType",
|
|
83
|
+
&JsiSkImageInfo::getAlphaType);
|
|
87
84
|
}
|
|
88
85
|
};
|
|
89
86
|
} // namespace RNSkia
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include <jsi/jsi.h>
|
|
7
7
|
|
|
8
8
|
#include "JsiSkColorFilter.h"
|
|
9
|
+
#include "JsiSkConverters.h"
|
|
9
10
|
#include "JsiSkMaskFilter.h"
|
|
10
11
|
#include "JsiSkNativeObjects.h"
|
|
11
12
|
|
|
@@ -25,22 +26,18 @@ class JsiSkMaskFilterFactory
|
|
|
25
26
|
public:
|
|
26
27
|
static constexpr const char *CLASS_NAME = "MaskFilterFactory";
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
runtime,
|
|
34
|
-
std::make_shared<JsiSkMaskFilter>(
|
|
35
|
-
getContext(),
|
|
36
|
-
SkMaskFilter::MakeBlur((SkBlurStyle)blurStyle, sigma, respectCTM)));
|
|
29
|
+
std::shared_ptr<JsiSkMaskFilter> MakeBlur(int blurStyle, float sigma,
|
|
30
|
+
bool respectCTM) {
|
|
31
|
+
return std::make_shared<JsiSkMaskFilter>(
|
|
32
|
+
getContext(), SkMaskFilter::MakeBlur(static_cast<SkBlurStyle>(blurStyle),
|
|
33
|
+
sigma, respectCTM));
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
size_t getMemoryPressure() override { return 1024; }
|
|
40
37
|
|
|
41
38
|
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
installMethod(runtime, prototype, "MakeBlur",
|
|
40
|
+
&JsiSkMaskFilterFactory::MakeBlur);
|
|
44
41
|
}
|
|
45
42
|
|
|
46
43
|
explicit JsiSkMaskFilterFactory(std::shared_ptr<RNSkPlatformContext> context)
|
package/cpp/api/JsiSkMatrix.h
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
#include <memory>
|
|
4
4
|
#include <utility>
|
|
5
|
+
#include <vector>
|
|
5
6
|
|
|
6
7
|
#include <jsi/jsi.h>
|
|
7
8
|
|
|
9
|
+
#include "JsiSkConverters.h"
|
|
8
10
|
#include "JsiSkNativeObjects.h"
|
|
9
11
|
|
|
10
12
|
#pragma clang diagnostic push
|
|
@@ -59,82 +61,39 @@ public:
|
|
|
59
61
|
std::to_string(array.size(runtime)));
|
|
60
62
|
}
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (matrix) {
|
|
65
|
-
getObject()->preConcat(*matrix->getObject());
|
|
66
|
-
} else {
|
|
67
|
-
auto m3 = JsiSkMatrix::getMatrix(runtime, arguments[0]);
|
|
68
|
-
getObject()->preConcat(m3);
|
|
69
|
-
}
|
|
70
|
-
return thisValue.asObject(runtime);
|
|
64
|
+
void concat(std::shared_ptr<SkMatrix> matrix) {
|
|
65
|
+
getObject()->preConcat(*matrix);
|
|
71
66
|
}
|
|
72
67
|
|
|
73
|
-
|
|
74
|
-
auto x = arguments[0].asNumber();
|
|
75
|
-
auto y = arguments[1].asNumber();
|
|
76
|
-
getObject()->preTranslate(x, y);
|
|
77
|
-
return thisValue.asObject(runtime);
|
|
78
|
-
}
|
|
68
|
+
void translate(double x, double y) { getObject()->preTranslate(x, y); }
|
|
79
69
|
|
|
80
|
-
|
|
81
|
-
auto x = arguments[0].asNumber();
|
|
82
|
-
auto y = arguments[1].asNumber();
|
|
83
|
-
getObject()->postTranslate(x, y);
|
|
84
|
-
return thisValue.asObject(runtime);
|
|
85
|
-
}
|
|
70
|
+
void postTranslate(double x, double y) { getObject()->postTranslate(x, y); }
|
|
86
71
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
auto y = count > 1 ? arguments[1].asNumber() : 1;
|
|
90
|
-
getObject()->preScale(x, y);
|
|
91
|
-
return thisValue.asObject(runtime);
|
|
72
|
+
void scale(double x, JsiOptional<double> y) {
|
|
73
|
+
getObject()->preScale(x, y.has_value() ? *y : 1);
|
|
92
74
|
}
|
|
93
75
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
auto y = count > 1 ? arguments[1].asNumber() : 1;
|
|
97
|
-
getObject()->postScale(x, y);
|
|
98
|
-
return thisValue.asObject(runtime);
|
|
76
|
+
void postScale(double x, JsiOptional<double> y) {
|
|
77
|
+
getObject()->postScale(x, y.has_value() ? *y : 1);
|
|
99
78
|
}
|
|
100
79
|
|
|
101
|
-
|
|
102
|
-
auto x = arguments[0].asNumber();
|
|
103
|
-
auto y = arguments[1].asNumber();
|
|
104
|
-
getObject()->preSkew(x, y);
|
|
105
|
-
return thisValue.asObject(runtime);
|
|
106
|
-
}
|
|
80
|
+
void skew(double x, double y) { getObject()->preSkew(x, y); }
|
|
107
81
|
|
|
108
|
-
|
|
109
|
-
auto x = arguments[0].asNumber();
|
|
110
|
-
auto y = arguments[1].asNumber();
|
|
111
|
-
getObject()->postSkew(x, y);
|
|
112
|
-
return thisValue.asObject(runtime);
|
|
113
|
-
}
|
|
82
|
+
void postSkew(double x, double y) { getObject()->postSkew(x, y); }
|
|
114
83
|
|
|
115
|
-
|
|
116
|
-
auto a = arguments[0].asNumber();
|
|
117
|
-
getObject()->preRotate(SkRadiansToDegrees(a));
|
|
118
|
-
return thisValue.asObject(runtime);
|
|
119
|
-
}
|
|
84
|
+
void rotate(double a) { getObject()->preRotate(SkRadiansToDegrees(a)); }
|
|
120
85
|
|
|
121
|
-
|
|
122
|
-
auto a = arguments[0].asNumber();
|
|
123
|
-
getObject()->postRotate(SkRadiansToDegrees(a));
|
|
124
|
-
return thisValue.asObject(runtime);
|
|
125
|
-
}
|
|
86
|
+
void postRotate(double a) { getObject()->postRotate(SkRadiansToDegrees(a)); }
|
|
126
87
|
|
|
127
|
-
|
|
128
|
-
getObject()->setIdentity();
|
|
129
|
-
return thisValue.asObject(runtime);
|
|
130
|
-
}
|
|
88
|
+
void identity() { getObject()->setIdentity(); }
|
|
131
89
|
|
|
132
90
|
#pragma clang diagnostic push
|
|
133
91
|
#pragma clang diagnostic ignored "-Woverloaded-virtual"
|
|
134
|
-
|
|
135
|
-
|
|
92
|
+
std::vector<float> get() {
|
|
93
|
+
std::vector<float> values;
|
|
94
|
+
values.reserve(9);
|
|
136
95
|
for (auto i = 0; i < 9; i++) {
|
|
137
|
-
values.
|
|
96
|
+
values.push_back(getObject()->get(i));
|
|
138
97
|
}
|
|
139
98
|
return values;
|
|
140
99
|
}
|
|
@@ -142,19 +101,23 @@ public:
|
|
|
142
101
|
|
|
143
102
|
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
144
103
|
installCommon(runtime, prototype);
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
104
|
+
installChainableMethod(runtime, prototype, "concat", &JsiSkMatrix::concat);
|
|
105
|
+
installChainableMethod(runtime, prototype, "translate",
|
|
106
|
+
&JsiSkMatrix::translate);
|
|
107
|
+
installChainableMethod(runtime, prototype, "postTranslate",
|
|
108
|
+
&JsiSkMatrix::postTranslate);
|
|
109
|
+
installChainableMethod(runtime, prototype, "scale", &JsiSkMatrix::scale);
|
|
110
|
+
installChainableMethod(runtime, prototype, "postScale",
|
|
111
|
+
&JsiSkMatrix::postScale);
|
|
112
|
+
installChainableMethod(runtime, prototype, "skew", &JsiSkMatrix::skew);
|
|
113
|
+
installChainableMethod(runtime, prototype, "postSkew",
|
|
114
|
+
&JsiSkMatrix::postSkew);
|
|
115
|
+
installChainableMethod(runtime, prototype, "rotate", &JsiSkMatrix::rotate);
|
|
116
|
+
installChainableMethod(runtime, prototype, "postRotate",
|
|
117
|
+
&JsiSkMatrix::postRotate);
|
|
118
|
+
installChainableMethod(runtime, prototype, "identity",
|
|
119
|
+
&JsiSkMatrix::identity);
|
|
120
|
+
installMethod(runtime, prototype, "get", &JsiSkMatrix::get);
|
|
158
121
|
}
|
|
159
122
|
|
|
160
123
|
/**
|
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
#include "rnskia/RNSkPlatformContext.h"
|
|
12
12
|
#include "utils/RNSkLog.h"
|
|
13
13
|
|
|
14
|
-
#define STR_CAT_NX(A, B) A##B
|
|
15
|
-
#define STR_CAT(A, B) STR_CAT_NX(A, B)
|
|
16
|
-
#define STR_GET get_
|
|
17
|
-
#define STR_SET set_
|
|
18
|
-
|
|
19
14
|
/**
|
|
20
15
|
* Creates a new Host function declaration as a lambda with all deps passed
|
|
21
16
|
* with implicit lambda capture clause
|
|
@@ -25,24 +20,16 @@
|
|
|
25
20
|
const jsi::Value *arguments, size_t count) -> jsi::Value
|
|
26
21
|
|
|
27
22
|
/**
|
|
28
|
-
* Creates a new Host function declaration
|
|
23
|
+
* Creates a new Host function declaration. Only used for methods that cannot
|
|
24
|
+
* be expressed as typed signatures (heterogeneous argument dispatch, typed
|
|
25
|
+
* array construction, lenient options objects, promises) — everything else
|
|
26
|
+
* uses installMethod/installGetter/installChainableMethod with typed C++
|
|
27
|
+
* signatures converted through rnwgpu::JSIConverter.
|
|
29
28
|
*/
|
|
30
29
|
#define JSI_HOST_FUNCTION(NAME) \
|
|
31
30
|
jsi::Value NAME(jsi::Runtime &runtime, const jsi::Value &thisValue, \
|
|
32
31
|
const jsi::Value *arguments, size_t count)
|
|
33
32
|
|
|
34
|
-
/**
|
|
35
|
-
* Creates a new property setter function declaration
|
|
36
|
-
*/
|
|
37
|
-
#define JSI_PROPERTY_SET(NAME) \
|
|
38
|
-
void STR_CAT(STR_SET, NAME)(jsi::Runtime & runtime, const jsi::Value &value)
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Creates a new property getter function declaration
|
|
42
|
-
*/
|
|
43
|
-
#define JSI_PROPERTY_GET(NAME) \
|
|
44
|
-
jsi::Value STR_CAT(STR_GET, NAME)(jsi::Runtime & runtime)
|
|
45
|
-
|
|
46
33
|
namespace RNSkia {
|
|
47
34
|
|
|
48
35
|
namespace jsi = facebook::jsi;
|
|
@@ -113,10 +100,12 @@ std::shared_ptr<T> getJsiObject(jsi::Runtime &runtime,
|
|
|
113
100
|
* NativeObject::installPrototype; wrapping classes additionally call
|
|
114
101
|
* `installCommon(runtime, proto)` to install dispose().
|
|
115
102
|
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
103
|
+
* Most methods use typed C++ signatures installed with installMethod /
|
|
104
|
+
* installGetter / installChainableMethod (arguments and results converted
|
|
105
|
+
* through rnwgpu::JSIConverter, see JsiSkConverters.h). Methods that cannot
|
|
106
|
+
* be typed keep the classic JSI_HOST_FUNCTION signature and are installed
|
|
107
|
+
* with installHostMethod, which resolves the C++ instance from `this` via
|
|
108
|
+
* native state.
|
|
120
109
|
*/
|
|
121
110
|
template <typename Derived>
|
|
122
111
|
class JsiSkNativeObject : public rnwgpu::NativeObject<Derived> {
|
|
@@ -213,8 +202,6 @@ protected:
|
|
|
213
202
|
|
|
214
203
|
using HostMethod = jsi::Value (Derived::*)(jsi::Runtime &, const jsi::Value &,
|
|
215
204
|
const jsi::Value *, size_t);
|
|
216
|
-
using HostGetter = jsi::Value (Derived::*)(jsi::Runtime &);
|
|
217
|
-
using HostSetter = void (Derived::*)(jsi::Runtime &, const jsi::Value &);
|
|
218
205
|
|
|
219
206
|
/**
|
|
220
207
|
* Installs a method with the classic host-function signature
|
|
@@ -233,87 +220,68 @@ protected:
|
|
|
233
220
|
}
|
|
234
221
|
|
|
235
222
|
/**
|
|
236
|
-
* Installs a
|
|
237
|
-
*
|
|
223
|
+
* Installs a typed mutating method that returns `this` for chaining
|
|
224
|
+
* (e.g. path.moveTo(...).lineTo(...)). Arguments are converted through
|
|
225
|
+
* rnwgpu::JSIConverter like installMethod; the member function's return
|
|
226
|
+
* value (if any) is ignored and the JS function returns thisValue.
|
|
238
227
|
*/
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
228
|
+
template <typename ReturnType, typename... Args>
|
|
229
|
+
static void installChainableMethod(jsi::Runtime &runtime,
|
|
230
|
+
jsi::Object &prototype, const char *name,
|
|
231
|
+
ReturnType (Derived::*method)(Args...)) {
|
|
232
|
+
auto func = jsi::Function::createFromHostFunction(
|
|
233
|
+
runtime, jsi::PropNameID::forUtf8(runtime, name), sizeof...(Args),
|
|
234
|
+
[method](jsi::Runtime &rt, const jsi::Value &thisValue,
|
|
235
|
+
const jsi::Value *args, size_t count) -> jsi::Value {
|
|
246
236
|
auto native = fromThis(rt, thisValue);
|
|
247
|
-
|
|
237
|
+
invokeChainable(native.get(), method, rt, args,
|
|
238
|
+
std::index_sequence_for<Args...>{}, count);
|
|
239
|
+
return jsi::Value(rt, thisValue);
|
|
248
240
|
});
|
|
249
|
-
|
|
241
|
+
prototype.setProperty(runtime, name, func);
|
|
250
242
|
}
|
|
251
243
|
|
|
252
244
|
/**
|
|
253
|
-
*
|
|
254
|
-
* the
|
|
245
|
+
* Chainable variant for methods that need the calling jsi::Runtime as
|
|
246
|
+
* their first parameter (e.g. the deprecated SkPath mutators, which log a
|
|
247
|
+
* warning to the JS console).
|
|
255
248
|
*/
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
throw jsi::JSError(rt, "Setter requires a value argument");
|
|
265
|
-
}
|
|
249
|
+
template <typename ReturnType, typename... Args>
|
|
250
|
+
static void installChainableMethodWithRuntime(
|
|
251
|
+
jsi::Runtime &runtime, jsi::Object &prototype, const char *name,
|
|
252
|
+
ReturnType (Derived::*method)(jsi::Runtime &, Args...)) {
|
|
253
|
+
auto func = jsi::Function::createFromHostFunction(
|
|
254
|
+
runtime, jsi::PropNameID::forUtf8(runtime, name), sizeof...(Args),
|
|
255
|
+
[method](jsi::Runtime &rt, const jsi::Value &thisValue,
|
|
256
|
+
const jsi::Value *args, size_t count) -> jsi::Value {
|
|
266
257
|
auto native = fromThis(rt, thisValue);
|
|
267
|
-
((
|
|
268
|
-
|
|
258
|
+
invokeChainableWithRuntime(native.get(), method, rt, args,
|
|
259
|
+
std::index_sequence_for<Args...>{}, count);
|
|
260
|
+
return jsi::Value(rt, thisValue);
|
|
269
261
|
});
|
|
270
|
-
|
|
262
|
+
prototype.setProperty(runtime, name, func);
|
|
271
263
|
}
|
|
272
264
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
265
|
+
private:
|
|
266
|
+
// Invokes a typed member function with JSI argument conversion, discarding
|
|
267
|
+
// the result. Used by installChainableMethod, which returns thisValue.
|
|
268
|
+
template <typename ReturnType, typename... Args, size_t... Is>
|
|
269
|
+
static void invokeChainable(Derived *obj,
|
|
270
|
+
ReturnType (Derived::*method)(Args...),
|
|
271
|
+
jsi::Runtime &runtime, const jsi::Value *args,
|
|
272
|
+
std::index_sequence<Is...>, size_t count) {
|
|
273
|
+
(obj->*method)(rnwgpu::JSIConverter<std::decay_t<Args>>::fromJSI(
|
|
274
|
+
runtime, args[Is], Is >= count)...);
|
|
281
275
|
}
|
|
282
276
|
|
|
283
|
-
|
|
284
|
-
static void
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
objectCtor.getPropertyAsFunction(runtime, "getOwnPropertyDescriptor");
|
|
292
|
-
auto existing = getOwnPropertyDescriptor.call(
|
|
293
|
-
runtime, prototype, jsi::String::createFromUtf8(runtime, name));
|
|
294
|
-
|
|
295
|
-
jsi::Object descriptor(runtime);
|
|
296
|
-
if (existing.isObject()) {
|
|
297
|
-
auto existingObj = existing.getObject(runtime);
|
|
298
|
-
if (existingObj.hasProperty(runtime, "get")) {
|
|
299
|
-
descriptor.setProperty(runtime, "get",
|
|
300
|
-
existingObj.getProperty(runtime, "get"));
|
|
301
|
-
}
|
|
302
|
-
if (existingObj.hasProperty(runtime, "set")) {
|
|
303
|
-
descriptor.setProperty(runtime, "set",
|
|
304
|
-
existingObj.getProperty(runtime, "set"));
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
if (getter != nullptr) {
|
|
308
|
-
descriptor.setProperty(runtime, "get", *getter);
|
|
309
|
-
}
|
|
310
|
-
if (setter != nullptr) {
|
|
311
|
-
descriptor.setProperty(runtime, "set", *setter);
|
|
312
|
-
}
|
|
313
|
-
descriptor.setProperty(runtime, "enumerable", true);
|
|
314
|
-
descriptor.setProperty(runtime, "configurable", true);
|
|
315
|
-
defineProp.call(runtime, prototype,
|
|
316
|
-
jsi::String::createFromUtf8(runtime, name), descriptor);
|
|
277
|
+
template <typename ReturnType, typename... Args, size_t... Is>
|
|
278
|
+
static void invokeChainableWithRuntime(
|
|
279
|
+
Derived *obj, ReturnType (Derived::*method)(jsi::Runtime &, Args...),
|
|
280
|
+
jsi::Runtime &runtime, const jsi::Value *args, std::index_sequence<Is...>,
|
|
281
|
+
size_t count) {
|
|
282
|
+
(obj->*method)(runtime,
|
|
283
|
+
rnwgpu::JSIConverter<std::decay_t<Args>>::fromJSI(
|
|
284
|
+
runtime, args[Is], Is >= count)...);
|
|
317
285
|
}
|
|
318
286
|
|
|
319
287
|
std::shared_ptr<RNSkPlatformContext> _context;
|