@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
@@ -4,12 +4,10 @@
4
4
 
5
5
  #include "rnskia/RNSkPlatformContext.h"
6
6
 
7
- #include "JsiSkHostObjects.h"
7
+ #include "JsiSkNativeObjects.h"
8
8
 
9
9
  #ifdef SK_GRAPHITE
10
10
  #include "rnskia/RNDawnContext.h"
11
- #include "rnwgpu/api/GPUDevice.h"
12
- #include "rnwgpu/async/RuntimeContext.h"
13
11
  #endif
14
12
 
15
13
  #include "JsiNativeBuffer.h"
@@ -67,11 +65,11 @@ namespace RNSkia {
67
65
 
68
66
  namespace jsi = facebook::jsi;
69
67
 
70
- class JsiSkApi : public JsiSkHostObject {
68
+ class JsiSkApi : public JsiSkNativeObject<JsiSkApi> {
71
69
  public:
72
- size_t getMemoryPressure() const override { return 8192; }
70
+ static constexpr const char *CLASS_NAME = "Api";
73
71
 
74
- std::string getObjectType() const override { return "JsiSkApi"; }
72
+ size_t getMemoryPressure() override { return 8192; }
75
73
 
76
74
  /**
77
75
  * Constructs the Skia Api object that can be installed into a runtime
@@ -79,104 +77,264 @@ public:
79
77
  * @param context Platform context
80
78
  */
81
79
  explicit JsiSkApi(const std::shared_ptr<RNSkPlatformContext> &context)
82
- : JsiSkHostObject(context) {
80
+ : JsiSkNativeObject<JsiSkApi>(context),
81
+ _svgFactory(std::make_shared<JsiSkSVGFactory>(context)),
82
+ _imageFactory(std::make_shared<JsiSkImageFactory>(context)),
83
+ _animatedImageFactory(
84
+ std::make_shared<JsiSkAnimatedImageFactory>(context)),
85
+ _typefaceFactory(std::make_shared<JsiSkTypefaceFactory>(context)),
86
+ _dataFactory(std::make_shared<JsiSkDataFactory>(context)),
87
+ _imageFilterFactory(std::make_shared<JsiSkImageFilterFactory>(context)),
88
+ _pathEffectFactory(std::make_shared<JsiSkPathEffectFactory>(context)),
89
+ _pathFactory(std::make_shared<JsiSkPathFactory>(context)),
90
+ _pathBuilderFactory(std::make_shared<JsiSkPathBuilderFactory>(context)),
91
+ _colorFilterFactory(std::make_shared<JsiSkColorFilterFactory>(context)),
92
+ _maskFilterFactory(std::make_shared<JsiSkMaskFilterFactory>(context)),
93
+ _runtimeEffectFactory(
94
+ std::make_shared<JsiSkRuntimeEffectFactory>(context)),
95
+ _shaderFactory(std::make_shared<JsiSkShaderFactory>(context)),
96
+ _textBlobFactory(std::make_shared<JsiSkTextBlobFactory>(context)),
97
+ _surfaceFactory(std::make_shared<JsiSkSurfaceFactory>(context)),
98
+ _pictureFactory(std::make_shared<JsiSkPictureFactory>(context)),
99
+ _fontMgrFactory(std::make_shared<JsiSkFontMgrFactory>(context)),
100
+ _skottieFactory(std::make_shared<JsiSkottieFactory>(context)),
101
+ _typefaceFontProviderFactory(
102
+ std::make_shared<JsiSkTypefaceFontProviderFactory>(context)),
103
+ _paragraphBuilderFactory(
104
+ std::make_shared<JsiSkParagraphBuilderFactory>(context)),
105
+ _nativeBufferFactory(
106
+ std::make_shared<JsiNativeBufferFactory>(context)) {
83
107
  // We create the system font manager eagerly since it has proven to be too
84
108
  // slow to do it on demand
85
109
  JsiSkFontMgrFactory::getFontMgr(getContext());
86
- installFunction("Video", JsiVideo::createCtor(context));
87
- installFunction("Context", JsiSkiaContext::createCtor(context));
88
- installFunction("Font", JsiSkFont::createCtor(context));
89
- installFunction("Paint", JsiSkPaint::createCtor(context));
90
- installFunction("RSXform", JsiSkRSXform::createCtor(context));
91
- installFunction("RSXformFromRadians",
92
- JsiSkRSXform::createCtorFromRadians(context));
93
- installFunction("Matrix", JsiSkMatrix::createCtor(context));
94
- installFunction("XYWHRect", JsiSkRect::createCtor(context));
95
- installFunction("RRectXY", JsiSkRRect::createCtor(context));
96
- installFunction("Point", JsiSkPoint::createCtor(context));
97
- installFunction("RuntimeShaderBuilder",
98
- JsiSkRuntimeShaderBuilder::createCtor(context));
99
- installFunction("ContourMeasureIter",
100
- JsiSkContourMeasureIter::createCtor(context));
101
- installFunction("MakeVertices", JsiSkVertices::createCtor(context));
102
- installFunction("PictureRecorder",
103
- JsiSkPictureRecorder::createCtor(context));
104
- installFunction("Color", JsiSkColor::createCtor());
105
-
106
- installReadonlyProperty("SVG", std::make_shared<JsiSkSVGFactory>(context));
107
- installReadonlyProperty("Image",
108
- std::make_shared<JsiSkImageFactory>(context));
109
- installReadonlyProperty(
110
- "AnimatedImage", std::make_shared<JsiSkAnimatedImageFactory>(context));
111
- installReadonlyProperty("Typeface",
112
- std::make_shared<JsiSkTypefaceFactory>(context));
113
- installReadonlyProperty("Data",
114
- std::make_shared<JsiSkDataFactory>(context));
115
- installReadonlyProperty("ImageFilter",
116
- std::make_shared<JsiSkImageFilterFactory>(context));
117
- installReadonlyProperty("PathEffect",
118
- std::make_shared<JsiSkPathEffectFactory>(context));
119
- installReadonlyProperty("Path",
120
- std::make_shared<JsiSkPathFactory>(context));
121
- installReadonlyProperty("PathBuilder",
122
- std::make_shared<JsiSkPathBuilderFactory>(context));
123
- installReadonlyProperty("ColorFilter",
124
- std::make_shared<JsiSkColorFilterFactory>(context));
125
- installReadonlyProperty("MaskFilter",
126
- std::make_shared<JsiSkMaskFilterFactory>(context));
127
- installReadonlyProperty(
128
- "RuntimeEffect", std::make_shared<JsiSkRuntimeEffectFactory>(context));
129
- installReadonlyProperty("Shader",
130
- std::make_shared<JsiSkShaderFactory>(context));
131
- installReadonlyProperty("TextBlob",
132
- std::make_shared<JsiSkTextBlobFactory>(context));
133
- installReadonlyProperty("Surface",
134
- std::make_shared<JsiSkSurfaceFactory>(context));
135
- installReadonlyProperty("Picture",
136
- std::make_shared<JsiSkPictureFactory>(context));
137
- installReadonlyProperty("FontMgr",
138
- std::make_shared<JsiSkFontMgrFactory>(context));
139
- installReadonlyProperty("Skottie",
140
- std::make_shared<JsiSkottieFactory>(context));
141
- installReadonlyProperty(
142
- "TypefaceFontProvider",
143
- std::make_shared<JsiSkTypefaceFontProviderFactory>(context));
144
-
145
- installReadonlyProperty(
146
- "ParagraphBuilder",
147
- std::make_shared<JsiSkParagraphBuilderFactory>(context));
148
-
149
- installReadonlyProperty("NativeBuffer",
150
- std::make_shared<JsiNativeBufferFactory>(context));
151
-
152
- installFunction("Recorder", JsiRecorder::createCtor(context));
110
+ }
153
111
 
154
- installFunction(
155
- "hasDevice", JSI_HOST_FUNCTION_LAMBDA {
112
+ // Constructor functions: each delegates to the class's createCtor host
113
+ // function using the platform context resolved from native state, so the
114
+ // prototype stays context-free and can be installed on any runtime.
115
+ JSI_HOST_FUNCTION(Video) {
116
+ return JsiVideo::createCtor(getContext())(runtime, thisValue, arguments,
117
+ count);
118
+ }
119
+ JSI_HOST_FUNCTION(Context) {
120
+ return JsiSkiaContext::createCtor(getContext())(runtime, thisValue,
121
+ arguments, count);
122
+ }
123
+ JSI_HOST_FUNCTION(Font) {
124
+ return JsiSkFont::createCtor(getContext())(runtime, thisValue, arguments,
125
+ count);
126
+ }
127
+ JSI_HOST_FUNCTION(Paint) {
128
+ return JsiSkPaint::createCtor(getContext())(runtime, thisValue, arguments,
129
+ count);
130
+ }
131
+ JSI_HOST_FUNCTION(RSXform) {
132
+ return JsiSkRSXform::createCtor(getContext())(runtime, thisValue, arguments,
133
+ count);
134
+ }
135
+ JSI_HOST_FUNCTION(RSXformFromRadians) {
136
+ return JsiSkRSXform::createCtorFromRadians(getContext())(runtime, thisValue,
137
+ arguments, count);
138
+ }
139
+ JSI_HOST_FUNCTION(Matrix) {
140
+ return JsiSkMatrix::createCtor(getContext())(runtime, thisValue, arguments,
141
+ count);
142
+ }
143
+ JSI_HOST_FUNCTION(XYWHRect) {
144
+ return JsiSkRect::createCtor(getContext())(runtime, thisValue, arguments,
145
+ count);
146
+ }
147
+ JSI_HOST_FUNCTION(RRectXY) {
148
+ return JsiSkRRect::createCtor(getContext())(runtime, thisValue, arguments,
149
+ count);
150
+ }
151
+ JSI_HOST_FUNCTION(Point) {
152
+ return JsiSkPoint::createCtor(getContext())(runtime, thisValue, arguments,
153
+ count);
154
+ }
155
+ JSI_HOST_FUNCTION(RuntimeShaderBuilder) {
156
+ return JsiSkRuntimeShaderBuilder::createCtor(getContext())(
157
+ runtime, thisValue, arguments, count);
158
+ }
159
+ JSI_HOST_FUNCTION(ContourMeasureIter) {
160
+ return JsiSkContourMeasureIter::createCtor(getContext())(runtime, thisValue,
161
+ arguments, count);
162
+ }
163
+ JSI_HOST_FUNCTION(MakeVertices) {
164
+ return JsiSkVertices::createCtor(getContext())(runtime, thisValue,
165
+ arguments, count);
166
+ }
167
+ JSI_HOST_FUNCTION(PictureRecorder) {
168
+ return JsiSkPictureRecorder::createCtor(getContext())(runtime, thisValue,
169
+ arguments, count);
170
+ }
171
+ JSI_HOST_FUNCTION(Color) {
172
+ return JsiSkColor::createCtor()(runtime, thisValue, arguments, count);
173
+ }
174
+ JSI_HOST_FUNCTION(getNativeDevice) {
156
175
  #ifdef SK_GRAPHITE
157
- return jsi::Value(true);
176
+ // Raw WGPUDevice pointer of the Graphite device, as a BigInt. Consumed by
177
+ // react-native-webgpu's importDevice(), which AddRefs it; the pointer
178
+ // stays owned by DawnContext and is valid for the process lifetime.
179
+ auto &dawnContext = DawnContext::getInstance();
180
+ return jsi::BigInt::fromUint64(
181
+ runtime,
182
+ reinterpret_cast<uint64_t>(dawnContext.getWGPUDevice().Get()));
158
183
  #else
159
- return jsi::Value(false);
184
+ throw jsi::JSError(runtime,
185
+ "getNativeDevice() is only available with the Graphite "
186
+ "backend. Rebuild with SK_GRAPHITE enabled.");
160
187
  #endif
161
- });
188
+ }
162
189
 
163
- installFunction(
164
- "getDevice", JSI_HOST_FUNCTION_LAMBDA {
165
- #ifdef SK_GRAPHITE
166
- auto &dawnContext = DawnContext::getInstance();
167
- // Per-runtime context: async ops on this device resolve on the calling
168
- // runtime's own thread (via its ProcessEvents pump).
169
- auto context = rnwgpu::async::RuntimeContext::getOrCreate(
170
- runtime, dawnContext.getWGPUInstance());
171
- auto device = std::make_shared<rnwgpu::GPUDevice>(
172
- dawnContext.getWGPUDevice(), context, "Skia Device");
173
- return rnwgpu::GPUDevice::create(runtime, device);
174
- #else
175
- throw jsi::JSError(runtime,
176
- "getDevice() is only available with the Graphite "
177
- "backend. Rebuild with SK_GRAPHITE enabled.");
178
- #endif
179
- });
190
+ JSI_HOST_FUNCTION(Recorder) {
191
+ return JsiRecorder::createCtor(getContext())(runtime, thisValue, arguments,
192
+ count);
193
+ }
194
+
195
+ // Factory properties: like the legacy HostObject implementation, each
196
+ // property access returns a fresh JS wrapper around the shared factory
197
+ // instance.
198
+ std::shared_ptr<JsiSkSVGFactory> getSVGFactory() { return _svgFactory; }
199
+ std::shared_ptr<JsiSkImageFactory> getImageFactory() {
200
+ return _imageFactory;
201
+ }
202
+ std::shared_ptr<JsiSkAnimatedImageFactory> getAnimatedImageFactory() {
203
+ return _animatedImageFactory;
204
+ }
205
+ std::shared_ptr<JsiSkTypefaceFactory> getTypefaceFactory() {
206
+ return _typefaceFactory;
207
+ }
208
+ std::shared_ptr<JsiSkDataFactory> getDataFactory() { return _dataFactory; }
209
+ std::shared_ptr<JsiSkImageFilterFactory> getImageFilterFactory() {
210
+ return _imageFilterFactory;
211
+ }
212
+ std::shared_ptr<JsiSkPathEffectFactory> getPathEffectFactory() {
213
+ return _pathEffectFactory;
214
+ }
215
+ std::shared_ptr<JsiSkPathFactory> getPathFactory() { return _pathFactory; }
216
+ std::shared_ptr<JsiSkPathBuilderFactory> getPathBuilderFactory() {
217
+ return _pathBuilderFactory;
218
+ }
219
+ std::shared_ptr<JsiSkColorFilterFactory> getColorFilterFactory() {
220
+ return _colorFilterFactory;
221
+ }
222
+ std::shared_ptr<JsiSkMaskFilterFactory> getMaskFilterFactory() {
223
+ return _maskFilterFactory;
224
+ }
225
+ std::shared_ptr<JsiSkRuntimeEffectFactory> getRuntimeEffectFactory() {
226
+ return _runtimeEffectFactory;
227
+ }
228
+ std::shared_ptr<JsiSkShaderFactory> getShaderFactory() {
229
+ return _shaderFactory;
180
230
  }
231
+ std::shared_ptr<JsiSkTextBlobFactory> getTextBlobFactory() {
232
+ return _textBlobFactory;
233
+ }
234
+ std::shared_ptr<JsiSkSurfaceFactory> getSurfaceFactory() {
235
+ return _surfaceFactory;
236
+ }
237
+ std::shared_ptr<JsiSkPictureFactory> getPictureFactory() {
238
+ return _pictureFactory;
239
+ }
240
+ std::shared_ptr<JsiSkFontMgrFactory> getFontMgrFactory() {
241
+ return _fontMgrFactory;
242
+ }
243
+ std::shared_ptr<JsiSkottieFactory> getSkottieFactory() {
244
+ return _skottieFactory;
245
+ }
246
+ std::shared_ptr<JsiSkTypefaceFontProviderFactory>
247
+ getTypefaceFontProviderFactory() {
248
+ return _typefaceFontProviderFactory;
249
+ }
250
+ std::shared_ptr<JsiSkParagraphBuilderFactory> getParagraphBuilderFactory() {
251
+ return _paragraphBuilderFactory;
252
+ }
253
+ std::shared_ptr<JsiNativeBufferFactory> getNativeBufferFactory() {
254
+ return _nativeBufferFactory;
255
+ }
256
+
257
+ static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
258
+ installHostMethod(runtime, prototype, "Video", &JsiSkApi::Video);
259
+ installHostMethod(runtime, prototype, "Context", &JsiSkApi::Context);
260
+ installHostMethod(runtime, prototype, "getNativeDevice",
261
+ &JsiSkApi::getNativeDevice);
262
+ installHostMethod(runtime, prototype, "Font", &JsiSkApi::Font);
263
+ installHostMethod(runtime, prototype, "Paint", &JsiSkApi::Paint);
264
+ installHostMethod(runtime, prototype, "RSXform", &JsiSkApi::RSXform);
265
+ installHostMethod(runtime, prototype, "RSXformFromRadians",
266
+ &JsiSkApi::RSXformFromRadians);
267
+ installHostMethod(runtime, prototype, "Matrix", &JsiSkApi::Matrix);
268
+ installHostMethod(runtime, prototype, "XYWHRect", &JsiSkApi::XYWHRect);
269
+ installHostMethod(runtime, prototype, "RRectXY", &JsiSkApi::RRectXY);
270
+ installHostMethod(runtime, prototype, "Point", &JsiSkApi::Point);
271
+ installHostMethod(runtime, prototype, "RuntimeShaderBuilder",
272
+ &JsiSkApi::RuntimeShaderBuilder);
273
+ installHostMethod(runtime, prototype, "ContourMeasureIter",
274
+ &JsiSkApi::ContourMeasureIter);
275
+ installHostMethod(runtime, prototype, "MakeVertices",
276
+ &JsiSkApi::MakeVertices);
277
+ installHostMethod(runtime, prototype, "PictureRecorder",
278
+ &JsiSkApi::PictureRecorder);
279
+ installHostMethod(runtime, prototype, "Color", &JsiSkApi::Color);
280
+ installHostMethod(runtime, prototype, "Recorder", &JsiSkApi::Recorder);
281
+ installGetter(runtime, prototype, "SVG", &JsiSkApi::getSVGFactory);
282
+ installGetter(runtime, prototype, "Image", &JsiSkApi::getImageFactory);
283
+ installGetter(runtime, prototype, "AnimatedImage",
284
+ &JsiSkApi::getAnimatedImageFactory);
285
+ installGetter(runtime, prototype, "Typeface",
286
+ &JsiSkApi::getTypefaceFactory);
287
+ installGetter(runtime, prototype, "Data", &JsiSkApi::getDataFactory);
288
+ installGetter(runtime, prototype, "ImageFilter",
289
+ &JsiSkApi::getImageFilterFactory);
290
+ installGetter(runtime, prototype, "PathEffect",
291
+ &JsiSkApi::getPathEffectFactory);
292
+ installGetter(runtime, prototype, "Path", &JsiSkApi::getPathFactory);
293
+ installGetter(runtime, prototype, "PathBuilder",
294
+ &JsiSkApi::getPathBuilderFactory);
295
+ installGetter(runtime, prototype, "ColorFilter",
296
+ &JsiSkApi::getColorFilterFactory);
297
+ installGetter(runtime, prototype, "MaskFilter",
298
+ &JsiSkApi::getMaskFilterFactory);
299
+ installGetter(runtime, prototype, "RuntimeEffect",
300
+ &JsiSkApi::getRuntimeEffectFactory);
301
+ installGetter(runtime, prototype, "Shader", &JsiSkApi::getShaderFactory);
302
+ installGetter(runtime, prototype, "TextBlob",
303
+ &JsiSkApi::getTextBlobFactory);
304
+ installGetter(runtime, prototype, "Surface", &JsiSkApi::getSurfaceFactory);
305
+ installGetter(runtime, prototype, "Picture", &JsiSkApi::getPictureFactory);
306
+ installGetter(runtime, prototype, "FontMgr", &JsiSkApi::getFontMgrFactory);
307
+ installGetter(runtime, prototype, "Skottie", &JsiSkApi::getSkottieFactory);
308
+ installGetter(runtime, prototype, "TypefaceFontProvider",
309
+ &JsiSkApi::getTypefaceFontProviderFactory);
310
+ installGetter(runtime, prototype, "ParagraphBuilder",
311
+ &JsiSkApi::getParagraphBuilderFactory);
312
+ installGetter(runtime, prototype, "NativeBuffer",
313
+ &JsiSkApi::getNativeBufferFactory);
314
+ }
315
+
316
+ private:
317
+ std::shared_ptr<JsiSkSVGFactory> _svgFactory;
318
+ std::shared_ptr<JsiSkImageFactory> _imageFactory;
319
+ std::shared_ptr<JsiSkAnimatedImageFactory> _animatedImageFactory;
320
+ std::shared_ptr<JsiSkTypefaceFactory> _typefaceFactory;
321
+ std::shared_ptr<JsiSkDataFactory> _dataFactory;
322
+ std::shared_ptr<JsiSkImageFilterFactory> _imageFilterFactory;
323
+ std::shared_ptr<JsiSkPathEffectFactory> _pathEffectFactory;
324
+ std::shared_ptr<JsiSkPathFactory> _pathFactory;
325
+ std::shared_ptr<JsiSkPathBuilderFactory> _pathBuilderFactory;
326
+ std::shared_ptr<JsiSkColorFilterFactory> _colorFilterFactory;
327
+ std::shared_ptr<JsiSkMaskFilterFactory> _maskFilterFactory;
328
+ std::shared_ptr<JsiSkRuntimeEffectFactory> _runtimeEffectFactory;
329
+ std::shared_ptr<JsiSkShaderFactory> _shaderFactory;
330
+ std::shared_ptr<JsiSkTextBlobFactory> _textBlobFactory;
331
+ std::shared_ptr<JsiSkSurfaceFactory> _surfaceFactory;
332
+ std::shared_ptr<JsiSkPictureFactory> _pictureFactory;
333
+ std::shared_ptr<JsiSkFontMgrFactory> _fontMgrFactory;
334
+ std::shared_ptr<JsiSkottieFactory> _skottieFactory;
335
+ std::shared_ptr<JsiSkTypefaceFontProviderFactory>
336
+ _typefaceFontProviderFactory;
337
+ std::shared_ptr<JsiSkParagraphBuilderFactory> _paragraphBuilderFactory;
338
+ std::shared_ptr<JsiNativeBufferFactory> _nativeBufferFactory;
181
339
  };
182
340
  } // namespace RNSkia