@shopify/react-native-skia 2.2.18 → 2.2.20

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 (436) hide show
  1. package/android/CMakeLists.txt +2 -0
  2. package/cpp/api/JsiSkCanvas.h +22 -0
  3. package/cpp/api/JsiSkDispatcher.cpp +9 -0
  4. package/cpp/api/JsiSkDispatcher.h +149 -0
  5. package/cpp/api/JsiSkImage.h +27 -9
  6. package/cpp/api/JsiSkPicture.h +22 -1
  7. package/cpp/api/JsiSkSurface.h +15 -10
  8. package/cpp/api/recorder/Drawings.h +64 -51
  9. package/cpp/api/recorder/JsiRecorder.h +3 -1
  10. package/cpp/api/recorder/RNRecorder.h +10 -4
  11. package/cpp/jsi/JsiHostObject.cpp +16 -0
  12. package/jestSetup.js +1 -1
  13. package/lib/commonjs/Platform/Platform.js.map +1 -1
  14. package/lib/commonjs/Platform/Platform.web.js +0 -1
  15. package/lib/commonjs/Platform/Platform.web.js.map +1 -1
  16. package/lib/commonjs/animation/functions/interpolate.js +0 -1
  17. package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  19. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  20. package/lib/commonjs/external/reanimated/textures.js +31 -28
  21. package/lib/commonjs/external/reanimated/textures.js.map +1 -1
  22. package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
  23. package/lib/commonjs/renderer/Canvas.js +1 -3
  24. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  25. package/lib/commonjs/renderer/Offscreen.js +1 -7
  26. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  27. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  28. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  29. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  30. package/lib/commonjs/skia/core/Image.js.map +1 -1
  31. package/lib/commonjs/skia/core/SVG.web.js +9 -2
  32. package/lib/commonjs/skia/core/SVG.web.js.map +1 -1
  33. package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
  34. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  35. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  36. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  37. package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
  38. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  39. package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  40. package/lib/commonjs/skia/web/Host.d.ts +2 -1
  41. package/lib/commonjs/skia/web/Host.js +8 -0
  42. package/lib/commonjs/skia/web/Host.js.map +1 -1
  43. package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  44. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
  45. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
  46. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
  47. package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
  48. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  49. package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
  50. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  51. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
  52. package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
  53. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  54. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
  55. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
  56. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  57. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  58. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
  59. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  60. package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
  61. package/lib/commonjs/skia/web/JsiSkData.js +0 -6
  62. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  63. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
  64. package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
  65. package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
  66. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  67. package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
  68. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
  69. package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
  70. package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
  71. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  72. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
  73. package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
  74. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  75. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
  76. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
  77. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  78. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
  79. package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
  80. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  81. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
  82. package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
  83. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  84. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  85. package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
  86. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
  87. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  88. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
  89. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  90. package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
  91. package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
  92. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  93. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
  94. package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
  95. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  96. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
  97. package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
  98. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  99. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  100. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
  101. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
  103. package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
  104. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  105. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
  106. package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
  107. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  108. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
  109. package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
  110. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  111. package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
  112. package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
  113. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  114. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  115. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
  116. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  117. package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
  118. package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
  119. package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
  120. package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
  121. package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
  122. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  123. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
  124. package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
  125. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  126. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
  127. package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
  128. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  129. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
  130. package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
  131. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  132. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  133. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  134. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  135. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
  136. package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
  137. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  138. package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  139. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
  140. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
  141. package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  142. package/lib/commonjs/skia/web/JsiVideo.js +4 -1
  143. package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
  144. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  145. package/lib/commonjs/sksg/Container.web.js.map +1 -1
  146. package/lib/commonjs/sksg/Elements.js.map +1 -1
  147. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  148. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  149. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js +4 -0
  150. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  151. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  152. package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
  153. package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
  154. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  155. package/lib/module/Platform/Platform.js.map +1 -1
  156. package/lib/module/Platform/Platform.web.js +0 -1
  157. package/lib/module/Platform/Platform.web.js.map +1 -1
  158. package/lib/module/animation/functions/interpolate.js +0 -1
  159. package/lib/module/animation/functions/interpolate.js.map +1 -1
  160. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  161. package/lib/module/dom/types/Drawings.js.map +1 -1
  162. package/lib/module/external/reanimated/textures.js +33 -30
  163. package/lib/module/external/reanimated/textures.js.map +1 -1
  164. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  165. package/lib/module/renderer/Canvas.js +1 -3
  166. package/lib/module/renderer/Canvas.js.map +1 -1
  167. package/lib/module/renderer/Offscreen.js +1 -8
  168. package/lib/module/renderer/Offscreen.js.map +1 -1
  169. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  170. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  171. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  172. package/lib/module/skia/core/Image.js.map +1 -1
  173. package/lib/module/skia/core/SVG.web.js +9 -2
  174. package/lib/module/skia/core/SVG.web.js.map +1 -1
  175. package/lib/module/skia/types/JsiInstance.d.ts +1 -1
  176. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  177. package/lib/module/skia/types/Matrix4.js.map +1 -1
  178. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  179. package/lib/module/skia/types/Shader/Shader.js +1 -3
  180. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  181. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  182. package/lib/module/skia/web/Host.d.ts +2 -1
  183. package/lib/module/skia/web/Host.js +8 -0
  184. package/lib/module/skia/web/Host.js.map +1 -1
  185. package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  186. package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
  187. package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
  188. package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
  189. package/lib/module/skia/web/JsiSkCanvas.js +0 -6
  190. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  191. package/lib/module/skia/web/JsiSkColor.js +0 -1
  192. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  193. package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
  194. package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
  195. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  196. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
  197. package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
  198. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  199. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  200. package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
  201. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  202. package/lib/module/skia/web/JsiSkData.d.ts +0 -1
  203. package/lib/module/skia/web/JsiSkData.js +0 -6
  204. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  205. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
  206. package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
  207. package/lib/module/skia/web/JsiSkFont.js +0 -6
  208. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  209. package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
  210. package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
  211. package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
  212. package/lib/module/skia/web/JsiSkImage.js +0 -6
  213. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  214. package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
  215. package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
  216. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  217. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
  218. package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
  219. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  220. package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
  221. package/lib/module/skia/web/JsiSkMatrix.js +0 -6
  222. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  223. package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
  224. package/lib/module/skia/web/JsiSkPaint.js +0 -6
  225. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  226. package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  227. package/lib/module/skia/web/JsiSkParagraph.js +0 -3
  228. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
  229. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  230. package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
  231. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  232. package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
  233. package/lib/module/skia/web/JsiSkPath.js +0 -6
  234. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  235. package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
  236. package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
  237. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  238. package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
  239. package/lib/module/skia/web/JsiSkPicture.js +0 -6
  240. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  241. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  242. package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
  243. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  244. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
  245. package/lib/module/skia/web/JsiSkPoint.js +0 -6
  246. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  247. package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
  248. package/lib/module/skia/web/JsiSkRRect.js +3 -6
  249. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  250. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
  251. package/lib/module/skia/web/JsiSkRSXform.js +0 -6
  252. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  253. package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
  254. package/lib/module/skia/web/JsiSkRect.js +0 -6
  255. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  256. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  257. package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
  258. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  259. package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
  260. package/lib/module/skia/web/JsiSkSVG.js +5 -8
  261. package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
  262. package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
  263. package/lib/module/skia/web/JsiSkShader.js +0 -6
  264. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  265. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
  266. package/lib/module/skia/web/JsiSkSurface.js +3 -6
  267. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  268. package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
  269. package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
  270. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  271. package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
  272. package/lib/module/skia/web/JsiSkTypeface.js +0 -6
  273. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  274. package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  275. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  276. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  277. package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
  278. package/lib/module/skia/web/JsiSkVertices.js +0 -6
  279. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  280. package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  281. package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
  282. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
  283. package/lib/module/skia/web/JsiVideo.d.ts +1 -0
  284. package/lib/module/skia/web/JsiVideo.js +4 -1
  285. package/lib/module/skia/web/JsiVideo.js.map +1 -1
  286. package/lib/module/sksg/Container.native.js.map +1 -1
  287. package/lib/module/sksg/Container.web.js.map +1 -1
  288. package/lib/module/sksg/Elements.js.map +1 -1
  289. package/lib/module/sksg/Reconciler.js.map +1 -1
  290. package/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  291. package/lib/module/sksg/Recorder/ReanimatedRecorder.js +5 -0
  292. package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  293. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  294. package/lib/module/sksg/StaticContainer.js.map +1 -1
  295. package/lib/module/views/SkiaPictureView.web.js +3 -1
  296. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  297. package/lib/typescript/eslint.config.d.mts +2 -0
  298. package/lib/typescript/jest.config.d.ts +11 -2
  299. package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
  300. package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
  301. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  302. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  303. package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  304. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  305. package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  306. package/lib/typescript/lib/commonjs/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  307. package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
  308. package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
  309. package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  310. package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  311. package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  312. package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  313. package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
  314. package/lib/typescript/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  315. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  316. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  317. package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
  318. package/lib/typescript/src/skia/web/Host.d.ts +2 -1
  319. package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  320. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
  321. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
  322. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
  323. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  324. package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
  325. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
  326. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
  327. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
  328. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
  329. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
  330. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
  331. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
  332. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  333. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
  334. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
  335. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
  336. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  337. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
  338. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
  339. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
  340. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
  341. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  342. package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
  343. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
  344. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
  345. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
  346. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
  347. package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  348. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
  349. package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
  350. package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
  351. package/lib/typescript/src/sksg/Recorder/ReanimatedRecorder.d.ts +4 -0
  352. package/package.json +19 -12
  353. package/scripts/setup-canvaskit.js +15 -9
  354. package/src/Platform/Platform.ts +2 -2
  355. package/src/Platform/Platform.web.tsx +0 -1
  356. package/src/__tests__/setup.ts +1 -4
  357. package/src/animation/functions/interpolate.ts +0 -1
  358. package/src/dom/nodes/datatypes/Fitting.ts +1 -1
  359. package/src/dom/types/Drawings.ts +1 -1
  360. package/src/external/reanimated/textures.tsx +36 -27
  361. package/src/external/reanimated/useVideo.ts +1 -1
  362. package/src/renderer/Canvas.tsx +1 -2
  363. package/src/renderer/Offscreen.tsx +1 -7
  364. package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
  365. package/src/renderer/__tests__/Picture.spec.tsx +8 -5
  366. package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
  367. package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
  368. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
  369. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
  370. package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
  371. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
  372. package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
  373. package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
  374. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
  375. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
  376. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
  377. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
  378. package/src/renderer/__tests__/e2e/Video.ts +0 -1
  379. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
  380. package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
  381. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
  382. package/src/renderer/__tests__/setup.tsx +0 -1
  383. package/src/renderer/processors/Animations/Animations.ts +4 -4
  384. package/src/skia/__tests__/Path.spec.ts +1 -3
  385. package/src/skia/core/Image.ts +1 -1
  386. package/src/skia/core/SVG.web.ts +12 -8
  387. package/src/skia/types/JsiInstance.ts +1 -1
  388. package/src/skia/types/Matrix4.ts +4 -4
  389. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
  390. package/src/skia/types/Shader/Shader.ts +0 -1
  391. package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
  392. package/src/skia/web/Host.ts +14 -1
  393. package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
  394. package/src/skia/web/JsiSkCanvas.ts +0 -4
  395. package/src/skia/web/JsiSkColor.ts +1 -1
  396. package/src/skia/web/JsiSkColorFilter.ts +0 -4
  397. package/src/skia/web/JsiSkContourMeasure.ts +0 -4
  398. package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
  399. package/src/skia/web/JsiSkData.ts +0 -4
  400. package/src/skia/web/JsiSkDataFactory.ts +1 -1
  401. package/src/skia/web/JsiSkFont.ts +0 -4
  402. package/src/skia/web/JsiSkFontMgr.ts +2 -1
  403. package/src/skia/web/JsiSkImage.ts +0 -4
  404. package/src/skia/web/JsiSkImageFilter.ts +0 -4
  405. package/src/skia/web/JsiSkMaskFilter.ts +0 -4
  406. package/src/skia/web/JsiSkMatrix.ts +2 -6
  407. package/src/skia/web/JsiSkPaint.ts +0 -4
  408. package/src/skia/web/JsiSkParagraph.ts +0 -4
  409. package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
  410. package/src/skia/web/JsiSkPath.ts +0 -4
  411. package/src/skia/web/JsiSkPathEffect.ts +0 -4
  412. package/src/skia/web/JsiSkPicture.ts +0 -4
  413. package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
  414. package/src/skia/web/JsiSkPoint.ts +0 -4
  415. package/src/skia/web/JsiSkRRect.ts +3 -3
  416. package/src/skia/web/JsiSkRSXform.ts +5 -3
  417. package/src/skia/web/JsiSkRect.ts +0 -4
  418. package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
  419. package/src/skia/web/JsiSkSVG.ts +2 -2
  420. package/src/skia/web/JsiSkShader.ts +0 -4
  421. package/src/skia/web/JsiSkSurface.ts +2 -2
  422. package/src/skia/web/JsiSkTextBlob.ts +0 -4
  423. package/src/skia/web/JsiSkTypeface.ts +0 -4
  424. package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
  425. package/src/skia/web/JsiSkVertices.ts +0 -4
  426. package/src/skia/web/JsiSkottieAnimation.ts +0 -3
  427. package/src/skia/web/JsiVideo.ts +5 -1
  428. package/src/sksg/Container.native.ts +4 -1
  429. package/src/sksg/Container.web.ts +4 -1
  430. package/src/sksg/Elements.tsx +0 -1
  431. package/src/sksg/Reconciler.ts +4 -1
  432. package/src/sksg/Recorder/ReanimatedRecorder.ts +4 -0
  433. package/src/sksg/Recorder/Visitor.ts +1 -1
  434. package/src/sksg/StaticContainer.ts +4 -1
  435. package/src/views/SkiaPictureView.web.tsx +12 -3
  436. package/cpp/api/JsiSkThreadSafeDeletion.h +0 -105
@@ -3,8 +3,8 @@ import { surface } from "../setup";
3
3
  describe("Surfaces", () => {
4
4
  it("surface has width and height", async () => {
5
5
  const result = await surface.eval((Skia) => {
6
- const surface1 = Skia.Surface.Make(1920, 1080)!;
7
- const surface2 = Skia.Surface.MakeOffscreen(1920, 1080)!;
6
+ using surface1 = Skia.Surface.Make(1920, 1080)!;
7
+ using surface2 = Skia.Surface.MakeOffscreen(1920, 1080)!;
8
8
  return [
9
9
  surface1.width(),
10
10
  surface1.height(),
@@ -9,12 +9,10 @@ describe("Text Paths", () => {
9
9
  it("Should draw text along a path", async () => {
10
10
  const { Skia, rect, processTransform2d } = importSkia();
11
11
  const circlePath = Skia.Path.MakeFromSVGString(
12
- // eslint-disable-next-line max-len
13
12
  "M332 172Q332 175.928 331.807 179.851Q331.615 183.774 331.23 187.683Q330.845 191.592 330.268 195.477Q329.692 199.362 328.926 203.214Q328.159 207.067 327.205 210.877Q326.251 214.687 325.11 218.446Q323.97 222.204 322.647 225.902Q321.324 229.601 319.821 233.229Q318.318 236.858 316.638 240.409Q314.959 243.959 313.107 247.423Q311.256 250.887 309.237 254.256Q307.217 257.625 305.035 260.891Q302.853 264.157 300.513 267.312Q298.173 270.467 295.682 273.503Q293.19 276.539 290.552 279.449Q287.914 282.36 285.137 285.137Q282.36 287.914 279.449 290.552Q276.539 293.19 273.503 295.682Q270.467 298.173 267.312 300.513Q264.157 302.853 260.891 305.035Q257.625 307.217 254.256 309.237Q250.887 311.256 247.423 313.107Q243.959 314.959 240.409 316.638Q236.858 318.318 233.229 319.821Q229.601 321.324 225.902 322.647Q222.204 323.97 218.446 325.11Q214.687 326.251 210.877 327.205Q207.067 328.159 203.214 328.926Q199.362 329.692 195.477 330.268Q191.592 330.845 187.683 331.23Q183.774 331.615 179.851 331.807Q175.928 332 172 332Q168.072 332 164.149 331.807Q160.226 331.615 156.317 331.23Q152.408 330.845 148.523 330.268Q144.638 329.692 140.786 328.926Q136.933 328.159 133.123 327.205Q129.313 326.251 125.554 325.11Q121.796 323.97 118.098 322.647Q114.399 321.324 110.771 319.821Q107.142 318.318 103.591 316.638Q100.041 314.959 96.5765 313.107Q93.1125 311.256 89.7435 309.237Q86.3746 307.217 83.1087 305.035Q79.8429 302.853 76.6881 300.513Q73.5333 298.173 70.4971 295.682Q67.4609 293.19 64.5506 290.552Q61.6403 287.914 58.8629 285.137Q56.0855 282.36 53.4478 279.449Q50.8101 276.539 48.3183 273.503Q45.8266 270.467 43.4868 267.312Q41.147 264.157 38.9649 260.891Q36.7827 257.625 34.7634 254.256Q32.7441 250.887 30.8926 247.423Q29.0411 243.959 27.3617 240.409Q25.6824 236.858 24.1793 233.229Q22.6762 229.601 21.3529 225.902Q20.0297 222.204 18.8895 218.446Q17.7494 214.687 16.795 210.877Q15.8406 207.067 15.0744 203.214Q14.3081 199.362 13.7318 195.477Q13.1554 191.592 12.7704 187.683Q12.3855 183.774 12.1927 179.851Q12 175.928 12 172Q12 168.072 12.1927 164.149Q12.3855 160.226 12.7704 156.317Q13.1554 152.408 13.7318 148.523Q14.3081 144.638 15.0744 140.786Q15.8406 136.933 16.795 133.123Q17.7494 129.313 18.8895 125.554Q20.0297 121.796 21.3529 118.098Q22.6762 114.399 24.1793 110.771Q25.6824 107.142 27.3617 103.591Q29.0411 100.041 30.8926 96.5765Q32.7441 93.1125 34.7634 89.7435Q36.7827 86.3746 38.9649 83.1087Q41.147 79.8429 43.4868 76.6881Q45.8266 73.5333 48.3183 70.4971Q50.8101 67.4609 53.4478 64.5506Q56.0855 61.6403 58.8629 58.8629Q61.6403 56.0855 64.5506 53.4478Q67.4609 50.8101 70.4971 48.3183Q73.5333 45.8266 76.6881 43.4868Q79.8429 41.147 83.1087 38.9649Q86.3746 36.7827 89.7435 34.7634Q93.1125 32.7441 96.5765 30.8926Q100.041 29.0411 103.591 27.3617Q107.142 25.6824 110.771 24.1793Q114.399 22.6762 118.098 21.3529Q121.796 20.0297 125.554 18.8895Q129.313 17.7494 133.123 16.795Q136.933 15.8406 140.786 15.0744Q144.638 14.3081 148.523 13.7318Q152.408 13.1554 156.317 12.7704Q160.226 12.3855 164.149 12.1927Q168.072 12 172 12Q175.928 12 179.851 12.1927Q183.774 12.3855 187.683 12.7704Q191.592 13.1554 195.477 13.7318Q199.362 14.3081 203.214 15.0744Q207.067 15.8406 210.877 16.795Q214.687 17.7494 218.446 18.8895Q222.204 20.0297 225.902 21.3529Q229.601 22.6762 233.229 24.1793Q236.858 25.6824 240.409 27.3617Q243.959 29.0411 247.423 30.8926Q250.887 32.7441 254.256 34.7634Q257.625 36.7827 260.891 38.9649Q264.157 41.147 267.312 43.4868Q270.467 45.8266 273.503 48.3183Q276.539 50.8101 279.449 53.4478Q282.36 56.0855 285.137 58.8629Q287.914 61.6403 290.552 64.5506Q293.19 67.4609 295.682 70.4971Q298.173 73.5333 300.513 76.6881Q302.853 79.8429 305.035 83.1087Q307.217 86.3746 309.237 89.7435Q311.256 93.1125 313.107 96.5765Q314.959 100.041 316.638 103.591Q318.318 107.142 319.821 110.771Q321.324 114.399 322.647 118.098Q323.97 121.796 325.11 125.554Q326.251 129.313 327.205 133.123Q328.159 136.933 328.926 140.786Q329.692 144.638 330.268 148.523Q330.845 152.408 331.23 156.317Q331.615 160.226 331.807 164.149Q332 168.072 332 172Z"
14
13
  )!;
15
14
 
16
15
  const reversedPath = Skia.Path.MakeFromSVGString(
17
- // eslint-disable-next-line max-len
18
16
  "M 344 172 Q 344 167.778 343.793 163.56 Q 343.586 159.343 343.172 155.141 Q 342.758 150.939 342.138 146.762 Q 341.519 142.586 340.695 138.444 Q 339.871 134.303 338.845 130.207 Q 337.819 126.112 336.594 122.071 Q 335.368 118.03 333.946 114.055 Q 332.523 110.079 330.907 106.178 Q 329.291 102.277 327.486 98.4605 Q 325.681 94.6435 323.69 90.9198 Q 321.7 87.196 319.529 83.5743 Q 317.359 79.9527 315.013 76.4419 Q 312.667 72.9311 310.152 69.5397 Q 307.636 66.1483 304.958 62.8844 Q 302.279 59.6204 299.444 56.4919 Q 296.608 53.3633 293.622 50.3776 Q 290.637 47.392 287.508 44.5564 Q 284.38 41.7208 281.116 39.0422 Q 277.852 36.3636 274.46 33.8483 Q 271.069 31.333 267.558 28.9872 Q 264.047 26.6414 260.426 24.4707 Q 256.804 22.2999 253.08 20.3095 Q 249.356 18.3191 245.539 16.5138 Q 241.722 14.7085 237.822 13.0927 Q 233.921 11.4769 229.945 10.0544 Q 225.969 8.63195 221.929 7.40626 Q 217.888 6.18057 213.793 5.15462 Q 209.697 4.12867 205.556 3.30493 Q 201.414 2.48119 197.238 1.86164 Q 193.061 1.24209 188.859 0.828227 Q 184.657 0.414363 180.44 0.207182 Q 176.222 0 172 0 Q 167.778 0 163.56 0.207182 Q 159.343 0.414363 155.141 0.828227 Q 150.939 1.24209 146.762 1.86164 Q 142.586 2.48119 138.444 3.30493 Q 134.303 4.12867 130.207 5.15462 Q 126.112 6.18057 122.071 7.40626 Q 118.03 8.63195 114.055 10.0544 Q 110.079 11.4769 106.178 13.0927 Q 102.277 14.7085 98.4605 16.5138 Q 94.6435 18.3191 90.9198 20.3095 Q 87.196 22.2999 83.5743 24.4707 Q 79.9527 26.6414 76.4419 28.9872 Q 72.9311 31.333 69.5397 33.8483 Q 66.1483 36.3636 62.8844 39.0422 Q 59.6204 41.7208 56.4919 44.5564 Q 53.3633 47.392 50.3776 50.3776 Q 47.392 53.3633 44.5564 56.4919 Q 41.7208 59.6204 39.0422 62.8844 Q 36.3636 66.1483 33.8483 69.5397 Q 31.333 72.9311 28.9872 76.4419 Q 26.6414 79.9527 24.4707 83.5743 Q 22.2999 87.196 20.3095 90.9198 Q 18.3191 94.6435 16.5138 98.4605 Q 14.7085 102.277 13.0927 106.178 Q 11.4769 110.079 10.0544 114.055 Q 8.63195 118.03 7.40626 122.071 Q 6.18057 126.112 5.15462 130.207 Q 4.12867 134.303 3.30493 138.444 Q 2.48119 142.586 1.86164 146.762 Q 1.24209 150.939 0.828227 155.141 Q 0.414363 159.343 0.207182 163.56 Q 0 167.778 0 172 Q 0 176.222 0.207182 180.44 Q 0.414363 184.657 0.828227 188.859 Q 1.24209 193.061 1.86164 197.238 Q 2.48119 201.414 3.30493 205.556 Q 4.12867 209.697 5.15462 213.793 Q 6.18057 217.888 7.40626 221.929 Q 8.63195 225.969 10.0544 229.945 Q 11.4769 233.921 13.0927 237.822 Q 14.7085 241.722 16.5138 245.539 Q 18.3191 249.356 20.3095 253.08 Q 22.2999 256.804 24.4707 260.426 Q 26.6414 264.047 28.9872 267.558 Q 31.333 271.069 33.8483 274.46 Q 36.3636 277.852 39.0422 281.116 Q 41.7208 284.38 44.5564 287.508 Q 47.392 290.637 50.3776 293.622 Q 53.3633 296.608 56.4919 299.444 Q 59.6204 302.279 62.8844 304.958 Q 66.1483 307.636 69.5397 310.152 Q 72.9311 312.667 76.4419 315.013 Q 79.9527 317.359 83.5743 319.529 Q 87.196 321.7 90.9198 323.69 Q 94.6435 325.681 98.4605 327.486 Q 102.277 329.291 106.178 330.907 Q 110.079 332.523 114.055 333.946 Q 118.03 335.368 122.071 336.594 Q 126.112 337.819 130.207 338.845 Q 134.303 339.871 138.444 340.695 Q 142.586 341.519 146.762 342.138 Q 150.939 342.758 155.141 343.172 Q 159.343 343.586 163.56 343.793 Q 167.778 344 172 344 Q 176.222 344 180.44 343.793 Q 184.657 343.586 188.859 343.172 Q 193.061 342.758 197.238 342.138 Q 201.414 341.519 205.556 340.695 Q 209.697 339.871 213.793 338.845 Q 217.888 337.819 221.929 336.594 Q 225.969 335.368 229.945 333.946 Q 233.921 332.523 237.822 330.907 Q 241.722 329.291 245.539 327.486 Q 249.356 325.681 253.08 323.69 Q 256.804 321.7 260.426 319.529 Q 264.047 317.359 267.558 315.013 Q 271.069 312.667 274.46 310.152 Q 277.852 307.636 281.116 304.958 Q 284.38 302.279 287.508 299.444 Q 290.637 296.608 293.622 293.622 Q 296.608 290.637 299.444 287.508 Q 302.279 284.38 304.958 281.116 Q 307.636 277.852 310.152 274.46 Q 312.667 271.069 315.013 267.558 Q 317.359 264.047 319.529 260.426 Q 321.7 256.804 323.69 253.08 Q 325.681 249.356 327.486 245.539 Q 329.291 241.722 330.907 237.822 Q 332.523 233.921 333.946 229.945 Q 335.368 225.969 336.594 221.929 Q 337.819 217.888 338.845 213.793 Q 339.871 209.697 340.695 205.556 Q 341.519 201.414 342.138 197.238 Q 342.758 193.061 343.172 188.859 Q 343.586 184.657 343.793 180.44 Q 344 176.222 344 172 Z"
19
17
  )!;
20
18
  const font = fonts.UberMoveMediumMono;
@@ -1,4 +1,3 @@
1
- /* eslint-disable jest/no-disabled-tests */
2
1
  import type { Video } from "../../../skia/types";
3
2
  import { surface } from "../setup";
4
3
 
@@ -50,7 +50,11 @@ export class ParagraphAsset<Ctx extends EvalContext>
50
50
  }
51
51
  __typename__ = "Paragraph" as const;
52
52
 
53
+ [Symbol.dispose](): void {
54
+ this.instance[Symbol.dispose]();
55
+ }
56
+
53
57
  dispose(): void {
54
- this.instance.dispose();
58
+ this[Symbol.dispose]();
55
59
  }
56
60
  }
@@ -11,7 +11,11 @@ export class SVGAsset implements SkSVG {
11
11
  private _height: number
12
12
  ) {}
13
13
 
14
- dispose() {}
14
+ [Symbol.dispose]() {}
15
+
16
+ dispose() {
17
+ this[Symbol.dispose]();
18
+ }
15
19
 
16
20
  source() {
17
21
  return this._source;
@@ -3,7 +3,7 @@ import type { EvalContext } from "../../setup";
3
3
 
4
4
  export abstract class SkiaObject<
5
5
  Ctx extends EvalContext,
6
- R extends SkJSIInstance<string>
6
+ R extends SkJSIInstance<string>,
7
7
  > {
8
8
  protected _source: string;
9
9
  protected _instance: R;
@@ -127,7 +127,6 @@ export const testingFonts = {
127
127
  // NotoColorEmoji: [resolveFont("skia/__tests__/assets/NotoColorEmoji.ttf")],
128
128
  };
129
129
 
130
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
131
130
  export interface EmptyProps {}
132
131
 
133
132
  jest.mock("react-native", () => ({
@@ -4,13 +4,13 @@ export type AnimatedProps<T, O extends keyof T | never = never> = {
4
4
  [K in keyof T]: K extends "children"
5
5
  ? T[K]
6
6
  : K extends O
7
- ? T[K]
8
- : AnimatedProp<T[K]>;
7
+ ? T[K]
8
+ : AnimatedProp<T[K]>;
9
9
  };
10
10
 
11
11
  export type SkiaProps<
12
12
  P = object,
13
- O extends keyof P | never = never
13
+ O extends keyof P | never = never,
14
14
  > = AnimatedProps<P, O>;
15
15
 
16
16
  type WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {
@@ -19,5 +19,5 @@ type WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {
19
19
 
20
20
  export type SkiaDefaultProps<
21
21
  T extends object,
22
- N extends keyof T
22
+ N extends keyof T,
23
23
  > = WithOptional<SkiaProps<T>, N>;
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  import { interpolatePaths } from "../../animation/functions/interpolatePaths";
3
2
  import type { Skia, SkPath } from "../types";
4
3
  import { FillType, PathOp, PathVerb } from "../types";
@@ -379,8 +378,7 @@ describe("Path", () => {
379
378
  });
380
379
  it("should be possible to call dispose on a path", () => {
381
380
  const { Skia } = setupSkia();
382
- const path = Skia.Path.Make();
381
+ using path = Skia.Path.Make();
383
382
  path.moveTo(20, 20).lineTo(20, 40).lineTo(40, 20);
384
- path.dispose();
385
383
  });
386
384
  });
@@ -29,7 +29,7 @@ export const makeImageFromView = <
29
29
  | number
30
30
  | React.Component<unknown, unknown>
31
31
  | React.ComponentClass<unknown>
32
- | null
32
+ | null,
33
33
  >(
34
34
  viewRef: React.RefObject<T>,
35
35
  callback:
@@ -8,14 +8,18 @@ export const useSVG = (
8
8
  if (source === null || source === undefined) {
9
9
  throw new Error(`Invalid svg data source. Got: ${source}`);
10
10
  }
11
- if (
12
- typeof source !== "object" ||
13
- source instanceof Uint8Array ||
14
- !("uri" in source) ||
15
- typeof source.uri !== "string" ||
16
- !("default" in source) ||
17
- typeof source.default !== "string"
11
+ let src: string;
12
+ if (typeof source === "string") {
13
+ src = source;
14
+ } else if (
15
+ typeof source === "object" &&
16
+ "default" in source &&
17
+ typeof source.default === "string"
18
18
  ) {
19
+ src = source.default;
20
+ } else if (typeof source === "object" && "uri" in source) {
21
+ src = source.uri;
22
+ } else {
19
23
  throw new Error(
20
24
  `Invalid svg data source. Make sure that the source resolves to a string. Got: ${JSON.stringify(
21
25
  source,
@@ -24,7 +28,7 @@ export const useSVG = (
24
28
  )}`
25
29
  );
26
30
  }
27
- const svg = Skia.SVG.MakeFromString(source.default);
31
+ const svg = Skia.SVG.MakeFromString(src);
28
32
  if (svg === null && onError !== undefined) {
29
33
  onError(new Error("Failed to create SVG from source."));
30
34
  }
@@ -1,4 +1,4 @@
1
- export interface SkJSIInstance<T extends string> {
1
+ export interface SkJSIInstance<T extends string> extends Disposable {
2
2
  __typename__: T;
3
3
  dispose(): void;
4
4
  }
@@ -12,7 +12,7 @@ export type Matrix3 = readonly [
12
12
  number,
13
13
  number,
14
14
  number,
15
- number
15
+ number,
16
16
  ];
17
17
 
18
18
  export type Matrix4 = readonly [
@@ -31,7 +31,7 @@ export type Matrix4 = readonly [
31
31
  number,
32
32
  number,
33
33
  number,
34
- number
34
+ number,
35
35
  ];
36
36
 
37
37
  type Transform3dName =
@@ -55,8 +55,8 @@ type Transformations = {
55
55
  [Name in Transform3dName]: Name extends "matrix"
56
56
  ? Matrix4
57
57
  : Name extends "translate"
58
- ? Vec3 | Vec2
59
- : number;
58
+ ? Vec3 | Vec2
59
+ : number;
60
60
  };
61
61
 
62
62
  type Transform3d =
@@ -8,7 +8,7 @@ export type NativeBuffer<
8
8
  | ArrayBuffer
9
9
  | CanvasImageSource
10
10
  | CanvasKitWebGLBuffer
11
- | unknown = unknown
11
+ | unknown = unknown,
12
12
  > = T;
13
13
 
14
14
  export type NativeBufferAddr = NativeBuffer<bigint>;
@@ -51,7 +51,6 @@ export const processUniforms = (
51
51
  const value = uniforms[name];
52
52
  if (value === undefined) {
53
53
  throw new Error(
54
- // eslint-disable-next-line max-len
55
54
  `The runtime effect has the uniform value "${name}" declared, but it is missing from the uniforms property of the Runtime effect.`
56
55
  );
57
56
  }
@@ -5,7 +5,10 @@ import { CanvasKitWebGLBuffer } from "../types";
5
5
  export class CanvasKitWebGLBufferImpl extends CanvasKitWebGLBuffer {
6
6
  public image: Image | null = null;
7
7
 
8
- constructor(public surface: Surface, private source: TextureSource) {
8
+ constructor(
9
+ public surface: Surface,
10
+ private source: TextureSource
11
+ ) {
9
12
  super();
10
13
  }
11
14
 
@@ -30,7 +30,20 @@ export abstract class BaseHostObject<T, N extends string>
30
30
  this.__typename__ = typename;
31
31
  }
32
32
 
33
- abstract dispose(): void;
33
+ dispose() {
34
+ this[Symbol.dispose]();
35
+ }
36
+
37
+ [Symbol.dispose](): void {
38
+ if (
39
+ this.ref !== null &&
40
+ typeof this.ref === "object" &&
41
+ "delete" in this.ref &&
42
+ typeof this.ref.delete === "function"
43
+ ) {
44
+ this.ref.delete();
45
+ }
46
+ }
34
47
  }
35
48
 
36
49
  export abstract class HostObject<T, N extends string> extends BaseHostObject<
@@ -32,8 +32,4 @@ export class JsiSkAnimatedImage
32
32
  }
33
33
  return new JsiSkImage(this.CanvasKit, image);
34
34
  }
35
-
36
- dispose = () => {
37
- this.ref.delete();
38
- };
39
35
  }
@@ -58,10 +58,6 @@ export class JsiSkCanvas
58
58
  super(CanvasKit, ref, "Canvas");
59
59
  }
60
60
 
61
- dispose = () => {
62
- this.ref.delete();
63
- };
64
-
65
61
  drawRect(rect: SkRect, paint: SkPaint) {
66
62
  this.ref.drawRect(
67
63
  JsiSkRect.fromValue(this.CanvasKit, rect),
@@ -175,7 +175,7 @@ const parseCSSInt = (str: string) => {
175
175
  if (str[str.length - 1] === "%") {
176
176
  return clampCSSByte((parseFloat(str) / 100) * 255);
177
177
  }
178
- // eslint-disable-next-line radix
178
+
179
179
  return clampCSSByte(parseInt(str));
180
180
  };
181
181
 
@@ -11,8 +11,4 @@ export class JsiSkColorFilter
11
11
  constructor(CanvasKit: CanvasKit, ref: ColorFilter) {
12
12
  super(CanvasKit, ref, "ColorFilter");
13
13
  }
14
-
15
- dispose = () => {
16
- this.ref.delete();
17
- };
18
14
  }
@@ -36,8 +36,4 @@ export class JsiSkContourMeasure
36
36
  length() {
37
37
  return this.ref.length();
38
38
  }
39
-
40
- dispose = () => {
41
- this.ref.delete();
42
- };
43
39
  }
@@ -20,8 +20,4 @@ export class JsiSkContourMeasureIter
20
20
  }
21
21
  return new JsiSkContourMeasure(this.CanvasKit, result);
22
22
  }
23
-
24
- dispose = () => {
25
- this.ref.delete();
26
- };
27
23
  }
@@ -10,8 +10,4 @@ export class JsiSkData extends HostObject<Data, "Data"> implements SkData {
10
10
  constructor(CanvasKit: CanvasKit, ref: Data) {
11
11
  super(CanvasKit, ref, "Data");
12
12
  }
13
-
14
- dispose = () => {
15
- // Not implemented in data - since data is a raw ArrayBuffer
16
- };
17
13
  }
@@ -21,7 +21,7 @@ export class JsiSkDataFactory extends Host implements DataFactory {
21
21
  * @param bytes An array of bytes representing the data
22
22
  */
23
23
  fromBytes(bytes: Uint8Array) {
24
- return new JsiSkData(this.CanvasKit, bytes);
24
+ return new JsiSkData(this.CanvasKit, bytes as unknown as ArrayBuffer);
25
25
  }
26
26
  /**
27
27
  * Creates a new Data object from a base64 encoded string.
@@ -25,10 +25,6 @@ export class JsiSkFont extends HostObject<Font, "Font"> implements SkFont {
25
25
  return throwNotImplementedOnRNWeb<SkRect>();
26
26
  }
27
27
 
28
- dispose = () => {
29
- this.ref.delete();
30
- };
31
-
32
28
  getTextWidth(text: string, paint?: SkPaint | undefined) {
33
29
  const ids = this.getGlyphIDs(text);
34
30
  const widths = this.getGlyphWidths(ids, paint);
@@ -11,8 +11,9 @@ export class JsiSkFontMgr
11
11
  constructor(CanvasKit: CanvasKit, ref: FontMgr) {
12
12
  super(CanvasKit, ref, "FontMgr");
13
13
  }
14
+
14
15
  dispose() {
15
- this.ref.delete();
16
+ this[Symbol.dispose]();
16
17
  }
17
18
  countFamilies() {
18
19
  return this.ref.countFamilies();
@@ -152,10 +152,6 @@ export class JsiSkImage extends HostObject<Image, "Image"> implements SkImage {
152
152
  return this.ref.readPixels(srcX ?? 0, srcY ?? 0, pxInfo);
153
153
  }
154
154
 
155
- dispose = () => {
156
- this.ref.delete();
157
- };
158
-
159
155
  makeNonTextureImage(): SkImage {
160
156
  // if the image is already a non-texture image, this is a no-op
161
157
  const partialInfo = this.ref.getImageInfo();
@@ -11,8 +11,4 @@ export class JsiSkImageFilter
11
11
  constructor(CanvasKit: CanvasKit, ref: ImageFilter) {
12
12
  super(CanvasKit, ref, "ImageFilter");
13
13
  }
14
-
15
- dispose = () => {
16
- this.ref.delete();
17
- };
18
14
  }
@@ -11,8 +11,4 @@ export class JsiSkMaskFilter
11
11
  constructor(CanvasKit: CanvasKit, ref: MaskFilter) {
12
12
  super(CanvasKit, ref, "MaskFilter");
13
13
  }
14
-
15
- dispose = () => {
16
- this.ref.delete();
17
- };
18
14
  }
@@ -24,18 +24,14 @@ export class JsiSkMatrix
24
24
  this.ref.set(this.CanvasKit.Matrix.multiply(matrix, this.ref));
25
25
  }
26
26
 
27
- dispose = () => {
28
- // Do nothing - the matrix is represenetd by a Float32Array
29
- };
30
-
31
27
  concat(matrix: InputMatrix) {
32
28
  this.preMultiply(
33
29
  // eslint-disable-next-line no-nested-ternary
34
30
  isMatrixHostObject(matrix)
35
31
  ? JsiSkMatrix.fromValue(matrix)
36
32
  : matrix.length === 16
37
- ? toMatrix3(matrix as Matrix4)
38
- : [...matrix]
33
+ ? toMatrix3(matrix as Matrix4)
34
+ : [...matrix]
39
35
  );
40
36
  return this;
41
37
  }
@@ -26,10 +26,6 @@ export class JsiSkPaint extends HostObject<Paint, "Paint"> implements SkPaint {
26
26
  super(CanvasKit, ref, "Paint");
27
27
  }
28
28
 
29
- dispose = () => {
30
- this.ref.delete();
31
- };
32
-
33
29
  copy() {
34
30
  return new JsiSkPaint(this.CanvasKit, this.ref.copy());
35
31
  }
@@ -64,8 +64,4 @@ export class JsiSkParagraph
64
64
  getLineMetrics(): LineMetrics[] {
65
65
  return this.ref.getLineMetrics();
66
66
  }
67
-
68
- dispose() {
69
- this.ref.delete();
70
- }
71
67
  }
@@ -87,10 +87,6 @@ export class JsiSkParagraphBuilder
87
87
  return this;
88
88
  }
89
89
 
90
- dispose() {
91
- this.ref.delete();
92
- }
93
-
94
90
  private makePaint(color: InputColor) {
95
91
  const paint = new this.CanvasKit.Paint();
96
92
  paint.setColor(color);
@@ -36,10 +36,6 @@ export class JsiSkPath extends HostObject<Path, "Path"> implements SkPath {
36
36
  super(CanvasKit, ref, "Path");
37
37
  }
38
38
 
39
- dispose = () => {
40
- this.ref.delete();
41
- };
42
-
43
39
  addPath(src: SkPath, matrix?: SkMatrix, extend = false) {
44
40
  const args = [
45
41
  JsiSkPath.fromValue(src),
@@ -11,8 +11,4 @@ export class JsiSkPathEffect
11
11
  constructor(CanvasKit: CanvasKit, ref: PathEffect) {
12
12
  super(CanvasKit, ref, "PathEffect");
13
13
  }
14
-
15
- dispose = () => {
16
- this.ref.delete();
17
- };
18
14
  }
@@ -22,10 +22,6 @@ export class JsiSkPicture
22
22
  super(CanvasKit, ref, "Picture");
23
23
  }
24
24
 
25
- dispose = () => {
26
- this.ref.delete();
27
- };
28
-
29
25
  makeShader(
30
26
  tmx: TileMode,
31
27
  tmy: TileMode,
@@ -16,10 +16,6 @@ export class JsiSkPictureRecorder
16
16
  super(CanvasKit, ref, "PictureRecorder");
17
17
  }
18
18
 
19
- dispose = () => {
20
- this.ref.delete();
21
- };
22
-
23
19
  beginRecording(bounds?: SkRect) {
24
20
  return new JsiSkCanvas(
25
21
  this.CanvasKit,
@@ -19,10 +19,6 @@ export class JsiSkPoint
19
19
  super(CanvasKit, ref, "Point");
20
20
  }
21
21
 
22
- dispose = () => {
23
- // Float32Array
24
- };
25
-
26
22
  get x() {
27
23
  return this.ref[0];
28
24
  }
@@ -9,9 +9,9 @@ export class JsiSkRRect
9
9
  extends BaseHostObject<RRect, "RRect">
10
10
  implements SkRRect
11
11
  {
12
- dispose = () => {
13
- // Float32Array
14
- };
12
+ [Symbol.dispose]() {
13
+ // nothing to do here, RRect is a Float32Array
14
+ }
15
15
 
16
16
  static fromValue(CanvasKit: CanvasKit, rect: InputRRect) {
17
17
  if (rect instanceof JsiSkRect) {
@@ -20,25 +20,27 @@ export class JsiSkRSXform
20
20
  constructor(CanvasKit: CanvasKit, ref: RSXform) {
21
21
  super(CanvasKit, ref, "RSXform");
22
22
  }
23
+
23
24
  set(scos: number, ssin: number, tx: number, ty: number) {
24
25
  this.ref[0] = scos;
25
26
  this.ref[1] = ssin;
26
27
  this.ref[2] = tx;
27
28
  this.ref[3] = ty;
28
29
  }
30
+
29
31
  get scos() {
30
32
  return this.ref[0];
31
33
  }
34
+
32
35
  get ssin() {
33
36
  return this.ref[1];
34
37
  }
38
+
35
39
  get tx() {
36
40
  return this.ref[2];
37
41
  }
42
+
38
43
  get ty() {
39
44
  return this.ref[3];
40
45
  }
41
- dispose = () => {
42
- // nothing to do here, RSXform is a Float32Array
43
- };
44
46
  }
@@ -15,10 +15,6 @@ export class JsiSkRect
15
15
  return CanvasKit.XYWHRect(rect.x, rect.y, rect.width, rect.height);
16
16
  }
17
17
 
18
- dispose = () => {
19
- // Float32Array
20
- };
21
-
22
18
  constructor(CanvasKit: CanvasKit, ref: Rect) {
23
19
  super(CanvasKit, ref, "Rect");
24
20
  }
@@ -11,14 +11,14 @@ export class JsiSkRuntimeEffect
11
11
  extends HostObject<RuntimeEffect, "RuntimeEffect">
12
12
  implements SkRuntimeEffect
13
13
  {
14
- constructor(CanvasKit: CanvasKit, ref: RuntimeEffect, private sksl: string) {
14
+ constructor(
15
+ CanvasKit: CanvasKit,
16
+ ref: RuntimeEffect,
17
+ private sksl: string
18
+ ) {
15
19
  super(CanvasKit, ref, "RuntimeEffect");
16
20
  }
17
21
 
18
- dispose = () => {
19
- this.ref.delete();
20
- };
21
-
22
22
  source() {
23
23
  return this.sksl;
24
24
  }
@@ -19,9 +19,9 @@ export class JsiSkSVG
19
19
  return this.ref.height;
20
20
  }
21
21
 
22
- dispose = () => {
22
+ [Symbol.dispose]() {
23
23
  if (this.ref.parentNode) {
24
24
  this.ref.parentNode.removeChild(this.ref);
25
25
  }
26
- };
26
+ }
27
27
  }
@@ -11,8 +11,4 @@ export class JsiSkShader
11
11
  constructor(CanvasKit: CanvasKit, ref: Shader) {
12
12
  super(CanvasKit, ref, "Shader");
13
13
  }
14
-
15
- dispose = () => {
16
- this.ref.delete();
17
- };
18
14
  }
@@ -15,9 +15,9 @@ export class JsiSkSurface
15
15
  super(CanvasKit, ref, "Surface");
16
16
  }
17
17
 
18
- dispose = () => {
18
+ [Symbol.dispose]() {
19
19
  this.ref.dispose();
20
- };
20
+ }
21
21
 
22
22
  flush() {
23
23
  this.ref.flush();
@@ -11,8 +11,4 @@ export class JsiSkTextBlob
11
11
  constructor(CanvasKit: CanvasKit, ref: TextBlob) {
12
12
  super(CanvasKit, ref, "TextBlob");
13
13
  }
14
-
15
- dispose = () => {
16
- this.ref.delete();
17
- };
18
14
  }