@shopify/react-native-skia 2.2.18 → 2.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/apple/SkiaCVPixelBufferUtils.mm +4 -8
  2. package/cpp/api/recorder/Drawings.h +21 -42
  3. package/cpp/jsi/JsiHostObject.cpp +16 -0
  4. package/jestSetup.js +1 -1
  5. package/lib/commonjs/Platform/Platform.js.map +1 -1
  6. package/lib/commonjs/Platform/Platform.web.js +0 -1
  7. package/lib/commonjs/Platform/Platform.web.js.map +1 -1
  8. package/lib/commonjs/animation/functions/interpolate.js +0 -1
  9. package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
  10. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  11. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  12. package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
  13. package/lib/commonjs/renderer/Canvas.js +1 -3
  14. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  15. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  16. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  17. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  18. package/lib/commonjs/skia/core/Image.js.map +1 -1
  19. package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
  20. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  21. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  22. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  23. package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
  24. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  25. package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  26. package/lib/commonjs/skia/web/Host.d.ts +2 -1
  27. package/lib/commonjs/skia/web/Host.js +8 -0
  28. package/lib/commonjs/skia/web/Host.js.map +1 -1
  29. package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  30. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
  31. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
  32. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
  33. package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
  34. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  35. package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
  36. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  37. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
  38. package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
  39. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  40. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
  41. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
  42. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  43. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  44. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
  45. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  46. package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
  47. package/lib/commonjs/skia/web/JsiSkData.js +0 -6
  48. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  49. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
  50. package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
  51. package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
  52. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  53. package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
  54. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
  55. package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
  56. package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
  57. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  58. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
  59. package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
  60. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  61. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
  62. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
  63. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  64. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
  65. package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
  66. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  67. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
  68. package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
  69. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  70. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  71. package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
  72. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
  73. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  74. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
  75. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  76. package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
  77. package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
  78. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  79. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
  80. package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
  81. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  82. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
  83. package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
  84. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  85. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  86. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
  87. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  88. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
  89. package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
  90. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  91. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
  92. package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
  93. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  94. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
  95. package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
  96. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  97. package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
  98. package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
  99. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  100. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  101. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
  102. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  103. package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
  104. package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
  105. package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
  106. package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
  107. package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
  108. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  109. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
  110. package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
  111. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  112. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
  113. package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
  114. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  115. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
  116. package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
  117. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  118. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  119. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  120. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  121. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
  122. package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
  123. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  124. package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  125. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
  126. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
  127. package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  128. package/lib/commonjs/skia/web/JsiVideo.js +4 -1
  129. package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
  130. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  131. package/lib/commonjs/sksg/Container.web.js.map +1 -1
  132. package/lib/commonjs/sksg/Elements.js.map +1 -1
  133. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  134. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  135. package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
  136. package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
  137. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  138. package/lib/module/Platform/Platform.js.map +1 -1
  139. package/lib/module/Platform/Platform.web.js +0 -1
  140. package/lib/module/Platform/Platform.web.js.map +1 -1
  141. package/lib/module/animation/functions/interpolate.js +0 -1
  142. package/lib/module/animation/functions/interpolate.js.map +1 -1
  143. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  144. package/lib/module/dom/types/Drawings.js.map +1 -1
  145. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  146. package/lib/module/renderer/Canvas.js +1 -3
  147. package/lib/module/renderer/Canvas.js.map +1 -1
  148. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  149. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  150. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  151. package/lib/module/skia/core/Image.js.map +1 -1
  152. package/lib/module/skia/types/JsiInstance.d.ts +1 -1
  153. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  154. package/lib/module/skia/types/Matrix4.js.map +1 -1
  155. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  156. package/lib/module/skia/types/Shader/Shader.js +1 -3
  157. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  158. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  159. package/lib/module/skia/web/Host.d.ts +2 -1
  160. package/lib/module/skia/web/Host.js +8 -0
  161. package/lib/module/skia/web/Host.js.map +1 -1
  162. package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  163. package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
  164. package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
  165. package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
  166. package/lib/module/skia/web/JsiSkCanvas.js +0 -6
  167. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  168. package/lib/module/skia/web/JsiSkColor.js +0 -1
  169. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  170. package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
  171. package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
  172. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  173. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
  174. package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
  175. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  176. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  177. package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
  178. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  179. package/lib/module/skia/web/JsiSkData.d.ts +0 -1
  180. package/lib/module/skia/web/JsiSkData.js +0 -6
  181. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  182. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
  183. package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
  184. package/lib/module/skia/web/JsiSkFont.js +0 -6
  185. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  186. package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
  187. package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
  188. package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
  189. package/lib/module/skia/web/JsiSkImage.js +0 -6
  190. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  191. package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
  192. package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
  193. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  194. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
  195. package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
  196. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  197. package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
  198. package/lib/module/skia/web/JsiSkMatrix.js +0 -6
  199. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  200. package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
  201. package/lib/module/skia/web/JsiSkPaint.js +0 -6
  202. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  203. package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  204. package/lib/module/skia/web/JsiSkParagraph.js +0 -3
  205. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
  206. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  207. package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
  208. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  209. package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
  210. package/lib/module/skia/web/JsiSkPath.js +0 -6
  211. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  212. package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
  213. package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
  214. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  215. package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
  216. package/lib/module/skia/web/JsiSkPicture.js +0 -6
  217. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  218. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  219. package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
  220. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  221. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
  222. package/lib/module/skia/web/JsiSkPoint.js +0 -6
  223. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  224. package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
  225. package/lib/module/skia/web/JsiSkRRect.js +3 -6
  226. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  227. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
  228. package/lib/module/skia/web/JsiSkRSXform.js +0 -6
  229. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  230. package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
  231. package/lib/module/skia/web/JsiSkRect.js +0 -6
  232. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  233. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  234. package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
  235. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  236. package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
  237. package/lib/module/skia/web/JsiSkSVG.js +5 -8
  238. package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
  239. package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
  240. package/lib/module/skia/web/JsiSkShader.js +0 -6
  241. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  242. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
  243. package/lib/module/skia/web/JsiSkSurface.js +3 -6
  244. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  245. package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
  246. package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
  247. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  248. package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
  249. package/lib/module/skia/web/JsiSkTypeface.js +0 -6
  250. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  251. package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  252. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  253. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  254. package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
  255. package/lib/module/skia/web/JsiSkVertices.js +0 -6
  256. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  257. package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  258. package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
  259. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
  260. package/lib/module/skia/web/JsiVideo.d.ts +1 -0
  261. package/lib/module/skia/web/JsiVideo.js +4 -1
  262. package/lib/module/skia/web/JsiVideo.js.map +1 -1
  263. package/lib/module/sksg/Container.native.js.map +1 -1
  264. package/lib/module/sksg/Container.web.js.map +1 -1
  265. package/lib/module/sksg/Elements.js.map +1 -1
  266. package/lib/module/sksg/Reconciler.js.map +1 -1
  267. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  268. package/lib/module/sksg/StaticContainer.js.map +1 -1
  269. package/lib/module/views/SkiaPictureView.web.js +3 -1
  270. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  271. package/lib/typescript/eslint.config.d.mts +2 -0
  272. package/lib/typescript/jest.config.d.ts +11 -2
  273. package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
  274. package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
  275. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  276. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  277. package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  278. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  279. package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  280. package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
  281. package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
  282. package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  283. package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  284. package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  285. package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  286. package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
  287. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  288. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  289. package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
  290. package/lib/typescript/src/skia/web/Host.d.ts +2 -1
  291. package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  292. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
  293. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
  294. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
  295. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  296. package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
  297. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
  298. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
  299. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
  300. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
  301. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
  302. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
  303. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
  304. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  305. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
  306. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
  307. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
  308. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  309. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
  310. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
  311. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
  312. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
  313. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  314. package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
  315. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
  316. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
  317. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
  318. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
  319. package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  320. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
  321. package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
  322. package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
  323. package/package.json +14 -12
  324. package/scripts/setup-canvaskit.js +15 -9
  325. package/src/Platform/Platform.ts +2 -2
  326. package/src/Platform/Platform.web.tsx +0 -1
  327. package/src/__tests__/setup.ts +1 -4
  328. package/src/animation/functions/interpolate.ts +0 -1
  329. package/src/dom/nodes/datatypes/Fitting.ts +1 -1
  330. package/src/dom/types/Drawings.ts +1 -1
  331. package/src/external/reanimated/useVideo.ts +1 -1
  332. package/src/renderer/Canvas.tsx +1 -2
  333. package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
  334. package/src/renderer/__tests__/Picture.spec.tsx +8 -5
  335. package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
  336. package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
  337. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
  338. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
  339. package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
  340. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
  341. package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
  342. package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
  343. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
  344. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
  345. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
  346. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
  347. package/src/renderer/__tests__/e2e/Video.ts +0 -1
  348. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
  349. package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
  350. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
  351. package/src/renderer/__tests__/setup.tsx +0 -1
  352. package/src/renderer/processors/Animations/Animations.ts +4 -4
  353. package/src/skia/__tests__/Path.spec.ts +1 -3
  354. package/src/skia/core/Image.ts +1 -1
  355. package/src/skia/types/JsiInstance.ts +1 -1
  356. package/src/skia/types/Matrix4.ts +4 -4
  357. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
  358. package/src/skia/types/Shader/Shader.ts +0 -1
  359. package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
  360. package/src/skia/web/Host.ts +14 -1
  361. package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
  362. package/src/skia/web/JsiSkCanvas.ts +0 -4
  363. package/src/skia/web/JsiSkColor.ts +1 -1
  364. package/src/skia/web/JsiSkColorFilter.ts +0 -4
  365. package/src/skia/web/JsiSkContourMeasure.ts +0 -4
  366. package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
  367. package/src/skia/web/JsiSkData.ts +0 -4
  368. package/src/skia/web/JsiSkDataFactory.ts +1 -1
  369. package/src/skia/web/JsiSkFont.ts +0 -4
  370. package/src/skia/web/JsiSkFontMgr.ts +2 -1
  371. package/src/skia/web/JsiSkImage.ts +0 -4
  372. package/src/skia/web/JsiSkImageFilter.ts +0 -4
  373. package/src/skia/web/JsiSkMaskFilter.ts +0 -4
  374. package/src/skia/web/JsiSkMatrix.ts +2 -6
  375. package/src/skia/web/JsiSkPaint.ts +0 -4
  376. package/src/skia/web/JsiSkParagraph.ts +0 -4
  377. package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
  378. package/src/skia/web/JsiSkPath.ts +0 -4
  379. package/src/skia/web/JsiSkPathEffect.ts +0 -4
  380. package/src/skia/web/JsiSkPicture.ts +0 -4
  381. package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
  382. package/src/skia/web/JsiSkPoint.ts +0 -4
  383. package/src/skia/web/JsiSkRRect.ts +3 -3
  384. package/src/skia/web/JsiSkRSXform.ts +5 -3
  385. package/src/skia/web/JsiSkRect.ts +0 -4
  386. package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
  387. package/src/skia/web/JsiSkSVG.ts +2 -2
  388. package/src/skia/web/JsiSkShader.ts +0 -4
  389. package/src/skia/web/JsiSkSurface.ts +2 -2
  390. package/src/skia/web/JsiSkTextBlob.ts +0 -4
  391. package/src/skia/web/JsiSkTypeface.ts +0 -4
  392. package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
  393. package/src/skia/web/JsiSkVertices.ts +0 -4
  394. package/src/skia/web/JsiSkottieAnimation.ts +0 -3
  395. package/src/skia/web/JsiVideo.ts +5 -1
  396. package/src/sksg/Container.native.ts +4 -1
  397. package/src/sksg/Container.web.ts +4 -1
  398. package/src/sksg/Elements.tsx +0 -1
  399. package/src/sksg/Reconciler.ts +4 -1
  400. package/src/sksg/Recorder/Visitor.ts +1 -1
  401. package/src/sksg/StaticContainer.ts +4 -1
  402. package/src/views/SkiaPictureView.web.tsx +12 -3
@@ -1 +1 @@
1
- {"version":3,"names":["Rea","HAS_REANIMATED_3","Recorder","visit","replay","createDrawingContext","Container","StaticContainer","drawOnscreen","Skia","nativeId","recording","rec","PictureRecorder","canvas","beginRecording","ctx","paintPool","commands","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty","ReanimatedContainer","constructor","_defineProperty","redraw","mapperId","stopMapper","unmounted","recorder","root","record","getRecording","animationValues","size","startMapper","Array","from","runOnUI","createContainer"],"sources":["Container.web.ts"],"sourcesContent":["import Rea from \"../external/reanimated/ReanimatedProxy\";\nimport type { Skia } from \"../skia/types\";\nimport { HAS_REANIMATED_3 } from \"../external/reanimated/renderHelpers\";\n\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\nimport { Container, StaticContainer } from \"./StaticContainer\";\n\nimport \"../skia/NativeSetup\";\nimport \"../views/api\";\n\nconst drawOnscreen = (Skia: Skia, nativeId: number, recording: Recording) => {\n \"worklet\";\n const rec = Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n //const start = performance.now();\n\n const ctx = createDrawingContext(Skia, recording.paintPool, canvas);\n replay(ctx, recording.commands);\n const picture = rec.finishRecordingAsPicture();\n //const end = performance.now();\n //console.log(\"Recording time: \", end - start);\n SkiaViewApi.setJsiProperty(nativeId, \"picture\", picture);\n};\n\nclass ReanimatedContainer extends Container {\n private mapperId: number | null = null;\n\n constructor(Skia: Skia, private nativeId: number) {\n super(Skia);\n }\n\n redraw() {\n if (this.mapperId !== null) {\n Rea.stopMapper(this.mapperId);\n }\n if (this.unmounted) {\n return;\n }\n const recorder = new Recorder();\n visit(recorder, this.root);\n const record = recorder.getRecording();\n const { animationValues } = record;\n this.recording = {\n commands: record.commands,\n paintPool: record.paintPool,\n };\n const { nativeId, Skia, recording } = this;\n if (animationValues.size > 0) {\n this.mapperId = Rea.startMapper(() => {\n \"worklet\";\n drawOnscreen(Skia, nativeId, recording!);\n }, Array.from(animationValues));\n }\n Rea.runOnUI(() => {\n \"worklet\";\n drawOnscreen(Skia, nativeId, recording!);\n })();\n }\n}\n\nexport const createContainer = (Skia: Skia, nativeId: number) => {\n if (HAS_REANIMATED_3 && nativeId !== -1) {\n return new ReanimatedContainer(Skia, nativeId);\n } else {\n return new StaticContainer(Skia, nativeId);\n }\n};\n"],"mappings":";;;AAAA,OAAOA,GAAG,MAAM,wCAAwC;AAExD,SAASC,gBAAgB,QAAQ,sCAAsC;AAGvE,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,SAAS,EAAEC,eAAe,QAAQ,mBAAmB;AAE9D,OAAO,qBAAqB;AAC5B,OAAO,cAAc;AAErB,MAAMC,YAAY,GAAGA,CAACC,IAAU,EAAEC,QAAgB,EAAEC,SAAoB,KAAK;EAC3E,SAAS;;EACT,MAAMC,GAAG,GAAGH,IAAI,CAACI,eAAe,CAAC,CAAC;EAClC,MAAMC,MAAM,GAAGF,GAAG,CAACG,cAAc,CAAC,CAAC;EACnC;;EAEA,MAAMC,GAAG,GAAGX,oBAAoB,CAACI,IAAI,EAAEE,SAAS,CAACM,SAAS,EAAEH,MAAM,CAAC;EACnEV,MAAM,CAACY,GAAG,EAAEL,SAAS,CAACO,QAAQ,CAAC;EAC/B,MAAMC,OAAO,GAAGP,GAAG,CAACQ,wBAAwB,CAAC,CAAC;EAC9C;EACA;EACAC,WAAW,CAACC,cAAc,CAACZ,QAAQ,EAAE,SAAS,EAAES,OAAO,CAAC;AAC1D,CAAC;AAED,MAAMI,mBAAmB,SAASjB,SAAS,CAAC;EAG1CkB,WAAWA,CAACf,IAAU,EAAUC,QAAgB,EAAE;IAChD,KAAK,CAACD,IAAI,CAAC;IAAC,KADkBC,QAAgB,GAAhBA,QAAgB;IAAAe,eAAA,mBAFd,IAAI;EAItC;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACC,QAAQ,KAAK,IAAI,EAAE;MAC1B3B,GAAG,CAAC4B,UAAU,CAAC,IAAI,CAACD,QAAQ,CAAC;IAC/B;IACA,IAAI,IAAI,CAACE,SAAS,EAAE;MAClB;IACF;IACA,MAAMC,QAAQ,GAAG,IAAI5B,QAAQ,CAAC,CAAC;IAC/BC,KAAK,CAAC2B,QAAQ,EAAE,IAAI,CAACC,IAAI,CAAC;IAC1B,MAAMC,MAAM,GAAGF,QAAQ,CAACG,YAAY,CAAC,CAAC;IACtC,MAAM;MAAEC;IAAgB,CAAC,GAAGF,MAAM;IAClC,IAAI,CAACrB,SAAS,GAAG;MACfO,QAAQ,EAAEc,MAAM,CAACd,QAAQ;MACzBD,SAAS,EAAEe,MAAM,CAACf;IACpB,CAAC;IACD,MAAM;MAAEP,QAAQ;MAAED,IAAI;MAAEE;IAAU,CAAC,GAAG,IAAI;IAC1C,IAAIuB,eAAe,CAACC,IAAI,GAAG,CAAC,EAAE;MAC5B,IAAI,CAACR,QAAQ,GAAG3B,GAAG,CAACoC,WAAW,CAAC,MAAM;QACpC,SAAS;;QACT5B,YAAY,CAACC,IAAI,EAAEC,QAAQ,EAAEC,SAAU,CAAC;MAC1C,CAAC,EAAE0B,KAAK,CAACC,IAAI,CAACJ,eAAe,CAAC,CAAC;IACjC;IACAlC,GAAG,CAACuC,OAAO,CAAC,MAAM;MAChB,SAAS;;MACT/B,YAAY,CAACC,IAAI,EAAEC,QAAQ,EAAEC,SAAU,CAAC;IAC1C,CAAC,CAAC,CAAC,CAAC;EACN;AACF;AAEA,OAAO,MAAM6B,eAAe,GAAGA,CAAC/B,IAAU,EAAEC,QAAgB,KAAK;EAC/D,IAAIT,gBAAgB,IAAIS,QAAQ,KAAK,CAAC,CAAC,EAAE;IACvC,OAAO,IAAIa,mBAAmB,CAACd,IAAI,EAAEC,QAAQ,CAAC;EAChD,CAAC,MAAM;IACL,OAAO,IAAIH,eAAe,CAACE,IAAI,EAAEC,QAAQ,CAAC;EAC5C;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Rea","HAS_REANIMATED_3","Recorder","visit","replay","createDrawingContext","Container","StaticContainer","drawOnscreen","Skia","nativeId","recording","rec","PictureRecorder","canvas","beginRecording","ctx","paintPool","commands","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty","ReanimatedContainer","constructor","_defineProperty","redraw","mapperId","stopMapper","unmounted","recorder","root","record","getRecording","animationValues","size","startMapper","Array","from","runOnUI","createContainer"],"sources":["Container.web.ts"],"sourcesContent":["import Rea from \"../external/reanimated/ReanimatedProxy\";\nimport type { Skia } from \"../skia/types\";\nimport { HAS_REANIMATED_3 } from \"../external/reanimated/renderHelpers\";\n\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\nimport { Container, StaticContainer } from \"./StaticContainer\";\n\nimport \"../skia/NativeSetup\";\nimport \"../views/api\";\n\nconst drawOnscreen = (Skia: Skia, nativeId: number, recording: Recording) => {\n \"worklet\";\n const rec = Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n //const start = performance.now();\n\n const ctx = createDrawingContext(Skia, recording.paintPool, canvas);\n replay(ctx, recording.commands);\n const picture = rec.finishRecordingAsPicture();\n //const end = performance.now();\n //console.log(\"Recording time: \", end - start);\n SkiaViewApi.setJsiProperty(nativeId, \"picture\", picture);\n};\n\nclass ReanimatedContainer extends Container {\n private mapperId: number | null = null;\n\n constructor(\n Skia: Skia,\n private nativeId: number\n ) {\n super(Skia);\n }\n\n redraw() {\n if (this.mapperId !== null) {\n Rea.stopMapper(this.mapperId);\n }\n if (this.unmounted) {\n return;\n }\n const recorder = new Recorder();\n visit(recorder, this.root);\n const record = recorder.getRecording();\n const { animationValues } = record;\n this.recording = {\n commands: record.commands,\n paintPool: record.paintPool,\n };\n const { nativeId, Skia, recording } = this;\n if (animationValues.size > 0) {\n this.mapperId = Rea.startMapper(() => {\n \"worklet\";\n drawOnscreen(Skia, nativeId, recording!);\n }, Array.from(animationValues));\n }\n Rea.runOnUI(() => {\n \"worklet\";\n drawOnscreen(Skia, nativeId, recording!);\n })();\n }\n}\n\nexport const createContainer = (Skia: Skia, nativeId: number) => {\n if (HAS_REANIMATED_3 && nativeId !== -1) {\n return new ReanimatedContainer(Skia, nativeId);\n } else {\n return new StaticContainer(Skia, nativeId);\n }\n};\n"],"mappings":";;;AAAA,OAAOA,GAAG,MAAM,wCAAwC;AAExD,SAASC,gBAAgB,QAAQ,sCAAsC;AAGvE,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,SAAS,EAAEC,eAAe,QAAQ,mBAAmB;AAE9D,OAAO,qBAAqB;AAC5B,OAAO,cAAc;AAErB,MAAMC,YAAY,GAAGA,CAACC,IAAU,EAAEC,QAAgB,EAAEC,SAAoB,KAAK;EAC3E,SAAS;;EACT,MAAMC,GAAG,GAAGH,IAAI,CAACI,eAAe,CAAC,CAAC;EAClC,MAAMC,MAAM,GAAGF,GAAG,CAACG,cAAc,CAAC,CAAC;EACnC;;EAEA,MAAMC,GAAG,GAAGX,oBAAoB,CAACI,IAAI,EAAEE,SAAS,CAACM,SAAS,EAAEH,MAAM,CAAC;EACnEV,MAAM,CAACY,GAAG,EAAEL,SAAS,CAACO,QAAQ,CAAC;EAC/B,MAAMC,OAAO,GAAGP,GAAG,CAACQ,wBAAwB,CAAC,CAAC;EAC9C;EACA;EACAC,WAAW,CAACC,cAAc,CAACZ,QAAQ,EAAE,SAAS,EAAES,OAAO,CAAC;AAC1D,CAAC;AAED,MAAMI,mBAAmB,SAASjB,SAAS,CAAC;EAG1CkB,WAAWA,CACTf,IAAU,EACFC,QAAgB,EACxB;IACA,KAAK,CAACD,IAAI,CAAC;IAAC,KAFJC,QAAgB,GAAhBA,QAAgB;IAAAe,eAAA,mBAJQ,IAAI;EAOtC;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACC,QAAQ,KAAK,IAAI,EAAE;MAC1B3B,GAAG,CAAC4B,UAAU,CAAC,IAAI,CAACD,QAAQ,CAAC;IAC/B;IACA,IAAI,IAAI,CAACE,SAAS,EAAE;MAClB;IACF;IACA,MAAMC,QAAQ,GAAG,IAAI5B,QAAQ,CAAC,CAAC;IAC/BC,KAAK,CAAC2B,QAAQ,EAAE,IAAI,CAACC,IAAI,CAAC;IAC1B,MAAMC,MAAM,GAAGF,QAAQ,CAACG,YAAY,CAAC,CAAC;IACtC,MAAM;MAAEC;IAAgB,CAAC,GAAGF,MAAM;IAClC,IAAI,CAACrB,SAAS,GAAG;MACfO,QAAQ,EAAEc,MAAM,CAACd,QAAQ;MACzBD,SAAS,EAAEe,MAAM,CAACf;IACpB,CAAC;IACD,MAAM;MAAEP,QAAQ;MAAED,IAAI;MAAEE;IAAU,CAAC,GAAG,IAAI;IAC1C,IAAIuB,eAAe,CAACC,IAAI,GAAG,CAAC,EAAE;MAC5B,IAAI,CAACR,QAAQ,GAAG3B,GAAG,CAACoC,WAAW,CAAC,MAAM;QACpC,SAAS;;QACT5B,YAAY,CAACC,IAAI,EAAEC,QAAQ,EAAEC,SAAU,CAAC;MAC1C,CAAC,EAAE0B,KAAK,CAACC,IAAI,CAACJ,eAAe,CAAC,CAAC;IACjC;IACAlC,GAAG,CAACuC,OAAO,CAAC,MAAM;MAChB,SAAS;;MACT/B,YAAY,CAACC,IAAI,EAAEC,QAAQ,EAAEC,SAAU,CAAC;IAC1C,CAAC,CAAC,CAAC,CAAC;EACN;AACF;AAEA,OAAO,MAAM6B,eAAe,GAAGA,CAAC/B,IAAU,EAAEC,QAAgB,KAAK;EAC/D,IAAIT,gBAAgB,IAAIS,QAAQ,KAAK,CAAC,CAAC,EAAE;IACvC,OAAO,IAAIa,mBAAmB,CAACd,IAAI,EAAEC,QAAQ,CAAC;EAChD,CAAC,MAAM;IACL,OAAO,IAAIH,eAAe,CAACE,IAAI,EAAEC,QAAQ,CAAC;EAC5C;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Elements.tsx"],"sourcesContent":["import type {\n FractalNoiseProps,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n AtlasProps,\n ChildrenProps,\n MorphologyImageFilterProps,\n BlendProps,\n SkottieProps,\n ImageFilterProps,\n} from \"../dom/types\";\nimport type { SkiaProps } from \"../renderer\";\n\ndeclare module \"react\" {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skAtlas: SkiaProps<AtlasProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skSkottie: SkiaProps<SkottieProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skImageFilter: SkiaProps<ImageFilterProps>;\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["Elements.tsx"],"sourcesContent":["import type {\n FractalNoiseProps,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n AtlasProps,\n ChildrenProps,\n MorphologyImageFilterProps,\n BlendProps,\n SkottieProps,\n ImageFilterProps,\n} from \"../dom/types\";\nimport type { SkiaProps } from \"../renderer\";\n\ndeclare module \"react\" {\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skAtlas: SkiaProps<AtlasProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skSkottie: SkiaProps<SkottieProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skImageFilter: SkiaProps<ImageFilterProps>;\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ReactReconciler","NodeType","debug","sksgHostConfig","createContainer","skiaReconciler","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaSGRoot","constructor","Skia","nativeId","_defineProperty","container","root","console","error","sg","children","type","Group","props","isDeclaration","updateContainer","element","Promise","resolve","render","mount","redraw","drawOnCanvas","canvas","getPicture","recorder","PictureRecorder","beginRecording","finishRecordingAsPicture","unmount"],"sources":["Reconciler.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport type { SkCanvas, Skia } from \"../skia/types\";\nimport { NodeType } from \"../dom/types\";\n\nimport { debug, sksgHostConfig } from \"./HostConfig\";\nimport type { Container } from \"./StaticContainer\";\nimport { createContainer } from \"./Container\";\n\nimport \"./Elements\";\n\nconst skiaReconciler = ReactReconciler(sksgHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nexport class SkiaSGRoot {\n private root: OpaqueRoot;\n private container: Container;\n\n constructor(public Skia: Skia, nativeId = -1) {\n this.container = createContainer(Skia, nativeId);\n this.root = skiaReconciler.createContainer(\n this.container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n );\n }\n\n get sg() {\n const children = this.container.root;\n return { type: NodeType.Group, props: {}, children, isDeclaration: false };\n }\n\n private updateContainer(element: ReactNode) {\n return new Promise((resolve) => {\n skiaReconciler.updateContainer(element, this.root, null, () => {\n debug(\"updateContainer\");\n resolve(true);\n });\n });\n }\n\n async render(element: ReactNode) {\n this.container.mount();\n await this.updateContainer(element);\n this.container.redraw();\n }\n\n drawOnCanvas(canvas: SkCanvas) {\n this.container.drawOnCanvas(canvas);\n }\n\n getPicture() {\n const recorder = this.Skia.PictureRecorder();\n const canvas = recorder.beginRecording();\n this.drawOnCanvas(canvas);\n return recorder.finishRecordingAsPicture();\n }\n\n unmount() {\n this.container.unmount();\n return new Promise((resolve) => {\n skiaReconciler.updateContainer(null, this.root, null, () => {\n debug(\"unmountContainer\");\n resolve(true);\n });\n });\n }\n}\n"],"mappings":";;;AAEA,OAAOA,eAAe,MAAM,kBAAkB;AAG9C,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,KAAK,EAAEC,cAAc,QAAQ,cAAc;AAEpD,SAASC,eAAe,QAAQ,aAAa;AAE7C,OAAO,YAAY;AAEnB,MAAMC,cAAc,GAAGL,eAAe,CAACG,cAAc,CAAC;AAEtDE,cAAc,CAACC,kBAAkB,CAAC;EAChCC,UAAU,EAAE,CAAC;EACbC,OAAO,EAAE,OAAO;EAChBC,mBAAmB,EAAE;AACvB,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAU,CAAC;EAItBC,WAAWA,CAAQC,IAAU,EAAEC,QAAQ,GAAG,CAAC,CAAC,EAAE;IAAA,KAA3BD,IAAU,GAAVA,IAAU;IAAAE,eAAA;IAAAA,eAAA;IAC3B,IAAI,CAACC,SAAS,GAAGX,eAAe,CAACQ,IAAI,EAAEC,QAAQ,CAAC;IAChD,IAAI,CAACG,IAAI,GAAGX,cAAc,CAACD,eAAe,CACxC,IAAI,CAACW,SAAS,EACd,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,EACFE,OAAO,CAACC,KAAK,EACb,IACF,CAAC;EACH;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAI,CAACL,SAAS,CAACC,IAAI;IACpC,OAAO;MAAEK,IAAI,EAAEpB,QAAQ,CAACqB,KAAK;MAAEC,KAAK,EAAE,CAAC,CAAC;MAAEH,QAAQ;MAAEI,aAAa,EAAE;IAAM,CAAC;EAC5E;EAEQC,eAAeA,CAACC,OAAkB,EAAE;IAC1C,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;MAC9BvB,cAAc,CAACoB,eAAe,CAACC,OAAO,EAAE,IAAI,CAACV,IAAI,EAAE,IAAI,EAAE,MAAM;QAC7Dd,KAAK,CAAC,iBAAiB,CAAC;QACxB0B,OAAO,CAAC,IAAI,CAAC;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,MAAMC,MAAMA,CAACH,OAAkB,EAAE;IAC/B,IAAI,CAACX,SAAS,CAACe,KAAK,CAAC,CAAC;IACtB,MAAM,IAAI,CAACL,eAAe,CAACC,OAAO,CAAC;IACnC,IAAI,CAACX,SAAS,CAACgB,MAAM,CAAC,CAAC;EACzB;EAEAC,YAAYA,CAACC,MAAgB,EAAE;IAC7B,IAAI,CAAClB,SAAS,CAACiB,YAAY,CAACC,MAAM,CAAC;EACrC;EAEAC,UAAUA,CAAA,EAAG;IACX,MAAMC,QAAQ,GAAG,IAAI,CAACvB,IAAI,CAACwB,eAAe,CAAC,CAAC;IAC5C,MAAMH,MAAM,GAAGE,QAAQ,CAACE,cAAc,CAAC,CAAC;IACxC,IAAI,CAACL,YAAY,CAACC,MAAM,CAAC;IACzB,OAAOE,QAAQ,CAACG,wBAAwB,CAAC,CAAC;EAC5C;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACxB,SAAS,CAACwB,OAAO,CAAC,CAAC;IACxB,OAAO,IAAIZ,OAAO,CAAEC,OAAO,IAAK;MAC9BvB,cAAc,CAACoB,eAAe,CAAC,IAAI,EAAE,IAAI,CAACT,IAAI,EAAE,IAAI,EAAE,MAAM;QAC1Dd,KAAK,CAAC,kBAAkB,CAAC;QACzB0B,OAAO,CAAC,IAAI,CAAC;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ReactReconciler","NodeType","debug","sksgHostConfig","createContainer","skiaReconciler","injectIntoDevTools","bundleType","version","rendererPackageName","SkiaSGRoot","constructor","Skia","nativeId","_defineProperty","container","root","console","error","sg","children","type","Group","props","isDeclaration","updateContainer","element","Promise","resolve","render","mount","redraw","drawOnCanvas","canvas","getPicture","recorder","PictureRecorder","beginRecording","finishRecordingAsPicture","unmount"],"sources":["Reconciler.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport type { SkCanvas, Skia } from \"../skia/types\";\nimport { NodeType } from \"../dom/types\";\n\nimport { debug, sksgHostConfig } from \"./HostConfig\";\nimport type { Container } from \"./StaticContainer\";\nimport { createContainer } from \"./Container\";\n\nimport \"./Elements\";\n\nconst skiaReconciler = ReactReconciler(sksgHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nexport class SkiaSGRoot {\n private root: OpaqueRoot;\n private container: Container;\n\n constructor(\n public Skia: Skia,\n nativeId = -1\n ) {\n this.container = createContainer(Skia, nativeId);\n this.root = skiaReconciler.createContainer(\n this.container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n );\n }\n\n get sg() {\n const children = this.container.root;\n return { type: NodeType.Group, props: {}, children, isDeclaration: false };\n }\n\n private updateContainer(element: ReactNode) {\n return new Promise((resolve) => {\n skiaReconciler.updateContainer(element, this.root, null, () => {\n debug(\"updateContainer\");\n resolve(true);\n });\n });\n }\n\n async render(element: ReactNode) {\n this.container.mount();\n await this.updateContainer(element);\n this.container.redraw();\n }\n\n drawOnCanvas(canvas: SkCanvas) {\n this.container.drawOnCanvas(canvas);\n }\n\n getPicture() {\n const recorder = this.Skia.PictureRecorder();\n const canvas = recorder.beginRecording();\n this.drawOnCanvas(canvas);\n return recorder.finishRecordingAsPicture();\n }\n\n unmount() {\n this.container.unmount();\n return new Promise((resolve) => {\n skiaReconciler.updateContainer(null, this.root, null, () => {\n debug(\"unmountContainer\");\n resolve(true);\n });\n });\n }\n}\n"],"mappings":";;;AAEA,OAAOA,eAAe,MAAM,kBAAkB;AAG9C,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,KAAK,EAAEC,cAAc,QAAQ,cAAc;AAEpD,SAASC,eAAe,QAAQ,aAAa;AAE7C,OAAO,YAAY;AAEnB,MAAMC,cAAc,GAAGL,eAAe,CAACG,cAAc,CAAC;AAEtDE,cAAc,CAACC,kBAAkB,CAAC;EAChCC,UAAU,EAAE,CAAC;EACbC,OAAO,EAAE,OAAO;EAChBC,mBAAmB,EAAE;AACvB,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAU,CAAC;EAItBC,WAAWA,CACFC,IAAU,EACjBC,QAAQ,GAAG,CAAC,CAAC,EACb;IAAA,KAFOD,IAAU,GAAVA,IAAU;IAAAE,eAAA;IAAAA,eAAA;IAGjB,IAAI,CAACC,SAAS,GAAGX,eAAe,CAACQ,IAAI,EAAEC,QAAQ,CAAC;IAChD,IAAI,CAACG,IAAI,GAAGX,cAAc,CAACD,eAAe,CACxC,IAAI,CAACW,SAAS,EACd,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,EACFE,OAAO,CAACC,KAAK,EACb,IACF,CAAC;EACH;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAI,CAACL,SAAS,CAACC,IAAI;IACpC,OAAO;MAAEK,IAAI,EAAEpB,QAAQ,CAACqB,KAAK;MAAEC,KAAK,EAAE,CAAC,CAAC;MAAEH,QAAQ;MAAEI,aAAa,EAAE;IAAM,CAAC;EAC5E;EAEQC,eAAeA,CAACC,OAAkB,EAAE;IAC1C,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;MAC9BvB,cAAc,CAACoB,eAAe,CAACC,OAAO,EAAE,IAAI,CAACV,IAAI,EAAE,IAAI,EAAE,MAAM;QAC7Dd,KAAK,CAAC,iBAAiB,CAAC;QACxB0B,OAAO,CAAC,IAAI,CAAC;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,MAAMC,MAAMA,CAACH,OAAkB,EAAE;IAC/B,IAAI,CAACX,SAAS,CAACe,KAAK,CAAC,CAAC;IACtB,MAAM,IAAI,CAACL,eAAe,CAACC,OAAO,CAAC;IACnC,IAAI,CAACX,SAAS,CAACgB,MAAM,CAAC,CAAC;EACzB;EAEAC,YAAYA,CAACC,MAAgB,EAAE;IAC7B,IAAI,CAAClB,SAAS,CAACiB,YAAY,CAACC,MAAM,CAAC;EACrC;EAEAC,UAAUA,CAAA,EAAG;IACX,MAAMC,QAAQ,GAAG,IAAI,CAACvB,IAAI,CAACwB,eAAe,CAAC,CAAC;IAC5C,MAAMH,MAAM,GAAGE,QAAQ,CAACE,cAAc,CAAC,CAAC;IACxC,IAAI,CAACL,YAAY,CAACC,MAAM,CAAC;IACzB,OAAOE,QAAQ,CAACG,wBAAwB,CAAC,CAAC;EAC5C;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACxB,SAAS,CAACwB,OAAO,CAAC,CAAC;IACxB,OAAO,IAAIZ,OAAO,CAAEC,OAAO,IAAK;MAC9BvB,cAAc,CAACoB,eAAe,CAAC,IAAI,EAAE,IAAI,CAACT,IAAI,EAAE,IAAI,EAAE,MAAM;QAC1Dd,KAAK,CAAC,kBAAkB,CAAC;QACzB0B,OAAO,CAAC,IAAI,CAAC;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NodeType","isImageFilter","isShader","sortNodeChildren","processPaint","opacity","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","antiAlias","dither","paint","paintRef","undefined","processCTM","clip","invertClip","transform","origin","matrix","layer","ctm","pushColorFilters","recorder","colorFilters","forEach","colorFilter","children","length","pushColorFilter","type","props","needsComposition","LerpColorFilter","composeColorFilter","pushPathEffects","pathEffects","pathEffect","pushPathEffect","SumPathEffect","composePathEffect","pushImageFilters","imageFilters","imageFilter","pushImageFilter","pushShader","BlendImageFilter","composeImageFilter","pushShaders","shaders","shader","pushMaskFilters","maskFilters","pushBlurMaskFilter","pushPaints","paints","savePaint","restorePaintDeclaration","visitNode","node","Group","saveGroup","drawings","shouldPushPaint","BackdropFilter","saveBackdropFilter","materializePaint","Layer","saveLayer","shouldRestore","saveCTM","Box","shadows","filter","n","BoxShadow","map","drawBox","Fill","drawPaint","Image","drawImage","Circle","drawCircle","Points","drawPoints","Path","drawPath","Rect","drawRect","RRect","drawRRect","Oval","drawOval","Line","drawLine","Patch","drawPatch","Vertices","drawVertices","DiffRect","drawDiffRect","Text","drawText","TextPath","drawTextPath","TextBlob","drawTextBlob","Glyphs","drawGlyphs","Picture","drawPicture","ImageSVG","drawImageSVG","Paragraph","drawParagraph","Skottie","drawSkottie","Atlas","drawAtlas","drawing","restorePaint","restoreCTM","restoreGroup","visit","root"],"sources":["Visitor.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n CTMProps,\n DrawingNodeProps,\n BoxShadowProps,\n} from \"../../dom/types\";\nimport { NodeType } from \"../../dom/types\";\nimport type { BaseRecorder } from \"../../skia/types/Recorder\";\nimport type { Node } from \"../Node\";\nimport { isImageFilter, isShader, sortNodeChildren } from \"../Node\";\n\nexport const processPaint = ({\n opacity,\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n antiAlias,\n dither,\n paint: paintRef,\n}: DrawingNodeProps) => {\n const paint: DrawingNodeProps = {};\n if (opacity !== undefined) {\n paint.opacity = opacity;\n }\n if (color !== undefined) {\n paint.color = color;\n }\n if (strokeWidth !== undefined) {\n paint.strokeWidth = strokeWidth;\n }\n if (blendMode !== undefined) {\n paint.blendMode = blendMode;\n }\n if (style !== undefined) {\n paint.style = style;\n }\n if (strokeJoin !== undefined) {\n paint.strokeJoin = strokeJoin;\n }\n if (strokeCap !== undefined) {\n paint.strokeCap = strokeCap;\n }\n if (strokeMiter !== undefined) {\n paint.strokeMiter = strokeMiter;\n }\n if (antiAlias !== undefined) {\n paint.antiAlias = antiAlias;\n }\n if (dither !== undefined) {\n paint.dither = dither;\n }\n\n if (paintRef !== undefined) {\n paint.paint = paintRef;\n }\n\n if (\n opacity !== undefined ||\n color !== undefined ||\n strokeWidth !== undefined ||\n blendMode !== undefined ||\n style !== undefined ||\n strokeJoin !== undefined ||\n strokeCap !== undefined ||\n strokeMiter !== undefined ||\n antiAlias !== undefined ||\n dither !== undefined ||\n paintRef !== undefined\n ) {\n return paint;\n }\n return null;\n};\n\nconst processCTM = ({\n clip,\n invertClip,\n transform,\n origin,\n matrix,\n layer,\n}: CTMProps) => {\n const ctm: CTMProps = {};\n if (clip) {\n ctm.clip = clip;\n }\n if (invertClip) {\n ctm.invertClip = invertClip;\n }\n if (transform) {\n ctm.transform = transform;\n }\n if (origin) {\n ctm.origin = origin;\n }\n if (matrix) {\n ctm.matrix = matrix;\n }\n if (layer) {\n ctm.layer = layer;\n }\n if (\n clip !== undefined ||\n invertClip !== undefined ||\n transform !== undefined ||\n origin !== undefined ||\n matrix !== undefined ||\n layer !== undefined\n ) {\n return ctm;\n }\n return null;\n};\n\nconst pushColorFilters = (\n recorder: BaseRecorder,\n colorFilters: Node<any>[]\n) => {\n colorFilters.forEach((colorFilter) => {\n if (colorFilter.children.length > 0) {\n pushColorFilters(recorder, colorFilter.children);\n }\n recorder.pushColorFilter(colorFilter.type, colorFilter.props);\n const needsComposition =\n colorFilter.type !== NodeType.LerpColorFilter &&\n colorFilter.children.length > 0;\n if (needsComposition) {\n recorder.composeColorFilter();\n }\n });\n};\n\nconst pushPathEffects = (recorder: BaseRecorder, pathEffects: Node<any>[]) => {\n pathEffects.forEach((pathEffect) => {\n if (pathEffect.children.length > 0) {\n pushPathEffects(recorder, pathEffect.children);\n }\n recorder.pushPathEffect(pathEffect.type, pathEffect.props);\n const needsComposition =\n pathEffect.type !== NodeType.SumPathEffect &&\n pathEffect.children.length > 0;\n if (needsComposition) {\n recorder.composePathEffect();\n }\n });\n};\n\nconst pushImageFilters = (\n recorder: BaseRecorder,\n imageFilters: Node<any>[]\n) => {\n imageFilters.forEach((imageFilter) => {\n if (imageFilter.children.length > 0) {\n pushImageFilters(recorder, imageFilter.children);\n }\n if (isImageFilter(imageFilter.type)) {\n recorder.pushImageFilter(imageFilter.type, imageFilter.props);\n } else if (isShader(imageFilter.type)) {\n recorder.pushShader(imageFilter.type, imageFilter.props, 0);\n }\n const needsComposition =\n imageFilter.type !== NodeType.BlendImageFilter &&\n imageFilter.children.length > 0;\n if (needsComposition) {\n recorder.composeImageFilter();\n }\n });\n};\n\nconst pushShaders = (recorder: BaseRecorder, shaders: Node<any>[]) => {\n shaders.forEach((shader) => {\n if (shader.children.length > 0) {\n pushShaders(recorder, shader.children);\n }\n recorder.pushShader(shader.type, shader.props, shader.children.length);\n });\n};\n\nconst pushMaskFilters = (recorder: BaseRecorder, maskFilters: Node<any>[]) => {\n if (maskFilters.length > 0) {\n recorder.pushBlurMaskFilter(maskFilters[maskFilters.length - 1].props);\n }\n};\n\nconst pushPaints = (recorder: BaseRecorder, paints: Node<any>[]) => {\n paints.forEach((paint) => {\n recorder.savePaint(paint.props, true);\n const { colorFilters, maskFilters, shaders, imageFilters, pathEffects } =\n sortNodeChildren(paint);\n pushColorFilters(recorder, colorFilters);\n pushImageFilters(recorder, imageFilters);\n pushMaskFilters(recorder, maskFilters);\n pushShaders(recorder, shaders);\n pushPathEffects(recorder, pathEffects);\n recorder.restorePaintDeclaration();\n });\n};\n\nconst visitNode = (recorder: BaseRecorder, node: Node<any>) => {\n if (node.type === NodeType.Group) {\n recorder.saveGroup();\n }\n const { props } = node;\n const {\n colorFilters,\n maskFilters,\n drawings,\n shaders,\n imageFilters,\n pathEffects,\n paints,\n } = sortNodeChildren(node);\n const paint = processPaint(props);\n const shouldPushPaint =\n paint ||\n colorFilters.length > 0 ||\n maskFilters.length > 0 ||\n imageFilters.length > 0 ||\n pathEffects.length > 0 ||\n shaders.length > 0;\n if (shouldPushPaint) {\n recorder.savePaint(paint ?? {}, false);\n pushColorFilters(recorder, colorFilters);\n pushImageFilters(recorder, imageFilters);\n pushMaskFilters(recorder, maskFilters);\n pushShaders(recorder, shaders);\n pushPathEffects(recorder, pathEffects);\n // For mixed nodes like BackdropFilters we don't materialize the paint\n if (node.type === NodeType.BackdropFilter) {\n recorder.saveBackdropFilter();\n } else {\n recorder.materializePaint();\n }\n }\n pushPaints(recorder, paints);\n if (node.type === NodeType.Layer) {\n recorder.saveLayer();\n }\n const ctm = processCTM(props);\n const shouldRestore = !!ctm || node.type === NodeType.Layer;\n if (ctm) {\n recorder.saveCTM(ctm);\n }\n switch (node.type) {\n case NodeType.Box:\n const shadows = node.children\n .filter((n) => n.type === NodeType.BoxShadow)\n // eslint-disable-next-line @typescript-eslint/no-shadow\n .map(({ props }) => ({ props } as { props: BoxShadowProps }));\n recorder.drawBox(props, shadows);\n break;\n case NodeType.Fill:\n recorder.drawPaint();\n break;\n case NodeType.Image:\n recorder.drawImage(props);\n break;\n case NodeType.Circle:\n recorder.drawCircle(props);\n break;\n case NodeType.Points:\n recorder.drawPoints(props);\n break;\n case NodeType.Path:\n recorder.drawPath(props);\n break;\n case NodeType.Rect:\n recorder.drawRect(props);\n break;\n case NodeType.RRect:\n recorder.drawRRect(props);\n break;\n case NodeType.Oval:\n recorder.drawOval(props);\n break;\n case NodeType.Line:\n recorder.drawLine(props);\n break;\n case NodeType.Patch:\n recorder.drawPatch(props);\n break;\n case NodeType.Vertices:\n recorder.drawVertices(props);\n break;\n case NodeType.DiffRect:\n recorder.drawDiffRect(props);\n break;\n case NodeType.Text:\n recorder.drawText(props);\n break;\n case NodeType.TextPath:\n recorder.drawTextPath(props);\n break;\n case NodeType.TextBlob:\n recorder.drawTextBlob(props);\n break;\n case NodeType.Glyphs:\n recorder.drawGlyphs(props);\n break;\n case NodeType.Picture:\n recorder.drawPicture(props);\n break;\n case NodeType.ImageSVG:\n recorder.drawImageSVG(props);\n break;\n case NodeType.Paragraph:\n recorder.drawParagraph(props);\n break;\n case NodeType.Skottie:\n recorder.drawSkottie(props);\n break;\n case NodeType.Atlas:\n recorder.drawAtlas(props);\n break;\n }\n drawings.forEach((drawing) => {\n visitNode(recorder, drawing);\n });\n if (shouldPushPaint) {\n recorder.restorePaint();\n }\n if (shouldRestore) {\n recorder.restoreCTM();\n }\n if (node.type === NodeType.Group) {\n recorder.restoreGroup();\n }\n};\n\nexport const visit = (recorder: BaseRecorder, root: Node[]) => {\n root.forEach((node) => {\n visitNode(recorder, node);\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NodeType","isImageFilter","isShader","sortNodeChildren","processPaint","opacity","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","antiAlias","dither","paint","paintRef","undefined","processCTM","clip","invertClip","transform","origin","matrix","layer","ctm","pushColorFilters","recorder","colorFilters","forEach","colorFilter","children","length","pushColorFilter","type","props","needsComposition","LerpColorFilter","composeColorFilter","pushPathEffects","pathEffects","pathEffect","pushPathEffect","SumPathEffect","composePathEffect","pushImageFilters","imageFilters","imageFilter","pushImageFilter","pushShader","BlendImageFilter","composeImageFilter","pushShaders","shaders","shader","pushMaskFilters","maskFilters","pushBlurMaskFilter","pushPaints","paints","savePaint","restorePaintDeclaration","visitNode","node","Group","saveGroup","drawings","shouldPushPaint","BackdropFilter","saveBackdropFilter","materializePaint","Layer","saveLayer","shouldRestore","saveCTM","Box","shadows","filter","n","BoxShadow","map","drawBox","Fill","drawPaint","Image","drawImage","Circle","drawCircle","Points","drawPoints","Path","drawPath","Rect","drawRect","RRect","drawRRect","Oval","drawOval","Line","drawLine","Patch","drawPatch","Vertices","drawVertices","DiffRect","drawDiffRect","Text","drawText","TextPath","drawTextPath","TextBlob","drawTextBlob","Glyphs","drawGlyphs","Picture","drawPicture","ImageSVG","drawImageSVG","Paragraph","drawParagraph","Skottie","drawSkottie","Atlas","drawAtlas","drawing","restorePaint","restoreCTM","restoreGroup","visit","root"],"sources":["Visitor.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type {\n CTMProps,\n DrawingNodeProps,\n BoxShadowProps,\n} from \"../../dom/types\";\nimport { NodeType } from \"../../dom/types\";\nimport type { BaseRecorder } from \"../../skia/types/Recorder\";\nimport type { Node } from \"../Node\";\nimport { isImageFilter, isShader, sortNodeChildren } from \"../Node\";\n\nexport const processPaint = ({\n opacity,\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n antiAlias,\n dither,\n paint: paintRef,\n}: DrawingNodeProps) => {\n const paint: DrawingNodeProps = {};\n if (opacity !== undefined) {\n paint.opacity = opacity;\n }\n if (color !== undefined) {\n paint.color = color;\n }\n if (strokeWidth !== undefined) {\n paint.strokeWidth = strokeWidth;\n }\n if (blendMode !== undefined) {\n paint.blendMode = blendMode;\n }\n if (style !== undefined) {\n paint.style = style;\n }\n if (strokeJoin !== undefined) {\n paint.strokeJoin = strokeJoin;\n }\n if (strokeCap !== undefined) {\n paint.strokeCap = strokeCap;\n }\n if (strokeMiter !== undefined) {\n paint.strokeMiter = strokeMiter;\n }\n if (antiAlias !== undefined) {\n paint.antiAlias = antiAlias;\n }\n if (dither !== undefined) {\n paint.dither = dither;\n }\n\n if (paintRef !== undefined) {\n paint.paint = paintRef;\n }\n\n if (\n opacity !== undefined ||\n color !== undefined ||\n strokeWidth !== undefined ||\n blendMode !== undefined ||\n style !== undefined ||\n strokeJoin !== undefined ||\n strokeCap !== undefined ||\n strokeMiter !== undefined ||\n antiAlias !== undefined ||\n dither !== undefined ||\n paintRef !== undefined\n ) {\n return paint;\n }\n return null;\n};\n\nconst processCTM = ({\n clip,\n invertClip,\n transform,\n origin,\n matrix,\n layer,\n}: CTMProps) => {\n const ctm: CTMProps = {};\n if (clip) {\n ctm.clip = clip;\n }\n if (invertClip) {\n ctm.invertClip = invertClip;\n }\n if (transform) {\n ctm.transform = transform;\n }\n if (origin) {\n ctm.origin = origin;\n }\n if (matrix) {\n ctm.matrix = matrix;\n }\n if (layer) {\n ctm.layer = layer;\n }\n if (\n clip !== undefined ||\n invertClip !== undefined ||\n transform !== undefined ||\n origin !== undefined ||\n matrix !== undefined ||\n layer !== undefined\n ) {\n return ctm;\n }\n return null;\n};\n\nconst pushColorFilters = (\n recorder: BaseRecorder,\n colorFilters: Node<any>[]\n) => {\n colorFilters.forEach((colorFilter) => {\n if (colorFilter.children.length > 0) {\n pushColorFilters(recorder, colorFilter.children);\n }\n recorder.pushColorFilter(colorFilter.type, colorFilter.props);\n const needsComposition =\n colorFilter.type !== NodeType.LerpColorFilter &&\n colorFilter.children.length > 0;\n if (needsComposition) {\n recorder.composeColorFilter();\n }\n });\n};\n\nconst pushPathEffects = (recorder: BaseRecorder, pathEffects: Node<any>[]) => {\n pathEffects.forEach((pathEffect) => {\n if (pathEffect.children.length > 0) {\n pushPathEffects(recorder, pathEffect.children);\n }\n recorder.pushPathEffect(pathEffect.type, pathEffect.props);\n const needsComposition =\n pathEffect.type !== NodeType.SumPathEffect &&\n pathEffect.children.length > 0;\n if (needsComposition) {\n recorder.composePathEffect();\n }\n });\n};\n\nconst pushImageFilters = (\n recorder: BaseRecorder,\n imageFilters: Node<any>[]\n) => {\n imageFilters.forEach((imageFilter) => {\n if (imageFilter.children.length > 0) {\n pushImageFilters(recorder, imageFilter.children);\n }\n if (isImageFilter(imageFilter.type)) {\n recorder.pushImageFilter(imageFilter.type, imageFilter.props);\n } else if (isShader(imageFilter.type)) {\n recorder.pushShader(imageFilter.type, imageFilter.props, 0);\n }\n const needsComposition =\n imageFilter.type !== NodeType.BlendImageFilter &&\n imageFilter.children.length > 0;\n if (needsComposition) {\n recorder.composeImageFilter();\n }\n });\n};\n\nconst pushShaders = (recorder: BaseRecorder, shaders: Node<any>[]) => {\n shaders.forEach((shader) => {\n if (shader.children.length > 0) {\n pushShaders(recorder, shader.children);\n }\n recorder.pushShader(shader.type, shader.props, shader.children.length);\n });\n};\n\nconst pushMaskFilters = (recorder: BaseRecorder, maskFilters: Node<any>[]) => {\n if (maskFilters.length > 0) {\n recorder.pushBlurMaskFilter(maskFilters[maskFilters.length - 1].props);\n }\n};\n\nconst pushPaints = (recorder: BaseRecorder, paints: Node<any>[]) => {\n paints.forEach((paint) => {\n recorder.savePaint(paint.props, true);\n const { colorFilters, maskFilters, shaders, imageFilters, pathEffects } =\n sortNodeChildren(paint);\n pushColorFilters(recorder, colorFilters);\n pushImageFilters(recorder, imageFilters);\n pushMaskFilters(recorder, maskFilters);\n pushShaders(recorder, shaders);\n pushPathEffects(recorder, pathEffects);\n recorder.restorePaintDeclaration();\n });\n};\n\nconst visitNode = (recorder: BaseRecorder, node: Node<any>) => {\n if (node.type === NodeType.Group) {\n recorder.saveGroup();\n }\n const { props } = node;\n const {\n colorFilters,\n maskFilters,\n drawings,\n shaders,\n imageFilters,\n pathEffects,\n paints,\n } = sortNodeChildren(node);\n const paint = processPaint(props);\n const shouldPushPaint =\n paint ||\n colorFilters.length > 0 ||\n maskFilters.length > 0 ||\n imageFilters.length > 0 ||\n pathEffects.length > 0 ||\n shaders.length > 0;\n if (shouldPushPaint) {\n recorder.savePaint(paint ?? {}, false);\n pushColorFilters(recorder, colorFilters);\n pushImageFilters(recorder, imageFilters);\n pushMaskFilters(recorder, maskFilters);\n pushShaders(recorder, shaders);\n pushPathEffects(recorder, pathEffects);\n // For mixed nodes like BackdropFilters we don't materialize the paint\n if (node.type === NodeType.BackdropFilter) {\n recorder.saveBackdropFilter();\n } else {\n recorder.materializePaint();\n }\n }\n pushPaints(recorder, paints);\n if (node.type === NodeType.Layer) {\n recorder.saveLayer();\n }\n const ctm = processCTM(props);\n const shouldRestore = !!ctm || node.type === NodeType.Layer;\n if (ctm) {\n recorder.saveCTM(ctm);\n }\n switch (node.type) {\n case NodeType.Box:\n const shadows = node.children\n .filter((n) => n.type === NodeType.BoxShadow)\n // eslint-disable-next-line @typescript-eslint/no-shadow\n .map(({ props }) => ({ props }) as { props: BoxShadowProps });\n recorder.drawBox(props, shadows);\n break;\n case NodeType.Fill:\n recorder.drawPaint();\n break;\n case NodeType.Image:\n recorder.drawImage(props);\n break;\n case NodeType.Circle:\n recorder.drawCircle(props);\n break;\n case NodeType.Points:\n recorder.drawPoints(props);\n break;\n case NodeType.Path:\n recorder.drawPath(props);\n break;\n case NodeType.Rect:\n recorder.drawRect(props);\n break;\n case NodeType.RRect:\n recorder.drawRRect(props);\n break;\n case NodeType.Oval:\n recorder.drawOval(props);\n break;\n case NodeType.Line:\n recorder.drawLine(props);\n break;\n case NodeType.Patch:\n recorder.drawPatch(props);\n break;\n case NodeType.Vertices:\n recorder.drawVertices(props);\n break;\n case NodeType.DiffRect:\n recorder.drawDiffRect(props);\n break;\n case NodeType.Text:\n recorder.drawText(props);\n break;\n case NodeType.TextPath:\n recorder.drawTextPath(props);\n break;\n case NodeType.TextBlob:\n recorder.drawTextBlob(props);\n break;\n case NodeType.Glyphs:\n recorder.drawGlyphs(props);\n break;\n case NodeType.Picture:\n recorder.drawPicture(props);\n break;\n case NodeType.ImageSVG:\n recorder.drawImageSVG(props);\n break;\n case NodeType.Paragraph:\n recorder.drawParagraph(props);\n break;\n case NodeType.Skottie:\n recorder.drawSkottie(props);\n break;\n case NodeType.Atlas:\n recorder.drawAtlas(props);\n break;\n }\n drawings.forEach((drawing) => {\n visitNode(recorder, drawing);\n });\n if (shouldPushPaint) {\n recorder.restorePaint();\n }\n if (shouldRestore) {\n recorder.restoreCTM();\n }\n if (node.type === NodeType.Group) {\n recorder.restoreGroup();\n }\n};\n\nexport const visit = (recorder: BaseRecorder, root: Node[]) => {\n root.forEach((node) => {\n visitNode(recorder, node);\n });\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Recorder","visit","replay","createDrawingContext","Container","constructor","Skia","_defineProperty","root","_root","value","mount","unmounted","unmount","drawOnCanvas","canvas","recording","Error","ctx","paintPool","commands","StaticContainer","nativeId","redraw","recorder","getRecording","isOnScreen","rec","PictureRecorder","beginRecording","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty"],"sources":["StaticContainer.ts"],"sourcesContent":["import type { Skia, SkCanvas } from \"../skia/types\";\n\nimport type { Node } from \"./Node\";\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\n\nimport \"../views/api\";\n\nexport abstract class Container {\n private _root: Node[] = [];\n protected recording: Recording | null = null;\n protected unmounted = false;\n\n constructor(protected Skia: Skia) {}\n\n get root() {\n return this._root;\n }\n\n set root(value: Node[]) {\n this._root = value;\n }\n\n mount() {\n this.unmounted = false;\n }\n\n unmount() {\n this.unmounted = true;\n }\n\n drawOnCanvas(canvas: SkCanvas) {\n if (!this.recording) {\n throw new Error(\"No recording to draw\");\n }\n const ctx = createDrawingContext(\n this.Skia,\n this.recording.paintPool,\n canvas\n );\n replay(ctx, this.recording.commands);\n }\n\n abstract redraw(): void;\n}\n\nexport class StaticContainer extends Container {\n constructor(Skia: Skia, private nativeId: number) {\n super(Skia);\n }\n\n redraw() {\n const recorder = new Recorder();\n visit(recorder, this.root);\n this.recording = recorder.getRecording();\n const isOnScreen = this.nativeId !== -1;\n if (isOnScreen) {\n const rec = this.Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n this.drawOnCanvas(canvas);\n const picture = rec.finishRecordingAsPicture();\n SkiaViewApi.setJsiProperty(this.nativeId, \"picture\", picture);\n }\n }\n}\n"],"mappings":";;;AAIA,SAASA,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,OAAO,cAAc;AAErB,OAAO,MAAeC,SAAS,CAAC;EAK9BC,WAAWA,CAAWC,IAAU,EAAE;IAAA,KAAZA,IAAU,GAAVA,IAAU;IAAAC,eAAA,gBAJR,EAAE;IAAAA,eAAA,oBACc,IAAI;IAAAA,eAAA,oBACtB,KAAK;EAEQ;EAEnC,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,KAAK;EACnB;EAEA,IAAID,IAAIA,CAACE,KAAa,EAAE;IACtB,IAAI,CAACD,KAAK,GAAGC,KAAK;EACpB;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACC,SAAS,GAAG,KAAK;EACxB;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACD,SAAS,GAAG,IAAI;EACvB;EAEAE,YAAYA,CAACC,MAAgB,EAAE;IAC7B,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MACnB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IACzC;IACA,MAAMC,GAAG,GAAGf,oBAAoB,CAC9B,IAAI,CAACG,IAAI,EACT,IAAI,CAACU,SAAS,CAACG,SAAS,EACxBJ,MACF,CAAC;IACDb,MAAM,CAACgB,GAAG,EAAE,IAAI,CAACF,SAAS,CAACI,QAAQ,CAAC;EACtC;AAGF;AAEA,OAAO,MAAMC,eAAe,SAASjB,SAAS,CAAC;EAC7CC,WAAWA,CAACC,IAAU,EAAUgB,QAAgB,EAAE;IAChD,KAAK,CAAChB,IAAI,CAAC;IAAC,KADkBgB,QAAgB,GAAhBA,QAAgB;EAEhD;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAIxB,QAAQ,CAAC,CAAC;IAC/BC,KAAK,CAACuB,QAAQ,EAAE,IAAI,CAAChB,IAAI,CAAC;IAC1B,IAAI,CAACQ,SAAS,GAAGQ,QAAQ,CAACC,YAAY,CAAC,CAAC;IACxC,MAAMC,UAAU,GAAG,IAAI,CAACJ,QAAQ,KAAK,CAAC,CAAC;IACvC,IAAII,UAAU,EAAE;MACd,MAAMC,GAAG,GAAG,IAAI,CAACrB,IAAI,CAACsB,eAAe,CAAC,CAAC;MACvC,MAAMb,MAAM,GAAGY,GAAG,CAACE,cAAc,CAAC,CAAC;MACnC,IAAI,CAACf,YAAY,CAACC,MAAM,CAAC;MACzB,MAAMe,OAAO,GAAGH,GAAG,CAACI,wBAAwB,CAAC,CAAC;MAC9CC,WAAW,CAACC,cAAc,CAAC,IAAI,CAACX,QAAQ,EAAE,SAAS,EAAEQ,OAAO,CAAC;IAC/D;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Recorder","visit","replay","createDrawingContext","Container","constructor","Skia","_defineProperty","root","_root","value","mount","unmounted","unmount","drawOnCanvas","canvas","recording","Error","ctx","paintPool","commands","StaticContainer","nativeId","redraw","recorder","getRecording","isOnScreen","rec","PictureRecorder","beginRecording","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty"],"sources":["StaticContainer.ts"],"sourcesContent":["import type { Skia, SkCanvas } from \"../skia/types\";\n\nimport type { Node } from \"./Node\";\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\n\nimport \"../views/api\";\n\nexport abstract class Container {\n private _root: Node[] = [];\n protected recording: Recording | null = null;\n protected unmounted = false;\n\n constructor(protected Skia: Skia) {}\n\n get root() {\n return this._root;\n }\n\n set root(value: Node[]) {\n this._root = value;\n }\n\n mount() {\n this.unmounted = false;\n }\n\n unmount() {\n this.unmounted = true;\n }\n\n drawOnCanvas(canvas: SkCanvas) {\n if (!this.recording) {\n throw new Error(\"No recording to draw\");\n }\n const ctx = createDrawingContext(\n this.Skia,\n this.recording.paintPool,\n canvas\n );\n replay(ctx, this.recording.commands);\n }\n\n abstract redraw(): void;\n}\n\nexport class StaticContainer extends Container {\n constructor(\n Skia: Skia,\n private nativeId: number\n ) {\n super(Skia);\n }\n\n redraw() {\n const recorder = new Recorder();\n visit(recorder, this.root);\n this.recording = recorder.getRecording();\n const isOnScreen = this.nativeId !== -1;\n if (isOnScreen) {\n const rec = this.Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n this.drawOnCanvas(canvas);\n const picture = rec.finishRecordingAsPicture();\n SkiaViewApi.setJsiProperty(this.nativeId, \"picture\", picture);\n }\n }\n}\n"],"mappings":";;;AAIA,SAASA,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,OAAO,cAAc;AAErB,OAAO,MAAeC,SAAS,CAAC;EAK9BC,WAAWA,CAAWC,IAAU,EAAE;IAAA,KAAZA,IAAU,GAAVA,IAAU;IAAAC,eAAA,gBAJR,EAAE;IAAAA,eAAA,oBACc,IAAI;IAAAA,eAAA,oBACtB,KAAK;EAEQ;EAEnC,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,KAAK;EACnB;EAEA,IAAID,IAAIA,CAACE,KAAa,EAAE;IACtB,IAAI,CAACD,KAAK,GAAGC,KAAK;EACpB;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACC,SAAS,GAAG,KAAK;EACxB;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACD,SAAS,GAAG,IAAI;EACvB;EAEAE,YAAYA,CAACC,MAAgB,EAAE;IAC7B,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MACnB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IACzC;IACA,MAAMC,GAAG,GAAGf,oBAAoB,CAC9B,IAAI,CAACG,IAAI,EACT,IAAI,CAACU,SAAS,CAACG,SAAS,EACxBJ,MACF,CAAC;IACDb,MAAM,CAACgB,GAAG,EAAE,IAAI,CAACF,SAAS,CAACI,QAAQ,CAAC;EACtC;AAGF;AAEA,OAAO,MAAMC,eAAe,SAASjB,SAAS,CAAC;EAC7CC,WAAWA,CACTC,IAAU,EACFgB,QAAgB,EACxB;IACA,KAAK,CAAChB,IAAI,CAAC;IAAC,KAFJgB,QAAgB,GAAhBA,QAAgB;EAG1B;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAIxB,QAAQ,CAAC,CAAC;IAC/BC,KAAK,CAACuB,QAAQ,EAAE,IAAI,CAAChB,IAAI,CAAC;IAC1B,IAAI,CAACQ,SAAS,GAAGQ,QAAQ,CAACC,YAAY,CAAC,CAAC;IACxC,MAAMC,UAAU,GAAG,IAAI,CAACJ,QAAQ,KAAK,CAAC,CAAC;IACvC,IAAII,UAAU,EAAE;MACd,MAAMC,GAAG,GAAG,IAAI,CAACrB,IAAI,CAACsB,eAAe,CAAC,CAAC;MACvC,MAAMb,MAAM,GAAGY,GAAG,CAACE,cAAc,CAAC,CAAC;MACnC,IAAI,CAACf,YAAY,CAACC,MAAM,CAAC;MACzB,MAAMe,OAAO,GAAGH,GAAG,CAACI,wBAAwB,CAAC,CAAC;MAC9CC,WAAW,CAACC,cAAc,CAAC,IAAI,CAACX,QAAQ,EAAE,SAAS,EAAEQ,OAAO,CAAC;IAC/D;EACF;AACF","ignoreList":[]}
@@ -226,10 +226,12 @@ export const SkiaPictureView = /*#__PURE__*/forwardRef((props, ref) => {
226
226
  redraw,
227
227
  makeImageSnapshot
228
228
  });
229
+ }, [setPicture, getSize, redraw, makeImageSnapshot, props.nativeID]);
230
+ useEffect(() => {
229
231
  if (props.picture) {
230
232
  setPicture(props.picture);
231
233
  }
232
- }, [setPicture, getSize, redraw, makeImageSnapshot, props]);
234
+ }, [setPicture, props.picture]);
233
235
  useEffect(() => {
234
236
  tick();
235
237
  return () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useEffect","useCallback","useImperativeHandle","forwardRef","JsiSkSurface","Platform","SkiaViewNativeId","WebGLRenderer","constructor","canvas","pd","_defineProperty","onResize","makeImageSnapshot","picture","rect","surface","getCanvas","clear","CanvasKit","TRANSPARENT","draw","ref","flush","width","clientWidth","height","clientHeight","MakeWebGLCanvasSurface","ctx","getContext","drawingBufferColorSpace","Error","Float32Array","of","save","scale","drawPicture","restore","dispose","_this$canvas","getExtension","loseContext","delete","StaticWebGLRenderer","cachedImage","renderPictureToSurface","tempCanvas","OffscreenCanvas","webglSurface","skiaCanvas","error","cleanupWebGLContext","renderResult","ctx2d","drawImage","console","_this$cachedImage","PixelRatio","SkiaPictureView","props","canvasRef","renderer","redrawRequestsRef","requestIdRef","pictureRef","onLayout","redraw","current","getSize","_canvasRef$current","_canvasRef$current2","setPicture","newPicture","tick","requestAnimationFrame","onLayoutEvent","evt","__destroyWebGLContextAfterRender","_props$nativeID","nativeID","global","SkiaViewApi","registerView","cancelAnimationFrame","debug","viewProps","createElement","View","_extends","style","display","flex"],"sources":["SkiaPictureView.web.tsx"],"sourcesContent":["/* global HTMLCanvasElement */\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport type { SkRect, SkPicture, SkImage } from \"../skia/types\";\nimport { JsiSkSurface } from \"../skia/web/JsiSkSurface\";\nimport { Platform } from \"../Platform\";\nimport type { ISkiaViewApiWeb } from \"../specs/NativeSkiaModule.web\";\n\nimport type { SkiaPictureViewNativeProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\ninterface Renderer {\n onResize(): void;\n draw(picture: SkPicture): void;\n makeImageSnapshot(picture: SkPicture, rect?: SkRect): SkImage | null;\n dispose(): void;\n}\n\nclass WebGLRenderer implements Renderer {\n private surface: JsiSkSurface | null = null;\n\n constructor(private canvas: HTMLCanvasElement, private pd: number) {\n this.onResize();\n }\n\n makeImageSnapshot(picture: SkPicture, rect?: SkRect): SkImage | null {\n if (!this.surface) {\n return null;\n }\n const canvas = this.surface.getCanvas();\n canvas!.clear(CanvasKit.TRANSPARENT);\n this.draw(picture);\n this.surface.ref.flush();\n return this.surface.makeImageSnapshot(rect);\n }\n\n onResize() {\n const { canvas, pd } = this;\n canvas.width = canvas.clientWidth * pd;\n canvas.height = canvas.clientHeight * pd;\n const surface = CanvasKit.MakeWebGLCanvasSurface(canvas);\n const ctx = canvas.getContext(\"webgl2\");\n if (ctx) {\n ctx.drawingBufferColorSpace = \"display-p3\";\n }\n if (!surface) {\n throw new Error(\"Could not create surface\");\n }\n this.surface = new JsiSkSurface(CanvasKit, surface);\n }\n\n draw(picture: SkPicture) {\n if (this.surface) {\n const canvas = this.surface.getCanvas();\n canvas.clear(Float32Array.of(0, 0, 0, 0));\n canvas.save();\n canvas.scale(pd, pd);\n canvas.drawPicture(picture);\n canvas.restore();\n this.surface.ref.flush();\n }\n }\n\n dispose(): void {\n if (this.surface) {\n this.canvas\n ?.getContext(\"webgl2\")\n ?.getExtension(\"WEBGL_lose_context\")\n ?.loseContext();\n this.surface.ref.delete();\n this.surface = null;\n }\n }\n}\n\nclass StaticWebGLRenderer implements Renderer {\n private cachedImage: SkImage | null = null;\n\n constructor(private canvas: HTMLCanvasElement, private pd: number) {}\n\n onResize(): void {\n this.cachedImage = null;\n }\n\n private renderPictureToSurface(\n picture: SkPicture\n ): { surface: JsiSkSurface; tempCanvas: OffscreenCanvas } | null {\n const tempCanvas = new OffscreenCanvas(\n this.canvas.clientWidth * this.pd,\n this.canvas.clientHeight * this.pd\n );\n\n let surface: JsiSkSurface | null = null;\n\n try {\n const webglSurface = CanvasKit.MakeWebGLCanvasSurface(tempCanvas);\n const ctx = tempCanvas.getContext(\"webgl2\");\n if (ctx) {\n ctx.drawingBufferColorSpace = \"display-p3\";\n }\n\n if (!webglSurface) {\n throw new Error(\"Could not create WebGL surface\");\n }\n\n surface = new JsiSkSurface(CanvasKit, webglSurface);\n\n const skiaCanvas = surface.getCanvas();\n skiaCanvas.clear(Float32Array.of(0, 0, 0, 0));\n skiaCanvas.save();\n skiaCanvas.scale(this.pd, this.pd);\n skiaCanvas.drawPicture(picture);\n skiaCanvas.restore();\n surface.ref.flush();\n\n return { surface, tempCanvas };\n } catch (error) {\n if (surface) {\n surface.ref.delete();\n }\n this.cleanupWebGLContext(tempCanvas);\n return null;\n }\n }\n\n private cleanupWebGLContext(tempCanvas: OffscreenCanvas): void {\n const ctx = tempCanvas.getContext(\"webgl2\");\n if (ctx) {\n const loseContext = ctx.getExtension(\"WEBGL_lose_context\");\n if (loseContext) {\n loseContext.loseContext();\n }\n }\n }\n\n draw(picture: SkPicture): void {\n const renderResult = this.renderPictureToSurface(picture);\n if (!renderResult) {\n return;\n }\n const { tempCanvas } = renderResult;\n const ctx2d = this.canvas.getContext(\"2d\");\n if (!ctx2d) {\n throw new Error(\"Could not get 2D context\");\n }\n\n // Set canvas dimensions to match pixel density\n this.canvas.width = this.canvas.clientWidth * this.pd;\n this.canvas.height = this.canvas.clientHeight * this.pd;\n\n // Draw the tempCanvas scaled down to the display size\n ctx2d.drawImage(\n tempCanvas,\n 0,\n 0,\n tempCanvas.width,\n tempCanvas.height,\n 0,\n 0,\n this.canvas.clientWidth * this.pd,\n this.canvas.clientHeight * this.pd\n );\n\n this.cleanupWebGLContext(tempCanvas);\n }\n\n makeImageSnapshot(picture: SkPicture, rect?: SkRect): SkImage | null {\n if (!this.cachedImage) {\n const renderResult = this.renderPictureToSurface(picture);\n if (!renderResult) {\n return null;\n }\n\n const { surface, tempCanvas } = renderResult;\n\n try {\n this.cachedImage = surface.makeImageSnapshot(rect);\n } catch (error) {\n console.error(\"Error creating image snapshot:\", error);\n } finally {\n surface.ref.delete();\n this.cleanupWebGLContext(tempCanvas);\n }\n }\n\n return this.cachedImage;\n }\n\n dispose(): void {\n this.cachedImage?.dispose();\n this.cachedImage = null;\n }\n}\n\nconst pd = Platform.PixelRatio;\n\nexport interface SkiaPictureViewHandle {\n setPicture(picture: SkPicture): void;\n getSize(): { width: number; height: number };\n redraw(): void;\n makeImageSnapshot(rect?: SkRect): SkImage | null;\n}\n\nexport const SkiaPictureView = forwardRef<\n SkiaPictureViewHandle,\n SkiaPictureViewNativeProps\n>((props, ref) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const renderer = useRef<Renderer | null>(null);\n const redrawRequestsRef = useRef(0);\n const requestIdRef = useRef(0);\n const pictureRef = useRef<SkPicture | null>(null);\n\n const { picture, onLayout } = props;\n\n const redraw = useCallback(() => {\n redrawRequestsRef.current++;\n }, []);\n\n const getSize = useCallback(() => {\n return {\n width: canvasRef.current?.clientWidth || 0,\n height: canvasRef.current?.clientHeight || 0,\n };\n }, []);\n\n const setPicture = useCallback(\n (newPicture: SkPicture) => {\n pictureRef.current = newPicture;\n redraw();\n },\n [redraw]\n );\n\n const makeImageSnapshot = useCallback((rect?: SkRect) => {\n if (renderer.current && pictureRef.current) {\n return renderer.current.makeImageSnapshot(pictureRef.current, rect);\n }\n return null;\n }, []);\n\n const tick = useCallback(() => {\n if (redrawRequestsRef.current > 0) {\n redrawRequestsRef.current = 0;\n if (renderer.current && pictureRef.current) {\n renderer.current.draw(pictureRef.current);\n }\n }\n requestIdRef.current = requestAnimationFrame(tick);\n }, []);\n\n const onLayoutEvent = useCallback(\n (evt: LayoutChangeEvent) => {\n const canvas = canvasRef.current;\n if (canvas) {\n renderer.current =\n props.__destroyWebGLContextAfterRender === true\n ? new StaticWebGLRenderer(canvas, pd)\n : new WebGLRenderer(canvas, pd);\n if (pictureRef.current) {\n renderer.current.draw(pictureRef.current);\n }\n }\n if (onLayout) {\n onLayout(evt);\n }\n },\n [onLayout, props.__destroyWebGLContextAfterRender]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n setPicture,\n getSize,\n redraw,\n makeImageSnapshot,\n }),\n [setPicture, getSize, redraw, makeImageSnapshot]\n );\n\n useEffect(() => {\n const nativeID = props.nativeID ?? `${SkiaViewNativeId.current++}`;\n (global.SkiaViewApi as ISkiaViewApiWeb).registerView(nativeID, {\n setPicture,\n getSize,\n redraw,\n makeImageSnapshot,\n } as SkiaPictureViewHandle);\n if (props.picture) {\n setPicture(props.picture);\n }\n }, [setPicture, getSize, redraw, makeImageSnapshot, props]);\n\n useEffect(() => {\n tick();\n return () => {\n cancelAnimationFrame(requestIdRef.current);\n if (renderer.current) {\n renderer.current.dispose();\n renderer.current = null;\n }\n };\n }, [tick]);\n\n useEffect(() => {\n if (renderer.current && pictureRef.current) {\n renderer.current.draw(pictureRef.current);\n }\n }, [picture, redraw]);\n\n const { debug = false, ...viewProps } = props;\n return (\n <Platform.View {...viewProps} onLayout={onLayoutEvent}>\n <canvas ref={canvasRef} style={{ display: \"flex\", flex: 1 }} />\n </Platform.View>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","useEffect","useCallback","useImperativeHandle","forwardRef","JsiSkSurface","Platform","SkiaViewNativeId","WebGLRenderer","constructor","canvas","pd","_defineProperty","onResize","makeImageSnapshot","picture","rect","surface","getCanvas","clear","CanvasKit","TRANSPARENT","draw","ref","flush","width","clientWidth","height","clientHeight","MakeWebGLCanvasSurface","ctx","getContext","drawingBufferColorSpace","Error","Float32Array","of","save","scale","drawPicture","restore","dispose","_this$canvas","getExtension","loseContext","delete","StaticWebGLRenderer","cachedImage","renderPictureToSurface","tempCanvas","OffscreenCanvas","webglSurface","skiaCanvas","error","cleanupWebGLContext","renderResult","ctx2d","drawImage","console","_this$cachedImage","PixelRatio","SkiaPictureView","props","canvasRef","renderer","redrawRequestsRef","requestIdRef","pictureRef","onLayout","redraw","current","getSize","_canvasRef$current","_canvasRef$current2","setPicture","newPicture","tick","requestAnimationFrame","onLayoutEvent","evt","__destroyWebGLContextAfterRender","_props$nativeID","nativeID","global","SkiaViewApi","registerView","cancelAnimationFrame","debug","viewProps","createElement","View","_extends","style","display","flex"],"sources":["SkiaPictureView.web.tsx"],"sourcesContent":["/* global HTMLCanvasElement */\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport type { SkRect, SkPicture, SkImage } from \"../skia/types\";\nimport { JsiSkSurface } from \"../skia/web/JsiSkSurface\";\nimport { Platform } from \"../Platform\";\nimport type { ISkiaViewApiWeb } from \"../specs/NativeSkiaModule.web\";\n\nimport type { SkiaPictureViewNativeProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\ninterface Renderer {\n onResize(): void;\n draw(picture: SkPicture): void;\n makeImageSnapshot(picture: SkPicture, rect?: SkRect): SkImage | null;\n dispose(): void;\n}\n\nclass WebGLRenderer implements Renderer {\n private surface: JsiSkSurface | null = null;\n\n constructor(\n private canvas: HTMLCanvasElement,\n private pd: number\n ) {\n this.onResize();\n }\n\n makeImageSnapshot(picture: SkPicture, rect?: SkRect): SkImage | null {\n if (!this.surface) {\n return null;\n }\n const canvas = this.surface.getCanvas();\n canvas!.clear(CanvasKit.TRANSPARENT);\n this.draw(picture);\n this.surface.ref.flush();\n return this.surface.makeImageSnapshot(rect);\n }\n\n onResize() {\n const { canvas, pd } = this;\n canvas.width = canvas.clientWidth * pd;\n canvas.height = canvas.clientHeight * pd;\n const surface = CanvasKit.MakeWebGLCanvasSurface(canvas);\n const ctx = canvas.getContext(\"webgl2\");\n if (ctx) {\n ctx.drawingBufferColorSpace = \"display-p3\";\n }\n if (!surface) {\n throw new Error(\"Could not create surface\");\n }\n this.surface = new JsiSkSurface(CanvasKit, surface);\n }\n\n draw(picture: SkPicture) {\n if (this.surface) {\n const canvas = this.surface.getCanvas();\n canvas.clear(Float32Array.of(0, 0, 0, 0));\n canvas.save();\n canvas.scale(pd, pd);\n canvas.drawPicture(picture);\n canvas.restore();\n this.surface.ref.flush();\n }\n }\n\n dispose(): void {\n if (this.surface) {\n this.canvas\n ?.getContext(\"webgl2\")\n ?.getExtension(\"WEBGL_lose_context\")\n ?.loseContext();\n this.surface.ref.delete();\n this.surface = null;\n }\n }\n}\n\nclass StaticWebGLRenderer implements Renderer {\n private cachedImage: SkImage | null = null;\n\n constructor(\n private canvas: HTMLCanvasElement,\n private pd: number\n ) {}\n\n onResize(): void {\n this.cachedImage = null;\n }\n\n private renderPictureToSurface(\n picture: SkPicture\n ): { surface: JsiSkSurface; tempCanvas: OffscreenCanvas } | null {\n const tempCanvas = new OffscreenCanvas(\n this.canvas.clientWidth * this.pd,\n this.canvas.clientHeight * this.pd\n );\n\n let surface: JsiSkSurface | null = null;\n\n try {\n const webglSurface = CanvasKit.MakeWebGLCanvasSurface(tempCanvas);\n const ctx = tempCanvas.getContext(\"webgl2\");\n if (ctx) {\n ctx.drawingBufferColorSpace = \"display-p3\";\n }\n\n if (!webglSurface) {\n throw new Error(\"Could not create WebGL surface\");\n }\n\n surface = new JsiSkSurface(CanvasKit, webglSurface);\n\n const skiaCanvas = surface.getCanvas();\n skiaCanvas.clear(Float32Array.of(0, 0, 0, 0));\n skiaCanvas.save();\n skiaCanvas.scale(this.pd, this.pd);\n skiaCanvas.drawPicture(picture);\n skiaCanvas.restore();\n surface.ref.flush();\n\n return { surface, tempCanvas };\n } catch (error) {\n if (surface) {\n surface.ref.delete();\n }\n this.cleanupWebGLContext(tempCanvas);\n return null;\n }\n }\n\n private cleanupWebGLContext(tempCanvas: OffscreenCanvas): void {\n const ctx = tempCanvas.getContext(\"webgl2\");\n if (ctx) {\n const loseContext = ctx.getExtension(\"WEBGL_lose_context\");\n if (loseContext) {\n loseContext.loseContext();\n }\n }\n }\n\n draw(picture: SkPicture): void {\n const renderResult = this.renderPictureToSurface(picture);\n if (!renderResult) {\n return;\n }\n const { tempCanvas } = renderResult;\n const ctx2d = this.canvas.getContext(\"2d\");\n if (!ctx2d) {\n throw new Error(\"Could not get 2D context\");\n }\n\n // Set canvas dimensions to match pixel density\n this.canvas.width = this.canvas.clientWidth * this.pd;\n this.canvas.height = this.canvas.clientHeight * this.pd;\n\n // Draw the tempCanvas scaled down to the display size\n ctx2d.drawImage(\n tempCanvas,\n 0,\n 0,\n tempCanvas.width,\n tempCanvas.height,\n 0,\n 0,\n this.canvas.clientWidth * this.pd,\n this.canvas.clientHeight * this.pd\n );\n\n this.cleanupWebGLContext(tempCanvas);\n }\n\n makeImageSnapshot(picture: SkPicture, rect?: SkRect): SkImage | null {\n if (!this.cachedImage) {\n const renderResult = this.renderPictureToSurface(picture);\n if (!renderResult) {\n return null;\n }\n\n const { surface, tempCanvas } = renderResult;\n\n try {\n this.cachedImage = surface.makeImageSnapshot(rect);\n } catch (error) {\n console.error(\"Error creating image snapshot:\", error);\n } finally {\n surface.ref.delete();\n this.cleanupWebGLContext(tempCanvas);\n }\n }\n\n return this.cachedImage;\n }\n\n dispose(): void {\n this.cachedImage?.dispose();\n this.cachedImage = null;\n }\n}\n\nconst pd = Platform.PixelRatio;\n\nexport interface SkiaPictureViewHandle {\n setPicture(picture: SkPicture): void;\n getSize(): { width: number; height: number };\n redraw(): void;\n makeImageSnapshot(rect?: SkRect): SkImage | null;\n}\n\nexport const SkiaPictureView = forwardRef<\n SkiaPictureViewHandle,\n SkiaPictureViewNativeProps\n>((props, ref) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const renderer = useRef<Renderer | null>(null);\n const redrawRequestsRef = useRef(0);\n const requestIdRef = useRef(0);\n const pictureRef = useRef<SkPicture | null>(null);\n\n const { picture, onLayout } = props;\n\n const redraw = useCallback(() => {\n redrawRequestsRef.current++;\n }, []);\n\n const getSize = useCallback(() => {\n return {\n width: canvasRef.current?.clientWidth || 0,\n height: canvasRef.current?.clientHeight || 0,\n };\n }, []);\n\n const setPicture = useCallback(\n (newPicture: SkPicture) => {\n pictureRef.current = newPicture;\n redraw();\n },\n [redraw]\n );\n\n const makeImageSnapshot = useCallback((rect?: SkRect) => {\n if (renderer.current && pictureRef.current) {\n return renderer.current.makeImageSnapshot(pictureRef.current, rect);\n }\n return null;\n }, []);\n\n const tick = useCallback(() => {\n if (redrawRequestsRef.current > 0) {\n redrawRequestsRef.current = 0;\n if (renderer.current && pictureRef.current) {\n renderer.current.draw(pictureRef.current);\n }\n }\n requestIdRef.current = requestAnimationFrame(tick);\n }, []);\n\n const onLayoutEvent = useCallback(\n (evt: LayoutChangeEvent) => {\n const canvas = canvasRef.current;\n if (canvas) {\n renderer.current =\n props.__destroyWebGLContextAfterRender === true\n ? new StaticWebGLRenderer(canvas, pd)\n : new WebGLRenderer(canvas, pd);\n if (pictureRef.current) {\n renderer.current.draw(pictureRef.current);\n }\n }\n if (onLayout) {\n onLayout(evt);\n }\n },\n [onLayout, props.__destroyWebGLContextAfterRender]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n setPicture,\n getSize,\n redraw,\n makeImageSnapshot,\n }),\n [setPicture, getSize, redraw, makeImageSnapshot]\n );\n\n useEffect(() => {\n const nativeID = props.nativeID ?? `${SkiaViewNativeId.current++}`;\n (global.SkiaViewApi as ISkiaViewApiWeb).registerView(nativeID, {\n setPicture,\n getSize,\n redraw,\n makeImageSnapshot,\n } as SkiaPictureViewHandle);\n }, [setPicture, getSize, redraw, makeImageSnapshot, props.nativeID]);\n\n useEffect(() => {\n if (props.picture) {\n setPicture(props.picture);\n }\n }, [setPicture, props.picture]);\n\n useEffect(() => {\n tick();\n return () => {\n cancelAnimationFrame(requestIdRef.current);\n if (renderer.current) {\n renderer.current.dispose();\n renderer.current = null;\n }\n };\n }, [tick]);\n\n useEffect(() => {\n if (renderer.current && pictureRef.current) {\n renderer.current.draw(pictureRef.current);\n }\n }, [picture, redraw]);\n\n const { debug = false, ...viewProps } = props;\n return (\n <Platform.View {...viewProps} onLayout={onLayoutEvent}>\n <canvas ref={canvasRef} style={{ display: \"flex\", flex: 1 }} />\n </Platform.View>\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ declare const _default: any[];
2
+ export default _default;
@@ -1,2 +1,11 @@
1
- declare const _exports: import("ts-jest/dist/types").InitialOptionsTsJest;
2
- export = _exports;
1
+ export let preset: string;
2
+ export let testEnvironment: string;
3
+ export let modulePathIgnorePatterns: string[];
4
+ export let transform: {
5
+ "^.+\\.(ts|tsx)$": (string | {
6
+ tsconfig: string;
7
+ })[];
8
+ };
9
+ export let globals: {};
10
+ export let globalSetup: string;
11
+ export let globalTeardown: string;
@@ -8,6 +8,8 @@ export class BaseHostObject extends Host {
8
8
  constructor(CanvasKit: any, ref: any, typename: any);
9
9
  ref: any;
10
10
  __typename__: any;
11
+ dispose(): void;
12
+ [Symbol.dispose](): void;
11
13
  }
12
14
  export class HostObject extends BaseHostObject {
13
15
  static fromValue(value: any): any;
@@ -1,7 +1,6 @@
1
1
  export const __esModule: boolean;
2
2
  export class JsiSkFontMgr extends _Host.HostObject {
3
3
  constructor(CanvasKit: any, ref: any);
4
- dispose(): void;
5
4
  countFamilies(): any;
6
5
  getFamilyName(index: any): any;
7
6
  matchFamilyStyle(_familyName: any, _fontStyle: any): jest.Mock<any, any, any>;
@@ -12,6 +12,5 @@ export class JsiSkParagraph extends _Host.HostObject {
12
12
  getRectsForPlaceholders(): any;
13
13
  getRectsForRange(start: any, end: any): any;
14
14
  getLineMetrics(): any;
15
- dispose(): void;
16
15
  }
17
16
  import _Host = require("./Host");
@@ -7,7 +7,6 @@ export class JsiSkParagraphBuilder extends _Host.HostObject {
7
7
  reset(): void;
8
8
  pushStyle(style: any, foregroundPaint: any, backgroundPaint: any): this;
9
9
  pop(): this;
10
- dispose(): void;
11
10
  makePaint(color: any): any;
12
11
  }
13
12
  import _Host = require("./Host");
@@ -5,6 +5,5 @@ export class JsiSkTypefaceFontProvider extends _Host.HostObject {
5
5
  countFamilies(): any;
6
6
  getFamilyName(index: any): any;
7
7
  registerFont(typeface: any, familyName: any): void;
8
- dispose(): void;
9
8
  }
10
9
  import _Host = require("./Host");
@@ -42,7 +42,6 @@ export class JsiSkottieAnimation extends _Host.HostObject {
42
42
  height: any;
43
43
  };
44
44
  version(): any;
45
- dispose(): void;
46
45
  }
47
46
  import _Host = require("./Host");
48
47
  import _JsiSkTypeface = require("./JsiSkTypeface");
@@ -19,5 +19,6 @@ export class JsiVideo {
19
19
  play(): void;
20
20
  setVolume(volume: any): void;
21
21
  dispose(): void;
22
+ [Symbol.dispose](): void;
22
23
  }
23
24
  import _CanvasKitWebGLBufferImpl = require("./CanvasKitWebGLBufferImpl");
@@ -7,6 +7,8 @@ export class BaseHostObject extends Host {
7
7
  constructor(CanvasKit: any, ref: any, typename: any);
8
8
  ref: any;
9
9
  __typename__: any;
10
+ dispose(): void;
11
+ [Symbol.dispose](): void;
10
12
  }
11
13
  export class HostObject extends BaseHostObject {
12
14
  static fromValue(value: any): any;
@@ -1,6 +1,5 @@
1
1
  export class JsiSkFontMgr extends HostObject {
2
2
  constructor(CanvasKit: any, ref: any);
3
- dispose(): void;
4
3
  countFamilies(): any;
5
4
  getFamilyName(index: any): any;
6
5
  matchFamilyStyle(_familyName: any, _fontStyle: any): jest.Mock<any, any, any>;
@@ -11,6 +11,5 @@ export class JsiSkParagraph extends HostObject {
11
11
  getRectsForPlaceholders(): any;
12
12
  getRectsForRange(start: any, end: any): any;
13
13
  getLineMetrics(): any;
14
- dispose(): void;
15
14
  }
16
15
  import { HostObject } from "./Host";
@@ -6,7 +6,6 @@ export class JsiSkParagraphBuilder extends HostObject {
6
6
  reset(): void;
7
7
  pushStyle(style: any, foregroundPaint: any, backgroundPaint: any): this;
8
8
  pop(): this;
9
- dispose(): void;
10
9
  makePaint(color: any): any;
11
10
  }
12
11
  import { HostObject } from "./Host";
@@ -4,6 +4,5 @@ export class JsiSkTypefaceFontProvider extends HostObject {
4
4
  countFamilies(): any;
5
5
  getFamilyName(index: any): any;
6
6
  registerFont(typeface: any, familyName: any): void;
7
- dispose(): void;
8
7
  }
9
8
  import { HostObject } from "./Host";
@@ -41,7 +41,6 @@ export class JsiSkottieAnimation extends HostObject {
41
41
  height: any;
42
42
  };
43
43
  version(): any;
44
- dispose(): void;
45
44
  }
46
45
  import { HostObject } from "./Host";
47
46
  import { JsiSkTypeface } from "./JsiSkTypeface";
@@ -18,5 +18,6 @@ export class JsiVideo {
18
18
  play(): void;
19
19
  setVolume(volume: any): void;
20
20
  dispose(): void;
21
+ [Symbol.dispose](): void;
21
22
  }
22
23
  import { CanvasKitWebGLBufferImpl } from "./CanvasKitWebGLBufferImpl";
@@ -15,5 +15,6 @@ export declare class ParagraphAsset<Ctx extends EvalContext> extends SkiaObject<
15
15
  getLineMetrics(): import("../../../../skia/types").LineMetrics[];
16
16
  getRectsForPlaceholders(): import("../../../../skia/types").SkRectWithDirection[];
17
17
  __typename__: "Paragraph";
18
+ [Symbol.dispose](): void;
18
19
  dispose(): void;
19
20
  }
@@ -5,6 +5,7 @@ export declare class SVGAsset implements SkSVG {
5
5
  private _height;
6
6
  __typename__: "SVG";
7
7
  constructor(_source: string, _width: number, _height: number);
8
+ [Symbol.dispose](): void;
8
9
  dispose(): void;
9
10
  source(): string;
10
11
  width(): number;
@@ -1,4 +1,4 @@
1
- export interface SkJSIInstance<T extends string> {
1
+ export interface SkJSIInstance<T extends string> extends Disposable {
2
2
  __typename__: T;
3
3
  dispose(): void;
4
4
  }
@@ -9,7 +9,8 @@ export declare abstract class BaseHostObject<T, N extends string> extends Host i
9
9
  readonly __typename__: N;
10
10
  ref: T;
11
11
  constructor(CanvasKit: CanvasKit, ref: T, typename: N);
12
- abstract dispose(): void;
12
+ dispose(): void;
13
+ [Symbol.dispose](): void;
13
14
  }
14
15
  export declare abstract class HostObject<T, N extends string> extends BaseHostObject<T, N> {
15
16
  static fromValue<T>(value: SkJSIInstance<string>): T;
@@ -8,5 +8,4 @@ export declare class JsiSkAnimatedImage extends HostObject<AnimatedImage, "Anima
8
8
  currentFrameDuration(): number;
9
9
  getFrameCount(): number;
10
10
  getCurrentFrame(): JsiSkImage | null;
11
- dispose: () => void;
12
11
  }
@@ -3,7 +3,6 @@ import { type BlendMode, type ClipOp, type FilterMode, type MipmapMode, type Poi
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;
7
6
  drawRect(rect: SkRect, paint: SkPaint): void;
8
7
  drawImage(image: SkImage, x: number, y: number, paint?: SkPaint): void;
9
8
  drawImageRect(img: SkImage, src: SkRect, dest: SkRect, paint: SkPaint, fastSample?: boolean): void;
@@ -3,5 +3,4 @@ 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;
7
6
  }
@@ -9,5 +9,4 @@ export declare class JsiSkContourMeasure extends HostObject<ContourMeasure, "Con
9
9
  getSegment(startD: number, stopD: number, startWithMoveTo: boolean): JsiSkPath;
10
10
  isClosed(): boolean;
11
11
  length(): number;
12
- dispose: () => void;
13
12
  }
@@ -5,5 +5,4 @@ import { JsiSkContourMeasure } from "./JsiSkContourMeasure";
5
5
  export declare class JsiSkContourMeasureIter extends HostObject<ContourMeasureIter, "ContourMeasureIter"> implements SkContourMeasureIter {
6
6
  constructor(CanvasKit: CanvasKit, ref: ContourMeasureIter);
7
7
  next(): JsiSkContourMeasure | null;
8
- dispose: () => void;
9
8
  }
@@ -4,6 +4,5 @@ import { HostObject } from "./Host";
4
4
  type Data = ArrayBuffer;
5
5
  export declare class JsiSkData extends HostObject<Data, "Data"> implements SkData {
6
6
  constructor(CanvasKit: CanvasKit, ref: Data);
7
- dispose: () => void;
8
7
  }
9
8
  export {};
@@ -6,7 +6,6 @@ import { JsiSkTypeface } from "./JsiSkTypeface";
6
6
  export declare class JsiSkFont extends HostObject<Font, "Font"> implements SkFont {
7
7
  constructor(CanvasKit: CanvasKit, ref: Font);
8
8
  measureText(_text: string, _paint?: SkPaint | undefined): SkRect;
9
- dispose: () => void;
10
9
  getTextWidth(text: string, paint?: SkPaint | undefined): number;
11
10
  getMetrics(): {
12
11
  ascent: number;
@@ -12,7 +12,6 @@ export declare class JsiSkImage extends HostObject<Image, "Image"> implements Sk
12
12
  encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array<ArrayBufferLike>;
13
13
  encodeToBase64(fmt?: ImageFormat, quality?: number): string;
14
14
  readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo): Float32Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | null;
15
- dispose: () => void;
16
15
  makeNonTextureImage(): SkImage;
17
16
  getNativeTextureUnstable(): unknown;
18
17
  }
@@ -3,5 +3,4 @@ import type { SkImageFilter } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkImageFilter extends HostObject<ImageFilter, "ImageFilter"> implements SkImageFilter {
5
5
  constructor(CanvasKit: CanvasKit, ref: ImageFilter);
6
- dispose: () => void;
7
6
  }
@@ -3,5 +3,4 @@ import type { SkMaskFilter } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkMaskFilter extends HostObject<MaskFilter, "MaskFilter"> implements SkMaskFilter {
5
5
  constructor(CanvasKit: CanvasKit, ref: MaskFilter);
6
- dispose: () => void;
7
6
  }
@@ -5,7 +5,6 @@ export declare class JsiSkMatrix extends HostObject<Matrix3x3, "Matrix"> impleme
5
5
  constructor(CanvasKit: CanvasKit, ref: Matrix3x3);
6
6
  private preMultiply;
7
7
  private postMultiply;
8
- dispose: () => void;
9
8
  concat(matrix: InputMatrix): this;
10
9
  translate(x: number, y: number): this;
11
10
  postTranslate(x: number, y: number): this;
@@ -3,7 +3,6 @@ import type { StrokeJoin, BlendMode, SkColor, SkColorFilter, SkImageFilter, SkPa
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkPaint extends HostObject<Paint, "Paint"> implements SkPaint {
5
5
  constructor(CanvasKit: CanvasKit, ref: Paint);
6
- dispose: () => void;
7
6
  copy(): JsiSkPaint;
8
7
  assign(paint: JsiSkPaint): void;
9
8
  reset(): void;
@@ -15,5 +15,4 @@ export declare class JsiSkParagraph extends HostObject<Paragraph, "Paragraph"> i
15
15
  getRectsForPlaceholders(): SkRectWithDirection[];
16
16
  getRectsForRange(start: number, end: number): SkRect[];
17
17
  getLineMetrics(): LineMetrics[];
18
- dispose(): void;
19
18
  }