@shopify/react-native-skia 2.9.1 → 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 +8 -46
- package/android/build.gradle +33 -0
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
- package/cpp/api/JsiNativeBuffer.h +23 -24
- package/cpp/api/JsiSkAnimatedImage.h +24 -25
- package/cpp/api/JsiSkAnimatedImageFactory.h +18 -17
- package/cpp/api/JsiSkApi.h +254 -96
- package/cpp/api/JsiSkCanvas.h +141 -266
- package/cpp/api/JsiSkColor.h +7 -5
- package/cpp/api/JsiSkColorFilter.h +15 -8
- package/cpp/api/JsiSkColorFilterFactory.h +49 -67
- package/cpp/api/JsiSkContourMeasure.h +31 -38
- package/cpp/api/JsiSkContourMeasureIter.h +20 -23
- package/cpp/api/JsiSkConverters.h +410 -0
- package/cpp/api/JsiSkData.h +13 -7
- package/cpp/api/JsiSkDataFactory.h +27 -32
- package/cpp/api/JsiSkFont.h +123 -192
- package/cpp/api/JsiSkFontMgr.h +33 -26
- package/cpp/api/JsiSkFontMgrFactory.h +12 -11
- package/cpp/api/JsiSkFontStyle.h +14 -12
- package/cpp/api/JsiSkImage.h +90 -79
- package/cpp/api/JsiSkImageFactory.h +93 -95
- package/cpp/api/JsiSkImageFilter.h +21 -11
- package/cpp/api/JsiSkImageFilterFactory.h +375 -629
- package/cpp/api/JsiSkImageInfo.h +25 -25
- package/cpp/api/JsiSkMaskFilter.h +21 -11
- package/cpp/api/JsiSkMaskFilterFactory.h +17 -17
- package/cpp/api/JsiSkMatrix.h +51 -88
- package/cpp/api/JsiSkNativeObjects.h +387 -0
- package/cpp/api/JsiSkPaint.h +104 -142
- package/cpp/api/JsiSkParagraph.h +54 -64
- package/cpp/api/JsiSkParagraphBuilder.h +43 -68
- package/cpp/api/JsiSkParagraphBuilderFactory.h +20 -24
- package/cpp/api/JsiSkPath.h +242 -350
- package/cpp/api/JsiSkPathBuilder.h +153 -273
- package/cpp/api/JsiSkPathBuilderFactory.h +19 -20
- package/cpp/api/JsiSkPathEffect.h +21 -11
- package/cpp/api/JsiSkPathEffectFactory.h +61 -80
- package/cpp/api/JsiSkPathFactory.h +148 -238
- package/cpp/api/JsiSkPicture.h +32 -27
- package/cpp/api/JsiSkPictureFactory.h +21 -26
- package/cpp/api/JsiSkPictureRecorder.h +27 -29
- package/cpp/api/JsiSkPoint.h +20 -23
- package/cpp/api/JsiSkRRect.h +24 -32
- package/cpp/api/JsiSkRSXform.h +31 -48
- package/cpp/api/JsiSkRect.h +40 -50
- package/cpp/api/JsiSkRuntimeEffect.h +85 -92
- package/cpp/api/JsiSkRuntimeEffectFactory.h +14 -18
- package/cpp/api/JsiSkRuntimeShaderBuilder.h +28 -30
- package/cpp/api/JsiSkSVG.h +15 -15
- package/cpp/api/JsiSkSVGFactory.h +17 -20
- package/cpp/api/JsiSkShader.h +15 -8
- package/cpp/api/JsiSkShaderFactory.h +159 -238
- package/cpp/api/JsiSkSkottie.h +131 -143
- package/cpp/api/JsiSkSurface.h +29 -32
- package/cpp/api/JsiSkSurfaceFactory.h +18 -20
- package/cpp/api/JsiSkTextBlob.h +15 -8
- package/cpp/api/JsiSkTextBlobFactory.h +40 -66
- package/cpp/api/JsiSkTypeface.h +25 -22
- package/cpp/api/JsiSkTypefaceFactory.h +17 -15
- package/cpp/api/JsiSkTypefaceFontProvider.h +43 -39
- package/cpp/api/JsiSkTypefaceFontProviderFactory.h +13 -12
- package/cpp/api/JsiSkVertices.h +23 -22
- package/cpp/api/JsiSkiaContext.h +22 -23
- package/cpp/api/JsiSkottieFactory.h +16 -17
- package/cpp/api/JsiVideo.h +43 -81
- package/cpp/api/recorder/Convertor.h +31 -61
- package/cpp/api/recorder/DataTypes.h +8 -16
- package/cpp/api/recorder/JsiRecorder.h +83 -55
- package/cpp/api/recorder/RNRecorder.h +1 -1
- package/cpp/jsi/BoxedNativeObject.h +146 -0
- package/cpp/{jsi2 → jsi}/EnumMapper.h +4 -1
- package/cpp/{jsi2 → jsi}/JSIConverter.h +0 -31
- package/cpp/{jsi2 → jsi}/NativeObject.h +131 -152
- package/cpp/jsi/RuntimeAwareCache.cpp +1 -1
- package/cpp/jsi/RuntimeAwareCache.h +26 -8
- package/cpp/jsi/ViewProperty.h +5 -11
- package/cpp/rnskia/RNDawnContext.h +18 -2
- package/cpp/rnskia/RNDawnInterop.cpp +19 -0
- package/cpp/rnskia/RNDawnUtils.h +18 -1
- package/cpp/rnskia/RNSkJsiViewApi.h +20 -11
- package/cpp/rnskia/RNSkManager.cpp +9 -168
- package/cpp/rnskia/RNSkPictureView.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
- package/lib/commonjs/external/reanimated/renderHelpers.d.ts +15 -0
- package/lib/commonjs/external/reanimated/renderHelpers.js +30 -1
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/mock/index.js +0 -1
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/skia/NativeSetup.js +4 -0
- package/lib/commonjs/skia/NativeSetup.js.map +1 -1
- package/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +1 -0
- package/lib/commonjs/skia/SkiaWorkletSerialization.js +66 -0
- package/lib/commonjs/skia/SkiaWorkletSerialization.js.map +1 -0
- 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/sksg/Container.native.js +20 -1
- package/lib/commonjs/sksg/Container.native.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/external/reanimated/renderHelpers.d.ts +15 -0
- package/lib/module/external/reanimated/renderHelpers.js +29 -0
- package/lib/module/external/reanimated/renderHelpers.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/NativeSetup.js +4 -0
- package/lib/module/skia/NativeSetup.js.map +1 -1
- package/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
- package/lib/module/skia/SkiaWorkletSerialization.js +59 -0
- package/lib/module/skia/SkiaWorkletSerialization.js.map +1 -0
- 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/sksg/Container.native.js +21 -2
- package/lib/module/sksg/Container.native.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/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +2 -0
- 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/external/reanimated/renderHelpers.d.ts +15 -0
- 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/SkiaWorkletSerialization.d.ts +1 -0
- 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/external/reanimated/renderHelpers.d.ts +15 -0
- package/lib/typescript/src/skia/SkiaWorkletSerialization.d.ts +1 -0
- 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 +8 -5
- package/react-native-skia.podspec +38 -5
- package/src/external/reanimated/renderHelpers.ts +30 -0
- package/src/mock/index.ts +0 -1
- package/src/skia/NativeSetup.ts +5 -0
- package/src/skia/SkiaWorkletSerialization.ts +67 -0
- 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/sksg/Container.native.ts +40 -2
- 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/api/JsiSkHostObjects.h +0 -257
- package/cpp/jsi/JsiHostObject.cpp +0 -137
- package/cpp/jsi/JsiHostObject.h +0 -385
- package/cpp/rnwgpu/ArrayBuffer.h +0 -117
- package/cpp/rnwgpu/Canvas.h +0 -50
- 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 -240
- 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 -614
- 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 -214
- 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/{jsi2 → jsi}/Promise.cpp +0 -0
- /package/cpp/{jsi2 → jsi}/Promise.h +0 -0
package/cpp/api/JsiSkPicture.h
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
3
|
#include <memory>
|
|
4
|
+
#include <optional>
|
|
4
5
|
|
|
6
|
+
#include "JsiSkConverters.h"
|
|
5
7
|
#include "JsiSkData.h"
|
|
6
8
|
#include "JsiSkDispatcher.h"
|
|
7
|
-
#include "JsiSkHostObjects.h"
|
|
8
9
|
#include "JsiSkMatrix.h"
|
|
10
|
+
#include "JsiSkNativeObjects.h"
|
|
9
11
|
#include "JsiSkRect.h"
|
|
10
12
|
#include "JsiSkShader.h"
|
|
11
13
|
|
|
@@ -20,14 +22,18 @@ namespace RNSkia {
|
|
|
20
22
|
|
|
21
23
|
namespace jsi = facebook::jsi;
|
|
22
24
|
|
|
23
|
-
class JsiSkPicture
|
|
25
|
+
class JsiSkPicture
|
|
26
|
+
: public JsiSkWrappingSkPtrNativeObject<JsiSkPicture, SkPicture> {
|
|
24
27
|
private:
|
|
25
28
|
std::shared_ptr<Dispatcher> _dispatcher;
|
|
26
29
|
|
|
27
30
|
public:
|
|
31
|
+
static constexpr const char *CLASS_NAME = "Picture";
|
|
32
|
+
|
|
28
33
|
JsiSkPicture(std::shared_ptr<RNSkPlatformContext> context,
|
|
29
34
|
const sk_sp<SkPicture> picture)
|
|
30
|
-
:
|
|
35
|
+
: JsiSkWrappingSkPtrNativeObject<JsiSkPicture, SkPicture>(context,
|
|
36
|
+
picture) {
|
|
31
37
|
// Get the dispatcher for the current thread
|
|
32
38
|
_dispatcher = Dispatcher::getDispatcher();
|
|
33
39
|
// Process any pending operations
|
|
@@ -52,23 +58,15 @@ public:
|
|
|
52
58
|
}
|
|
53
59
|
}
|
|
54
60
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
auto
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
? JsiSkRect::fromValue(runtime, arguments[4]).get()
|
|
65
|
-
: nullptr;
|
|
66
|
-
|
|
67
|
-
// Create shader
|
|
68
|
-
auto shader = getObject()->makeShader(tmx, tmy, fm, m, tr);
|
|
69
|
-
auto shaderObj = std::make_shared<JsiSkShader>(getContext(), shader);
|
|
70
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, shaderObj,
|
|
71
|
-
getContext());
|
|
61
|
+
std::shared_ptr<JsiSkShader>
|
|
62
|
+
makeShader(double tmx, double tmy, double fm,
|
|
63
|
+
std::optional<std::shared_ptr<SkMatrix>> m,
|
|
64
|
+
std::optional<std::shared_ptr<SkRect>> tr) {
|
|
65
|
+
auto shader = getObject()->makeShader(
|
|
66
|
+
static_cast<SkTileMode>(tmx), static_cast<SkTileMode>(tmy),
|
|
67
|
+
static_cast<SkFilterMode>(fm), m.has_value() ? m->get() : nullptr,
|
|
68
|
+
tr.has_value() ? tr->get() : nullptr);
|
|
69
|
+
return std::make_shared<JsiSkShader>(getContext(), shader);
|
|
72
70
|
}
|
|
73
71
|
|
|
74
72
|
JSI_HOST_FUNCTION(serialize) {
|
|
@@ -90,13 +88,22 @@ public:
|
|
|
90
88
|
return array;
|
|
91
89
|
}
|
|
92
90
|
|
|
93
|
-
|
|
91
|
+
/**
|
|
92
|
+
Returns the underlying object from a host object of this type
|
|
93
|
+
*/
|
|
94
|
+
static sk_sp<SkPicture> fromValue(jsi::Runtime &runtime,
|
|
95
|
+
const jsi::Value &obj) {
|
|
96
|
+
return getJsiObject<JsiSkPicture>(runtime, obj)->getObject();
|
|
97
|
+
}
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
100
|
+
installCommon(runtime, prototype);
|
|
101
|
+
installMethod(runtime, prototype, "makeShader", &JsiSkPicture::makeShader);
|
|
102
|
+
installHostMethod(runtime, prototype, "serialize",
|
|
103
|
+
&JsiSkPicture::serialize);
|
|
104
|
+
}
|
|
98
105
|
|
|
99
|
-
size_t getMemoryPressure()
|
|
106
|
+
size_t getMemoryPressure() override {
|
|
100
107
|
if (isDisposed()) {
|
|
101
108
|
return 0;
|
|
102
109
|
}
|
|
@@ -108,7 +115,5 @@ public:
|
|
|
108
115
|
auto bytesUsed = picture->approximateBytesUsed();
|
|
109
116
|
return bytesUsed;
|
|
110
117
|
}
|
|
111
|
-
|
|
112
|
-
std::string getObjectType() const override { return "JsiSkPicture"; }
|
|
113
118
|
};
|
|
114
119
|
} // namespace RNSkia
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
#include "JsiSkColorFilter.h"
|
|
6
6
|
#include "JsiSkData.h"
|
|
7
|
-
#include "
|
|
7
|
+
#include "JsiSkNativeObjects.h"
|
|
8
8
|
#include "JsiSkPicture.h"
|
|
9
9
|
|
|
10
10
|
#pragma clang diagnostic push
|
|
@@ -19,15 +19,15 @@ namespace RNSkia {
|
|
|
19
19
|
|
|
20
20
|
namespace jsi = facebook::jsi;
|
|
21
21
|
|
|
22
|
-
class JsiSkPictureFactory : public
|
|
22
|
+
class JsiSkPictureFactory : public JsiSkNativeObject<JsiSkPictureFactory> {
|
|
23
23
|
public:
|
|
24
|
+
static constexpr const char *CLASS_NAME = "PictureFactory";
|
|
25
|
+
|
|
24
26
|
JSI_HOST_FUNCTION(MakePicture) {
|
|
25
27
|
// Handle null case - create JsiSkPicture with nullptr
|
|
26
28
|
if (arguments[0].isNull() || arguments[0].isUndefined()) {
|
|
27
|
-
|
|
28
|
-
std::make_shared<JsiSkPicture>(getContext(), nullptr);
|
|
29
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(
|
|
30
|
-
runtime, hostObjectInstance, getContext());
|
|
29
|
+
return makeJsiObject(
|
|
30
|
+
runtime, std::make_shared<JsiSkPicture>(getContext(), nullptr));
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
if (!arguments[0].isObject()) {
|
|
@@ -36,18 +36,14 @@ public:
|
|
|
36
36
|
auto obj = arguments[0].asObject(runtime);
|
|
37
37
|
|
|
38
38
|
// Check if it's a JsiSkData object first
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
std::make_shared<JsiSkPicture>(getContext(), std::move(picture));
|
|
46
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(
|
|
47
|
-
runtime, hostObjectInstance, getContext());
|
|
48
|
-
}
|
|
49
|
-
return jsi::Value::undefined();
|
|
39
|
+
if (auto jsiData = tryGetJsiObject<JsiSkData>(runtime, obj)) {
|
|
40
|
+
auto data = jsiData->getObject();
|
|
41
|
+
auto picture = SkPicture::MakeFromData(data.get());
|
|
42
|
+
if (picture != nullptr) {
|
|
43
|
+
return makeJsiObject(runtime, std::make_shared<JsiSkPicture>(
|
|
44
|
+
getContext(), std::move(picture)));
|
|
50
45
|
}
|
|
46
|
+
return jsi::Value::undefined();
|
|
51
47
|
}
|
|
52
48
|
|
|
53
49
|
// Get ArrayBuffer - try buffer property first (Uint8Array, etc.), then
|
|
@@ -64,23 +60,22 @@ public:
|
|
|
64
60
|
SkData::MakeWithCopy(buffer.data(runtime), buffer.size(runtime));
|
|
65
61
|
auto picture = SkPicture::MakeFromData(data.get());
|
|
66
62
|
if (picture != nullptr) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(
|
|
70
|
-
runtime, hostObjectInstance, getContext());
|
|
63
|
+
return makeJsiObject(runtime, std::make_shared<JsiSkPicture>(
|
|
64
|
+
getContext(), std::move(picture)));
|
|
71
65
|
} else {
|
|
72
66
|
return jsi::Value::undefined();
|
|
73
67
|
}
|
|
74
68
|
}
|
|
75
69
|
|
|
76
|
-
|
|
70
|
+
size_t getMemoryPressure() override { return 1024; }
|
|
77
71
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
73
|
+
installHostMethod(runtime, prototype, "MakePicture",
|
|
74
|
+
&JsiSkPictureFactory::MakePicture);
|
|
75
|
+
}
|
|
81
76
|
|
|
82
77
|
explicit JsiSkPictureFactory(std::shared_ptr<RNSkPlatformContext> context)
|
|
83
|
-
:
|
|
78
|
+
: JsiSkNativeObject<JsiSkPictureFactory>(std::move(context)) {}
|
|
84
79
|
};
|
|
85
80
|
|
|
86
81
|
} // namespace RNSkia
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#include <memory>
|
|
4
4
|
|
|
5
5
|
#include "JsiSkCanvas.h"
|
|
6
|
-
#include "
|
|
6
|
+
#include "JsiSkConverters.h"
|
|
7
|
+
#include "JsiSkNativeObjects.h"
|
|
7
8
|
#include "JsiSkPicture.h"
|
|
8
9
|
#include "JsiSkRect.h"
|
|
9
10
|
|
|
@@ -20,53 +21,50 @@ namespace RNSkia {
|
|
|
20
21
|
namespace jsi = facebook::jsi;
|
|
21
22
|
|
|
22
23
|
class JsiSkPictureRecorder
|
|
23
|
-
: public
|
|
24
|
+
: public JsiSkWrappingSharedPtrNativeObject<JsiSkPictureRecorder,
|
|
25
|
+
SkPictureRecorder> {
|
|
24
26
|
public:
|
|
27
|
+
static constexpr const char *CLASS_NAME = "PictureRecorder";
|
|
28
|
+
|
|
25
29
|
explicit JsiSkPictureRecorder(std::shared_ptr<RNSkPlatformContext> context)
|
|
26
|
-
:
|
|
30
|
+
: JsiSkWrappingSharedPtrNativeObject<JsiSkPictureRecorder,
|
|
31
|
+
SkPictureRecorder>(
|
|
27
32
|
context, std::make_shared<SkPictureRecorder>()) {}
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
std::shared_ptr<JsiSkCanvas>
|
|
35
|
+
beginRecording(JsiOptional<std::shared_ptr<SkRect>> rect) {
|
|
30
36
|
SkCanvas *canvas;
|
|
31
|
-
if (
|
|
32
|
-
auto rect = JsiSkRect::fromValue(runtime, arguments[0]);
|
|
37
|
+
if (rect.has_value()) {
|
|
33
38
|
SkRTreeFactory factory;
|
|
34
|
-
canvas = getObject()->beginRecording(
|
|
39
|
+
canvas = getObject()->beginRecording(**rect, &factory);
|
|
35
40
|
} else {
|
|
36
41
|
SkISize size = SkISize::Make(2'000'000, 2'000'000);
|
|
37
|
-
SkRect
|
|
38
|
-
canvas = getObject()->beginRecording(
|
|
42
|
+
SkRect bounds = SkRect::Make(size);
|
|
43
|
+
canvas = getObject()->beginRecording(bounds, nullptr);
|
|
39
44
|
}
|
|
40
|
-
|
|
41
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, canvasObj,
|
|
42
|
-
getContext());
|
|
45
|
+
return std::make_shared<JsiSkCanvas>(getContext(), canvas);
|
|
43
46
|
}
|
|
44
47
|
|
|
45
|
-
|
|
48
|
+
std::shared_ptr<JsiSkPicture> finishRecordingAsPicture() {
|
|
46
49
|
auto picture = getObject()->finishRecordingAsPicture();
|
|
47
|
-
|
|
48
|
-
std::make_shared<JsiSkPicture>(getContext(), std::move(picture));
|
|
49
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(
|
|
50
|
-
runtime, hostObjectInstance, getContext());
|
|
50
|
+
return std::make_shared<JsiSkPicture>(getContext(), std::move(picture));
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
size_t getMemoryPressure() const override { return 1024 * 1024; }
|
|
53
|
+
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
54
|
+
installCommon(runtime, prototype);
|
|
55
|
+
installMethod(runtime, prototype, "beginRecording",
|
|
56
|
+
&JsiSkPictureRecorder::beginRecording);
|
|
57
|
+
installMethod(runtime, prototype, "finishRecordingAsPicture",
|
|
58
|
+
&JsiSkPictureRecorder::finishRecordingAsPicture);
|
|
59
|
+
}
|
|
61
60
|
|
|
62
|
-
|
|
61
|
+
size_t getMemoryPressure() override { return 1024 * 1024; }
|
|
63
62
|
|
|
64
63
|
static const jsi::HostFunctionType
|
|
65
64
|
createCtor(std::shared_ptr<RNSkPlatformContext> context) {
|
|
66
65
|
return JSI_HOST_FUNCTION_LAMBDA {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
context);
|
|
66
|
+
return makeJsiObject(runtime,
|
|
67
|
+
std::make_shared<JsiSkPictureRecorder>(context));
|
|
70
68
|
};
|
|
71
69
|
}
|
|
72
70
|
};
|
package/cpp/api/JsiSkPoint.h
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
#include <jsi/jsi.h>
|
|
7
7
|
|
|
8
|
-
#include "
|
|
8
|
+
#include "JsiSkNativeObjects.h"
|
|
9
9
|
|
|
10
10
|
#pragma clang diagnostic push
|
|
11
11
|
#pragma clang diagnostic ignored "-Wdocumentation"
|
|
@@ -18,22 +18,23 @@ namespace RNSkia {
|
|
|
18
18
|
|
|
19
19
|
namespace jsi = facebook::jsi;
|
|
20
20
|
|
|
21
|
-
class JsiSkPoint
|
|
21
|
+
class JsiSkPoint
|
|
22
|
+
: public JsiSkWrappingSharedPtrNativeObject<JsiSkPoint, SkPoint> {
|
|
22
23
|
public:
|
|
23
|
-
|
|
24
|
+
static constexpr const char *CLASS_NAME = "Point";
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
double getX() { return static_cast<double>(getObject()->x()); }
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
double getY() { return static_cast<double>(getObject()->y()); }
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
31
|
+
installCommon(runtime, prototype);
|
|
32
|
+
installGetter(runtime, prototype, "x", &JsiSkPoint::getX);
|
|
33
|
+
installGetter(runtime, prototype, "y", &JsiSkPoint::getY);
|
|
34
|
+
}
|
|
34
35
|
|
|
35
36
|
JsiSkPoint(std::shared_ptr<RNSkPlatformContext> context, const SkPoint &point)
|
|
36
|
-
:
|
|
37
|
+
: JsiSkWrappingSharedPtrNativeObject<JsiSkPoint, SkPoint>(
|
|
37
38
|
std::move(context), std::make_shared<SkPoint>(point)) {}
|
|
38
39
|
|
|
39
40
|
/**
|
|
@@ -42,8 +43,9 @@ public:
|
|
|
42
43
|
static std::shared_ptr<SkPoint> fromValue(jsi::Runtime &runtime,
|
|
43
44
|
const jsi::Value &obj) {
|
|
44
45
|
const auto &object = obj.asObject(runtime);
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
auto point = tryGetJsiObject<JsiSkPoint>(runtime, object);
|
|
47
|
+
if (point) {
|
|
48
|
+
return point->getObject();
|
|
47
49
|
} else {
|
|
48
50
|
auto x = object.getProperty(runtime, "x").asNumber();
|
|
49
51
|
auto y = object.getProperty(runtime, "y").asNumber();
|
|
@@ -57,17 +59,14 @@ public:
|
|
|
57
59
|
static jsi::Value toValue(jsi::Runtime &runtime,
|
|
58
60
|
std::shared_ptr<RNSkPlatformContext> context,
|
|
59
61
|
const SkPoint &point) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
context);
|
|
62
|
+
return makeJsiObject(
|
|
63
|
+
runtime, std::make_shared<JsiSkPoint>(std::move(context), point));
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
size_t getMemoryPressure()
|
|
66
|
+
size_t getMemoryPressure() override {
|
|
66
67
|
return std::max(sizeof(SkPoint), kMinMemoryPressure);
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
std::string getObjectType() const override { return "JsiSkPoint"; }
|
|
70
|
-
|
|
71
70
|
/**
|
|
72
71
|
* Creates the function for construction a new instance of the SkPoint
|
|
73
72
|
* wrapper
|
|
@@ -82,10 +81,8 @@ public:
|
|
|
82
81
|
SkPoint::Make(arguments[0].asNumber(), arguments[1].asNumber());
|
|
83
82
|
|
|
84
83
|
// Return the newly constructed object
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, pointObj,
|
|
88
|
-
context);
|
|
84
|
+
return makeJsiObject(runtime, std::make_shared<JsiSkPoint>(
|
|
85
|
+
std::move(context), std::move(point)));
|
|
89
86
|
};
|
|
90
87
|
}
|
|
91
88
|
};
|
package/cpp/api/JsiSkRRect.h
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
#include <jsi/jsi.h>
|
|
8
8
|
|
|
9
|
-
#include "
|
|
9
|
+
#include "JsiSkNativeObjects.h"
|
|
10
10
|
|
|
11
11
|
#pragma clang diagnostic push
|
|
12
12
|
#pragma clang diagnostic ignored "-Wdocumentation"
|
|
@@ -21,32 +21,30 @@ namespace RNSkia {
|
|
|
21
21
|
|
|
22
22
|
namespace jsi = facebook::jsi;
|
|
23
23
|
|
|
24
|
-
class JsiSkRRect
|
|
24
|
+
class JsiSkRRect
|
|
25
|
+
: public JsiSkWrappingSharedPtrNativeObject<JsiSkRRect, SkRRect> {
|
|
25
26
|
public:
|
|
26
|
-
|
|
27
|
+
static constexpr const char *CLASS_NAME = "RRect";
|
|
28
|
+
|
|
29
|
+
double getRx() {
|
|
27
30
|
return static_cast<double>(getObject()->getSimpleRadii().x());
|
|
28
31
|
}
|
|
29
|
-
|
|
32
|
+
double getRy() {
|
|
30
33
|
return static_cast<double>(getObject()->getSimpleRadii().y());
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
std::make_shared<JsiSkRect>(getContext(), getObject()->getBounds());
|
|
35
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, rectObj,
|
|
36
|
-
getContext());
|
|
35
|
+
std::shared_ptr<JsiSkRect> getRect() {
|
|
36
|
+
return std::make_shared<JsiSkRect>(getContext(), getObject()->getBounds());
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkRRect, dispose))
|
|
39
|
+
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
40
|
+
installCommon(runtime, prototype);
|
|
41
|
+
installGetter(runtime, prototype, "rx", &JsiSkRRect::getRx);
|
|
42
|
+
installGetter(runtime, prototype, "ry", &JsiSkRRect::getRy);
|
|
43
|
+
installGetter(runtime, prototype, "rect", &JsiSkRRect::getRect);
|
|
44
|
+
}
|
|
47
45
|
|
|
48
46
|
JsiSkRRect(std::shared_ptr<RNSkPlatformContext> context, const SkRRect &rect)
|
|
49
|
-
:
|
|
47
|
+
: JsiSkWrappingSharedPtrNativeObject<JsiSkRRect, SkRRect>(
|
|
50
48
|
std::move(context), std::make_shared<SkRRect>(rect)) {}
|
|
51
49
|
|
|
52
50
|
/**
|
|
@@ -56,10 +54,9 @@ public:
|
|
|
56
54
|
const jsi::Value &obj) {
|
|
57
55
|
|
|
58
56
|
const auto &object = obj.asObject(runtime);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
->getObject();
|
|
57
|
+
auto rrect = tryGetJsiObject<JsiSkRRect>(runtime, object);
|
|
58
|
+
if (rrect) {
|
|
59
|
+
return rrect->getObject();
|
|
63
60
|
} else {
|
|
64
61
|
auto rect =
|
|
65
62
|
JsiSkRect::fromValue(runtime, object.getProperty(runtime, "rect"));
|
|
@@ -101,17 +98,14 @@ public:
|
|
|
101
98
|
static jsi::Value toValue(jsi::Runtime &runtime,
|
|
102
99
|
std::shared_ptr<RNSkPlatformContext> context,
|
|
103
100
|
const SkRRect &rect) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
context);
|
|
101
|
+
return makeJsiObject(
|
|
102
|
+
runtime, std::make_shared<JsiSkRRect>(std::move(context), rect));
|
|
107
103
|
}
|
|
108
104
|
|
|
109
|
-
size_t getMemoryPressure()
|
|
105
|
+
size_t getMemoryPressure() override {
|
|
110
106
|
return std::max(sizeof(SkRRect), kMinMemoryPressure);
|
|
111
107
|
}
|
|
112
108
|
|
|
113
|
-
std::string getObjectType() const override { return "JsiSkRRect"; }
|
|
114
|
-
|
|
115
109
|
/**
|
|
116
110
|
* Creates the function for construction a new instance of the SkRect
|
|
117
111
|
* wrapper
|
|
@@ -128,10 +122,8 @@ public:
|
|
|
128
122
|
auto ry = arguments[2].asNumber();
|
|
129
123
|
auto rrect = SkRRect::MakeRectXY(*rect, rx, ry);
|
|
130
124
|
// Return the newly constructed object
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, rrectObj,
|
|
134
|
-
context);
|
|
125
|
+
return makeJsiObject(runtime, std::make_shared<JsiSkRRect>(
|
|
126
|
+
std::move(context), std::move(rrect)));
|
|
135
127
|
};
|
|
136
128
|
}
|
|
137
129
|
};
|
package/cpp/api/JsiSkRSXform.h
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
#include <jsi/jsi.h>
|
|
7
7
|
|
|
8
|
-
#include "
|
|
8
|
+
#include "JsiSkNativeObjects.h"
|
|
9
9
|
|
|
10
10
|
#pragma clang diagnostic push
|
|
11
11
|
#pragma clang diagnostic ignored "-Wdocumentation"
|
|
@@ -18,48 +18,36 @@ namespace RNSkia {
|
|
|
18
18
|
|
|
19
19
|
namespace jsi = facebook::jsi;
|
|
20
20
|
|
|
21
|
-
class JsiSkRSXform
|
|
21
|
+
class JsiSkRSXform
|
|
22
|
+
: public JsiSkWrappingSharedPtrNativeObject<JsiSkRSXform, SkRSXform> {
|
|
22
23
|
public:
|
|
24
|
+
static constexpr const char *CLASS_NAME = "RSXform";
|
|
25
|
+
|
|
23
26
|
JsiSkRSXform(std::shared_ptr<RNSkPlatformContext> context,
|
|
24
27
|
const SkRSXform &rsxform)
|
|
25
|
-
:
|
|
28
|
+
: JsiSkWrappingSharedPtrNativeObject<JsiSkRSXform, SkRSXform>(
|
|
26
29
|
std::move(context), std::make_shared<SkRSXform>(rsxform)) {}
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
JSI_PROPERTY_GET(ssin) {
|
|
34
|
-
return jsi::Value(SkScalarToDouble(getObject()->fSSin));
|
|
35
|
-
}
|
|
36
|
-
JSI_PROPERTY_GET(tx) {
|
|
37
|
-
return jsi::Value(SkScalarToDouble(getObject()->fTx));
|
|
38
|
-
}
|
|
39
|
-
JSI_PROPERTY_GET(ty) {
|
|
40
|
-
return jsi::Value(SkScalarToDouble(getObject()->fTy));
|
|
41
|
-
}
|
|
31
|
+
double getScos() { return SkScalarToDouble(getObject()->fSCos); }
|
|
32
|
+
double getSsin() { return SkScalarToDouble(getObject()->fSSin); }
|
|
33
|
+
double getTx() { return SkScalarToDouble(getObject()->fTx); }
|
|
34
|
+
double getTy() { return SkScalarToDouble(getObject()->fTy); }
|
|
42
35
|
|
|
43
36
|
#pragma clang diagnostic push
|
|
44
37
|
#pragma clang diagnostic ignored "-Woverloaded-virtual"
|
|
45
|
-
|
|
46
|
-
auto scos = arguments[0].asNumber();
|
|
47
|
-
auto ssin = arguments[1].asNumber();
|
|
48
|
-
auto tx = arguments[2].asNumber();
|
|
49
|
-
auto ty = arguments[3].asNumber();
|
|
38
|
+
void set(double scos, double ssin, double tx, double ty) {
|
|
50
39
|
getObject()->set(scos, ssin, tx, ty);
|
|
51
|
-
return jsi::Value::undefined();
|
|
52
40
|
}
|
|
53
41
|
#pragma clang diagnostic pop
|
|
54
42
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
43
|
+
static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
|
|
44
|
+
installCommon(runtime, prototype);
|
|
45
|
+
installGetter(runtime, prototype, "scos", &JsiSkRSXform::getScos);
|
|
46
|
+
installGetter(runtime, prototype, "ssin", &JsiSkRSXform::getSsin);
|
|
47
|
+
installGetter(runtime, prototype, "tx", &JsiSkRSXform::getTx);
|
|
48
|
+
installGetter(runtime, prototype, "ty", &JsiSkRSXform::getTy);
|
|
49
|
+
installMethod(runtime, prototype, "set", &JsiSkRSXform::set);
|
|
50
|
+
}
|
|
63
51
|
|
|
64
52
|
/**
|
|
65
53
|
Returns the underlying object from a host object of this type
|
|
@@ -67,8 +55,9 @@ public:
|
|
|
67
55
|
static std::shared_ptr<SkRSXform> fromValue(jsi::Runtime &runtime,
|
|
68
56
|
const jsi::Value &obj) {
|
|
69
57
|
const auto &object = obj.asObject(runtime);
|
|
70
|
-
|
|
71
|
-
|
|
58
|
+
auto rsxform = tryGetJsiObject<JsiSkRSXform>(runtime, object);
|
|
59
|
+
if (rsxform) {
|
|
60
|
+
return rsxform->getObject();
|
|
72
61
|
} else {
|
|
73
62
|
auto scos = object.getProperty(runtime, "scos").asNumber();
|
|
74
63
|
auto ssin = object.getProperty(runtime, "ssin").asNumber();
|
|
@@ -84,10 +73,8 @@ public:
|
|
|
84
73
|
static jsi::Value toValue(jsi::Runtime &runtime,
|
|
85
74
|
std::shared_ptr<RNSkPlatformContext> context,
|
|
86
75
|
const SkRSXform &rsxform) {
|
|
87
|
-
|
|
88
|
-
std::make_shared<JsiSkRSXform>(std::move(context), rsxform);
|
|
89
|
-
return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, rsxformObj,
|
|
90
|
-
context);
|
|
76
|
+
return makeJsiObject(
|
|
77
|
+
runtime, std::make_shared<JsiSkRSXform>(std::move(context), rsxform));
|
|
91
78
|
}
|
|
92
79
|
|
|
93
80
|
/**
|
|
@@ -105,18 +92,15 @@ public:
|
|
|
105
92
|
arguments[2].asNumber(), arguments[3].asNumber(),
|
|
106
93
|
arguments[4].asNumber(), arguments[5].asNumber());
|
|
107
94
|
// Return the newly constructed object
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
context);
|
|
95
|
+
return makeJsiObject(runtime,
|
|
96
|
+
std::make_shared<JsiSkRSXform>(std::move(context),
|
|
97
|
+
std::move(rsxform)));
|
|
112
98
|
};
|
|
113
99
|
}
|
|
114
|
-
size_t getMemoryPressure()
|
|
100
|
+
size_t getMemoryPressure() override {
|
|
115
101
|
return std::max(sizeof(SkRSXform), kMinMemoryPressure);
|
|
116
102
|
}
|
|
117
103
|
|
|
118
|
-
std::string getObjectType() const override { return "JsiSkRSXform"; }
|
|
119
|
-
|
|
120
104
|
/**
|
|
121
105
|
* Creates the function for construction a new instance of the SkRSXform
|
|
122
106
|
* wrapper
|
|
@@ -131,10 +115,9 @@ public:
|
|
|
131
115
|
SkRSXform::Make(arguments[0].asNumber(), arguments[1].asNumber(),
|
|
132
116
|
arguments[2].asNumber(), arguments[3].asNumber());
|
|
133
117
|
// Return the newly constructed object
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
context);
|
|
118
|
+
return makeJsiObject(runtime,
|
|
119
|
+
std::make_shared<JsiSkRSXform>(std::move(context),
|
|
120
|
+
std::move(rsxform)));
|
|
138
121
|
};
|
|
139
122
|
}
|
|
140
123
|
};
|