@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
@@ -5,7 +5,7 @@
5
5
 
6
6
  #include <jsi/jsi.h>
7
7
 
8
- #include "JsiSkHostObjects.h"
8
+ #include "JsiSkNativeObjects.h"
9
9
 
10
10
  #pragma clang diagnostic push
11
11
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -18,11 +18,14 @@ namespace RNSkia {
18
18
 
19
19
  namespace jsi = facebook::jsi;
20
20
 
21
- class JsiSkImageInfo : public JsiSkWrappingSharedPtrHostObject<SkImageInfo> {
21
+ class JsiSkImageInfo
22
+ : public JsiSkWrappingSharedPtrNativeObject<JsiSkImageInfo, SkImageInfo> {
22
23
  public:
24
+ static constexpr const char *CLASS_NAME = "ImageInfo";
25
+
23
26
  JsiSkImageInfo(std::shared_ptr<RNSkPlatformContext> context,
24
27
  const SkImageInfo &imageInfo)
25
- : JsiSkWrappingSharedPtrHostObject<SkImageInfo>(
28
+ : JsiSkWrappingSharedPtrNativeObject<JsiSkImageInfo, SkImageInfo>(
26
29
  std::move(context), std::make_shared<SkImageInfo>(imageInfo)) {}
27
30
 
28
31
  /**
@@ -31,8 +34,9 @@ public:
31
34
  static std::shared_ptr<SkImageInfo> fromValue(jsi::Runtime &runtime,
32
35
  const jsi::Value &obj) {
33
36
  const auto &object = obj.asObject(runtime);
34
- if (object.isHostObject(runtime)) {
35
- return object.asHostObject<JsiSkImageInfo>(runtime)->getObject();
37
+ auto imageInfo = tryGetJsiObject<JsiSkImageInfo>(runtime, object);
38
+ if (imageInfo) {
39
+ return imageInfo->getObject();
36
40
  } else {
37
41
  auto width = object.getProperty(runtime, "width").asNumber();
38
42
  auto height = object.getProperty(runtime, "height").asNumber();
@@ -52,35 +56,31 @@ public:
52
56
  static jsi::Value toValue(jsi::Runtime &runtime,
53
57
  std::shared_ptr<RNSkPlatformContext> context,
54
58
  const SkImageInfo &imageInfo) {
55
- auto imageInfoObj =
56
- std::make_shared<JsiSkImageInfo>(std::move(context), imageInfo);
57
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, imageInfoObj,
58
- context);
59
+ return makeJsiObject(runtime, std::make_shared<JsiSkImageInfo>(
60
+ std::move(context), imageInfo));
59
61
  }
60
62
 
61
- JSI_PROPERTY_GET(width) { return static_cast<double>(getObject()->width()); }
62
- JSI_PROPERTY_GET(height) {
63
- return static_cast<double>(getObject()->height());
64
- }
65
- 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() {
66
66
  return static_cast<double>(getObject()->colorType());
67
67
  }
68
- JSI_PROPERTY_GET(alphaType) {
68
+ double getAlphaType() {
69
69
  return static_cast<double>(getObject()->alphaType());
70
70
  }
71
71
 
72
- size_t getMemoryPressure() const override {
72
+ size_t getMemoryPressure() override {
73
73
  return std::max(sizeof(SkImageInfo), kMinMemoryPressure);
74
74
  }
75
75
 
76
- std::string getObjectType() const override { return "JsiSkImageInfo"; }
77
-
78
- JSI_API_TYPENAME(ImageInfo);
79
-
80
- JSI_EXPORT_PROPERTY_GETTERS(JSI_EXPORT_PROP_GET(JsiSkImageInfo, width),
81
- JSI_EXPORT_PROP_GET(JsiSkImageInfo, height),
82
- JSI_EXPORT_PROP_GET(JsiSkImageInfo, colorType),
83
- JSI_EXPORT_PROP_GET(JsiSkImageInfo, alphaType),
84
- JSI_EXPORT_PROP_GET(JsiSkImageInfo, __typename__))
76
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
77
+ installCommon(runtime, prototype);
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);
84
+ }
85
85
  };
86
86
  } // namespace RNSkia
@@ -5,7 +5,7 @@
5
5
 
6
6
  #include <jsi/jsi.h>
7
7
 
8
- #include "JsiSkHostObjects.h"
8
+ #include "JsiSkNativeObjects.h"
9
9
 
10
10
  #pragma clang diagnostic push
11
11
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -18,19 +18,29 @@ namespace RNSkia {
18
18
 
19
19
  namespace jsi = facebook::jsi;
20
20
 
21
- class JsiSkMaskFilter : public JsiSkWrappingSkPtrHostObject<SkMaskFilter> {
21
+ class JsiSkMaskFilter
22
+ : public JsiSkWrappingSkPtrNativeObject<JsiSkMaskFilter, SkMaskFilter> {
22
23
  public:
24
+ static constexpr const char *CLASS_NAME = "MaskFilter";
25
+
23
26
  JsiSkMaskFilter(std::shared_ptr<RNSkPlatformContext> context,
24
27
  sk_sp<SkMaskFilter> maskFilter)
25
- : JsiSkWrappingSkPtrHostObject<SkMaskFilter>(std::move(context),
26
- std::move(maskFilter)) {}
27
-
28
- size_t getMemoryPressure() const override { return 2048; }
29
-
30
- std::string getObjectType() const override { return "JsiSkMaskFilter"; }
31
-
32
- EXPORT_JSI_API_TYPENAME(JsiSkMaskFilter, MaskFilter)
33
- JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkMaskFilter, dispose))
28
+ : JsiSkWrappingSkPtrNativeObject<JsiSkMaskFilter, SkMaskFilter>(
29
+ std::move(context), std::move(maskFilter)) {}
30
+
31
+ size_t getMemoryPressure() override { return 2048; }
32
+
33
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
34
+ installCommon(runtime, prototype);
35
+ }
36
+
37
+ /**
38
+ Returns the underlying object from a host object of this type
39
+ */
40
+ static sk_sp<SkMaskFilter> fromValue(jsi::Runtime &runtime,
41
+ const jsi::Value &obj) {
42
+ return objectFromValue(runtime, obj);
43
+ }
34
44
  };
35
45
 
36
46
  } // namespace RNSkia
@@ -6,7 +6,9 @@
6
6
  #include <jsi/jsi.h>
7
7
 
8
8
  #include "JsiSkColorFilter.h"
9
- #include "JsiSkHostObjects.h"
9
+ #include "JsiSkConverters.h"
10
+ #include "JsiSkMaskFilter.h"
11
+ #include "JsiSkNativeObjects.h"
10
12
 
11
13
  #pragma clang diagnostic push
12
14
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -19,29 +21,27 @@ namespace RNSkia {
19
21
 
20
22
  namespace jsi = facebook::jsi;
21
23
 
22
- class JsiSkMaskFilterFactory : public JsiSkHostObject {
24
+ class JsiSkMaskFilterFactory
25
+ : public JsiSkNativeObject<JsiSkMaskFilterFactory> {
23
26
  public:
24
- JSI_HOST_FUNCTION(MakeBlur) {
25
- int blurStyle = arguments[0].asNumber();
26
- float sigma = arguments[1].asNumber();
27
- bool respectCTM = arguments[2].getBool();
28
- auto maskFilter = std::make_shared<JsiSkMaskFilter>(
29
- getContext(),
30
- SkMaskFilter::MakeBlur((SkBlurStyle)blurStyle, sigma, respectCTM));
31
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(runtime, maskFilter,
32
- getContext());
27
+ static constexpr const char *CLASS_NAME = "MaskFilterFactory";
28
+
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));
33
34
  }
34
35
 
35
- size_t getMemoryPressure() const override { return 1024; }
36
+ size_t getMemoryPressure() override { return 1024; }
36
37
 
37
- std::string getObjectType() const override {
38
- return "JsiSkMaskFilterFactory";
38
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
39
+ installMethod(runtime, prototype, "MakeBlur",
40
+ &JsiSkMaskFilterFactory::MakeBlur);
39
41
  }
40
42
 
41
- JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkMaskFilterFactory, MakeBlur))
42
-
43
43
  explicit JsiSkMaskFilterFactory(std::shared_ptr<RNSkPlatformContext> context)
44
- : JsiSkHostObject(std::move(context)) {}
44
+ : JsiSkNativeObject<JsiSkMaskFilterFactory>(std::move(context)) {}
45
45
  };
46
46
 
47
47
  } // 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 "JsiSkConverters.h"
10
+ #include "JsiSkNativeObjects.h"
9
11
 
10
12
  #pragma clang diagnostic push
11
13
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -18,10 +20,13 @@ namespace RNSkia {
18
20
 
19
21
  namespace jsi = facebook::jsi;
20
22
 
21
- class JsiSkMatrix : public JsiSkWrappingSharedPtrHostObject<SkMatrix> {
23
+ class JsiSkMatrix
24
+ : public JsiSkWrappingSharedPtrNativeObject<JsiSkMatrix, SkMatrix> {
22
25
  public:
26
+ static constexpr const char *CLASS_NAME = "Matrix";
27
+
23
28
  JsiSkMatrix(std::shared_ptr<RNSkPlatformContext> context, SkMatrix m)
24
- : JsiSkWrappingSharedPtrHostObject<SkMatrix>(
29
+ : JsiSkWrappingSharedPtrNativeObject<JsiSkMatrix, SkMatrix>(
25
30
  context, std::make_shared<SkMatrix>(std::move(m))) {}
26
31
 
27
32
  static SkMatrix getMatrix(jsi::Runtime &runtime, const jsi::Value &value) {
@@ -56,122 +61,82 @@ public:
56
61
  std::to_string(array.size(runtime)));
57
62
  }
58
63
 
59
- JSI_HOST_FUNCTION(concat) {
60
- if (arguments[0].isObject() &&
61
- arguments[0].asObject(runtime).isHostObject(runtime)) {
62
- auto m3 = JsiSkMatrix::fromValue(runtime, arguments[0]);
63
- getObject()->preConcat(*m3);
64
- } else {
65
- auto m3 = JsiSkMatrix::getMatrix(runtime, arguments[0]);
66
- getObject()->preConcat(m3);
67
- }
68
- return thisValue.asObject(runtime);
64
+ void concat(std::shared_ptr<SkMatrix> matrix) {
65
+ getObject()->preConcat(*matrix);
69
66
  }
70
67
 
71
- JSI_HOST_FUNCTION(translate) {
72
- auto x = arguments[0].asNumber();
73
- auto y = arguments[1].asNumber();
74
- getObject()->preTranslate(x, y);
75
- return thisValue.asObject(runtime);
76
- }
68
+ void translate(double x, double y) { getObject()->preTranslate(x, y); }
77
69
 
78
- JSI_HOST_FUNCTION(postTranslate) {
79
- auto x = arguments[0].asNumber();
80
- auto y = arguments[1].asNumber();
81
- getObject()->postTranslate(x, y);
82
- return thisValue.asObject(runtime);
83
- }
70
+ void postTranslate(double x, double y) { getObject()->postTranslate(x, y); }
84
71
 
85
- JSI_HOST_FUNCTION(scale) {
86
- auto x = arguments[0].asNumber();
87
- auto y = count > 1 ? arguments[1].asNumber() : 1;
88
- getObject()->preScale(x, y);
89
- return thisValue.asObject(runtime);
72
+ void scale(double x, JsiOptional<double> y) {
73
+ getObject()->preScale(x, y.has_value() ? *y : 1);
90
74
  }
91
75
 
92
- JSI_HOST_FUNCTION(postScale) {
93
- auto x = arguments[0].asNumber();
94
- auto y = count > 1 ? arguments[1].asNumber() : 1;
95
- getObject()->postScale(x, y);
96
- return thisValue.asObject(runtime);
76
+ void postScale(double x, JsiOptional<double> y) {
77
+ getObject()->postScale(x, y.has_value() ? *y : 1);
97
78
  }
98
79
 
99
- JSI_HOST_FUNCTION(skew) {
100
- auto x = arguments[0].asNumber();
101
- auto y = arguments[1].asNumber();
102
- getObject()->preSkew(x, y);
103
- return thisValue.asObject(runtime);
104
- }
80
+ void skew(double x, double y) { getObject()->preSkew(x, y); }
105
81
 
106
- JSI_HOST_FUNCTION(postSkew) {
107
- auto x = arguments[0].asNumber();
108
- auto y = arguments[1].asNumber();
109
- getObject()->postSkew(x, y);
110
- return thisValue.asObject(runtime);
111
- }
82
+ void postSkew(double x, double y) { getObject()->postSkew(x, y); }
112
83
 
113
- JSI_HOST_FUNCTION(rotate) {
114
- auto a = arguments[0].asNumber();
115
- getObject()->preRotate(SkRadiansToDegrees(a));
116
- return thisValue.asObject(runtime);
117
- }
84
+ void rotate(double a) { getObject()->preRotate(SkRadiansToDegrees(a)); }
118
85
 
119
- JSI_HOST_FUNCTION(postRotate) {
120
- auto a = arguments[0].asNumber();
121
- getObject()->postRotate(SkRadiansToDegrees(a));
122
- return thisValue.asObject(runtime);
123
- }
86
+ void postRotate(double a) { getObject()->postRotate(SkRadiansToDegrees(a)); }
124
87
 
125
- JSI_HOST_FUNCTION(identity) {
126
- getObject()->setIdentity();
127
- return thisValue.asObject(runtime);
128
- }
88
+ void identity() { getObject()->setIdentity(); }
129
89
 
130
90
  #pragma clang diagnostic push
131
91
  #pragma clang diagnostic ignored "-Woverloaded-virtual"
132
- JSI_HOST_FUNCTION(get) {
133
- auto values = jsi::Array(runtime, 9);
92
+ std::vector<float> get() {
93
+ std::vector<float> values;
94
+ values.reserve(9);
134
95
  for (auto i = 0; i < 9; i++) {
135
- values.setValueAtIndex(runtime, i, getObject()->get(i));
96
+ values.push_back(getObject()->get(i));
136
97
  }
137
98
  return values;
138
99
  }
139
100
  #pragma clang diagnostic pop
140
101
 
141
- EXPORT_JSI_API_TYPENAME(JsiSkMatrix, Matrix)
142
-
143
- JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkMatrix, concat),
144
- JSI_EXPORT_FUNC(JsiSkMatrix, translate),
145
- JSI_EXPORT_FUNC(JsiSkMatrix, postTranslate),
146
- JSI_EXPORT_FUNC(JsiSkMatrix, scale),
147
- JSI_EXPORT_FUNC(JsiSkMatrix, postScale),
148
- JSI_EXPORT_FUNC(JsiSkMatrix, skew),
149
- JSI_EXPORT_FUNC(JsiSkMatrix, postSkew),
150
- JSI_EXPORT_FUNC(JsiSkMatrix, rotate),
151
- JSI_EXPORT_FUNC(JsiSkMatrix, postRotate),
152
- JSI_EXPORT_FUNC(JsiSkMatrix, identity),
153
- JSI_EXPORT_FUNC(JsiSkMatrix, get),
154
- JSI_EXPORT_FUNC(JsiSkMatrix, dispose))
102
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
103
+ installCommon(runtime, prototype);
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);
121
+ }
155
122
 
156
123
  /**
157
124
  * Returns the underlying object from a host object of this type
158
125
  */
159
126
  static std::shared_ptr<SkMatrix> fromValue(jsi::Runtime &runtime,
160
127
  const jsi::Value &obj) {
161
- const auto &object = obj.asObject(runtime);
162
- if (object.isHostObject(runtime)) {
163
- return object.asHostObject<JsiSkMatrix>(runtime)->getObject();
128
+ auto matrix = tryGetJsiObject<JsiSkMatrix>(runtime, obj);
129
+ if (matrix) {
130
+ return matrix->getObject();
164
131
  } else {
165
132
  return std::make_shared<SkMatrix>(JsiSkMatrix::getMatrix(runtime, obj));
166
133
  }
167
134
  }
168
135
 
169
- size_t getMemoryPressure() const override {
136
+ size_t getMemoryPressure() override {
170
137
  return std::max(sizeof(SkMatrix), kMinMemoryPressure);
171
138
  }
172
139
 
173
- std::string getObjectType() const override { return "JsiSkMatrix"; }
174
-
175
140
  static const jsi::HostFunctionType
176
141
  createCtor(std::shared_ptr<RNSkPlatformContext> context) {
177
142
  return JSI_HOST_FUNCTION_LAMBDA {
@@ -181,10 +146,8 @@ public:
181
146
  } else {
182
147
  matrix = SkMatrix::I();
183
148
  }
184
- auto hostObjectInstance =
185
- std::make_shared<JsiSkMatrix>(context, std::move(matrix));
186
- return JSI_CREATE_HOST_OBJECT_WITH_MEMORY_PRESSURE(
187
- runtime, hostObjectInstance, context);
149
+ return makeJsiObject(
150
+ runtime, std::make_shared<JsiSkMatrix>(context, std::move(matrix)));
188
151
  };
189
152
  }
190
153
  };