@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.
Files changed (387) hide show
  1. package/android/CMakeLists.txt +8 -46
  2. package/android/build.gradle +33 -0
  3. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
  4. package/cpp/api/JsiNativeBuffer.h +23 -24
  5. package/cpp/api/JsiSkAnimatedImage.h +24 -25
  6. package/cpp/api/JsiSkAnimatedImageFactory.h +18 -17
  7. package/cpp/api/JsiSkApi.h +254 -96
  8. package/cpp/api/JsiSkCanvas.h +141 -266
  9. package/cpp/api/JsiSkColor.h +7 -5
  10. package/cpp/api/JsiSkColorFilter.h +15 -8
  11. package/cpp/api/JsiSkColorFilterFactory.h +49 -67
  12. package/cpp/api/JsiSkContourMeasure.h +31 -38
  13. package/cpp/api/JsiSkContourMeasureIter.h +20 -23
  14. package/cpp/api/JsiSkConverters.h +410 -0
  15. package/cpp/api/JsiSkData.h +13 -7
  16. package/cpp/api/JsiSkDataFactory.h +27 -32
  17. package/cpp/api/JsiSkFont.h +123 -192
  18. package/cpp/api/JsiSkFontMgr.h +33 -26
  19. package/cpp/api/JsiSkFontMgrFactory.h +12 -11
  20. package/cpp/api/JsiSkFontStyle.h +14 -12
  21. package/cpp/api/JsiSkImage.h +90 -79
  22. package/cpp/api/JsiSkImageFactory.h +93 -95
  23. package/cpp/api/JsiSkImageFilter.h +21 -11
  24. package/cpp/api/JsiSkImageFilterFactory.h +375 -629
  25. package/cpp/api/JsiSkImageInfo.h +25 -25
  26. package/cpp/api/JsiSkMaskFilter.h +21 -11
  27. package/cpp/api/JsiSkMaskFilterFactory.h +17 -17
  28. package/cpp/api/JsiSkMatrix.h +51 -88
  29. package/cpp/api/JsiSkNativeObjects.h +387 -0
  30. package/cpp/api/JsiSkPaint.h +104 -142
  31. package/cpp/api/JsiSkParagraph.h +54 -64
  32. package/cpp/api/JsiSkParagraphBuilder.h +43 -68
  33. package/cpp/api/JsiSkParagraphBuilderFactory.h +20 -24
  34. package/cpp/api/JsiSkPath.h +242 -350
  35. package/cpp/api/JsiSkPathBuilder.h +153 -273
  36. package/cpp/api/JsiSkPathBuilderFactory.h +19 -20
  37. package/cpp/api/JsiSkPathEffect.h +21 -11
  38. package/cpp/api/JsiSkPathEffectFactory.h +61 -80
  39. package/cpp/api/JsiSkPathFactory.h +148 -238
  40. package/cpp/api/JsiSkPicture.h +32 -27
  41. package/cpp/api/JsiSkPictureFactory.h +21 -26
  42. package/cpp/api/JsiSkPictureRecorder.h +27 -29
  43. package/cpp/api/JsiSkPoint.h +20 -23
  44. package/cpp/api/JsiSkRRect.h +24 -32
  45. package/cpp/api/JsiSkRSXform.h +31 -48
  46. package/cpp/api/JsiSkRect.h +40 -50
  47. package/cpp/api/JsiSkRuntimeEffect.h +85 -92
  48. package/cpp/api/JsiSkRuntimeEffectFactory.h +14 -18
  49. package/cpp/api/JsiSkRuntimeShaderBuilder.h +28 -30
  50. package/cpp/api/JsiSkSVG.h +15 -15
  51. package/cpp/api/JsiSkSVGFactory.h +17 -20
  52. package/cpp/api/JsiSkShader.h +15 -8
  53. package/cpp/api/JsiSkShaderFactory.h +159 -238
  54. package/cpp/api/JsiSkSkottie.h +131 -143
  55. package/cpp/api/JsiSkSurface.h +29 -32
  56. package/cpp/api/JsiSkSurfaceFactory.h +18 -20
  57. package/cpp/api/JsiSkTextBlob.h +15 -8
  58. package/cpp/api/JsiSkTextBlobFactory.h +40 -66
  59. package/cpp/api/JsiSkTypeface.h +25 -22
  60. package/cpp/api/JsiSkTypefaceFactory.h +17 -15
  61. package/cpp/api/JsiSkTypefaceFontProvider.h +43 -39
  62. package/cpp/api/JsiSkTypefaceFontProviderFactory.h +13 -12
  63. package/cpp/api/JsiSkVertices.h +23 -22
  64. package/cpp/api/JsiSkiaContext.h +22 -23
  65. package/cpp/api/JsiSkottieFactory.h +16 -17
  66. package/cpp/api/JsiVideo.h +43 -81
  67. package/cpp/api/recorder/Convertor.h +31 -61
  68. package/cpp/api/recorder/DataTypes.h +8 -16
  69. package/cpp/api/recorder/JsiRecorder.h +83 -55
  70. package/cpp/api/recorder/RNRecorder.h +1 -1
  71. package/cpp/jsi/BoxedNativeObject.h +146 -0
  72. package/cpp/{jsi2 → jsi}/EnumMapper.h +4 -1
  73. package/cpp/{jsi2 → jsi}/JSIConverter.h +0 -31
  74. package/cpp/{jsi2 → jsi}/NativeObject.h +131 -152
  75. package/cpp/jsi/RuntimeAwareCache.cpp +1 -1
  76. package/cpp/jsi/RuntimeAwareCache.h +26 -8
  77. package/cpp/jsi/ViewProperty.h +5 -11
  78. package/cpp/rnskia/RNDawnContext.h +18 -2
  79. package/cpp/rnskia/RNDawnInterop.cpp +19 -0
  80. package/cpp/rnskia/RNDawnUtils.h +18 -1
  81. package/cpp/rnskia/RNSkJsiViewApi.h +20 -11
  82. package/cpp/rnskia/RNSkManager.cpp +9 -168
  83. package/cpp/rnskia/RNSkPictureView.h +1 -1
  84. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
  85. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +15 -0
  86. package/lib/commonjs/external/reanimated/renderHelpers.js +30 -1
  87. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  88. package/lib/commonjs/mock/index.js +0 -1
  89. package/lib/commonjs/mock/index.js.map +1 -1
  90. package/lib/commonjs/skia/NativeSetup.js +4 -0
  91. package/lib/commonjs/skia/NativeSetup.js.map +1 -1
  92. package/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +1 -0
  93. package/lib/commonjs/skia/SkiaWorkletSerialization.js +66 -0
  94. package/lib/commonjs/skia/SkiaWorkletSerialization.js.map +1 -0
  95. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
  96. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  97. package/lib/commonjs/skia/types/Skia.d.ts +5 -15
  98. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  99. package/lib/commonjs/skia/types/index.d.ts +0 -1
  100. package/lib/commonjs/skia/types/index.js +0 -11
  101. package/lib/commonjs/skia/types/index.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  103. package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
  104. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  105. package/lib/commonjs/skia/web/JsiSkia.js +1 -4
  106. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  107. package/lib/commonjs/sksg/Container.native.js +20 -1
  108. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  109. package/lib/commonjs/views/index.d.ts +0 -1
  110. package/lib/commonjs/views/index.js +0 -11
  111. package/lib/commonjs/views/index.js.map +1 -1
  112. package/lib/module/external/reanimated/renderHelpers.d.ts +15 -0
  113. package/lib/module/external/reanimated/renderHelpers.js +29 -0
  114. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  115. package/lib/module/mock/index.js +0 -1
  116. package/lib/module/mock/index.js.map +1 -1
  117. package/lib/module/skia/NativeSetup.js +4 -0
  118. package/lib/module/skia/NativeSetup.js.map +1 -1
  119. package/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
  120. package/lib/module/skia/SkiaWorkletSerialization.js +59 -0
  121. package/lib/module/skia/SkiaWorkletSerialization.js.map +1 -0
  122. package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
  123. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  124. package/lib/module/skia/types/Skia.d.ts +5 -15
  125. package/lib/module/skia/types/Skia.js.map +1 -1
  126. package/lib/module/skia/types/index.d.ts +0 -1
  127. package/lib/module/skia/types/index.js +0 -1
  128. package/lib/module/skia/types/index.js.map +1 -1
  129. package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  130. package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
  131. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  132. package/lib/module/skia/web/JsiSkia.js +1 -4
  133. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  134. package/lib/module/sksg/Container.native.js +21 -2
  135. package/lib/module/sksg/Container.native.js.map +1 -1
  136. package/lib/module/views/index.d.ts +0 -1
  137. package/lib/module/views/index.js +0 -1
  138. package/lib/module/views/index.js.map +1 -1
  139. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  140. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  141. package/lib/typescript/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +2 -0
  142. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  143. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
  144. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +15 -0
  145. package/lib/typescript/lib/module/mock/index.d.ts +0 -2
  146. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
  147. package/lib/typescript/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
  148. package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
  149. package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  150. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
  151. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  152. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +15 -0
  153. package/lib/typescript/src/skia/SkiaWorkletSerialization.d.ts +1 -0
  154. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
  155. package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
  156. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  157. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
  158. package/lib/typescript/src/views/index.d.ts +0 -1
  159. package/package.json +8 -5
  160. package/react-native-skia.podspec +38 -5
  161. package/src/external/reanimated/renderHelpers.ts +30 -0
  162. package/src/mock/index.ts +0 -1
  163. package/src/skia/NativeSetup.ts +5 -0
  164. package/src/skia/SkiaWorkletSerialization.ts +67 -0
  165. package/src/skia/types/Image/ImageFactory.ts +15 -6
  166. package/src/skia/types/Skia.ts +5 -15
  167. package/src/skia/types/index.ts +0 -1
  168. package/src/skia/web/JsiSkImageFactory.ts +3 -3
  169. package/src/skia/web/JsiSkia.ts +2 -5
  170. package/src/sksg/Container.native.ts +40 -2
  171. package/src/views/index.ts +0 -1
  172. package/android/cpp/jni/JniWebGPUView.cpp +0 -112
  173. package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
  174. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
  175. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
  176. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
  177. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
  178. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
  179. package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
  180. package/apple/SkiaPlatformContext.h +0 -20
  181. package/apple/SkiaPlatformContext.mm +0 -21
  182. package/apple/SkiaWebGPUView.mm +0 -81
  183. package/apple/WebGPUMetalView.mm +0 -136
  184. package/cpp/api/JsiSkHostObjects.h +0 -257
  185. package/cpp/jsi/JsiHostObject.cpp +0 -137
  186. package/cpp/jsi/JsiHostObject.h +0 -385
  187. package/cpp/rnwgpu/ArrayBuffer.h +0 -117
  188. package/cpp/rnwgpu/Canvas.h +0 -50
  189. package/cpp/rnwgpu/PlatformContext.h +0 -18
  190. package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
  191. package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
  192. package/cpp/rnwgpu/api/Convertors.h +0 -783
  193. package/cpp/rnwgpu/api/External.h +0 -12
  194. package/cpp/rnwgpu/api/GPU.cpp +0 -162
  195. package/cpp/rnwgpu/api/GPU.h +0 -60
  196. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -240
  197. package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
  198. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  199. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  200. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  201. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  202. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
  203. package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
  204. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
  205. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
  206. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  207. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  208. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  209. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  210. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  211. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  212. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  213. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  214. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  215. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -614
  216. package/cpp/rnwgpu/api/GPUDevice.h +0 -258
  217. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  218. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  219. package/cpp/rnwgpu/api/GPUError.h +0 -35
  220. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  221. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
  222. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
  223. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  224. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  225. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  226. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  227. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  228. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  229. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  230. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  231. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
  232. package/cpp/rnwgpu/api/GPUQueue.h +0 -84
  233. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  234. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  235. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  236. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  237. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  238. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  239. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  240. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  241. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
  242. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  243. package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
  244. package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
  245. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
  246. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
  247. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  248. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  249. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  250. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  251. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  252. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
  253. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  254. package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
  255. package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
  256. package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
  257. package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
  258. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
  259. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  260. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
  261. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
  262. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
  263. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
  264. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
  265. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
  266. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
  267. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  268. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  269. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
  270. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
  271. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  272. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
  273. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
  274. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
  275. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
  276. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
  277. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
  278. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
  279. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
  280. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
  281. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
  282. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
  283. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
  284. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  285. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
  286. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
  287. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
  288. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  289. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
  290. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
  291. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
  292. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
  293. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
  294. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
  295. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
  296. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
  297. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
  298. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
  299. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
  300. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
  301. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
  302. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
  303. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
  304. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
  305. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
  306. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
  307. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  308. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
  309. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
  310. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
  311. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
  312. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
  313. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
  314. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
  315. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  316. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
  317. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
  318. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
  319. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
  320. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
  321. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  322. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -214
  323. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
  324. package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
  325. package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
  326. package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
  327. package/lib/commonjs/skia/types/WebGPU.js +0 -105
  328. package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
  329. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
  330. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
  331. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
  332. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  333. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
  334. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  335. package/lib/commonjs/specs/utils.d.ts +0 -1
  336. package/lib/commonjs/specs/utils.js +0 -11
  337. package/lib/commonjs/specs/utils.js.map +0 -1
  338. package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
  339. package/lib/commonjs/views/WebGPUCanvas.js +0 -79
  340. package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
  341. package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
  342. package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
  343. package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
  344. package/lib/module/skia/types/WebGPU.d.ts +0 -184
  345. package/lib/module/skia/types/WebGPU.js +0 -99
  346. package/lib/module/skia/types/WebGPU.js.map +0 -1
  347. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
  348. package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
  349. package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
  350. package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  351. package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
  352. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  353. package/lib/module/specs/utils.d.ts +0 -1
  354. package/lib/module/specs/utils.js +0 -5
  355. package/lib/module/specs/utils.js.map +0 -1
  356. package/lib/module/views/WebGPUCanvas.d.ts +0 -33
  357. package/lib/module/views/WebGPUCanvas.js +0 -70
  358. package/lib/module/views/WebGPUCanvas.js.map +0 -1
  359. package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
  360. package/lib/module/views/WebGPUCanvas.web.js +0 -12
  361. package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
  362. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
  363. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
  364. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
  365. package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
  366. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
  367. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
  368. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
  369. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
  370. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
  371. package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
  372. package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
  373. package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
  374. package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
  375. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
  376. package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  377. package/lib/typescript/src/specs/utils.d.ts +0 -1
  378. package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
  379. package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
  380. package/src/skia/types/WebGPU.ts +0 -226
  381. package/src/specs/WebGPUViewNativeComponent.ts +0 -11
  382. package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
  383. package/src/specs/utils.ts +0 -4
  384. package/src/views/WebGPUCanvas.tsx +0 -125
  385. package/src/views/WebGPUCanvas.web.tsx +0 -36
  386. /package/cpp/{jsi2 → jsi}/Promise.cpp +0 -0
  387. /package/cpp/{jsi2 → jsi}/Promise.h +0 -0
@@ -2,10 +2,12 @@
2
2
 
3
3
  #include "JsiSkColor.h"
4
4
  #include "JsiSkColorFilter.h"
5
- #include "JsiSkHostObjects.h"
5
+ #include "JsiSkConverters.h"
6
+ #include "JsiSkNativeObjects.h"
6
7
  #include <jsi/jsi.h>
7
8
  #include <memory>
8
9
  #include <utility>
10
+ #include <vector>
9
11
 
10
12
  #pragma clang diagnostic push
11
13
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -19,95 +21,75 @@ namespace RNSkia {
19
21
 
20
22
  namespace jsi = facebook::jsi;
21
23
 
22
- class JsiSkColorFilterFactory : public JsiSkHostObject {
24
+ class JsiSkColorFilterFactory
25
+ : public JsiSkNativeObject<JsiSkColorFilterFactory> {
23
26
  public:
24
- JSI_HOST_FUNCTION(MakeMatrix) {
25
- auto jsiMatrix = arguments[0].asObject(runtime).asArray(runtime);
26
- float matrix[20];
27
- for (int i = 0; i < 20; i++) {
28
- if (jsiMatrix.size(runtime) > i) {
29
- matrix[i] = jsiMatrix.getValueAtIndex(runtime, i).asNumber();
30
- }
27
+ static constexpr const char *CLASS_NAME = "ColorFilterFactory";
28
+
29
+ std::shared_ptr<JsiSkColorFilter> MakeMatrix(std::vector<float> values) {
30
+ float matrix[20] = {0};
31
+ for (size_t i = 0; i < 20 && i < values.size(); i++) {
32
+ matrix[i] = values[i];
31
33
  }
32
- // Return the newly constructed object
33
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
34
- getContext(), SkColorFilters::Matrix(std::move(matrix)));
35
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
36
- getContext());
34
+ return std::make_shared<JsiSkColorFilter>(getContext(),
35
+ SkColorFilters::Matrix(matrix));
37
36
  }
38
37
 
39
- JSI_HOST_FUNCTION(MakeBlend) {
40
- auto color = JsiSkColor::fromValue(runtime, arguments[0]);
41
- SkBlendMode blend = (SkBlendMode)arguments[1].asNumber();
42
- // Return the newly constructed object
43
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
44
- getContext(), SkColorFilters::Blend(color, blend));
45
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
46
- getContext());
38
+ std::shared_ptr<JsiSkColorFilter> MakeBlend(JsiColor color, double blend) {
39
+ return std::make_shared<JsiSkColorFilter>(
40
+ getContext(),
41
+ SkColorFilters::Blend(color, static_cast<SkBlendMode>(blend)));
47
42
  }
48
43
 
49
- JSI_HOST_FUNCTION(MakeCompose) {
50
- auto outer = JsiSkColorFilter::fromValue(runtime, arguments[0]);
51
- auto inner = JsiSkColorFilter::fromValue(runtime, arguments[1]);
52
- // Return the newly constructed object
53
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
44
+ std::shared_ptr<JsiSkColorFilter> MakeCompose(sk_sp<SkColorFilter> outer,
45
+ sk_sp<SkColorFilter> inner) {
46
+ return std::make_shared<JsiSkColorFilter>(
54
47
  getContext(),
55
48
  SkColorFilters::Compose(std::move(outer), std::move(inner)));
56
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
57
- getContext());
58
49
  }
59
50
 
60
- JSI_HOST_FUNCTION(MakeLerp) {
61
- auto t = arguments[0].asNumber();
62
- auto dst = JsiSkColorFilter::fromValue(runtime, arguments[1]);
63
- auto src = JsiSkColorFilter::fromValue(runtime, arguments[2]);
64
- // Return the newly constructed object
65
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
51
+ std::shared_ptr<JsiSkColorFilter> MakeLerp(double t,
52
+ sk_sp<SkColorFilter> dst,
53
+ sk_sp<SkColorFilter> src) {
54
+ return std::make_shared<JsiSkColorFilter>(
66
55
  getContext(), SkColorFilters::Lerp(t, std::move(dst), std::move(src)));
67
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
68
- getContext());
69
56
  }
70
57
 
71
- JSI_HOST_FUNCTION(MakeSRGBToLinearGamma) {
72
- // Return the newly constructed object
73
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
58
+ std::shared_ptr<JsiSkColorFilter> MakeSRGBToLinearGamma() {
59
+ return std::make_shared<JsiSkColorFilter>(
74
60
  getContext(), SkColorFilters::SRGBToLinearGamma());
75
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
76
- getContext());
77
61
  }
78
62
 
79
- JSI_HOST_FUNCTION(MakeLinearToSRGBGamma) {
80
- // Return the newly constructed object
81
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
63
+ std::shared_ptr<JsiSkColorFilter> MakeLinearToSRGBGamma() {
64
+ return std::make_shared<JsiSkColorFilter>(
82
65
  getContext(), SkColorFilters::LinearToSRGBGamma());
83
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
84
- getContext());
85
66
  }
86
67
 
87
- JSI_HOST_FUNCTION(MakeLumaColorFilter) {
88
- // Return the newly constructed object
89
- auto colorFilter = std::make_shared<JsiSkColorFilter>(
90
- getContext(), SkLumaColorFilter::Make());
91
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, colorFilter,
92
- getContext());
68
+ std::shared_ptr<JsiSkColorFilter> MakeLumaColorFilter() {
69
+ return std::make_shared<JsiSkColorFilter>(getContext(),
70
+ SkLumaColorFilter::Make());
93
71
  }
94
72
 
95
- size_t getMemoryPressure() const override { return 1024; }
96
-
97
- std::string getObjectType() const override {
98
- return "JsiSkColorFilterFactory";
73
+ size_t getMemoryPressure() override { return 1024; }
74
+
75
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
76
+ installMethod(runtime, prototype, "MakeMatrix",
77
+ &JsiSkColorFilterFactory::MakeMatrix);
78
+ installMethod(runtime, prototype, "MakeBlend",
79
+ &JsiSkColorFilterFactory::MakeBlend);
80
+ installMethod(runtime, prototype, "MakeCompose",
81
+ &JsiSkColorFilterFactory::MakeCompose);
82
+ installMethod(runtime, prototype, "MakeLerp",
83
+ &JsiSkColorFilterFactory::MakeLerp);
84
+ installMethod(runtime, prototype, "MakeSRGBToLinearGamma",
85
+ &JsiSkColorFilterFactory::MakeSRGBToLinearGamma);
86
+ installMethod(runtime, prototype, "MakeLinearToSRGBGamma",
87
+ &JsiSkColorFilterFactory::MakeLinearToSRGBGamma);
88
+ installMethod(runtime, prototype, "MakeLumaColorFilter",
89
+ &JsiSkColorFilterFactory::MakeLumaColorFilter);
99
90
  }
100
91
 
101
- JSI_EXPORT_FUNCTIONS(
102
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeMatrix),
103
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeBlend),
104
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeCompose),
105
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeLerp),
106
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeSRGBToLinearGamma),
107
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeLinearToSRGBGamma),
108
- JSI_EXPORT_FUNC(JsiSkColorFilterFactory, MakeLumaColorFilter))
109
-
110
92
  explicit JsiSkColorFilterFactory(std::shared_ptr<RNSkPlatformContext> context)
111
- : JsiSkHostObject(std::move(context)) {}
93
+ : JsiSkNativeObject<JsiSkColorFilterFactory>(std::move(context)) {}
112
94
  };
113
95
  } // namespace RNSkia
@@ -2,10 +2,12 @@
2
2
 
3
3
  #include <memory>
4
4
  #include <utility>
5
+ #include <vector>
5
6
 
6
7
  #include <jsi/jsi.h>
7
8
 
8
- #include "JsiSkHostObjects.h"
9
+ #include "JsiSkNativeObjects.h"
10
+ #include "JsiSkPoint.h"
9
11
 
10
12
  #pragma clang diagnostic push
11
13
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -21,62 +23,53 @@ namespace RNSkia {
21
23
  namespace jsi = facebook::jsi;
22
24
 
23
25
  class JsiSkContourMeasure
24
- : public JsiSkWrappingSkPtrHostObject<SkContourMeasure> {
26
+ : public JsiSkWrappingSkPtrNativeObject<JsiSkContourMeasure,
27
+ SkContourMeasure> {
25
28
  public:
29
+ static constexpr const char *CLASS_NAME = "ContourMeasure";
30
+
26
31
  JsiSkContourMeasure(std::shared_ptr<RNSkPlatformContext> context,
27
32
  const sk_sp<SkContourMeasure> contourMeasure)
28
- : JsiSkWrappingSkPtrHostObject(std::move(context),
29
- std::move(contourMeasure)) {}
33
+ : JsiSkWrappingSkPtrNativeObject<JsiSkContourMeasure, SkContourMeasure>(
34
+ std::move(context), std::move(contourMeasure)) {}
30
35
 
31
- JSI_HOST_FUNCTION(getPosTan) {
32
- auto dist = arguments[0].asNumber();
36
+ std::vector<std::shared_ptr<JsiSkPoint>> getPosTan(double dist) {
33
37
  SkPoint position;
34
38
  SkPoint tangent;
35
39
  auto result = getObject()->getPosTan(dist, &position, &tangent);
36
40
  if (!result) {
37
- throw jsi::JSError(runtime, "getPosTan() failed");
41
+ throw std::runtime_error("getPosTan() failed");
38
42
  }
39
- auto posTan = jsi::Array(runtime, 2);
40
- auto posPoint = std::make_shared<JsiSkPoint>(getContext(), position);
41
- auto pos = JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, posPoint,
42
- getContext());
43
- auto tanPoint = std::make_shared<JsiSkPoint>(getContext(), tangent);
44
- auto tan = JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, tanPoint,
45
- getContext());
46
- posTan.setValueAtIndex(runtime, 0, pos);
47
- posTan.setValueAtIndex(runtime, 1, tan);
48
- return posTan;
43
+ return {std::make_shared<JsiSkPoint>(getContext(), position),
44
+ std::make_shared<JsiSkPoint>(getContext(), tangent)};
49
45
  }
50
46
 
51
- JSI_HOST_FUNCTION(length) {
52
- return jsi::Value(SkScalarToDouble(getObject()->length()));
53
- }
47
+ double length() { return SkScalarToDouble(getObject()->length()); }
54
48
 
55
- JSI_HOST_FUNCTION(isClosed) { return jsi::Value(getObject()->isClosed()); }
49
+ bool isClosed() { return getObject()->isClosed(); }
56
50
 
57
- JSI_HOST_FUNCTION(getSegment) {
58
- auto start = arguments[0].asNumber();
59
- auto end = arguments[1].asNumber();
60
- auto startWithMoveTo = arguments[2].getBool();
51
+ std::shared_ptr<JsiSkPath> getSegment(double start, double end,
52
+ bool startWithMoveTo) {
61
53
  SkPathBuilder builder;
62
54
  auto result =
63
55
  getObject()->getSegment(start, end, &builder, startWithMoveTo);
64
56
  if (!result) {
65
- throw jsi::JSError(runtime, "getSegment() failed");
57
+ throw std::runtime_error("getSegment() failed");
66
58
  }
67
- return JsiSkPath::toValue(runtime, getContext(), builder.snapshot());
59
+ return std::make_shared<JsiSkPath>(getContext(), builder.snapshot());
68
60
  }
69
61
 
70
- size_t getMemoryPressure() const override { return 1024; }
71
-
72
- std::string getObjectType() const override { return "JsiSkContourMeasure"; }
73
-
74
- EXPORT_JSI_API_TYPENAME(JsiSkContourMeasure, ContourMeasure)
75
-
76
- JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkContourMeasure, getPosTan),
77
- JSI_EXPORT_FUNC(JsiSkContourMeasure, length),
78
- JSI_EXPORT_FUNC(JsiSkContourMeasure, isClosed),
79
- JSI_EXPORT_FUNC(JsiSkContourMeasure, getSegment),
80
- JSI_EXPORT_FUNC(JsiSkContourMeasure, dispose))
62
+ size_t getMemoryPressure() override { return 1024; }
63
+
64
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
65
+ installCommon(runtime, prototype);
66
+ installMethod(runtime, prototype, "getPosTan",
67
+ &JsiSkContourMeasure::getPosTan);
68
+ installMethod(runtime, prototype, "length", &JsiSkContourMeasure::length);
69
+ installMethod(runtime, prototype, "isClosed",
70
+ &JsiSkContourMeasure::isClosed);
71
+ installMethod(runtime, prototype, "getSegment",
72
+ &JsiSkContourMeasure::getSegment);
73
+ }
81
74
  };
82
75
  } // namespace RNSkia
@@ -1,10 +1,11 @@
1
1
  #pragma once
2
2
 
3
3
  #include <memory>
4
+ #include <optional>
4
5
  #include <utility>
5
6
 
6
7
  #include "JsiSkContourMeasure.h"
7
- #include "JsiSkHostObjects.h"
8
+ #include "JsiSkNativeObjects.h"
8
9
 
9
10
  #pragma clang diagnostic push
10
11
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -20,38 +21,35 @@ namespace RNSkia {
20
21
  namespace jsi = facebook::jsi;
21
22
 
22
23
  class JsiSkContourMeasureIter
23
- : public JsiSkWrappingSharedPtrHostObject<SkContourMeasureIter> {
24
+ : public JsiSkWrappingSharedPtrNativeObject<JsiSkContourMeasureIter,
25
+ SkContourMeasureIter> {
24
26
  public:
27
+ static constexpr const char *CLASS_NAME = "ContourMeasureIter";
28
+
25
29
  JsiSkContourMeasureIter(std::shared_ptr<RNSkPlatformContext> context,
26
30
  const SkPath &path, bool forceClosed,
27
31
  SkScalar resScale = 1)
28
- : JsiSkWrappingSharedPtrHostObject<SkContourMeasureIter>(
32
+ : JsiSkWrappingSharedPtrNativeObject<JsiSkContourMeasureIter,
33
+ SkContourMeasureIter>(
29
34
  std::move(context), std::make_shared<SkContourMeasureIter>(
30
35
  path, forceClosed, resScale)) {}
31
36
 
32
- JSI_HOST_FUNCTION(next) {
37
+ std::optional<std::shared_ptr<JsiSkContourMeasure>> next() {
33
38
  auto next = getObject()->next();
34
39
  if (next == nullptr) {
35
- return jsi::Value::undefined();
40
+ return std::nullopt;
36
41
  }
37
- auto nextObject =
38
- std::make_shared<JsiSkContourMeasure>(getContext(), std::move(next));
39
-
40
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, nextObject,
41
- getContext());
42
+ return std::make_shared<JsiSkContourMeasure>(getContext(),
43
+ std::move(next));
42
44
  }
43
45
 
44
- EXPORT_JSI_API_TYPENAME(JsiSkContourMeasureIter, ContourMeasureIter)
45
-
46
- JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkContourMeasureIter, next),
47
- JSI_EXPORT_FUNC(JsiSkContourMeasureIter, dispose))
48
-
49
- size_t getMemoryPressure() const override {
50
- return std::max(sizeof(SkContourMeasureIter), kMinMemoryPressure);
46
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
47
+ installCommon(runtime, prototype);
48
+ installMethod(runtime, prototype, "next", &JsiSkContourMeasureIter::next);
51
49
  }
52
50
 
53
- std::string getObjectType() const override {
54
- return "JsiSkContourMeasureIter";
51
+ size_t getMemoryPressure() override {
52
+ return std::max(sizeof(SkContourMeasureIter), kMinMemoryPressure);
55
53
  }
56
54
 
57
55
  /**
@@ -68,10 +66,9 @@ public:
68
66
  auto forceClosed = arguments[1].getBool();
69
67
  auto resScale = arguments[2].asNumber();
70
68
  // Return the newly constructed object
71
- auto iter = std::make_shared<JsiSkContourMeasureIter>(
72
- std::move(context), path->snapshot(), forceClosed, resScale);
73
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, iter,
74
- context);
69
+ return makeJsiObject(runtime, std::make_shared<JsiSkContourMeasureIter>(
70
+ std::move(context), path->snapshot(),
71
+ forceClosed, resScale));
75
72
  };
76
73
  }
77
74
  };