@shopify/react-native-skia 0.1.191 → 0.1.192

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. package/cpp/api/JsiSkColorFilter.h +2 -17
  2. package/cpp/api/JsiSkContourMeasure.h +3 -17
  3. package/cpp/api/JsiSkContourMeasureIter.h +3 -18
  4. package/cpp/api/JsiSkData.h +1 -18
  5. package/cpp/api/JsiSkFont.h +4 -14
  6. package/cpp/api/JsiSkHostObjects.h +85 -10
  7. package/cpp/api/JsiSkImage.h +1 -12
  8. package/cpp/api/JsiSkImageFilter.h +1 -17
  9. package/cpp/api/JsiSkMaskFilter.h +1 -17
  10. package/cpp/api/JsiSkMatrix.h +3 -6
  11. package/cpp/api/JsiSkPaint.h +3 -15
  12. package/cpp/api/JsiSkPath.h +2 -15
  13. package/cpp/api/JsiSkPathEffect.h +2 -17
  14. package/cpp/api/JsiSkPicture.h +4 -18
  15. package/cpp/api/JsiSkPictureRecorder.h +4 -1
  16. package/cpp/api/JsiSkPoint.h +6 -1
  17. package/cpp/api/JsiSkRRect.h +6 -1
  18. package/cpp/api/JsiSkRSXform.h +4 -6
  19. package/cpp/api/JsiSkRect.h +6 -2
  20. package/cpp/api/JsiSkRuntimeEffect.h +4 -7
  21. package/cpp/api/JsiSkRuntimeShaderBuilder.h +2 -10
  22. package/cpp/api/JsiSkSVG.h +1 -10
  23. package/cpp/api/JsiSkShader.h +2 -16
  24. package/cpp/api/JsiSkSurface.h +3 -16
  25. package/cpp/api/JsiSkTextBlob.h +2 -18
  26. package/cpp/api/JsiSkTypeface.h +1 -22
  27. package/cpp/api/JsiSkVertices.h +3 -17
  28. package/cpp/rnskia/values/RNSkReadonlyValue.h +2 -2
  29. package/cpp/rnskia/values/RNSkValue.h +1 -1
  30. package/lib/commonjs/renderer/Canvas.js +17 -1
  31. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  32. package/lib/commonjs/skia/core/Data.d.ts +2 -2
  33. package/lib/commonjs/skia/core/Data.js.map +1 -1
  34. package/lib/commonjs/skia/types/Data/Data.d.ts +2 -2
  35. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  36. package/lib/commonjs/skia/types/Image/Image.d.ts +2 -2
  37. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  38. package/lib/commonjs/skia/types/JsiInstance.d.ts +4 -4
  39. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  40. package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -2
  41. package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
  42. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -2
  43. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  44. package/lib/commonjs/skia/web/Host.d.ts +1 -0
  45. package/lib/commonjs/skia/web/Host.js +2 -0
  46. package/lib/commonjs/skia/web/Host.js.map +1 -1
  47. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +1 -0
  48. package/lib/commonjs/skia/web/JsiSkCanvas.js +6 -0
  49. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  50. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +1 -0
  51. package/lib/commonjs/skia/web/JsiSkColorFilter.js +6 -0
  52. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  53. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +1 -0
  54. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +6 -0
  55. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  56. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  57. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +6 -0
  58. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  59. package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -1
  60. package/lib/commonjs/skia/web/JsiSkData.js +4 -2
  61. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  62. package/lib/commonjs/skia/web/JsiSkFont.d.ts +1 -0
  63. package/lib/commonjs/skia/web/JsiSkFont.js +6 -0
  64. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  65. package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -1
  66. package/lib/commonjs/skia/web/JsiSkImage.js +6 -4
  67. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  68. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +1 -0
  69. package/lib/commonjs/skia/web/JsiSkImageFilter.js +6 -0
  70. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  71. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +1 -0
  72. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +6 -0
  73. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  74. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +1 -0
  75. package/lib/commonjs/skia/web/JsiSkMatrix.js +5 -0
  76. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  77. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
  78. package/lib/commonjs/skia/web/JsiSkPaint.js +6 -0
  79. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  80. package/lib/commonjs/skia/web/JsiSkPath.d.ts +1 -0
  81. package/lib/commonjs/skia/web/JsiSkPath.js +6 -0
  82. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  83. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +1 -0
  84. package/lib/commonjs/skia/web/JsiSkPathEffect.js +6 -0
  85. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  86. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +1 -0
  87. package/lib/commonjs/skia/web/JsiSkPicture.js +6 -1
  88. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  89. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  90. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +6 -0
  91. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  92. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -0
  93. package/lib/commonjs/skia/web/JsiSkPoint.js +5 -0
  94. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  95. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +1 -0
  96. package/lib/commonjs/skia/web/JsiSkRRect.js +5 -0
  97. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  98. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -0
  99. package/lib/commonjs/skia/web/JsiSkRSXform.js +5 -0
  100. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  101. package/lib/commonjs/skia/web/JsiSkRect.d.ts +1 -0
  102. package/lib/commonjs/skia/web/JsiSkRect.js +5 -0
  103. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  104. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  105. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +6 -0
  106. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  107. package/lib/commonjs/skia/web/JsiSkShader.d.ts +1 -0
  108. package/lib/commonjs/skia/web/JsiSkShader.js +6 -0
  109. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  110. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -0
  111. package/lib/commonjs/skia/web/JsiSkSurface.js +6 -0
  112. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  113. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +1 -0
  114. package/lib/commonjs/skia/web/JsiSkTextBlob.js +6 -0
  115. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  116. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -1
  117. package/lib/commonjs/skia/web/JsiSkTypeface.js +6 -4
  118. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  119. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +1 -0
  120. package/lib/commonjs/skia/web/JsiSkVertices.js +6 -0
  121. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  122. package/lib/commonjs/values/hooks/useComputedValue.js +1 -1
  123. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
  124. package/lib/commonjs/values/types.d.ts +1 -1
  125. package/lib/commonjs/values/types.js.map +1 -1
  126. package/lib/commonjs/values/web/RNSkComputedValue.d.ts +1 -1
  127. package/lib/commonjs/values/web/RNSkComputedValue.js +1 -1
  128. package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -1
  129. package/lib/commonjs/values/web/RNSkReadonlyValue.d.ts +1 -1
  130. package/lib/commonjs/values/web/RNSkReadonlyValue.js +1 -1
  131. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
  132. package/lib/commonjs/views/SkiaDomView.web.js +14 -4
  133. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  134. package/lib/commonjs/views/types.d.ts +2 -1
  135. package/lib/commonjs/views/types.js.map +1 -1
  136. package/lib/module/renderer/Canvas.js +15 -1
  137. package/lib/module/renderer/Canvas.js.map +1 -1
  138. package/lib/module/skia/core/Data.d.ts +2 -2
  139. package/lib/module/skia/core/Data.js.map +1 -1
  140. package/lib/module/skia/types/Data/Data.d.ts +2 -2
  141. package/lib/module/skia/types/Data/Data.js.map +1 -1
  142. package/lib/module/skia/types/Image/Image.d.ts +2 -2
  143. package/lib/module/skia/types/Image/Image.js.map +1 -1
  144. package/lib/module/skia/types/JsiInstance.d.ts +4 -4
  145. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  146. package/lib/module/skia/types/SVG/SVG.d.ts +2 -2
  147. package/lib/module/skia/types/SVG/SVG.js.map +1 -1
  148. package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -2
  149. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  150. package/lib/module/skia/web/Host.d.ts +1 -0
  151. package/lib/module/skia/web/Host.js +2 -0
  152. package/lib/module/skia/web/Host.js.map +1 -1
  153. package/lib/module/skia/web/JsiSkCanvas.d.ts +1 -0
  154. package/lib/module/skia/web/JsiSkCanvas.js +6 -0
  155. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  156. package/lib/module/skia/web/JsiSkColorFilter.d.ts +1 -0
  157. package/lib/module/skia/web/JsiSkColorFilter.js +6 -0
  158. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  159. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +1 -0
  160. package/lib/module/skia/web/JsiSkContourMeasure.js +6 -0
  161. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  162. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  163. package/lib/module/skia/web/JsiSkContourMeasureIter.js +6 -0
  164. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  165. package/lib/module/skia/web/JsiSkData.d.ts +1 -1
  166. package/lib/module/skia/web/JsiSkData.js +4 -2
  167. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  168. package/lib/module/skia/web/JsiSkFont.d.ts +1 -0
  169. package/lib/module/skia/web/JsiSkFont.js +6 -0
  170. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  171. package/lib/module/skia/web/JsiSkImage.d.ts +1 -1
  172. package/lib/module/skia/web/JsiSkImage.js +6 -4
  173. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  174. package/lib/module/skia/web/JsiSkImageFilter.d.ts +1 -0
  175. package/lib/module/skia/web/JsiSkImageFilter.js +6 -0
  176. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  177. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +1 -0
  178. package/lib/module/skia/web/JsiSkMaskFilter.js +6 -0
  179. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  180. package/lib/module/skia/web/JsiSkMatrix.d.ts +1 -0
  181. package/lib/module/skia/web/JsiSkMatrix.js +5 -0
  182. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  183. package/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
  184. package/lib/module/skia/web/JsiSkPaint.js +6 -0
  185. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  186. package/lib/module/skia/web/JsiSkPath.d.ts +1 -0
  187. package/lib/module/skia/web/JsiSkPath.js +6 -0
  188. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  189. package/lib/module/skia/web/JsiSkPathEffect.d.ts +1 -0
  190. package/lib/module/skia/web/JsiSkPathEffect.js +6 -0
  191. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  192. package/lib/module/skia/web/JsiSkPicture.d.ts +1 -0
  193. package/lib/module/skia/web/JsiSkPicture.js +6 -0
  194. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  195. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  196. package/lib/module/skia/web/JsiSkPictureRecorder.js +6 -0
  197. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  198. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -0
  199. package/lib/module/skia/web/JsiSkPoint.js +5 -0
  200. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  201. package/lib/module/skia/web/JsiSkRRect.d.ts +1 -0
  202. package/lib/module/skia/web/JsiSkRRect.js +5 -0
  203. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  204. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -0
  205. package/lib/module/skia/web/JsiSkRSXform.js +5 -0
  206. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  207. package/lib/module/skia/web/JsiSkRect.d.ts +1 -0
  208. package/lib/module/skia/web/JsiSkRect.js +5 -0
  209. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  210. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  211. package/lib/module/skia/web/JsiSkRuntimeEffect.js +6 -0
  212. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  213. package/lib/module/skia/web/JsiSkShader.d.ts +1 -0
  214. package/lib/module/skia/web/JsiSkShader.js +6 -0
  215. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  216. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -0
  217. package/lib/module/skia/web/JsiSkSurface.js +6 -0
  218. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  219. package/lib/module/skia/web/JsiSkTextBlob.d.ts +1 -0
  220. package/lib/module/skia/web/JsiSkTextBlob.js +6 -0
  221. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  222. package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -1
  223. package/lib/module/skia/web/JsiSkTypeface.js +6 -4
  224. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  225. package/lib/module/skia/web/JsiSkVertices.d.ts +1 -0
  226. package/lib/module/skia/web/JsiSkVertices.js +6 -0
  227. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  228. package/lib/module/values/hooks/useComputedValue.js +1 -1
  229. package/lib/module/values/hooks/useComputedValue.js.map +1 -1
  230. package/lib/module/values/types.d.ts +1 -1
  231. package/lib/module/values/types.js.map +1 -1
  232. package/lib/module/values/web/RNSkComputedValue.d.ts +1 -1
  233. package/lib/module/values/web/RNSkComputedValue.js +1 -1
  234. package/lib/module/values/web/RNSkComputedValue.js.map +1 -1
  235. package/lib/module/values/web/RNSkReadonlyValue.d.ts +1 -1
  236. package/lib/module/values/web/RNSkReadonlyValue.js +1 -1
  237. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
  238. package/lib/module/views/SkiaDomView.web.js +13 -4
  239. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  240. package/lib/module/views/types.d.ts +2 -1
  241. package/lib/module/views/types.js.map +1 -1
  242. package/lib/typescript/src/skia/core/Data.d.ts +2 -2
  243. package/lib/typescript/src/skia/types/Data/Data.d.ts +2 -2
  244. package/lib/typescript/src/skia/types/Image/Image.d.ts +2 -2
  245. package/lib/typescript/src/skia/types/JsiInstance.d.ts +4 -4
  246. package/lib/typescript/src/skia/types/SVG/SVG.d.ts +2 -2
  247. package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +2 -2
  248. package/lib/typescript/src/skia/web/Host.d.ts +1 -0
  249. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +1 -0
  250. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +1 -0
  251. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +1 -0
  252. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  253. package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -1
  254. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +1 -0
  255. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -1
  256. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +1 -0
  257. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +1 -0
  258. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +1 -0
  259. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -0
  260. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +1 -0
  261. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +1 -0
  262. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +1 -0
  263. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  264. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -0
  265. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +1 -0
  266. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -0
  267. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +1 -0
  268. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  269. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +1 -0
  270. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -0
  271. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +1 -0
  272. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -1
  273. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +1 -0
  274. package/lib/typescript/src/values/types.d.ts +1 -1
  275. package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +1 -1
  276. package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +1 -1
  277. package/lib/typescript/src/views/types.d.ts +2 -1
  278. package/package.json +1 -1
  279. package/src/renderer/Canvas.tsx +21 -1
  280. package/src/skia/core/Data.ts +3 -3
  281. package/src/skia/types/Data/Data.ts +2 -2
  282. package/src/skia/types/Image/Image.ts +2 -2
  283. package/src/skia/types/JsiInstance.ts +4 -4
  284. package/src/skia/types/SVG/SVG.ts +2 -2
  285. package/src/skia/types/Typeface/Typeface.ts +2 -2
  286. package/src/skia/web/Host.ts +2 -0
  287. package/src/skia/web/JsiSkCanvas.ts +4 -0
  288. package/src/skia/web/JsiSkColorFilter.ts +4 -0
  289. package/src/skia/web/JsiSkContourMeasure.ts +4 -0
  290. package/src/skia/web/JsiSkContourMeasureIter.ts +4 -0
  291. package/src/skia/web/JsiSkData.ts +3 -3
  292. package/src/skia/web/JsiSkFont.ts +4 -0
  293. package/src/skia/web/JsiSkImage.ts +2 -2
  294. package/src/skia/web/JsiSkImageFilter.ts +4 -0
  295. package/src/skia/web/JsiSkMaskFilter.ts +4 -0
  296. package/src/skia/web/JsiSkMatrix.ts +4 -0
  297. package/src/skia/web/JsiSkPaint.ts +4 -0
  298. package/src/skia/web/JsiSkPath.ts +4 -0
  299. package/src/skia/web/JsiSkPathEffect.ts +4 -0
  300. package/src/skia/web/JsiSkPicture.ts +4 -0
  301. package/src/skia/web/JsiSkPictureRecorder.ts +4 -0
  302. package/src/skia/web/JsiSkPoint.ts +4 -0
  303. package/src/skia/web/JsiSkRRect.ts +4 -0
  304. package/src/skia/web/JsiSkRSXform.ts +4 -0
  305. package/src/skia/web/JsiSkRect.ts +4 -0
  306. package/src/skia/web/JsiSkRuntimeEffect.ts +4 -0
  307. package/src/skia/web/JsiSkShader.ts +4 -0
  308. package/src/skia/web/JsiSkSurface.ts +4 -0
  309. package/src/skia/web/JsiSkTextBlob.ts +4 -0
  310. package/src/skia/web/JsiSkTypeface.ts +2 -2
  311. package/src/skia/web/JsiSkVertices.ts +4 -0
  312. package/src/values/hooks/useComputedValue.ts +1 -1
  313. package/src/values/types.ts +1 -1
  314. package/src/values/web/RNSkComputedValue.ts +1 -1
  315. package/src/values/web/RNSkReadonlyValue.ts +1 -1
  316. package/src/views/SkiaDomView.web.tsx +6 -1
  317. package/src/views/types.ts +2 -1
@@ -21,7 +21,7 @@ var _Animations = require("../../renderer/processors/Animations");
21
21
  const useComputedValue = (cb, values) => {
22
22
  const value = (0, _react.useMemo)(() => _api.ValueApi.createComputedValue(cb, values.filter(_Animations.isValue)), // eslint-disable-next-line react-hooks/exhaustive-deps
23
23
  values);
24
- (0, _react.useEffect)(() => () => value.__invalidate(), [value]);
24
+ (0, _react.useEffect)(() => () => value.dispose(), [value]);
25
25
  return value;
26
26
  };
27
27
 
@@ -1 +1 @@
1
- {"version":3,"names":["useComputedValue","cb","values","value","useMemo","ValueApi","createComputedValue","filter","isValue","useEffect","__invalidate"],"sources":["useComputedValue.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\n\nimport { ValueApi } from \"../api\";\nimport { isValue } from \"../../renderer/processors/Animations\";\n\n/**\n * Creates a new computed value - a value that will calculate its value depending\n * on other values.\n * @param cb Callback to calculate new value\n * @param values Dependant values\n * @returns A readonly value\n */\nexport const useComputedValue = <R>(cb: () => R, values: unknown[]) => {\n const value = useMemo(\n () => ValueApi.createComputedValue<R>(cb, values.filter(isValue)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n values\n );\n useEffect(() => () => value.__invalidate(), [value]);\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,GAAG,CAAIC,EAAJ,EAAiBC,MAAjB,KAAuC;EACrE,MAAMC,KAAK,GAAG,IAAAC,cAAA,EACZ,MAAMC,aAAA,CAASC,mBAAT,CAAgCL,EAAhC,EAAoCC,MAAM,CAACK,MAAP,CAAcC,mBAAd,CAApC,CADM,EAEZ;EACAN,MAHY,CAAd;EAKA,IAAAO,gBAAA,EAAU,MAAM,MAAMN,KAAK,CAACO,YAAN,EAAtB,EAA4C,CAACP,KAAD,CAA5C;EACA,OAAOA,KAAP;AACD,CARM"}
1
+ {"version":3,"names":["useComputedValue","cb","values","value","useMemo","ValueApi","createComputedValue","filter","isValue","useEffect","dispose"],"sources":["useComputedValue.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\n\nimport { ValueApi } from \"../api\";\nimport { isValue } from \"../../renderer/processors/Animations\";\n\n/**\n * Creates a new computed value - a value that will calculate its value depending\n * on other values.\n * @param cb Callback to calculate new value\n * @param values Dependant values\n * @returns A readonly value\n */\nexport const useComputedValue = <R>(cb: () => R, values: unknown[]) => {\n const value = useMemo(\n () => ValueApi.createComputedValue<R>(cb, values.filter(isValue)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n values\n );\n useEffect(() => () => value.dispose(), [value]);\n return value;\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,GAAG,CAAIC,EAAJ,EAAiBC,MAAjB,KAAuC;EACrE,MAAMC,KAAK,GAAG,IAAAC,cAAA,EACZ,MAAMC,aAAA,CAASC,mBAAT,CAAgCL,EAAhC,EAAoCC,MAAM,CAACK,MAAP,CAAcC,mBAAd,CAApC,CADM,EAEZ;EACAN,MAHY,CAAd;EAKA,IAAAO,gBAAA,EAAU,MAAM,MAAMN,KAAK,CAACO,OAAN,EAAtB,EAAuC,CAACP,KAAD,CAAvC;EACA,OAAOA,KAAP;AACD,CARM"}
@@ -11,7 +11,7 @@ export interface SkiaValue<T = number> {
11
11
  /**
12
12
  * Invalidates the value. Has different meaning depending on the type of the value.
13
13
  */
14
- __invalidate: () => void;
14
+ dispose: () => void;
15
15
  /**
16
16
  * Field to make typechecking easier
17
17
  */
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface SkiaValue<T = number> {\n /**\n * Gets the value hold by the Value object\n */\n readonly current: T;\n /**\n * Adds a listener that is called when value changes.\n * Returns unsubscribe method.\n */\n addListener: (cb: (value: T) => void) => () => void;\n /**\n * Invalidates the value. Has different meaning depending on the type of the value.\n */\n __invalidate: () => void;\n /**\n * Field to make typechecking easier\n */\n __typename__: \"RNSkValue\";\n}\n\nexport interface SkiaMutableValue<T = number> extends SkiaValue<T> {\n /**\n * Get/sets the value hold by the Value object\n */\n current: T;\n /**\n * Get/sets the animation controlling the value\n * */\n animation: SkiaAnimation | undefined;\n}\n\nexport interface SkiaClockValue extends SkiaValue<number> {\n start: () => void;\n stop: () => void;\n}\n\nexport interface SkiaAnimation extends SkiaClockValue {\n cancel: () => void;\n}\n\nexport interface AnimationState {\n current: number;\n finished: boolean;\n}\n\nexport interface ISkiaValueApi {\n /**\n * Creates a new value that holds the initial value and that\n * can be changed.\n */\n createValue: <T>(initialValue: T) => SkiaMutableValue<T>;\n /**\n * Creates a computed value. This is a calculated value that returns the result of\n * a function that is called with the values of the dependencies.\n */\n createComputedValue: <R>(\n cb: () => R,\n values: Array<SkiaValue<unknown>>\n ) => SkiaValue<R>;\n /**\n * Creates a clock value where the value is the number of milliseconds elapsed\n * since the clock was created\n */\n createClockValue: () => SkiaClockValue;\n /**\n * Creates an animation that is driven from a clock and updated every frame.\n * @param cb Callback to calculate next value from time.\n * @returns An animation object that can control a value.\n */\n createAnimation: <S extends AnimationState = AnimationState>(\n cb: (t: number, state: S | undefined) => S\n ) => SkiaAnimation;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface SkiaValue<T = number> {\n /**\n * Gets the value hold by the Value object\n */\n readonly current: T;\n /**\n * Adds a listener that is called when value changes.\n * Returns unsubscribe method.\n */\n addListener: (cb: (value: T) => void) => () => void;\n /**\n * Invalidates the value. Has different meaning depending on the type of the value.\n */\n dispose: () => void;\n /**\n * Field to make typechecking easier\n */\n __typename__: \"RNSkValue\";\n}\n\nexport interface SkiaMutableValue<T = number> extends SkiaValue<T> {\n /**\n * Get/sets the value hold by the Value object\n */\n current: T;\n /**\n * Get/sets the animation controlling the value\n * */\n animation: SkiaAnimation | undefined;\n}\n\nexport interface SkiaClockValue extends SkiaValue<number> {\n start: () => void;\n stop: () => void;\n}\n\nexport interface SkiaAnimation extends SkiaClockValue {\n cancel: () => void;\n}\n\nexport interface AnimationState {\n current: number;\n finished: boolean;\n}\n\nexport interface ISkiaValueApi {\n /**\n * Creates a new value that holds the initial value and that\n * can be changed.\n */\n createValue: <T>(initialValue: T) => SkiaMutableValue<T>;\n /**\n * Creates a computed value. This is a calculated value that returns the result of\n * a function that is called with the values of the dependencies.\n */\n createComputedValue: <R>(\n cb: () => R,\n values: Array<SkiaValue<unknown>>\n ) => SkiaValue<R>;\n /**\n * Creates a clock value where the value is the number of milliseconds elapsed\n * since the clock was created\n */\n createClockValue: () => SkiaClockValue;\n /**\n * Creates an animation that is driven from a clock and updated every frame.\n * @param cb Callback to calculate next value from time.\n * @returns An animation object that can control a value.\n */\n createAnimation: <S extends AnimationState = AnimationState>(\n cb: (t: number, state: S | undefined) => S\n ) => SkiaAnimation;\n}\n"],"mappings":""}
@@ -6,5 +6,5 @@ export declare class RNSkComputedValue<T> extends RNSkReadonlyValue<T> {
6
6
  private _callback;
7
7
  private _unsubscribers;
8
8
  unsubscribe(): void;
9
- __invalidate(): void;
9
+ dispose(): void;
10
10
  }
@@ -47,7 +47,7 @@ class RNSkComputedValue extends _RNSkReadonlyValue.RNSkReadonlyValue {
47
47
  this._unsubscribers = [];
48
48
  }
49
49
 
50
- __invalidate() {
50
+ dispose() {
51
51
  this._unsubscribers.forEach(unsubscribe => unsubscribe());
52
52
 
53
53
  this._unsubscribers = [];
@@ -1 +1 @@
1
- {"version":3,"names":["RNSkComputedValue","RNSkReadonlyValue","constructor","callback","dependencies","unsubscribers","notifyUpdateRef","current","undefined","forEach","dep","push","addListener","_unsubscribers","dependecyUpdated","bind","_callback","update","unsubscribe","__invalidate"],"sources":["RNSkComputedValue.ts"],"sourcesContent":["import type { DependencyList } from \"react\";\n\nimport { RNSkReadonlyValue } from \"./RNSkReadonlyValue\";\n\nexport class RNSkComputedValue<T> extends RNSkReadonlyValue<T> {\n constructor(callback: () => T, dependencies: DependencyList) {\n // Initialize dependencies - we can't call this yet, since\n // super if not called and it requires a start value to be set.\n const unsubscribers: Array<() => void> = [];\n const notifyUpdateRef: { current: (() => void) | undefined } = {\n current: undefined,\n };\n dependencies.forEach((dep) => {\n if (\n dep &&\n typeof dep === \"object\" &&\n \"__typename__\" in dep &&\n \"addListener\" in dep\n ) {\n unsubscribers.push(\n (dep as RNSkReadonlyValue<unknown>).addListener(() =>\n notifyUpdateRef.current?.()\n )\n );\n }\n });\n super(callback());\n this._unsubscribers = unsubscribers;\n notifyUpdateRef.current = this.dependecyUpdated.bind(this);\n this._callback = callback;\n }\n\n private dependecyUpdated() {\n this.update(this._callback());\n }\n\n private _callback: () => T;\n private _unsubscribers: Array<() => void>;\n\n public unsubscribe() {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n this._unsubscribers = [];\n }\n\n public __invalidate(): void {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n this._unsubscribers = [];\n }\n}\n"],"mappings":";;;;;;;AAEA;;;;AAEO,MAAMA,iBAAN,SAAmCC,oCAAnC,CAAwD;EAC7DC,WAAW,CAACC,QAAD,EAAoBC,YAApB,EAAkD;IAC3D;IACA;IACA,MAAMC,aAAgC,GAAG,EAAzC;IACA,MAAMC,eAAsD,GAAG;MAC7DC,OAAO,EAAEC;IADoD,CAA/D;IAGAJ,YAAY,CAACK,OAAb,CAAsBC,GAAD,IAAS;MAC5B,IACEA,GAAG,IACH,OAAOA,GAAP,KAAe,QADf,IAEA,kBAAkBA,GAFlB,IAGA,iBAAiBA,GAJnB,EAKE;QACAL,aAAa,CAACM,IAAd,CACGD,GAAD,CAAoCE,WAApC,CAAgD;UAAA;;UAAA,gCAC9CN,eAAe,CAACC,OAD8B,0DAC9C,2BAAAD,eAAe,CAD+B;QAAA,CAAhD,CADF;MAKD;IACF,CAbD;IAcA,MAAMH,QAAQ,EAAd;;IArB2D;;IAAA;;IAsB3D,KAAKU,cAAL,GAAsBR,aAAtB;IACAC,eAAe,CAACC,OAAhB,GAA0B,KAAKO,gBAAL,CAAsBC,IAAtB,CAA2B,IAA3B,CAA1B;IACA,KAAKC,SAAL,GAAiBb,QAAjB;EACD;;EAEOW,gBAAgB,GAAG;IACzB,KAAKG,MAAL,CAAY,KAAKD,SAAL,EAAZ;EACD;;EAKME,WAAW,GAAG;IACnB,KAAKL,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;;IACA,KAAKL,cAAL,GAAsB,EAAtB;EACD;;EAEMM,YAAY,GAAS;IAC1B,KAAKN,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;;IACA,KAAKL,cAAL,GAAsB,EAAtB;EACD;;AA3C4D"}
1
+ {"version":3,"names":["RNSkComputedValue","RNSkReadonlyValue","constructor","callback","dependencies","unsubscribers","notifyUpdateRef","current","undefined","forEach","dep","push","addListener","_unsubscribers","dependecyUpdated","bind","_callback","update","unsubscribe","dispose"],"sources":["RNSkComputedValue.ts"],"sourcesContent":["import type { DependencyList } from \"react\";\n\nimport { RNSkReadonlyValue } from \"./RNSkReadonlyValue\";\n\nexport class RNSkComputedValue<T> extends RNSkReadonlyValue<T> {\n constructor(callback: () => T, dependencies: DependencyList) {\n // Initialize dependencies - we can't call this yet, since\n // super if not called and it requires a start value to be set.\n const unsubscribers: Array<() => void> = [];\n const notifyUpdateRef: { current: (() => void) | undefined } = {\n current: undefined,\n };\n dependencies.forEach((dep) => {\n if (\n dep &&\n typeof dep === \"object\" &&\n \"__typename__\" in dep &&\n \"addListener\" in dep\n ) {\n unsubscribers.push(\n (dep as RNSkReadonlyValue<unknown>).addListener(() =>\n notifyUpdateRef.current?.()\n )\n );\n }\n });\n super(callback());\n this._unsubscribers = unsubscribers;\n notifyUpdateRef.current = this.dependecyUpdated.bind(this);\n this._callback = callback;\n }\n\n private dependecyUpdated() {\n this.update(this._callback());\n }\n\n private _callback: () => T;\n private _unsubscribers: Array<() => void>;\n\n public unsubscribe() {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n this._unsubscribers = [];\n }\n\n public dispose(): void {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n this._unsubscribers = [];\n }\n}\n"],"mappings":";;;;;;;AAEA;;;;AAEO,MAAMA,iBAAN,SAAmCC,oCAAnC,CAAwD;EAC7DC,WAAW,CAACC,QAAD,EAAoBC,YAApB,EAAkD;IAC3D;IACA;IACA,MAAMC,aAAgC,GAAG,EAAzC;IACA,MAAMC,eAAsD,GAAG;MAC7DC,OAAO,EAAEC;IADoD,CAA/D;IAGAJ,YAAY,CAACK,OAAb,CAAsBC,GAAD,IAAS;MAC5B,IACEA,GAAG,IACH,OAAOA,GAAP,KAAe,QADf,IAEA,kBAAkBA,GAFlB,IAGA,iBAAiBA,GAJnB,EAKE;QACAL,aAAa,CAACM,IAAd,CACGD,GAAD,CAAoCE,WAApC,CAAgD;UAAA;;UAAA,gCAC9CN,eAAe,CAACC,OAD8B,0DAC9C,2BAAAD,eAAe,CAD+B;QAAA,CAAhD,CADF;MAKD;IACF,CAbD;IAcA,MAAMH,QAAQ,EAAd;;IArB2D;;IAAA;;IAsB3D,KAAKU,cAAL,GAAsBR,aAAtB;IACAC,eAAe,CAACC,OAAhB,GAA0B,KAAKO,gBAAL,CAAsBC,IAAtB,CAA2B,IAA3B,CAA1B;IACA,KAAKC,SAAL,GAAiBb,QAAjB;EACD;;EAEOW,gBAAgB,GAAG;IACzB,KAAKG,MAAL,CAAY,KAAKD,SAAL,EAAZ;EACD;;EAKME,WAAW,GAAG;IACnB,KAAKL,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;;IACA,KAAKL,cAAL,GAAsB,EAAtB;EACD;;EAEMM,OAAO,GAAS;IACrB,KAAKN,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;;IACA,KAAKL,cAAL,GAAsB,EAAtB;EACD;;AA3C4D"}
@@ -8,5 +8,5 @@ export declare class RNSkReadonlyValue<T> implements SkiaValue<T> {
8
8
  readonly __typename__ = "RNSkValue";
9
9
  get current(): T;
10
10
  addListener(cb: (value: T) => void): () => void;
11
- __invalidate(): void;
11
+ dispose(): void;
12
12
  }
@@ -41,7 +41,7 @@ class RNSkReadonlyValue {
41
41
  };
42
42
  }
43
43
 
44
- __invalidate() {
44
+ dispose() {
45
45
  this._listeners = [];
46
46
  }
47
47
 
@@ -1 +1 @@
1
- {"version":3,"names":["RNSkReadonlyValue","constructor","value","_current","notifyListeners","_listeners","forEach","cb","update","nextValue","current","addListener","push","splice","indexOf","__invalidate"],"sources":["RNSkReadonlyValue.ts"],"sourcesContent":["import type { SkiaValue } from \"../types\";\n\nexport class RNSkReadonlyValue<T> implements SkiaValue<T> {\n constructor(value: T) {\n this._current = value;\n }\n\n private _current: T;\n private _listeners: Array<(value: T) => void> = [];\n\n private notifyListeners(): void {\n this._listeners.forEach((cb) => cb(this._current));\n }\n\n protected update(nextValue: T): void {\n if (this._current !== nextValue) {\n this._current = nextValue;\n this.notifyListeners();\n }\n }\n\n public readonly __typename__ = \"RNSkValue\";\n\n public get current(): T {\n return this._current;\n }\n\n public addListener(cb: (value: T) => void) {\n this._listeners.push(cb);\n return () => {\n this._listeners.splice(this._listeners.indexOf(cb), 1);\n };\n }\n\n public __invalidate(): void {\n this._listeners = [];\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,iBAAN,CAAmD;EACxDC,WAAW,CAACC,KAAD,EAAW;IAAA;;IAAA,oCAK0B,EAL1B;;IAAA,sCAkBS,WAlBT;;IACpB,KAAKC,QAAL,GAAgBD,KAAhB;EACD;;EAKOE,eAAe,GAAS;IAC9B,KAAKC,UAAL,CAAgBC,OAAhB,CAAyBC,EAAD,IAAQA,EAAE,CAAC,KAAKJ,QAAN,CAAlC;EACD;;EAESK,MAAM,CAACC,SAAD,EAAqB;IACnC,IAAI,KAAKN,QAAL,KAAkBM,SAAtB,EAAiC;MAC/B,KAAKN,QAAL,GAAgBM,SAAhB;MACA,KAAKL,eAAL;IACD;EACF;;EAIiB,IAAPM,OAAO,GAAM;IACtB,OAAO,KAAKP,QAAZ;EACD;;EAEMQ,WAAW,CAACJ,EAAD,EAAyB;IACzC,KAAKF,UAAL,CAAgBO,IAAhB,CAAqBL,EAArB;;IACA,OAAO,MAAM;MACX,KAAKF,UAAL,CAAgBQ,MAAhB,CAAuB,KAAKR,UAAL,CAAgBS,OAAhB,CAAwBP,EAAxB,CAAvB,EAAoD,CAApD;IACD,CAFD;EAGD;;EAEMQ,YAAY,GAAS;IAC1B,KAAKV,UAAL,GAAkB,EAAlB;EACD;;AAlCuD"}
1
+ {"version":3,"names":["RNSkReadonlyValue","constructor","value","_current","notifyListeners","_listeners","forEach","cb","update","nextValue","current","addListener","push","splice","indexOf","dispose"],"sources":["RNSkReadonlyValue.ts"],"sourcesContent":["import type { SkiaValue } from \"../types\";\n\nexport class RNSkReadonlyValue<T> implements SkiaValue<T> {\n constructor(value: T) {\n this._current = value;\n }\n\n private _current: T;\n private _listeners: Array<(value: T) => void> = [];\n\n private notifyListeners(): void {\n this._listeners.forEach((cb) => cb(this._current));\n }\n\n protected update(nextValue: T): void {\n if (this._current !== nextValue) {\n this._current = nextValue;\n this.notifyListeners();\n }\n }\n\n public readonly __typename__ = \"RNSkValue\";\n\n public get current(): T {\n return this._current;\n }\n\n public addListener(cb: (value: T) => void) {\n this._listeners.push(cb);\n return () => {\n this._listeners.splice(this._listeners.indexOf(cb), 1);\n };\n }\n\n public dispose(): void {\n this._listeners = [];\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,iBAAN,CAAmD;EACxDC,WAAW,CAACC,KAAD,EAAW;IAAA;;IAAA,oCAK0B,EAL1B;;IAAA,sCAkBS,WAlBT;;IACpB,KAAKC,QAAL,GAAgBD,KAAhB;EACD;;EAKOE,eAAe,GAAS;IAC9B,KAAKC,UAAL,CAAgBC,OAAhB,CAAyBC,EAAD,IAAQA,EAAE,CAAC,KAAKJ,QAAN,CAAlC;EACD;;EAESK,MAAM,CAACC,SAAD,EAAqB;IACnC,IAAI,KAAKN,QAAL,KAAkBM,SAAtB,EAAiC;MAC/B,KAAKN,QAAL,GAAgBM,SAAhB;MACA,KAAKL,eAAL;IACD;EACF;;EAIiB,IAAPM,OAAO,GAAM;IACtB,OAAO,KAAKP,QAAZ;EACD;;EAEMQ,WAAW,CAACJ,EAAD,EAAyB;IACzC,KAAKF,UAAL,CAAgBO,IAAhB,CAAqBL,EAArB;;IACA,OAAO,MAAM;MACX,KAAKF,UAAL,CAAgBQ,MAAhB,CAAuB,KAAKR,UAAL,CAAgBS,OAAhB,CAAwBP,EAAxB,CAAvB,EAAoD,CAApD;IACD,CAFD;EAGD;;EAEMQ,OAAO,GAAS;IACrB,KAAKV,UAAL,GAAkB,EAAlB;EACD;;AAlCuD"}
@@ -9,6 +9,8 @@ var _skia = require("../skia");
9
9
 
10
10
  var _DrawingContext = require("../dom/types/DrawingContext");
11
11
 
12
+ var _Animations = require("../renderer/processors/Animations/Animations");
13
+
12
14
  var _SkiaBaseWebView = require("./SkiaBaseWebView");
13
15
 
14
16
  class SkiaDomView extends _SkiaBaseWebView.SkiaBaseWebView {
@@ -26,10 +28,18 @@ class SkiaDomView extends _SkiaBaseWebView.SkiaBaseWebView {
26
28
  width,
27
29
  height
28
30
  } = this.getSize();
29
- this.props.onSize.current = {
30
- width,
31
- height
32
- };
31
+
32
+ if ((0, _Animations.isValue)(this.props.onSize)) {
33
+ this.props.onSize.current = {
34
+ width,
35
+ height
36
+ };
37
+ } else {
38
+ this.props.onSize.value = {
39
+ width,
40
+ height
41
+ };
42
+ }
33
43
  }
34
44
 
35
45
  if (this.props.root) {
@@ -1 +1 @@
1
- {"version":3,"names":["SkiaDomView","SkiaBaseWebView","constructor","props","renderInCanvas","canvas","touches","onTouch","onSize","width","height","getSize","current","root","ctx","JsiDrawingContext","Skia","render"],"sources":["SkiaDomView.web.tsx"],"sourcesContent":["import { Skia } from \"../skia\";\nimport type { SkCanvas } from \"../skia/types\";\nimport { JsiDrawingContext } from \"../dom/types/DrawingContext\";\n\nimport { SkiaBaseWebView } from \"./SkiaBaseWebView\";\nimport type { SkiaDomViewProps, TouchInfo } from \"./types\";\n\nexport class SkiaDomView extends SkiaBaseWebView<SkiaDomViewProps> {\n constructor(props: SkiaDomViewProps) {\n super(props);\n }\n\n protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void {\n if (this.props.onTouch) {\n this.props.onTouch([touches]);\n }\n if (this.props.onSize) {\n const { width, height } = this.getSize();\n this.props.onSize.current = { width, height };\n }\n if (this.props.root) {\n const ctx = new JsiDrawingContext(Skia, canvas);\n this.props.root.render(ctx);\n }\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AAGO,MAAMA,WAAN,SAA0BC,gCAA1B,CAA4D;EACjEC,WAAW,CAACC,KAAD,EAA0B;IACnC,MAAMA,KAAN;EACD;;EAESC,cAAc,CAACC,MAAD,EAAmBC,OAAnB,EAA+C;IACrE,IAAI,KAAKH,KAAL,CAAWI,OAAf,EAAwB;MACtB,KAAKJ,KAAL,CAAWI,OAAX,CAAmB,CAACD,OAAD,CAAnB;IACD;;IACD,IAAI,KAAKH,KAAL,CAAWK,MAAf,EAAuB;MACrB,MAAM;QAAEC,KAAF;QAASC;MAAT,IAAoB,KAAKC,OAAL,EAA1B;MACA,KAAKR,KAAL,CAAWK,MAAX,CAAkBI,OAAlB,GAA4B;QAAEH,KAAF;QAASC;MAAT,CAA5B;IACD;;IACD,IAAI,KAAKP,KAAL,CAAWU,IAAf,EAAqB;MACnB,MAAMC,GAAG,GAAG,IAAIC,iCAAJ,CAAsBC,UAAtB,EAA4BX,MAA5B,CAAZ;MACA,KAAKF,KAAL,CAAWU,IAAX,CAAgBI,MAAhB,CAAuBH,GAAvB;IACD;EACF;;AAjBgE"}
1
+ {"version":3,"names":["SkiaDomView","SkiaBaseWebView","constructor","props","renderInCanvas","canvas","touches","onTouch","onSize","width","height","getSize","isValue","current","value","root","ctx","JsiDrawingContext","Skia","render"],"sources":["SkiaDomView.web.tsx"],"sourcesContent":["import { Skia } from \"../skia\";\nimport type { SkCanvas } from \"../skia/types\";\nimport { JsiDrawingContext } from \"../dom/types/DrawingContext\";\nimport { isValue } from \"../renderer/processors/Animations/Animations\";\n\nimport { SkiaBaseWebView } from \"./SkiaBaseWebView\";\nimport type { SkiaDomViewProps, TouchInfo } from \"./types\";\n\nexport class SkiaDomView extends SkiaBaseWebView<SkiaDomViewProps> {\n constructor(props: SkiaDomViewProps) {\n super(props);\n }\n\n protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void {\n if (this.props.onTouch) {\n this.props.onTouch([touches]);\n }\n if (this.props.onSize) {\n const { width, height } = this.getSize();\n if (isValue(this.props.onSize)) {\n this.props.onSize.current = { width, height };\n } else {\n this.props.onSize.value = { width, height };\n }\n }\n if (this.props.root) {\n const ctx = new JsiDrawingContext(Skia, canvas);\n this.props.root.render(ctx);\n }\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AAGO,MAAMA,WAAN,SAA0BC,gCAA1B,CAA4D;EACjEC,WAAW,CAACC,KAAD,EAA0B;IACnC,MAAMA,KAAN;EACD;;EAESC,cAAc,CAACC,MAAD,EAAmBC,OAAnB,EAA+C;IACrE,IAAI,KAAKH,KAAL,CAAWI,OAAf,EAAwB;MACtB,KAAKJ,KAAL,CAAWI,OAAX,CAAmB,CAACD,OAAD,CAAnB;IACD;;IACD,IAAI,KAAKH,KAAL,CAAWK,MAAf,EAAuB;MACrB,MAAM;QAAEC,KAAF;QAASC;MAAT,IAAoB,KAAKC,OAAL,EAA1B;;MACA,IAAI,IAAAC,mBAAA,EAAQ,KAAKT,KAAL,CAAWK,MAAnB,CAAJ,EAAgC;QAC9B,KAAKL,KAAL,CAAWK,MAAX,CAAkBK,OAAlB,GAA4B;UAAEJ,KAAF;UAASC;QAAT,CAA5B;MACD,CAFD,MAEO;QACL,KAAKP,KAAL,CAAWK,MAAX,CAAkBM,KAAlB,GAA0B;UAAEL,KAAF;UAASC;QAAT,CAA1B;MACD;IACF;;IACD,IAAI,KAAKP,KAAL,CAAWY,IAAf,EAAqB;MACnB,MAAMC,GAAG,GAAG,IAAIC,iCAAJ,CAAsBC,UAAtB,EAA4Bb,MAA5B,CAAZ;MACA,KAAKF,KAAL,CAAWY,IAAX,CAAgBI,MAAhB,CAAuBH,GAAvB;IACD;EACF;;AArBgE"}
@@ -2,6 +2,7 @@ import type { ViewProps } from "react-native";
2
2
  import type { GroupProps, RenderNode } from "../dom/types";
3
3
  import type { SkCanvas, SkImage, SkPicture, SkRect, SkSize } from "../skia/types";
4
4
  import type { SkiaMutableValue, SkiaValue } from "../values";
5
+ import type { SharedValueType } from "../renderer/processors/Animations/Animations";
5
6
  export declare type DrawMode = "continuous" | "default";
6
7
  export declare type NativeSkiaViewProps = ViewProps & {
7
8
  mode?: DrawMode;
@@ -70,7 +71,7 @@ export interface SkiaBaseViewProps extends ViewProps {
70
71
  * Pass an animated value to the onSize property to get updates when
71
72
  * the Skia view is resized.
72
73
  */
73
- onSize?: SkiaMutableValue<SkSize>;
74
+ onSize?: SkiaMutableValue<SkSize> | SharedValueType<SkSize>;
74
75
  }
75
76
  export interface SkiaDrawViewProps extends SkiaBaseViewProps {
76
77
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["TouchType"],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { GroupProps, RenderNode } from \"../dom/types\";\nimport type {\n SkCanvas,\n SkImage,\n SkPicture,\n SkRect,\n SkSize,\n} from \"../skia/types\";\nimport type { SkiaMutableValue, SkiaValue } from \"../values\";\n\nexport type DrawMode = \"continuous\" | \"default\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n mode?: DrawMode;\n debug?: boolean;\n};\n\nexport enum TouchType {\n Start,\n Active,\n End,\n Cancelled,\n}\n\nexport interface TouchInfo {\n x: number;\n y: number;\n force: number;\n type: TouchType;\n id: number;\n timestamp: number;\n}\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n touches: Array<Array<TouchInfo>>;\n}\n\nexport type ExtendedTouchInfo = TouchInfo & {\n // points per second\n velocityX: number;\n velocityY: number;\n};\n\nexport type TouchHandlers = {\n onStart?: (touchInfo: TouchInfo) => void;\n onActive?: (touchInfo: ExtendedTouchInfo) => void;\n onEnd?: (touchInfo: ExtendedTouchInfo) => void;\n};\n\nexport type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;\n\nexport type RNSkiaDrawCallback = (canvas: SkCanvas, info: DrawingInfo) => void;\n\n/**\n * Listener interface for value changes\n */\nexport interface ValueListener {\n addListener: (callback: () => void) => number;\n removeListener: (id: number) => void;\n}\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n callJsiMethod: <T extends Array<unknown>>(\n nativeId: number,\n name: string,\n ...args: T\n ) => void;\n registerValuesInView: (\n nativeId: number,\n values: SkiaValue<unknown>[]\n ) => () => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * Sets the drawing mode for the skia view. There are two drawing\n * modes, \"continuous\" and \"default\", where the continuous mode will\n * continuously redraw the view, and the default mode will only\n * redraw when any of the regular react properties are changed like\n * sizes and margins.\n */\n mode?: DrawMode;\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Pass an animated value to the onSize property to get updates when\n * the Skia view is resized.\n */\n onSize?: SkiaMutableValue<SkSize>;\n}\n\nexport interface SkiaDrawViewProps extends SkiaBaseViewProps {\n /**\n * Draw callback. Will be called whenever the view is invalidated and\n * needs to redraw. This is either caused by a change in a react\n * property, a touch event, or a call to redraw. If the view is in\n * continuous mode the callback will be called 60 frames per second\n * by the native view.\n */\n onDraw?: RNSkiaDrawCallback;\n}\n\nexport interface SkiaPictureViewProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n}\n\nexport interface SkiaDomViewProps extends SkiaBaseViewProps {\n root?: RenderNode<GroupProps>;\n onTouch?: TouchHandler;\n}\n"],"mappings":";;;;;;IAmBYA,S;;;WAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,yBAAAA,S"}
1
+ {"version":3,"names":["TouchType"],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { GroupProps, RenderNode } from \"../dom/types\";\nimport type {\n SkCanvas,\n SkImage,\n SkPicture,\n SkRect,\n SkSize,\n} from \"../skia/types\";\nimport type { SkiaMutableValue, SkiaValue } from \"../values\";\nimport type { SharedValueType } from \"../renderer/processors/Animations/Animations\";\n\nexport type DrawMode = \"continuous\" | \"default\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n mode?: DrawMode;\n debug?: boolean;\n};\n\nexport enum TouchType {\n Start,\n Active,\n End,\n Cancelled,\n}\n\nexport interface TouchInfo {\n x: number;\n y: number;\n force: number;\n type: TouchType;\n id: number;\n timestamp: number;\n}\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n touches: Array<Array<TouchInfo>>;\n}\n\nexport type ExtendedTouchInfo = TouchInfo & {\n // points per second\n velocityX: number;\n velocityY: number;\n};\n\nexport type TouchHandlers = {\n onStart?: (touchInfo: TouchInfo) => void;\n onActive?: (touchInfo: ExtendedTouchInfo) => void;\n onEnd?: (touchInfo: ExtendedTouchInfo) => void;\n};\n\nexport type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;\n\nexport type RNSkiaDrawCallback = (canvas: SkCanvas, info: DrawingInfo) => void;\n\n/**\n * Listener interface for value changes\n */\nexport interface ValueListener {\n addListener: (callback: () => void) => number;\n removeListener: (id: number) => void;\n}\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n callJsiMethod: <T extends Array<unknown>>(\n nativeId: number,\n name: string,\n ...args: T\n ) => void;\n registerValuesInView: (\n nativeId: number,\n values: SkiaValue<unknown>[]\n ) => () => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * Sets the drawing mode for the skia view. There are two drawing\n * modes, \"continuous\" and \"default\", where the continuous mode will\n * continuously redraw the view, and the default mode will only\n * redraw when any of the regular react properties are changed like\n * sizes and margins.\n */\n mode?: DrawMode;\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Pass an animated value to the onSize property to get updates when\n * the Skia view is resized.\n */\n onSize?: SkiaMutableValue<SkSize> | SharedValueType<SkSize>;\n}\n\nexport interface SkiaDrawViewProps extends SkiaBaseViewProps {\n /**\n * Draw callback. Will be called whenever the view is invalidated and\n * needs to redraw. This is either caused by a change in a react\n * property, a touch event, or a call to redraw. If the view is in\n * continuous mode the callback will be called 60 frames per second\n * by the native view.\n */\n onDraw?: RNSkiaDrawCallback;\n}\n\nexport interface SkiaPictureViewProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n}\n\nexport interface SkiaDomViewProps extends SkiaBaseViewProps {\n root?: RenderNode<GroupProps>;\n onTouch?: TouchHandler;\n}\n"],"mappings":";;;;;;IAoBYA,S;;;WAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,yBAAAA,S"}
@@ -4,8 +4,10 @@ import React, { useEffect, useCallback, useMemo, forwardRef, useRef } from "reac
4
4
  import { SkiaDomView, SkiaView } from "../views";
5
5
  import { Skia } from "../skia/Skia";
6
6
  import { JsiDrawingContext } from "../dom/types";
7
+ import { useValue } from "../values";
7
8
  import { SkiaRoot } from "./Reconciler";
8
9
  import { NATIVE_DOM } from "./HostComponents";
10
+ import { isValue } from "./processors";
9
11
  export const useCanvasRef = () => useRef(null);
10
12
  export const Canvas = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
11
13
  let {
@@ -14,9 +16,21 @@ export const Canvas = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
14
16
  debug,
15
17
  mode,
16
18
  onTouch,
17
- onSize,
19
+ onSize: onSizeReanimatedOrSkia,
18
20
  ...props
19
21
  } = _ref;
22
+ const size = useValue({
23
+ width: 0,
24
+ height: 0
25
+ });
26
+ const onSize = isValue(onSizeReanimatedOrSkia) ? onSizeReanimatedOrSkia : size;
27
+ useEffect(() => {
28
+ if (!isValue(onSizeReanimatedOrSkia) && onSizeReanimatedOrSkia) {
29
+ return size.addListener(v => onSizeReanimatedOrSkia.value = v);
30
+ }
31
+
32
+ return undefined;
33
+ }, [onSizeReanimatedOrSkia, size]);
20
34
  const innerRef = useCanvasRef();
21
35
  const ref = useCombinedRefs(forwardedRef, innerRef);
22
36
  const redraw = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useCallback","useMemo","forwardRef","useRef","SkiaDomView","SkiaView","Skia","JsiDrawingContext","SkiaRoot","NATIVE_DOM","useCanvasRef","Canvas","forwardedRef","children","style","debug","mode","onTouch","onSize","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","registerValues","values","root","render","unmount","dom","canvas","info","touches","ctx","refs","targetRef","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n} from \"react\";\n\nimport { SkiaDomView, SkiaView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\nimport type { SkiaValue } from \"../values/types\";\nimport { JsiDrawingContext } from \"../dom/types\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n { children, style, debug, mode, onTouch, onSize, ...props },\n forwardedRef\n ) => {\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const registerValues = useCallback(\n (values: Array<SkiaValue<unknown>>) => {\n if (ref.current !== null) {\n return ref.current.registerValues(values);\n }\n return () => {};\n },\n [ref]\n );\n const root = useMemo(\n () => new SkiaRoot(Skia, registerValues, redraw, getNativeId),\n [redraw, registerValues, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onSize={onSize}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n } else {\n return (\n <SkiaView\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n mode={mode}\n debug={debug}\n onSize={onSize}\n onDraw={(canvas, info) => {\n onTouch && onTouch(info.touches);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n }}\n {...props}\n />\n );\n }\n }\n) as React.FC<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useCallback","useMemo","forwardRef","useRef","SkiaDomView","SkiaView","Skia","JsiDrawingContext","useValue","SkiaRoot","NATIVE_DOM","isValue","useCanvasRef","Canvas","forwardedRef","children","style","debug","mode","onTouch","onSize","onSizeReanimatedOrSkia","props","size","width","height","addListener","v","value","undefined","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","registerValues","values","root","render","unmount","dom","canvas","info","touches","ctx","refs","targetRef","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n} from \"react\";\n\nimport { SkiaDomView, SkiaView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\nimport type { SkiaValue } from \"../values/types\";\nimport { JsiDrawingContext } from \"../dom/types\";\nimport { useValue } from \"../values\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\nimport { isValue } from \"./processors\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n {\n children,\n style,\n debug,\n mode,\n onTouch,\n onSize: onSizeReanimatedOrSkia,\n ...props\n },\n forwardedRef\n ) => {\n const size = useValue({ width: 0, height: 0 });\n const onSize = isValue(onSizeReanimatedOrSkia)\n ? onSizeReanimatedOrSkia\n : size;\n useEffect(() => {\n if (!isValue(onSizeReanimatedOrSkia) && onSizeReanimatedOrSkia) {\n return size.addListener((v) => (onSizeReanimatedOrSkia.value = v));\n }\n return undefined;\n }, [onSizeReanimatedOrSkia, size]);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const registerValues = useCallback(\n (values: Array<SkiaValue<unknown>>) => {\n if (ref.current !== null) {\n return ref.current.registerValues(values);\n }\n return () => {};\n },\n [ref]\n );\n const root = useMemo(\n () => new SkiaRoot(Skia, registerValues, redraw, getNativeId),\n [redraw, registerValues, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onSize={onSize}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n } else {\n return (\n <SkiaView\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n mode={mode}\n debug={debug}\n onSize={onSize}\n onDraw={(canvas, info) => {\n onTouch && onTouch(info.touches);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n }}\n {...props}\n />\n );\n }\n }\n) as React.FC<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { SkData, DataSourceParam, JsiDisposable } from "../types";
2
- export declare const useRawData: <T extends JsiDisposable>(source: DataSourceParam, factory: (data: SkData) => T | null, onError?: ((err: Error) => void) | undefined) => T | null;
1
+ import type { SkData, DataSourceParam, BaseSkJSIInstance } from "../types";
2
+ export declare const useRawData: <T extends BaseSkJSIInstance>(source: DataSourceParam, factory: (data: SkData) => T | null, onError?: ((err: Error) => void) | undefined) => T | null;
3
3
  export declare const useData: (source: DataSourceParam, onError?: ((err: Error) => void) | undefined) => SkData | null;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useState","Skia","Platform","factoryWrapper","data2","factory","onError","factoryResult","Error","loadData","source","undefined","Promise","resolve","Uint8Array","Data","fromBytes","uri","resolveAsset","fromURI","then","d","useLoading","loader","mounted","data","setData","dataRef","current","value","dispose","useRawData","identity","useData"],"sources":["Data.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { Skia } from \"../Skia\";\nimport type { SkData, DataSourceParam, JsiDisposable } from \"../types\";\nimport { Platform } from \"../../Platform\";\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T | null,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null || source === undefined) {\n return new Promise((resolve) => resolve(null));\n } else if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri =\n typeof source === \"string\" ? source : Platform.resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\nconst useLoading = <T extends JsiDisposable>(\n source: DataSourceParam,\n loader: () => Promise<T | null>\n) => {\n const mounted = useRef(false);\n const [data, setData] = useState<T | null>(null);\n const dataRef = useRef<T | null>(null);\n useEffect(() => {\n mounted.current = true;\n loader().then((value) => {\n if (mounted.current) {\n setData(value);\n dataRef.current = value;\n }\n });\n return () => {\n dataRef.current?.dispose();\n mounted.current = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source]);\n return data;\n};\n\nexport const useRawData = <T extends JsiDisposable>(\n source: DataSourceParam,\n factory: (data: SkData) => T | null,\n onError?: (err: Error) => void\n) => useLoading(source, () => loadData<T>(source, factory, onError));\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, identity, onError);\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,EAA4BC,QAA5B,QAA4C,OAA5C;AAEA,SAASC,IAAT,QAAqB,SAArB;AAEA,SAASC,QAAT,QAAyB,gBAAzB;;AAEA,MAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,OAFqB,EAGrBC,OAHqB,KAIlB;EACH,MAAMC,aAAa,GAAGF,OAAO,CAACD,KAAD,CAA7B;;EACA,IAAIG,aAAa,KAAK,IAAtB,EAA4B;IAC1BD,OAAO,IAAIA,OAAO,CAAC,IAAIE,KAAJ,CAAU,qBAAV,CAAD,CAAlB;IACA,OAAO,IAAP;EACD,CAHD,MAGO;IACL,OAAOD,aAAP;EACD;AACF,CAZD;;AAcA,MAAME,QAAQ,GAAG,CACfC,MADe,EAEfL,OAFe,EAGfC,OAHe,KAIO;EACtB,IAAII,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAKC,SAAlC,EAA6C;IAC3C,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAaA,OAAO,CAAC,IAAD,CAAhC,CAAP;EACD,CAFD,MAEO,IAAIH,MAAM,YAAYI,UAAtB,EAAkC;IACvC,OAAO,IAAIF,OAAJ,CAAaC,OAAD,IACjBA,OAAO,CAACV,cAAc,CAACF,IAAI,CAACc,IAAL,CAAUC,SAAV,CAAoBN,MAApB,CAAD,EAA8BL,OAA9B,EAAuCC,OAAvC,CAAf,CADF,CAAP;EAGD,CAJM,MAIA;IACL,MAAMW,GAAG,GACP,OAAOP,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCR,QAAQ,CAACgB,YAAT,CAAsBR,MAAtB,CADxC;IAEA,OAAOT,IAAI,CAACc,IAAL,CAAUI,OAAV,CAAkBF,GAAlB,EAAuBG,IAAvB,CAA6BC,CAAD,IACjClB,cAAc,CAACkB,CAAD,EAAIhB,OAAJ,EAAaC,OAAb,CADT,CAAP;EAGD;AACF,CAlBD;;AAmBA,MAAMgB,UAAU,GAAG,CACjBZ,MADiB,EAEjBa,MAFiB,KAGd;EACH,MAAMC,OAAO,GAAGzB,MAAM,CAAC,KAAD,CAAtB;EACA,MAAM,CAAC0B,IAAD,EAAOC,OAAP,IAAkB1B,QAAQ,CAAW,IAAX,CAAhC;EACA,MAAM2B,OAAO,GAAG5B,MAAM,CAAW,IAAX,CAAtB;EACAD,SAAS,CAAC,MAAM;IACd0B,OAAO,CAACI,OAAR,GAAkB,IAAlB;IACAL,MAAM,GAAGH,IAAT,CAAeS,KAAD,IAAW;MACvB,IAAIL,OAAO,CAACI,OAAZ,EAAqB;QACnBF,OAAO,CAACG,KAAD,CAAP;QACAF,OAAO,CAACC,OAAR,GAAkBC,KAAlB;MACD;IACF,CALD;IAMA,OAAO,MAAM;MAAA;;MACX,oBAAAF,OAAO,CAACC,OAAR,sEAAiBE,OAAjB;MACAN,OAAO,CAACI,OAAR,GAAkB,KAAlB;IACD,CAHD,CARc,CAYd;EACD,CAbQ,EAaN,CAAClB,MAAD,CAbM,CAAT;EAcA,OAAOe,IAAP;AACD,CAtBD;;AAwBA,OAAO,MAAMM,UAAU,GAAG,CACxBrB,MADwB,EAExBL,OAFwB,EAGxBC,OAHwB,KAIrBgB,UAAU,CAACZ,MAAD,EAAS,MAAMD,QAAQ,CAAIC,MAAJ,EAAYL,OAAZ,EAAqBC,OAArB,CAAvB,CAJR;;AAMP,MAAM0B,QAAQ,GAAIP,IAAD,IAAkBA,IAAnC;;AAEA,OAAO,MAAMQ,OAAO,GAAG,CACrBvB,MADqB,EAErBJ,OAFqB,KAGlByB,UAAU,CAACrB,MAAD,EAASsB,QAAT,EAAmB1B,OAAnB,CAHR"}
1
+ {"version":3,"names":["useEffect","useRef","useState","Skia","Platform","factoryWrapper","data2","factory","onError","factoryResult","Error","loadData","source","undefined","Promise","resolve","Uint8Array","Data","fromBytes","uri","resolveAsset","fromURI","then","d","useLoading","loader","mounted","data","setData","dataRef","current","value","dispose","useRawData","identity","useData"],"sources":["Data.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { Skia } from \"../Skia\";\nimport type { SkData, DataSourceParam, BaseSkJSIInstance } from \"../types\";\nimport { Platform } from \"../../Platform\";\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T | null,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null || source === undefined) {\n return new Promise((resolve) => resolve(null));\n } else if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri =\n typeof source === \"string\" ? source : Platform.resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\nconst useLoading = <T extends BaseSkJSIInstance>(\n source: DataSourceParam,\n loader: () => Promise<T | null>\n) => {\n const mounted = useRef(false);\n const [data, setData] = useState<T | null>(null);\n const dataRef = useRef<T | null>(null);\n useEffect(() => {\n mounted.current = true;\n loader().then((value) => {\n if (mounted.current) {\n setData(value);\n dataRef.current = value;\n }\n });\n return () => {\n dataRef.current?.dispose();\n mounted.current = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source]);\n return data;\n};\n\nexport const useRawData = <T extends BaseSkJSIInstance>(\n source: DataSourceParam,\n factory: (data: SkData) => T | null,\n onError?: (err: Error) => void\n) => useLoading(source, () => loadData<T>(source, factory, onError));\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, identity, onError);\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,EAA4BC,QAA5B,QAA4C,OAA5C;AAEA,SAASC,IAAT,QAAqB,SAArB;AAEA,SAASC,QAAT,QAAyB,gBAAzB;;AAEA,MAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,OAFqB,EAGrBC,OAHqB,KAIlB;EACH,MAAMC,aAAa,GAAGF,OAAO,CAACD,KAAD,CAA7B;;EACA,IAAIG,aAAa,KAAK,IAAtB,EAA4B;IAC1BD,OAAO,IAAIA,OAAO,CAAC,IAAIE,KAAJ,CAAU,qBAAV,CAAD,CAAlB;IACA,OAAO,IAAP;EACD,CAHD,MAGO;IACL,OAAOD,aAAP;EACD;AACF,CAZD;;AAcA,MAAME,QAAQ,GAAG,CACfC,MADe,EAEfL,OAFe,EAGfC,OAHe,KAIO;EACtB,IAAII,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAKC,SAAlC,EAA6C;IAC3C,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAaA,OAAO,CAAC,IAAD,CAAhC,CAAP;EACD,CAFD,MAEO,IAAIH,MAAM,YAAYI,UAAtB,EAAkC;IACvC,OAAO,IAAIF,OAAJ,CAAaC,OAAD,IACjBA,OAAO,CAACV,cAAc,CAACF,IAAI,CAACc,IAAL,CAAUC,SAAV,CAAoBN,MAApB,CAAD,EAA8BL,OAA9B,EAAuCC,OAAvC,CAAf,CADF,CAAP;EAGD,CAJM,MAIA;IACL,MAAMW,GAAG,GACP,OAAOP,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCR,QAAQ,CAACgB,YAAT,CAAsBR,MAAtB,CADxC;IAEA,OAAOT,IAAI,CAACc,IAAL,CAAUI,OAAV,CAAkBF,GAAlB,EAAuBG,IAAvB,CAA6BC,CAAD,IACjClB,cAAc,CAACkB,CAAD,EAAIhB,OAAJ,EAAaC,OAAb,CADT,CAAP;EAGD;AACF,CAlBD;;AAmBA,MAAMgB,UAAU,GAAG,CACjBZ,MADiB,EAEjBa,MAFiB,KAGd;EACH,MAAMC,OAAO,GAAGzB,MAAM,CAAC,KAAD,CAAtB;EACA,MAAM,CAAC0B,IAAD,EAAOC,OAAP,IAAkB1B,QAAQ,CAAW,IAAX,CAAhC;EACA,MAAM2B,OAAO,GAAG5B,MAAM,CAAW,IAAX,CAAtB;EACAD,SAAS,CAAC,MAAM;IACd0B,OAAO,CAACI,OAAR,GAAkB,IAAlB;IACAL,MAAM,GAAGH,IAAT,CAAeS,KAAD,IAAW;MACvB,IAAIL,OAAO,CAACI,OAAZ,EAAqB;QACnBF,OAAO,CAACG,KAAD,CAAP;QACAF,OAAO,CAACC,OAAR,GAAkBC,KAAlB;MACD;IACF,CALD;IAMA,OAAO,MAAM;MAAA;;MACX,oBAAAF,OAAO,CAACC,OAAR,sEAAiBE,OAAjB;MACAN,OAAO,CAACI,OAAR,GAAkB,KAAlB;IACD,CAHD,CARc,CAYd;EACD,CAbQ,EAaN,CAAClB,MAAD,CAbM,CAAT;EAcA,OAAOe,IAAP;AACD,CAtBD;;AAwBA,OAAO,MAAMM,UAAU,GAAG,CACxBrB,MADwB,EAExBL,OAFwB,EAGxBC,OAHwB,KAIrBgB,UAAU,CAACZ,MAAD,EAAS,MAAMD,QAAQ,CAAIC,MAAJ,EAAYL,OAAZ,EAAqBC,OAArB,CAAvB,CAJR;;AAMP,MAAM0B,QAAQ,GAAIP,IAAD,IAAkBA,IAAnC;;AAEA,OAAO,MAAMQ,OAAO,GAAG,CACrBvB,MADqB,EAErBJ,OAFqB,KAGlByB,UAAU,CAACrB,MAAD,EAASsB,QAAT,EAAmB1B,OAAnB,CAHR"}
@@ -1,5 +1,5 @@
1
- import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
- export declare type SkData = SkJSIInstance<"Data"> & JsiDisposable;
1
+ import type { SkJSIInstance } from "../JsiInstance";
2
+ export declare type SkData = SkJSIInstance<"Data">;
3
3
  declare type RNModule = number;
4
4
  declare type ESModule = {
5
5
  __esModule: true;
@@ -1 +1 @@
1
- {"version":3,"names":["isRNModule","mod"],"sources":["Data.ts"],"sourcesContent":["import type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkData = SkJSIInstance<\"Data\"> & JsiDisposable;\n\ntype RNModule = number;\ntype ESModule = {\n __esModule: true;\n default: string;\n};\nexport type DataModule = RNModule | ESModule;\nexport type DataSource = DataModule | string | Uint8Array;\nexport type DataSourceParam = DataSource | null | undefined;\n\nexport const isRNModule = (mod: DataModule): mod is RNModule =>\n typeof mod === \"number\";\n"],"mappings":"AAaA,OAAO,MAAMA,UAAU,GAAIC,GAAD,IACxB,OAAOA,GAAP,KAAe,QADV"}
1
+ {"version":3,"names":["isRNModule","mod"],"sources":["Data.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkData = SkJSIInstance<\"Data\">;\n\ntype RNModule = number;\ntype ESModule = {\n __esModule: true;\n default: string;\n};\nexport type DataModule = RNModule | ESModule;\nexport type DataSource = DataModule | string | Uint8Array;\nexport type DataSourceParam = DataSource | null | undefined;\n\nexport const isRNModule = (mod: DataModule): mod is RNModule =>\n typeof mod === \"number\";\n"],"mappings":"AAaA,OAAO,MAAMA,UAAU,GAAIC,GAAD,IACxB,OAAOA,GAAP,KAAe,QADV"}
@@ -1,5 +1,5 @@
1
1
  import type { SkMatrix } from "../Matrix";
2
- import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
+ import type { SkJSIInstance } from "../JsiInstance";
3
3
  import type { TileMode } from "../ImageFilter";
4
4
  import type { SkShader } from "../Shader";
5
5
  export declare enum FilterMode {
@@ -16,7 +16,7 @@ export declare enum ImageFormat {
16
16
  PNG = 4,
17
17
  WEBP = 6
18
18
  }
19
- export interface SkImage extends SkJSIInstance<"Image">, JsiDisposable {
19
+ export interface SkImage extends SkJSIInstance<"Image"> {
20
20
  /**
21
21
  * Returns the possibly scaled height of the image.
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"names":["FilterMode","MipmapMode","ImageFormat"],"sources":["Image.ts"],"sourcesContent":["import type { SkMatrix } from \"../Matrix\";\nimport type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\nimport type { TileMode } from \"../ImageFilter\";\nimport type { SkShader } from \"../Shader\";\n\nexport enum FilterMode {\n Nearest,\n Linear,\n}\n\nexport enum MipmapMode {\n None,\n Nearest,\n Linear,\n}\n\nexport enum ImageFormat {\n JPEG = 3,\n PNG = 4,\n WEBP = 6,\n}\n\nexport interface SkImage extends SkJSIInstance<\"Image\">, JsiDisposable {\n /**\n * Returns the possibly scaled height of the image.\n */\n height(): number;\n\n /**\n * Returns the possibly scaled width of the image.\n */\n width(): number;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param fm - The filter mode. (default nearest)\n * @param mm - The mipmap mode. Note: for settings other than None, the image must have mipmaps (default none)\n * calculated with makeCopyWithDefaultMipmaps;\n * @param localMatrix\n */\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param B - See CubicResampler in SkSamplingOptions.h for more information\n * @param C - See CubicResampler in SkSamplingOptions.h for more information\n * @param localMatrix\n */\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /** Encodes Image pixels, returning result as UInt8Array. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return Uint8Array with data\n */\n encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;\n\n /** Encodes Image pixels, returning result as a base64 encoded string. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return base64 encoded string of data\n */\n encodeToBase64(fmt?: ImageFormat, quality?: number): string;\n\n /**\n * Returns raster image or lazy image. Copies SkImage backed by GPU texture\n * into CPU memory if needed. Returns original SkImage if decoded in raster\n * bitmap, or if encoded in a stream.\n */\n makeNonTextureImage(): SkImage;\n}\n"],"mappings":"AAKA,WAAYA,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAKZ,WAAYC,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAMZ,WAAYC,WAAZ;;WAAYA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;GAAAA,W,KAAAA,W"}
1
+ {"version":3,"names":["FilterMode","MipmapMode","ImageFormat"],"sources":["Image.ts"],"sourcesContent":["import type { SkMatrix } from \"../Matrix\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { TileMode } from \"../ImageFilter\";\nimport type { SkShader } from \"../Shader\";\n\nexport enum FilterMode {\n Nearest,\n Linear,\n}\n\nexport enum MipmapMode {\n None,\n Nearest,\n Linear,\n}\n\nexport enum ImageFormat {\n JPEG = 3,\n PNG = 4,\n WEBP = 6,\n}\n\nexport interface SkImage extends SkJSIInstance<\"Image\"> {\n /**\n * Returns the possibly scaled height of the image.\n */\n height(): number;\n\n /**\n * Returns the possibly scaled width of the image.\n */\n width(): number;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param fm - The filter mode. (default nearest)\n * @param mm - The mipmap mode. Note: for settings other than None, the image must have mipmaps (default none)\n * calculated with makeCopyWithDefaultMipmaps;\n * @param localMatrix\n */\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param B - See CubicResampler in SkSamplingOptions.h for more information\n * @param C - See CubicResampler in SkSamplingOptions.h for more information\n * @param localMatrix\n */\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /** Encodes Image pixels, returning result as UInt8Array. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return Uint8Array with data\n */\n encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;\n\n /** Encodes Image pixels, returning result as a base64 encoded string. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return base64 encoded string of data\n */\n encodeToBase64(fmt?: ImageFormat, quality?: number): string;\n\n /**\n * Returns raster image or lazy image. Copies SkImage backed by GPU texture\n * into CPU memory if needed. Returns original SkImage if decoded in raster\n * bitmap, or if encoded in a stream.\n */\n makeNonTextureImage(): SkImage;\n}\n"],"mappings":"AAKA,WAAYA,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAKZ,WAAYC,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAMZ,WAAYC,WAAZ;;WAAYA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;GAAAA,W,KAAAA,W"}
@@ -1,6 +1,6 @@
1
- export interface SkJSIInstance<T extends string> {
2
- __typename__: T;
3
- }
4
- export interface JsiDisposable {
1
+ export interface BaseSkJSIInstance {
5
2
  dispose: () => void;
6
3
  }
4
+ export interface SkJSIInstance<T extends string> extends BaseSkJSIInstance {
5
+ __typename__: T;
6
+ }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> {\n __typename__: T;\n}\n\nexport interface JsiDisposable {\n dispose: () => void;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface BaseSkJSIInstance {\n dispose: () => void;\n}\n\nexport interface SkJSIInstance<T extends string> extends BaseSkJSIInstance {\n __typename__: T;\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
- import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
- export interface SkSVG extends SkJSIInstance<"SVG">, JsiDisposable {
1
+ import type { SkJSIInstance } from "../JsiInstance";
2
+ export interface SkSVG extends SkJSIInstance<"SVG"> {
3
3
  width(): number;
4
4
  height(): number;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["SVG.ts"],"sourcesContent":["import type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\n\nexport interface SkSVG extends SkJSIInstance<\"SVG\">, JsiDisposable {\n width(): number;\n height(): number;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["SVG.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport interface SkSVG extends SkJSIInstance<\"SVG\"> {\n width(): number;\n height(): number;\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import type { JsiDisposable, SkJSIInstance } from "../JsiInstance";
2
- export declare type SkTypeface = SkJSIInstance<"Typeface"> & JsiDisposable;
1
+ import type { SkJSIInstance } from "../JsiInstance";
2
+ export declare type SkTypeface = SkJSIInstance<"Typeface">;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Typeface.ts"],"sourcesContent":["import type { JsiDisposable, SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkTypeface = SkJSIInstance<\"Typeface\"> & JsiDisposable;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["Typeface.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkTypeface = SkJSIInstance<\"Typeface\">;\n"],"mappings":""}
@@ -11,6 +11,7 @@ export declare abstract class BaseHostObject<T, N extends string> extends Host i
11
11
  readonly __typename__: N;
12
12
  ref: T;
13
13
  constructor(CanvasKit: CanvasKit, ref: T, typename: N);
14
+ abstract dispose: () => void;
14
15
  }
15
16
  export declare abstract class HostObject<T, N extends string> extends BaseHostObject<T, N> {
16
17
  static fromValue<T>(value: SkJSIInstance<string>): T;
@@ -22,6 +22,8 @@ export class BaseHostObject extends Host {
22
22
 
23
23
  _defineProperty(this, "ref", void 0);
24
24
 
25
+ _defineProperty(this, "dispose", void 0);
26
+
25
27
  this.ref = ref;
26
28
  this.__typename__ = typename;
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NotImplementedOnRNWeb","Error","constructor","msg","Host","CanvasKit","BaseHostObject","ref","typename","__typename__","HostObject","fromValue","value","ckEnum","optEnum","undefined"],"sources":["Host.ts"],"sourcesContent":["import type { CanvasKit, EmbindEnumEntity } from \"canvaskit-wasm\";\n\nimport type { SkJSIInstance } from \"../types\";\n\nexport class NotImplementedOnRNWeb extends Error {\n constructor(msg?: string) {\n super(msg ?? \"Not implemented on React Native Web\");\n }\n}\n\nexport abstract class Host {\n readonly CanvasKit: CanvasKit;\n\n constructor(CanvasKit: CanvasKit) {\n this.CanvasKit = CanvasKit;\n }\n}\n\nexport abstract class BaseHostObject<T, N extends string>\n extends Host\n implements SkJSIInstance<N>\n{\n readonly __typename__: N;\n ref: T;\n\n constructor(CanvasKit: CanvasKit, ref: T, typename: N) {\n super(CanvasKit);\n this.ref = ref;\n this.__typename__ = typename;\n }\n}\n\nexport abstract class HostObject<T, N extends string> extends BaseHostObject<\n T,\n N\n> {\n static fromValue<T>(value: SkJSIInstance<string>) {\n return (value as HostObject<T, string>).ref;\n }\n}\n\nexport const ckEnum = (value: number): EmbindEnumEntity => ({ value });\nexport const optEnum = (\n value: number | undefined\n): EmbindEnumEntity | undefined =>\n value === undefined ? undefined : { value };\n"],"mappings":";;AAIA,OAAO,MAAMA,qBAAN,SAAoCC,KAApC,CAA0C;EAC/CC,WAAW,CAACC,GAAD,EAAe;IACxB,MAAMA,GAAN,aAAMA,GAAN,cAAMA,GAAN,GAAa,qCAAb;EACD;;AAH8C;AAMjD,OAAO,MAAeC,IAAf,CAAoB;EAGzBF,WAAW,CAACG,SAAD,EAAuB;IAAA;;IAChC,KAAKA,SAAL,GAAiBA,SAAjB;EACD;;AALwB;AAQ3B,OAAO,MAAeC,cAAf,SACGF,IADH,CAGP;EAIEF,WAAW,CAACG,SAAD,EAAuBE,GAAvB,EAA+BC,QAA/B,EAA4C;IACrD,MAAMH,SAAN;;IADqD;;IAAA;;IAErD,KAAKE,GAAL,GAAWA,GAAX;IACA,KAAKE,YAAL,GAAoBD,QAApB;EACD;;AARH;AAWA,OAAO,MAAeE,UAAf,SAAuDJ,cAAvD,CAGL;EACgB,OAATK,SAAS,CAAIC,KAAJ,EAAkC;IAChD,OAAQA,KAAD,CAAiCL,GAAxC;EACD;;AAHD;AAMF,OAAO,MAAMM,MAAM,GAAID,KAAD,KAAsC;EAAEA;AAAF,CAAtC,CAAf;AACP,OAAO,MAAME,OAAO,GAClBF,KADqB,IAGrBA,KAAK,KAAKG,SAAV,GAAsBA,SAAtB,GAAkC;EAAEH;AAAF,CAH7B"}
1
+ {"version":3,"names":["NotImplementedOnRNWeb","Error","constructor","msg","Host","CanvasKit","BaseHostObject","ref","typename","__typename__","HostObject","fromValue","value","ckEnum","optEnum","undefined"],"sources":["Host.ts"],"sourcesContent":["import type { CanvasKit, EmbindEnumEntity } from \"canvaskit-wasm\";\n\nimport type { SkJSIInstance } from \"../types\";\n\nexport class NotImplementedOnRNWeb extends Error {\n constructor(msg?: string) {\n super(msg ?? \"Not implemented on React Native Web\");\n }\n}\n\nexport abstract class Host {\n readonly CanvasKit: CanvasKit;\n\n constructor(CanvasKit: CanvasKit) {\n this.CanvasKit = CanvasKit;\n }\n}\n\nexport abstract class BaseHostObject<T, N extends string>\n extends Host\n implements SkJSIInstance<N>\n{\n readonly __typename__: N;\n ref: T;\n\n constructor(CanvasKit: CanvasKit, ref: T, typename: N) {\n super(CanvasKit);\n this.ref = ref;\n this.__typename__ = typename;\n }\n\n abstract dispose: () => void;\n}\n\nexport abstract class HostObject<T, N extends string> extends BaseHostObject<\n T,\n N\n> {\n static fromValue<T>(value: SkJSIInstance<string>) {\n return (value as HostObject<T, string>).ref;\n }\n}\n\nexport const ckEnum = (value: number): EmbindEnumEntity => ({ value });\nexport const optEnum = (\n value: number | undefined\n): EmbindEnumEntity | undefined =>\n value === undefined ? undefined : { value };\n"],"mappings":";;AAIA,OAAO,MAAMA,qBAAN,SAAoCC,KAApC,CAA0C;EAC/CC,WAAW,CAACC,GAAD,EAAe;IACxB,MAAMA,GAAN,aAAMA,GAAN,cAAMA,GAAN,GAAa,qCAAb;EACD;;AAH8C;AAMjD,OAAO,MAAeC,IAAf,CAAoB;EAGzBF,WAAW,CAACG,SAAD,EAAuB;IAAA;;IAChC,KAAKA,SAAL,GAAiBA,SAAjB;EACD;;AALwB;AAQ3B,OAAO,MAAeC,cAAf,SACGF,IADH,CAGP;EAIEF,WAAW,CAACG,SAAD,EAAuBE,GAAvB,EAA+BC,QAA/B,EAA4C;IACrD,MAAMH,SAAN;;IADqD;;IAAA;;IAAA;;IAErD,KAAKE,GAAL,GAAWA,GAAX;IACA,KAAKE,YAAL,GAAoBD,QAApB;EACD;;AARH;AAaA,OAAO,MAAeE,UAAf,SAAuDJ,cAAvD,CAGL;EACgB,OAATK,SAAS,CAAIC,KAAJ,EAAkC;IAChD,OAAQA,KAAD,CAAiCL,GAAxC;EACD;;AAHD;AAMF,OAAO,MAAMM,MAAM,GAAID,KAAD,KAAsC;EAAEA;AAAF,CAAtC,CAAf;AACP,OAAO,MAAME,OAAO,GAClBF,KADqB,IAGrBA,KAAK,KAAKG,SAAV,GAAsBA,SAAtB,GAAkC;EAAEH;AAAF,CAH7B"}
@@ -3,6 +3,7 @@ import type { BlendMode, ClipOp, FilterMode, MipmapMode, PointMode, SaveLayerFla
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements SkCanvas {
5
5
  constructor(CanvasKit: CanvasKit, ref: Canvas);
6
+ dispose: () => void;
6
7
  drawRect(rect: SkRect, paint: SkPaint): void;
7
8
  drawImage(image: SkImage, x: number, y: number, paint?: SkPaint): void;
8
9
  drawImageRect(img: SkImage, src: SkRect, dest: SkRect, paint: SkPaint, fastSample?: boolean): void;
@@ -1,3 +1,5 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { ckEnum, HostObject } from "./Host";
2
4
  import { JsiSkPaint } from "./JsiSkPaint";
3
5
  import { JsiSkRect } from "./JsiSkRect";
@@ -14,6 +16,10 @@ import { JsiSkPoint } from "./JsiSkPoint";
14
16
  export class JsiSkCanvas extends HostObject {
15
17
  constructor(CanvasKit, ref) {
16
18
  super(CanvasKit, ref, "Canvas");
19
+
20
+ _defineProperty(this, "dispose", () => {
21
+ this.ref.delete();
22
+ });
17
23
  }
18
24
 
19
25
  drawRect(rect, paint) {
@@ -1 +1 @@
1
- {"version":3,"names":["ckEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","undefined","restoreToCount","saveCount","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type { Canvas, CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport { ckEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n JsiSkImage.fromValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n ckEnum(filter),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n ckEnum(fm),\n ckEnum(mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n ckEnum(mode),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode ? ckEnum(mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(mode),\n points.map(({ x, y }) => [x, y]).flat(),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngle,\n sweepAngle,\n useCenter,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n paint ? JsiSkPaint.fromValue(paint) : undefined,\n bounds ? JsiSkRect.fromValue(this.CanvasKit, bounds) : bounds,\n backdrop ? JsiSkImageFilter.fromValue(backdrop) : backdrop,\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(JsiSkPath.fromValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ckEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkCanvas","constructor","CanvasKit","ref","delete","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","undefined","restoreToCount","saveCount","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type { Canvas, CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport { ckEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n JsiSkImage.fromValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n ckEnum(filter),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n ckEnum(fm),\n ckEnum(mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n ckEnum(mode),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode ? ckEnum(mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(mode),\n points.map(({ x, y }) => [x, y]).flat(),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngle,\n sweepAngle,\n useCenter,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n paint ? JsiSkPaint.fromValue(paint) : undefined,\n bounds ? JsiSkRect.fromValue(this.CanvasKit, bounds) : bounds,\n backdrop ? JsiSkImageFilter.fromValue(backdrop) : backdrop,\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(JsiSkPath.fromValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n}\n"],"mappings":"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"}
@@ -3,4 +3,5 @@ import type { SkColorFilter } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkColorFilter extends HostObject<ColorFilter, "ColorFilter"> implements SkColorFilter {
5
5
  constructor(CanvasKit: CanvasKit, ref: ColorFilter);
6
+ dispose: () => void;
6
7
  }
@@ -1,7 +1,13 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+
1
3
  import { HostObject } from "./Host";
2
4
  export class JsiSkColorFilter extends HostObject {
3
5
  constructor(CanvasKit, ref) {
4
6
  super(CanvasKit, ref, "ColorFilter");
7
+
8
+ _defineProperty(this, "dispose", () => {
9
+ this.ref.delete();
10
+ });
5
11
  }
6
12
 
7
13
  }
@@ -1 +1 @@
1
- {"version":3,"names":["HostObject","JsiSkColorFilter","constructor","CanvasKit","ref"],"sources":["JsiSkColorFilter.ts"],"sourcesContent":["import type { CanvasKit, ColorFilter } from \"canvaskit-wasm\";\n\nimport type { SkColorFilter } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkColorFilter\n extends HostObject<ColorFilter, \"ColorFilter\">\n implements SkColorFilter\n{\n constructor(CanvasKit: CanvasKit, ref: ColorFilter) {\n super(CanvasKit, ref, \"ColorFilter\");\n }\n}\n"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,gBAAN,SACGD,UADH,CAGP;EACEE,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAyC;IAClD,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,aAAtB;EACD;;AAHH"}
1
+ {"version":3,"names":["HostObject","JsiSkColorFilter","constructor","CanvasKit","ref","delete"],"sources":["JsiSkColorFilter.ts"],"sourcesContent":["import type { CanvasKit, ColorFilter } from \"canvaskit-wasm\";\n\nimport type { SkColorFilter } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkColorFilter\n extends HostObject<ColorFilter, \"ColorFilter\">\n implements SkColorFilter\n{\n constructor(CanvasKit: CanvasKit, ref: ColorFilter) {\n super(CanvasKit, ref, \"ColorFilter\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n}\n"],"mappings":";;AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,gBAAN,SACGD,UADH,CAGP;EACEE,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAyC;IAClD,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,aAAtB;;IADkD,iCAI1C,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CANmD;EAEnD;;AAHH"}