@shopify/react-native-skia 0.1.233 → 0.1.236

Sign up to get free protection for your applications and to get access to all the features.
Files changed (294) hide show
  1. package/android/CMakeLists.txt +0 -1
  2. package/android/cpp/jni/JniSkiaManager.cpp +0 -1
  3. package/android/cpp/rnskia-android/RNSkAndroidView.h +0 -1
  4. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +1 -1
  5. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +1 -2
  6. package/cpp/api/JsiSkTypefaceFactory.h +2 -1
  7. package/cpp/skia/include/android/AHardwareBufferUtils.h +23 -0
  8. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -0
  9. package/cpp/skia/include/android/graphite/SurfaceAndroid.h +59 -0
  10. package/cpp/skia/include/codec/SkAvifDecoder.h +1 -1
  11. package/cpp/skia/include/codec/SkBmpDecoder.h +1 -1
  12. package/cpp/skia/include/codec/SkCodec.h +21 -3
  13. package/cpp/skia/include/codec/SkGifDecoder.h +1 -1
  14. package/cpp/skia/include/codec/SkIcoDecoder.h +1 -1
  15. package/cpp/skia/include/codec/SkJpegDecoder.h +1 -1
  16. package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -1
  17. package/cpp/skia/include/codec/SkPngDecoder.h +1 -1
  18. package/cpp/skia/include/codec/SkRawDecoder.h +1 -1
  19. package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -1
  20. package/cpp/skia/include/codec/SkWebpDecoder.h +1 -1
  21. package/cpp/skia/include/config/SkUserConfig.h +3 -1
  22. package/cpp/skia/include/core/SkCanvas.h +66 -37
  23. package/cpp/skia/include/core/SkColorFilter.h +5 -2
  24. package/cpp/skia/include/core/SkContourMeasure.h +1 -0
  25. package/cpp/skia/include/core/SkDocument.h +1 -0
  26. package/cpp/skia/include/core/SkFont.h +14 -24
  27. package/cpp/skia/include/core/SkFontArguments.h +1 -1
  28. package/cpp/skia/include/core/SkFontMetrics.h +1 -1
  29. package/cpp/skia/include/core/SkFontMgr.h +0 -7
  30. package/cpp/skia/include/core/SkGraphics.h +13 -0
  31. package/cpp/skia/include/core/SkMesh.h +9 -13
  32. package/cpp/skia/include/core/SkMilestone.h +1 -1
  33. package/cpp/skia/include/core/SkPathMeasure.h +2 -0
  34. package/cpp/skia/include/core/SkSerialProcs.h +29 -11
  35. package/cpp/skia/include/core/SkSize.h +3 -3
  36. package/cpp/skia/include/core/SkStream.h +3 -13
  37. package/cpp/skia/include/core/SkSurface.h +6 -3
  38. package/cpp/skia/include/core/SkSurfaceProps.h +2 -4
  39. package/cpp/skia/include/core/SkTraceMemoryDump.h +15 -0
  40. package/cpp/skia/include/core/SkTypeface.h +8 -56
  41. package/cpp/skia/include/core/SkTypes.h +8 -0
  42. package/cpp/skia/include/core/SkVertices.h +1 -1
  43. package/cpp/skia/include/docs/SkMultiPictureDocument.h +53 -0
  44. package/cpp/skia/include/docs/SkPDFDocument.h +11 -0
  45. package/cpp/skia/include/effects/SkGradientShader.h +9 -0
  46. package/cpp/skia/include/effects/SkRuntimeEffect.h +3 -7
  47. package/cpp/skia/include/gpu/GrBackendSemaphore.h +33 -47
  48. package/cpp/skia/include/gpu/GrBackendSurface.h +2 -3
  49. package/cpp/skia/include/gpu/GrContextOptions.h +0 -6
  50. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +44 -28
  51. package/cpp/skia/include/gpu/GrDirectContext.h +12 -31
  52. package/cpp/skia/include/gpu/GrTypes.h +1 -16
  53. package/cpp/skia/include/gpu/MutableTextureState.h +35 -80
  54. package/cpp/skia/include/gpu/ShaderErrorHandler.h +11 -1
  55. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +2 -2
  56. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
  57. package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +3 -2
  58. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
  59. package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +30 -0
  60. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  61. package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -0
  62. package/cpp/skia/include/gpu/gl/glx/GrGLMakeGLXInterface.h +6 -0
  63. package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +3 -3
  64. package/cpp/skia/include/gpu/graphite/BackendTexture.h +39 -27
  65. package/cpp/skia/include/gpu/graphite/Context.h +39 -13
  66. package/cpp/skia/include/gpu/graphite/ContextOptions.h +2 -0
  67. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +2 -1
  68. package/cpp/skia/include/gpu/graphite/Image.h +106 -87
  69. package/cpp/skia/include/gpu/graphite/Recorder.h +24 -3
  70. package/cpp/skia/include/gpu/graphite/Surface.h +7 -2
  71. package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +41 -2
  72. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +11 -6
  73. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -2
  74. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +6 -6
  75. package/cpp/skia/include/gpu/mock/GrMockTypes.h +1 -0
  76. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  77. package/cpp/skia/include/gpu/vk/GrVkTypes.h +1 -44
  78. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
  79. package/cpp/skia/include/gpu/vk/VulkanMutableTextureState.h +25 -0
  80. package/cpp/skia/include/gpu/vk/VulkanTypes.h +44 -0
  81. package/cpp/skia/include/ports/SkFontConfigInterface.h +3 -6
  82. package/cpp/skia/include/private/SkEncodedInfo.h +5 -0
  83. package/cpp/skia/include/private/SkExif.h +102 -0
  84. package/cpp/skia/include/private/SkGainmapInfo.h +11 -1
  85. package/cpp/skia/include/private/base/SkAssert.h +16 -0
  86. package/cpp/skia/include/private/base/SkDeque.h +2 -7
  87. package/cpp/skia/include/private/base/SkLoadUserConfig.h +1 -1
  88. package/cpp/skia/include/private/base/SkTArray.h +69 -28
  89. package/cpp/skia/include/private/base/SkThreadAnnotations.h +18 -5
  90. package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +26 -30
  91. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +4 -3
  92. package/cpp/skia/include/private/chromium/SkImageChromium.h +1 -1
  93. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +8 -6
  94. package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +29 -0
  95. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +12 -9
  96. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +16 -11
  97. package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -2
  98. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
  99. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
  100. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
  101. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
  102. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
  103. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +9 -2
  104. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +31 -3
  105. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +10624 -5716
  106. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +2 -1
  107. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +2 -1
  108. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +28 -1
  109. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +2 -1
  110. package/cpp/skia/include/utils/mac/SkCGUtils.h +23 -11
  111. package/cpp/skia/modules/skcms/skcms.h +2 -410
  112. package/cpp/skia/modules/skcms/src/Transform_inl.h +831 -704
  113. package/cpp/skia/modules/skcms/src/skcms_Transform.h +161 -0
  114. package/cpp/skia/modules/skcms/src/skcms_internals.h +136 -0
  115. package/cpp/skia/modules/skcms/src/skcms_public.h +404 -0
  116. package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
  117. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -0
  118. package/cpp/skia/modules/skparagraph/include/Paragraph.h +2 -2
  119. package/cpp/skia/modules/skparagraph/include/TextStyle.h +4 -3
  120. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -3
  121. package/cpp/skia/modules/skresources/include/SkResources.h +28 -17
  122. package/cpp/skia/modules/skunicode/include/SkUnicode.h +12 -0
  123. package/cpp/skia/modules/svg/include/SkSVGDOM.h +4 -1
  124. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +4 -1
  125. package/cpp/skia/src/base/SkUTF.h +7 -0
  126. package/cpp/skia/src/core/SkTHash.h +20 -8
  127. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +3 -2
  128. package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -57
  129. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  130. package/lib/commonjs/external/reanimated/index.d.ts +1 -0
  131. package/lib/commonjs/external/reanimated/index.js +13 -0
  132. package/lib/commonjs/external/reanimated/index.js.map +1 -1
  133. package/lib/commonjs/external/reanimated/interpolators.js +16 -2
  134. package/lib/commonjs/external/reanimated/interpolators.js.map +1 -1
  135. package/lib/commonjs/external/reanimated/moduleWrapper.d.ts +1 -0
  136. package/lib/commonjs/external/reanimated/moduleWrapper.js +5 -3
  137. package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
  138. package/lib/commonjs/external/reanimated/textures.d.ts +5 -0
  139. package/lib/commonjs/external/reanimated/textures.js +52 -0
  140. package/lib/commonjs/external/reanimated/textures.js.map +1 -0
  141. package/lib/commonjs/headless/index.js +1 -1
  142. package/lib/commonjs/headless/index.js.map +1 -1
  143. package/lib/commonjs/mock/index.js +3 -0
  144. package/lib/commonjs/mock/index.js.map +1 -1
  145. package/lib/commonjs/renderer/Canvas.js +6 -5
  146. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  147. package/lib/commonjs/renderer/Container.d.ts +1 -1
  148. package/lib/commonjs/renderer/Container.js +2 -1
  149. package/lib/commonjs/renderer/Container.js.map +1 -1
  150. package/lib/commonjs/renderer/Offscreen.d.ts +1 -0
  151. package/lib/commonjs/renderer/Offscreen.js +18 -5
  152. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  153. package/lib/commonjs/renderer/Reconciler.d.ts +1 -1
  154. package/lib/commonjs/renderer/Reconciler.js +7 -4
  155. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  156. package/lib/commonjs/skia/types/Matrix4.d.ts +2 -2
  157. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  158. package/lib/commonjs/skia/types/Shader/Shader.d.ts +1 -1
  159. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  160. package/lib/commonjs/skia/web/JsiSkPath.d.ts +2 -2
  161. package/lib/commonjs/skia/web/JsiSkPath.js +10 -2
  162. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  163. package/lib/commonjs/views/SkiaJSDomView.d.ts +31 -0
  164. package/lib/commonjs/views/SkiaJSDomView.js +161 -0
  165. package/lib/commonjs/views/SkiaJSDomView.js.map +1 -0
  166. package/lib/commonjs/views/SkiaJSDomView.web.d.ts +1 -0
  167. package/lib/commonjs/views/SkiaJSDomView.web.js +14 -0
  168. package/lib/commonjs/views/SkiaJSDomView.web.js.map +1 -0
  169. package/lib/module/dom/nodes/JsiSkDOM.d.ts +3 -2
  170. package/lib/module/dom/nodes/JsiSkDOM.js +56 -56
  171. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  172. package/lib/module/external/reanimated/index.d.ts +1 -0
  173. package/lib/module/external/reanimated/index.js +1 -0
  174. package/lib/module/external/reanimated/index.js.map +1 -1
  175. package/lib/module/external/reanimated/interpolators.js +15 -2
  176. package/lib/module/external/reanimated/interpolators.js.map +1 -1
  177. package/lib/module/external/reanimated/moduleWrapper.d.ts +1 -0
  178. package/lib/module/external/reanimated/moduleWrapper.js +3 -2
  179. package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
  180. package/lib/module/external/reanimated/textures.d.ts +5 -0
  181. package/lib/module/external/reanimated/textures.js +35 -0
  182. package/lib/module/external/reanimated/textures.js.map +1 -0
  183. package/lib/module/headless/index.js +1 -1
  184. package/lib/module/headless/index.js.map +1 -1
  185. package/lib/module/mock/index.js +3 -0
  186. package/lib/module/mock/index.js.map +1 -1
  187. package/lib/module/renderer/Canvas.js +5 -4
  188. package/lib/module/renderer/Canvas.js.map +1 -1
  189. package/lib/module/renderer/Container.d.ts +1 -1
  190. package/lib/module/renderer/Container.js +2 -1
  191. package/lib/module/renderer/Container.js.map +1 -1
  192. package/lib/module/renderer/Offscreen.d.ts +1 -0
  193. package/lib/module/renderer/Offscreen.js +11 -3
  194. package/lib/module/renderer/Offscreen.js.map +1 -1
  195. package/lib/module/renderer/Reconciler.d.ts +1 -1
  196. package/lib/module/renderer/Reconciler.js +7 -4
  197. package/lib/module/renderer/Reconciler.js.map +1 -1
  198. package/lib/module/skia/types/Matrix4.d.ts +2 -2
  199. package/lib/module/skia/types/Matrix4.js.map +1 -1
  200. package/lib/module/skia/types/Shader/Shader.d.ts +1 -1
  201. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  202. package/lib/module/skia/web/JsiSkPath.d.ts +2 -2
  203. package/lib/module/skia/web/JsiSkPath.js +10 -2
  204. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  205. package/lib/module/views/SkiaJSDomView.d.ts +31 -0
  206. package/lib/module/views/SkiaJSDomView.js +136 -0
  207. package/lib/module/views/SkiaJSDomView.js.map +1 -0
  208. package/lib/module/views/SkiaJSDomView.web.d.ts +1 -0
  209. package/lib/module/views/SkiaJSDomView.web.js +2 -0
  210. package/lib/module/views/SkiaJSDomView.web.js.map +1 -0
  211. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +3 -2
  212. package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
  213. package/lib/typescript/src/external/reanimated/moduleWrapper.d.ts +1 -0
  214. package/lib/typescript/src/external/reanimated/textures.d.ts +5 -0
  215. package/lib/typescript/src/renderer/Container.d.ts +1 -1
  216. package/lib/typescript/src/renderer/Offscreen.d.ts +1 -0
  217. package/lib/typescript/src/renderer/Reconciler.d.ts +1 -1
  218. package/lib/typescript/src/skia/types/Matrix4.d.ts +2 -2
  219. package/lib/typescript/src/skia/types/Shader/Shader.d.ts +1 -1
  220. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +2 -2
  221. package/lib/typescript/src/views/SkiaJSDomView.d.ts +31 -0
  222. package/lib/typescript/src/views/SkiaJSDomView.web.d.ts +1 -0
  223. package/libs/android/arm64-v8a/libskia.a +0 -0
  224. package/libs/android/arm64-v8a/libskottie.a +0 -0
  225. package/libs/android/arm64-v8a/libskparagraph.a +0 -0
  226. package/libs/android/arm64-v8a/libsksg.a +0 -0
  227. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  228. package/libs/android/arm64-v8a/libskunicode.a +0 -0
  229. package/libs/android/arm64-v8a/libsvg.a +0 -0
  230. package/libs/android/armeabi-v7a/libskia.a +0 -0
  231. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  232. package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
  233. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  234. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  235. package/libs/android/armeabi-v7a/libskunicode.a +0 -0
  236. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  237. package/libs/android/x86/libskia.a +0 -0
  238. package/libs/android/x86/libskottie.a +0 -0
  239. package/libs/android/x86/libskparagraph.a +0 -0
  240. package/libs/android/x86/libsksg.a +0 -0
  241. package/libs/android/x86/libskshaper.a +0 -0
  242. package/libs/android/x86/libskunicode.a +0 -0
  243. package/libs/android/x86/libsvg.a +0 -0
  244. package/libs/android/x86_64/libskia.a +0 -0
  245. package/libs/android/x86_64/libskottie.a +0 -0
  246. package/libs/android/x86_64/libskparagraph.a +0 -0
  247. package/libs/android/x86_64/libsksg.a +0 -0
  248. package/libs/android/x86_64/libskshaper.a +0 -0
  249. package/libs/android/x86_64/libskunicode.a +0 -0
  250. package/libs/android/x86_64/libsvg.a +0 -0
  251. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  252. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  253. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  254. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  255. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  256. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  257. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  258. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  259. package/libs/ios/libskshaper.xcframework/Info.plist +5 -5
  260. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  261. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  262. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  263. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  264. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  265. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  266. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  267. package/package.json +1 -1
  268. package/src/dom/nodes/JsiSkDOM.ts +55 -56
  269. package/src/external/reanimated/index.ts +1 -0
  270. package/src/external/reanimated/interpolators.ts +17 -3
  271. package/src/external/reanimated/moduleWrapper.ts +1 -0
  272. package/src/external/reanimated/textures.tsx +50 -0
  273. package/src/headless/index.ts +1 -1
  274. package/src/mock/index.ts +3 -0
  275. package/src/renderer/Canvas.tsx +4 -3
  276. package/src/renderer/Container.tsx +3 -2
  277. package/src/renderer/Offscreen.tsx +12 -3
  278. package/src/renderer/Reconciler.tsx +5 -2
  279. package/src/skia/types/Matrix4.ts +2 -2
  280. package/src/skia/types/Shader/Shader.ts +6 -1
  281. package/src/skia/web/JsiSkPath.ts +23 -3
  282. package/src/views/SkiaJSDomView.tsx +126 -0
  283. package/src/views/SkiaJSDomView.web.tsx +1 -0
  284. package/android/cpp/jni/include/JniSkiaDrawView.h +0 -90
  285. package/cpp/rnskia/RNSkJsView.cpp +0 -236
  286. package/cpp/rnskia/RNSkJsView.h +0 -121
  287. package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -142
  288. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +0 -107
  289. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +0 -32
  290. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +0 -83
  291. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +0 -47
  292. package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +0 -57
  293. package/cpp/skia/include/utils/SkBase64.h +0 -53
  294. package/cpp/skia/modules/skcms/skcms_internal.h +0 -56
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkDOM","constructor","ctx","Layer","props","NATIVE_DOM","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode","Paragraph","ParagraphNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport { NATIVE_DOM } from \"../../renderer/HostComponents\";\nimport type { ParagraphProps } from \"../types/Paragraph\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\nimport { ParagraphNode } from \"./drawings/ParagraphNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return NATIVE_DOM\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return NATIVE_DOM\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n\n // Paragraph\n Paragraph(props: ParagraphProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ParagraphNode(props)\n : new ParagraphNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["JsiSkDOM","constructor","ctx","native","Layer","props","global","SkiaDomApi","LayerNode","Group","GroupNode","Paint","PaintNode","Fill","FillNode","Image","ImageNode","Circle","CircleNode","Path","PathNode","Line","LineNode","Oval","OvalNode","Patch","PatchNode","Points","PointsNode","Rect","RectNode","RRect","RRectNode","Vertices","VerticesNode","Text","TextNode","TextPath","TextPathNode","TextBlob","TextBlobNode","Glyphs","GlyphsNode","DiffRect","DiffRectNode","Picture","PictureNode","ImageSVG","ImageSVGNode","BlurMaskFilter","BlurMaskFilterNode","BlendImageFilter","BlendImageFilterNode","DropShadowImageFilter","DropShadowImageFilterNode","DisplacementMapImageFilter","DisplacementMapImageFilterNode","BlurImageFilter","BlurImageFilterNode","OffsetImageFilter","OffsetImageFilterNode","MorphologyImageFilter","MorphologyImageFilterNode","RuntimeShaderImageFilter","RuntimeShaderImageFilterNode","MatrixColorFilter","MatrixColorFilterNode","BlendColorFilter","BlendColorFilterNode","LumaColorFilter","LumaColorFilterNode","LinearToSRGBGammaColorFilter","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilter","SRGBToLinearGammaColorFilterNode","LerpColorFilter","LerpColorFilterNode","Shader","ShaderNode","ImageShader","ImageShaderNode","ColorShader","ColorShaderNode","ColorNode","SweepGradient","SweepGradientNode","Turbulence","TurbulenceNode","FractalNoise","FractalNoiseNode","LinearGradient","LinearGradientNode","RadialGradient","RadialGradientNode","TwoPointConicalGradient","TwoPointConicalGradientNode","CornerPathEffect","CornerPathEffectNode","DiscretePathEffect","DiscretePathEffectNode","DashPathEffect","DashPathEffectNode","Path1DPathEffect","Path1DPathEffectNode","Path2DPathEffect","Path2DPathEffectNode","SumPathEffect","SumPathEffectNode","Line2DPathEffect","Line2DPathEffectNode","Blend","BlendNode","BackdropFilter","BackdropFilterNode","Box","BoxNode","BoxShadow","BoxShadowNode","Paragraph","ParagraphNode"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport type { ParagraphProps } from \"../types/Paragraph\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\nimport { ParagraphNode } from \"./drawings/ParagraphNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext, private native: boolean) {}\n\n Layer(props?: ChildrenProps) {\n return this.native\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return this.native\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return this.native\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return this.native\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return this.native\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return this.native\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return this.native\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return this.native\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return this.native\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return this.native\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return this.native\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return this.native\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return this.native\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return this.native\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return this.native\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return this.native\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return this.native\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return this.native\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return this.native\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return this.native\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return this.native\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return this.native\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return this.native\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return this.native\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return this.native\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return this.native\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return this.native\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return this.native\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return this.native\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return this.native\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return this.native\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return this.native\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return this.native\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return this.native\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return this.native\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return this.native\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return this.native\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return this.native\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return this.native\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return this.native\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return this.native\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return this.native\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n\n // Paragraph\n Paragraph(props: ParagraphProps) {\n return this.native\n ? global.SkiaDomApi.ParagraphNode(props)\n : new ParagraphNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
@@ -2,3 +2,4 @@ export * from "./useAnimatedImageValue";
2
2
  export * from "./useDerivedValueOnJS";
3
3
  export * from "./renderHelpers";
4
4
  export * from "./interpolators";
5
+ export * from "./textures";
@@ -55,4 +55,17 @@ Object.keys(_interpolators).forEach(function (key) {
55
55
  }
56
56
  });
57
57
  });
58
+
59
+ var _textures = require("./textures");
60
+
61
+ Object.keys(_textures).forEach(function (key) {
62
+ if (key === "default" || key === "__esModule") return;
63
+ if (key in exports && exports[key] === _textures[key]) return;
64
+ Object.defineProperty(exports, key, {
65
+ enumerable: true,
66
+ get: function () {
67
+ return _textures[key];
68
+ }
69
+ });
70
+ });
58
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useAnimatedImageValue\";\nexport * from \"./useDerivedValueOnJS\";\nexport * from \"./renderHelpers\";\nexport * from \"./interpolators\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useAnimatedImageValue\";\nexport * from \"./useDerivedValueOnJS\";\nexport * from \"./renderHelpers\";\nexport * from \"./interpolators\";\nexport * from \"./textures\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -11,12 +11,14 @@ var _animation = require("../../animation");
11
11
 
12
12
  var _skia = require("../../skia");
13
13
 
14
+ var _Platform = require("../../Platform");
15
+
14
16
  var _moduleWrapper = require("./moduleWrapper");
15
17
 
16
18
  const notifyChange = value => {
17
19
  "worklet";
18
20
 
19
- if (_WORKLET) {
21
+ if (_WORKLET || _Platform.Platform.OS === "web") {
20
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
23
  value._value = value.value;
22
24
  }
@@ -65,7 +67,19 @@ const useInterpolator = (factory, value, interpolator, input, output, options) =
65
67
  return result;
66
68
  };
67
69
 
68
- const usePathInterpolation = (value, input, outputRange, options) => useInterpolator(() => _skia.Skia.Path.Make(), value, _animation.interpolatePaths, input, outputRange, options);
70
+ const usePathInterpolation = (value, input, outputRange, options) => {
71
+ // Check if all paths in outputRange are interpolable
72
+ const allPathsInterpolable = outputRange.slice(1).every(path => outputRange[0].isInterpolatable(path));
73
+
74
+ if (!allPathsInterpolable) {
75
+ // Handle the case where not all paths are interpolable
76
+ // For example, throw an error or return early
77
+ throw new Error(`Not all paths in the output range are interpolable.
78
+ See: https://shopify.github.io/react-native-skia/docs/animations/hooks#usepathinterpolation`);
79
+ }
80
+
81
+ return useInterpolator(() => _skia.Skia.Path.Make(), value, _animation.interpolatePaths, input, outputRange, options);
82
+ };
69
83
 
70
84
  exports.usePathInterpolation = usePathInterpolation;
71
85
 
@@ -1 +1 @@
1
- {"version":3,"names":["notifyChange","value","_WORKLET","_value","usePathValue","cb","pathInit","useMemo","Skia","Path","Make","path","useSharedValue","useDerivedValue","reset","useClock","clock","callback","useCallback","info","timeSinceFirstFrame","useFrameCallback","useInterpolator","factory","interpolator","input","output","options","init","result","useAnimatedReaction","val","usePathInterpolation","outputRange","interpolatePaths","useVectorInterpolation","Point","interpolateVector"],"sources":["interpolators.ts"],"sourcesContent":["import type {\n ExtrapolationType,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\nimport { useCallback, useMemo } from \"react\";\n\nimport type { SkPath, SkPoint } from \"../../skia/types\";\nimport { interpolatePaths, interpolateVector } from \"../../animation\";\nimport { Skia } from \"../../skia\";\n\nimport {\n useAnimatedReaction,\n useFrameCallback,\n useSharedValue,\n useDerivedValue,\n} from \"./moduleWrapper\";\n\nexport const notifyChange = (value: SharedValue<unknown>) => {\n \"worklet\";\n if (_WORKLET) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value as any)._value = value.value;\n }\n};\n\nexport const usePathValue = (cb: (path: SkPath) => void) => {\n const pathInit = useMemo(() => Skia.Path.Make(), []);\n const path = useSharedValue(pathInit);\n useDerivedValue(() => {\n path.value.reset();\n cb(path.value);\n notifyChange(path);\n });\n return path;\n};\n\nexport const useClock = () => {\n const clock = useSharedValue(0);\n const callback = useCallback(\n (info: FrameInfo) => {\n \"worklet\";\n clock.value = info.timeSinceFirstFrame;\n },\n [clock]\n );\n useFrameCallback(callback);\n return clock;\n};\n\n/**\n * @worklet\n */\ntype Interpolator<T> = (\n value: number,\n input: number[],\n output: T[],\n options: ExtrapolationType,\n result: T\n) => T;\n\nconst useInterpolator = <T>(\n factory: () => T,\n value: SharedValue<number>,\n interpolator: Interpolator<T>,\n input: number[],\n output: T[],\n options?: ExtrapolationType\n) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const init = useMemo(() => factory(), []);\n const result = useSharedValue(init);\n useAnimatedReaction(\n () => value.value,\n (val) => {\n result.value = interpolator(val, input, output, options, result.value);\n notifyChange(result);\n },\n [input, output, options]\n );\n return result;\n};\n\nexport const usePathInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPath[],\n options?: ExtrapolationType\n) =>\n useInterpolator(\n () => Skia.Path.Make(),\n value,\n interpolatePaths,\n input,\n outputRange,\n options\n );\n\nexport const useVectorInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPoint[],\n options?: ExtrapolationType\n) =>\n useInterpolator(\n () => Skia.Point(0, 0),\n value,\n interpolateVector,\n input,\n outputRange,\n options\n );\n"],"mappings":";;;;;;;AAKA;;AAGA;;AACA;;AAEA;;AAOO,MAAMA,YAAY,GAAIC,KAAD,IAAiC;EAC3D;;EACA,IAAIC,QAAJ,EAAc;IACZ;IACCD,KAAD,CAAeE,MAAf,GAAwBF,KAAK,CAACA,KAA9B;EACD;AACF,CANM;;;;AAQA,MAAMG,YAAY,GAAIC,EAAD,IAAgC;EAC1D,MAAMC,QAAQ,GAAG,IAAAC,cAAA,EAAQ,MAAMC,UAAA,CAAKC,IAAL,CAAUC,IAAV,EAAd,EAAgC,EAAhC,CAAjB;EACA,MAAMC,IAAI,GAAG,IAAAC,6BAAA,EAAeN,QAAf,CAAb;EACA,IAAAO,8BAAA,EAAgB,MAAM;IACpBF,IAAI,CAACV,KAAL,CAAWa,KAAX;IACAT,EAAE,CAACM,IAAI,CAACV,KAAN,CAAF;IACAD,YAAY,CAACW,IAAD,CAAZ;EACD,CAJD;EAKA,OAAOA,IAAP;AACD,CATM;;;;AAWA,MAAMI,QAAQ,GAAG,MAAM;EAC5B,MAAMC,KAAK,GAAG,IAAAJ,6BAAA,EAAe,CAAf,CAAd;EACA,MAAMK,QAAQ,GAAG,IAAAC,kBAAA,EACdC,IAAD,IAAqB;IACnB;;IACAH,KAAK,CAACf,KAAN,GAAckB,IAAI,CAACC,mBAAnB;EACD,CAJc,EAKf,CAACJ,KAAD,CALe,CAAjB;EAOA,IAAAK,+BAAA,EAAiBJ,QAAjB;EACA,OAAOD,KAAP;AACD,CAXM;AAaP;AACA;AACA;;;;;AASA,MAAMM,eAAe,GAAG,CACtBC,OADsB,EAEtBtB,KAFsB,EAGtBuB,YAHsB,EAItBC,KAJsB,EAKtBC,MALsB,EAMtBC,OANsB,KAOnB;EACH;EACA,MAAMC,IAAI,GAAG,IAAArB,cAAA,EAAQ,MAAMgB,OAAO,EAArB,EAAyB,EAAzB,CAAb;EACA,MAAMM,MAAM,GAAG,IAAAjB,6BAAA,EAAegB,IAAf,CAAf;EACA,IAAAE,kCAAA,EACE,MAAM7B,KAAK,CAACA,KADd,EAEG8B,GAAD,IAAS;IACPF,MAAM,CAAC5B,KAAP,GAAeuB,YAAY,CAACO,GAAD,EAAMN,KAAN,EAAaC,MAAb,EAAqBC,OAArB,EAA8BE,MAAM,CAAC5B,KAArC,CAA3B;IACAD,YAAY,CAAC6B,MAAD,CAAZ;EACD,CALH,EAME,CAACJ,KAAD,EAAQC,MAAR,EAAgBC,OAAhB,CANF;EAQA,OAAOE,MAAP;AACD,CApBD;;AAsBO,MAAMG,oBAAoB,GAAG,CAClC/B,KADkC,EAElCwB,KAFkC,EAGlCQ,WAHkC,EAIlCN,OAJkC,KAMlCL,eAAe,CACb,MAAMd,UAAA,CAAKC,IAAL,CAAUC,IAAV,EADO,EAEbT,KAFa,EAGbiC,2BAHa,EAIbT,KAJa,EAKbQ,WALa,EAMbN,OANa,CANV;;;;AAeA,MAAMQ,sBAAsB,GAAG,CACpClC,KADoC,EAEpCwB,KAFoC,EAGpCQ,WAHoC,EAIpCN,OAJoC,KAMpCL,eAAe,CACb,MAAMd,UAAA,CAAK4B,KAAL,CAAW,CAAX,EAAc,CAAd,CADO,EAEbnC,KAFa,EAGboC,4BAHa,EAIbZ,KAJa,EAKbQ,WALa,EAMbN,OANa,CANV"}
1
+ {"version":3,"names":["notifyChange","value","_WORKLET","Platform","OS","_value","usePathValue","cb","pathInit","useMemo","Skia","Path","Make","path","useSharedValue","useDerivedValue","reset","useClock","clock","callback","useCallback","info","timeSinceFirstFrame","useFrameCallback","useInterpolator","factory","interpolator","input","output","options","init","result","useAnimatedReaction","val","usePathInterpolation","outputRange","allPathsInterpolable","slice","every","isInterpolatable","Error","interpolatePaths","useVectorInterpolation","Point","interpolateVector"],"sources":["interpolators.ts"],"sourcesContent":["import type {\n ExtrapolationType,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\nimport { useCallback, useMemo } from \"react\";\n\nimport type { SkPath, SkPoint } from \"../../skia/types\";\nimport { interpolatePaths, interpolateVector } from \"../../animation\";\nimport { Skia } from \"../../skia\";\nimport { Platform } from \"../../Platform\";\n\nimport {\n useAnimatedReaction,\n useFrameCallback,\n useSharedValue,\n useDerivedValue,\n} from \"./moduleWrapper\";\n\nexport const notifyChange = (value: SharedValue<unknown>) => {\n \"worklet\";\n if (_WORKLET || Platform.OS === \"web\") {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value as any)._value = value.value;\n }\n};\n\nexport const usePathValue = (cb: (path: SkPath) => void) => {\n const pathInit = useMemo(() => Skia.Path.Make(), []);\n const path = useSharedValue(pathInit);\n useDerivedValue(() => {\n path.value.reset();\n cb(path.value);\n notifyChange(path);\n });\n return path;\n};\n\nexport const useClock = () => {\n const clock = useSharedValue(0);\n const callback = useCallback(\n (info: FrameInfo) => {\n \"worklet\";\n clock.value = info.timeSinceFirstFrame;\n },\n [clock]\n );\n useFrameCallback(callback);\n return clock;\n};\n\n/**\n * @worklet\n */\ntype Interpolator<T> = (\n value: number,\n input: number[],\n output: T[],\n options: ExtrapolationType,\n result: T\n) => T;\n\nconst useInterpolator = <T>(\n factory: () => T,\n value: SharedValue<number>,\n interpolator: Interpolator<T>,\n input: number[],\n output: T[],\n options?: ExtrapolationType\n) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const init = useMemo(() => factory(), []);\n const result = useSharedValue(init);\n useAnimatedReaction(\n () => value.value,\n (val) => {\n result.value = interpolator(val, input, output, options, result.value);\n notifyChange(result);\n },\n [input, output, options]\n );\n return result;\n};\n\nexport const usePathInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPath[],\n options?: ExtrapolationType\n) => {\n // Check if all paths in outputRange are interpolable\n const allPathsInterpolable = outputRange\n .slice(1)\n .every((path) => outputRange[0].isInterpolatable(path));\n if (!allPathsInterpolable) {\n // Handle the case where not all paths are interpolable\n // For example, throw an error or return early\n throw new Error(\n `Not all paths in the output range are interpolable.\nSee: https://shopify.github.io/react-native-skia/docs/animations/hooks#usepathinterpolation`\n );\n }\n return useInterpolator(\n () => Skia.Path.Make(),\n value,\n interpolatePaths,\n input,\n outputRange,\n options\n );\n};\n\nexport const useVectorInterpolation = (\n value: SharedValue<number>,\n input: number[],\n outputRange: SkPoint[],\n options?: ExtrapolationType\n) =>\n useInterpolator(\n () => Skia.Point(0, 0),\n value,\n interpolateVector,\n input,\n outputRange,\n options\n );\n"],"mappings":"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"}
@@ -9,5 +9,6 @@ export declare const useFrameCallback: (callback: (frameInfo: FrameInfo) => void
9
9
  export declare const startMapper: (worklet: () => void, inputs?: unknown[], outputs?: unknown[]) => number;
10
10
  export declare const stopMapper: (mapperID: number) => void;
11
11
  export declare const runOnJS: any;
12
+ export declare const runOnUI: any;
12
13
  export declare const useAnimatedReaction: <T>(prepare: () => T, react: (v: T) => void, dependencies?: DependencyList) => void;
13
14
  export declare const isSharedValue: <T>(value: unknown) => value is SharedValue<T>;
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.stopMapper = exports.startMapper = exports.runOnJS = exports.isSharedValue = exports.HAS_REANIMATED3 = exports.HAS_REANIMATED2 = void 0;
6
+ exports.stopMapper = exports.startMapper = exports.runOnUI = exports.runOnJS = exports.isSharedValue = exports.HAS_REANIMATED3 = exports.HAS_REANIMATED2 = void 0;
7
7
  exports.throwOnMissingReanimated = throwOnMissingReanimated;
8
8
  exports.useSharedValue = exports.useFrameCallback = exports.useDerivedValue = exports.useAnimatedReaction = void 0;
9
9
 
10
- var _Reanimated, _Reanimated2, _Reanimated3, _Reanimated4, _Reanimated5, _Reanimated6, _Reanimated7;
10
+ var _Reanimated, _Reanimated2, _Reanimated3, _Reanimated4, _Reanimated5, _Reanimated6, _Reanimated7, _Reanimated8;
11
11
 
12
12
  /* eslint-disable @typescript-eslint/no-explicit-any */
13
13
  // This one is needed for the deprecated useSharedValue function
@@ -49,7 +49,9 @@ const stopMapper = ((_Reanimated5 = Reanimated2) === null || _Reanimated5 === vo
49
49
  exports.stopMapper = stopMapper;
50
50
  const runOnJS = ((_Reanimated6 = Reanimated2) === null || _Reanimated6 === void 0 ? void 0 : _Reanimated6.runOnJS) || throwOnMissingReanimated;
51
51
  exports.runOnJS = runOnJS;
52
- const useAnimatedReaction = ((_Reanimated7 = Reanimated2) === null || _Reanimated7 === void 0 ? void 0 : _Reanimated7.useAnimatedReaction) || throwOnMissingReanimated;
52
+ const runOnUI = ((_Reanimated7 = Reanimated2) === null || _Reanimated7 === void 0 ? void 0 : _Reanimated7.runOnUI) || throwOnMissingReanimated;
53
+ exports.runOnUI = runOnUI;
54
+ const useAnimatedReaction = ((_Reanimated8 = Reanimated2) === null || _Reanimated8 === void 0 ? void 0 : _Reanimated8.useAnimatedReaction) || throwOnMissingReanimated;
53
55
  exports.useAnimatedReaction = useAnimatedReaction;
54
56
 
55
57
  const isSharedValue = value => {
@@ -1 +1 @@
1
- {"version":3,"names":["Reanimated2","Reanimated3","reanimatedVersion","require","version","includes","e","HAS_REANIMATED2","HAS_REANIMATED3","throwOnMissingReanimated","Error","useSharedValue","useDerivedValue","useFrameCallback","startMapper","stopMapper","runOnJS","useAnimatedReaction","isSharedValue","value","undefined"],"sources":["moduleWrapper.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from \"react\";\nimport type {\n DerivedValue,\n FrameCallback,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\n\n// This one is needed for the deprecated useSharedValue function\n// We can remove it once we remove the deprecation\n\nlet Reanimated2: any;\n\nlet Reanimated3: any;\nlet reanimatedVersion: string;\n\ntry {\n Reanimated2 = require(\"react-native-reanimated\");\n reanimatedVersion = require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n Reanimated3 = Reanimated2;\n }\n} catch (e) {}\n\nexport const HAS_REANIMATED2 = !!Reanimated2;\nexport const HAS_REANIMATED3 = !!Reanimated3;\n\nexport function throwOnMissingReanimated() {\n if (!HAS_REANIMATED2) {\n throw new Error(\n \"Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \\\n react-native-skia's integration layer API.\"\n );\n }\n}\n\nexport const useSharedValue: <T>(\n init: T,\n oneWayReadsOnly?: boolean\n) => SharedValue<T> = Reanimated2?.useSharedValue || throwOnMissingReanimated;\n\nexport const useDerivedValue: <T>(\n processor: () => T,\n dependencies?: DependencyList\n) => DerivedValue<T> = Reanimated2?.useDerivedValue || throwOnMissingReanimated;\n\nexport const useFrameCallback: (\n callback: (frameInfo: FrameInfo) => void,\n autostart?: boolean\n) => FrameCallback = Reanimated2?.useFrameCallback || throwOnMissingReanimated;\n\nexport const startMapper: (\n worklet: () => void,\n inputs?: unknown[],\n outputs?: unknown[]\n) => number = Reanimated2?.startMapper || throwOnMissingReanimated;\n\nexport const stopMapper: (mapperID: number) => void =\n Reanimated2?.stopMapper || throwOnMissingReanimated;\n\nexport const runOnJS = Reanimated2?.runOnJS || throwOnMissingReanimated;\n\nexport const useAnimatedReaction: <T>(\n prepare: () => T,\n react: (v: T) => void,\n dependencies?: DependencyList\n) => void = Reanimated2?.useAnimatedReaction || throwOnMissingReanimated;\n\nexport const isSharedValue = <T>(value: unknown): value is SharedValue<T> => {\n return (\n !!value &&\n (Reanimated3\n ? Reanimated3.isSharedValue(value)\n : (value as any).value !== undefined)\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AASA;AACA;AAEA,IAAIA,WAAJ;AAEA,IAAIC,WAAJ;AACA,IAAIC,iBAAJ;;AAEA,IAAI;EACFF,WAAW,GAAGG,OAAO,CAAC,yBAAD,CAArB;EACAD,iBAAiB,GAAGC,OAAO,CAAC,sCAAD,CAAP,CAAgDC,OAApE;;EACA,IACEF,iBAAiB,KAChBA,iBAAiB,IAAI,OAArB,IAAgCA,iBAAiB,CAACG,QAAlB,CAA2B,QAA3B,CADhB,CADnB,EAGE;IACAJ,WAAW,GAAGD,WAAd;EACD;AACF,CATD,CASE,OAAOM,CAAP,EAAU,CAAE;;AAEP,MAAMC,eAAe,GAAG,CAAC,CAACP,WAA1B;;AACA,MAAMQ,eAAe,GAAG,CAAC,CAACP,WAA1B;;;AAEA,SAASQ,wBAAT,GAAoC;EACzC,IAAI,CAACF,eAAL,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CACJ;AACN,iDAFU,CAAN;EAID;AACF;;AAEM,MAAMC,cAGM,GAAG,gBAAAX,WAAW,UAAX,kDAAaW,cAAb,KAA+BF,wBAH9C;;AAKA,MAAMG,eAGO,GAAG,iBAAAZ,WAAW,UAAX,oDAAaY,eAAb,KAAgCH,wBAHhD;;AAKA,MAAMI,gBAGK,GAAG,iBAAAb,WAAW,UAAX,oDAAaa,gBAAb,KAAiCJ,wBAH/C;;AAKA,MAAMK,WAIF,GAAG,iBAAAd,WAAW,UAAX,oDAAac,WAAb,KAA4BL,wBAJnC;;AAMA,MAAMM,UAAsC,GACjD,iBAAAf,WAAW,UAAX,oDAAae,UAAb,KAA2BN,wBADtB;;AAGA,MAAMO,OAAO,GAAG,iBAAAhB,WAAW,UAAX,oDAAagB,OAAb,KAAwBP,wBAAxC;;AAEA,MAAMQ,mBAIJ,GAAG,iBAAAjB,WAAW,UAAX,oDAAaiB,mBAAb,KAAoCR,wBAJzC;;;AAMA,MAAMS,aAAa,GAAOC,KAAJ,IAAgD;EAC3E,OACE,CAAC,CAACA,KAAF,KACClB,WAAW,GACRA,WAAW,CAACiB,aAAZ,CAA0BC,KAA1B,CADQ,GAEPA,KAAD,CAAeA,KAAf,KAAyBC,SAH7B,CADF;AAMD,CAPM"}
1
+ {"version":3,"names":["Reanimated2","Reanimated3","reanimatedVersion","require","version","includes","e","HAS_REANIMATED2","HAS_REANIMATED3","throwOnMissingReanimated","Error","useSharedValue","useDerivedValue","useFrameCallback","startMapper","stopMapper","runOnJS","runOnUI","useAnimatedReaction","isSharedValue","value","undefined"],"sources":["moduleWrapper.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from \"react\";\nimport type {\n DerivedValue,\n FrameCallback,\n FrameInfo,\n SharedValue,\n} from \"react-native-reanimated\";\n\n// This one is needed for the deprecated useSharedValue function\n// We can remove it once we remove the deprecation\n\nlet Reanimated2: any;\n\nlet Reanimated3: any;\nlet reanimatedVersion: string;\n\ntry {\n Reanimated2 = require(\"react-native-reanimated\");\n reanimatedVersion = require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n Reanimated3 = Reanimated2;\n }\n} catch (e) {}\n\nexport const HAS_REANIMATED2 = !!Reanimated2;\nexport const HAS_REANIMATED3 = !!Reanimated3;\n\nexport function throwOnMissingReanimated() {\n if (!HAS_REANIMATED2) {\n throw new Error(\n \"Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \\\n react-native-skia's integration layer API.\"\n );\n }\n}\n\nexport const useSharedValue: <T>(\n init: T,\n oneWayReadsOnly?: boolean\n) => SharedValue<T> = Reanimated2?.useSharedValue || throwOnMissingReanimated;\n\nexport const useDerivedValue: <T>(\n processor: () => T,\n dependencies?: DependencyList\n) => DerivedValue<T> = Reanimated2?.useDerivedValue || throwOnMissingReanimated;\n\nexport const useFrameCallback: (\n callback: (frameInfo: FrameInfo) => void,\n autostart?: boolean\n) => FrameCallback = Reanimated2?.useFrameCallback || throwOnMissingReanimated;\n\nexport const startMapper: (\n worklet: () => void,\n inputs?: unknown[],\n outputs?: unknown[]\n) => number = Reanimated2?.startMapper || throwOnMissingReanimated;\n\nexport const stopMapper: (mapperID: number) => void =\n Reanimated2?.stopMapper || throwOnMissingReanimated;\n\nexport const runOnJS = Reanimated2?.runOnJS || throwOnMissingReanimated;\nexport const runOnUI = Reanimated2?.runOnUI || throwOnMissingReanimated;\n\nexport const useAnimatedReaction: <T>(\n prepare: () => T,\n react: (v: T) => void,\n dependencies?: DependencyList\n) => void = Reanimated2?.useAnimatedReaction || throwOnMissingReanimated;\n\nexport const isSharedValue = <T>(value: unknown): value is SharedValue<T> => {\n return (\n !!value &&\n (Reanimated3\n ? Reanimated3.isSharedValue(value)\n : (value as any).value !== undefined)\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AASA;AACA;AAEA,IAAIA,WAAJ;AAEA,IAAIC,WAAJ;AACA,IAAIC,iBAAJ;;AAEA,IAAI;EACFF,WAAW,GAAGG,OAAO,CAAC,yBAAD,CAArB;EACAD,iBAAiB,GAAGC,OAAO,CAAC,sCAAD,CAAP,CAAgDC,OAApE;;EACA,IACEF,iBAAiB,KAChBA,iBAAiB,IAAI,OAArB,IAAgCA,iBAAiB,CAACG,QAAlB,CAA2B,QAA3B,CADhB,CADnB,EAGE;IACAJ,WAAW,GAAGD,WAAd;EACD;AACF,CATD,CASE,OAAOM,CAAP,EAAU,CAAE;;AAEP,MAAMC,eAAe,GAAG,CAAC,CAACP,WAA1B;;AACA,MAAMQ,eAAe,GAAG,CAAC,CAACP,WAA1B;;;AAEA,SAASQ,wBAAT,GAAoC;EACzC,IAAI,CAACF,eAAL,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CACJ;AACN,iDAFU,CAAN;EAID;AACF;;AAEM,MAAMC,cAGM,GAAG,gBAAAX,WAAW,UAAX,kDAAaW,cAAb,KAA+BF,wBAH9C;;AAKA,MAAMG,eAGO,GAAG,iBAAAZ,WAAW,UAAX,oDAAaY,eAAb,KAAgCH,wBAHhD;;AAKA,MAAMI,gBAGK,GAAG,iBAAAb,WAAW,UAAX,oDAAaa,gBAAb,KAAiCJ,wBAH/C;;AAKA,MAAMK,WAIF,GAAG,iBAAAd,WAAW,UAAX,oDAAac,WAAb,KAA4BL,wBAJnC;;AAMA,MAAMM,UAAsC,GACjD,iBAAAf,WAAW,UAAX,oDAAae,UAAb,KAA2BN,wBADtB;;AAGA,MAAMO,OAAO,GAAG,iBAAAhB,WAAW,UAAX,oDAAagB,OAAb,KAAwBP,wBAAxC;;AACA,MAAMQ,OAAO,GAAG,iBAAAjB,WAAW,UAAX,oDAAaiB,OAAb,KAAwBR,wBAAxC;;AAEA,MAAMS,mBAIJ,GAAG,iBAAAlB,WAAW,UAAX,oDAAakB,mBAAb,KAAoCT,wBAJzC;;;AAMA,MAAMU,aAAa,GAAOC,KAAJ,IAAgD;EAC3E,OACE,CAAC,CAACA,KAAF,KACCnB,WAAW,GACRA,WAAW,CAACkB,aAAZ,CAA0BC,KAA1B,CADQ,GAEPA,KAAD,CAAeA,KAAf,KAAyBC,SAH7B,CADF;AAMD,CAPM"}
@@ -0,0 +1,5 @@
1
+ import type { ReactElement } from "react";
2
+ import type { SharedValue } from "react-native-reanimated";
3
+ import type { SkImage, SkPicture, SkSize } from "../../skia/types";
4
+ export declare const useTextureValue: (element: ReactElement, size: SkSize) => SharedValue<SkImage | null>;
5
+ export declare const useTextureValueFromPicture: (picture: SkPicture, size: SkSize) => SharedValue<SkImage | null>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTextureValueFromPicture = exports.useTextureValue = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _skia = require("../../skia");
11
+
12
+ var _Offscreen = require("../../renderer/Offscreen");
13
+
14
+ var _moduleWrapper = require("./moduleWrapper");
15
+
16
+ // TODO: We're not sure yet why PixelRatio is not needed here.
17
+ const pd = 1; //Platform.PixelRatio;
18
+
19
+ const createTexture = (texture, picture, size) => {
20
+ "worklet";
21
+
22
+ const surface = _skia.Skia.Surface.MakeOffscreen(size.width * pd, size.height * pd);
23
+
24
+ const canvas = surface.getCanvas(); // see comment above
25
+ //canvas.save();
26
+ //canvas.scale(pd, pd);
27
+
28
+ canvas.drawPicture(picture); //canvas.restore();
29
+
30
+ surface.flush();
31
+ texture.value = surface.makeImageSnapshot();
32
+ };
33
+
34
+ const useTextureValue = (element, size) => {
35
+ const picture = (0, _react.useMemo)(() => {
36
+ return (0, _Offscreen.drawAsPicture)(element);
37
+ }, [element]);
38
+ return useTextureValueFromPicture(picture, size);
39
+ };
40
+
41
+ exports.useTextureValue = useTextureValue;
42
+
43
+ const useTextureValueFromPicture = (picture, size) => {
44
+ const texture = (0, _moduleWrapper.useSharedValue)(null);
45
+ (0, _react.useEffect)(() => {
46
+ (0, _moduleWrapper.runOnUI)(createTexture)(texture, picture, size);
47
+ }, [texture, picture, size]);
48
+ return texture;
49
+ };
50
+
51
+ exports.useTextureValueFromPicture = useTextureValueFromPicture;
52
+ //# sourceMappingURL=textures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pd","createTexture","texture","picture","size","surface","Skia","Surface","MakeOffscreen","width","height","canvas","getCanvas","drawPicture","flush","value","makeImageSnapshot","useTextureValue","element","useMemo","drawAsPicture","useTextureValueFromPicture","useSharedValue","useEffect","runOnUI"],"sources":["textures.tsx"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport type { ReactElement } from \"react\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { Skia } from \"../../skia\";\nimport type { SkImage, SkPicture, SkSize } from \"../../skia/types\";\nimport { drawAsPicture } from \"../../renderer/Offscreen\";\n\nimport { runOnUI, useSharedValue } from \"./moduleWrapper\";\n\n// TODO: We're not sure yet why PixelRatio is not needed here.\nconst pd = 1; //Platform.PixelRatio;\n\nconst createTexture = (\n texture: SharedValue<SkImage | null>,\n picture: SkPicture,\n size: SkSize\n) => {\n \"worklet\";\n const surface = Skia.Surface.MakeOffscreen(\n size.width * pd,\n size.height * pd\n )!;\n const canvas = surface.getCanvas();\n // see comment above\n //canvas.save();\n //canvas.scale(pd, pd);\n canvas.drawPicture(picture);\n //canvas.restore();\n surface.flush();\n texture.value = surface.makeImageSnapshot();\n};\n\nexport const useTextureValue = (element: ReactElement, size: SkSize) => {\n const picture = useMemo(() => {\n return drawAsPicture(element);\n }, [element]);\n return useTextureValueFromPicture(picture, size);\n};\n\nexport const useTextureValueFromPicture = (\n picture: SkPicture,\n size: SkSize\n) => {\n const texture = useSharedValue<SkImage | null>(null);\n useEffect(() => {\n runOnUI(createTexture)(texture, picture, size);\n }, [texture, picture, size]);\n return texture;\n};\n"],"mappings":";;;;;;;AAAA;;AAIA;;AAEA;;AAEA;;AAEA;AACA,MAAMA,EAAE,GAAG,CAAX,C,CAAc;;AAEd,MAAMC,aAAa,GAAG,CACpBC,OADoB,EAEpBC,OAFoB,EAGpBC,IAHoB,KAIjB;EACH;;EACA,MAAMC,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CACdJ,IAAI,CAACK,KAAL,GAAaT,EADC,EAEdI,IAAI,CAACM,MAAL,GAAcV,EAFA,CAAhB;;EAIA,MAAMW,MAAM,GAAGN,OAAO,CAACO,SAAR,EAAf,CANG,CAOH;EACA;EACA;;EACAD,MAAM,CAACE,WAAP,CAAmBV,OAAnB,EAVG,CAWH;;EACAE,OAAO,CAACS,KAAR;EACAZ,OAAO,CAACa,KAAR,GAAgBV,OAAO,CAACW,iBAAR,EAAhB;AACD,CAlBD;;AAoBO,MAAMC,eAAe,GAAG,CAACC,OAAD,EAAwBd,IAAxB,KAAyC;EACtE,MAAMD,OAAO,GAAG,IAAAgB,cAAA,EAAQ,MAAM;IAC5B,OAAO,IAAAC,wBAAA,EAAcF,OAAd,CAAP;EACD,CAFe,EAEb,CAACA,OAAD,CAFa,CAAhB;EAGA,OAAOG,0BAA0B,CAAClB,OAAD,EAAUC,IAAV,CAAjC;AACD,CALM;;;;AAOA,MAAMiB,0BAA0B,GAAG,CACxClB,OADwC,EAExCC,IAFwC,KAGrC;EACH,MAAMF,OAAO,GAAG,IAAAoB,6BAAA,EAA+B,IAA/B,CAAhB;EACA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAAC,sBAAA,EAAQvB,aAAR,EAAuBC,OAAvB,EAAgCC,OAAhC,EAAyCC,IAAzC;EACD,CAFD,EAEG,CAACF,OAAD,EAAUC,OAAV,EAAmBC,IAAnB,CAFH;EAGA,OAAOF,OAAP;AACD,CATM"}
@@ -50,7 +50,7 @@ const makeOffscreenSurface = (width, height) => {
50
50
  exports.makeOffscreenSurface = makeOffscreenSurface;
51
51
 
52
52
  const drawOffscreen = (surface, element) => {
53
- const root = new _Reconciler.SkiaRoot(Skia);
53
+ const root = new _Reconciler.SkiaRoot(Skia, false);
54
54
  root.render(element);
55
55
  const canvas = surface.getCanvas();
56
56
  const ctx = new _types.JsiDrawingContext(Skia, canvas);
@@ -1 +1 @@
1
- {"version":3,"names":["Skia","makeOffscreenSurface","width","height","JsiSkApi","CanvasKit","surface","Surface","MakeOffscreen","Error","drawOffscreen","element","root","SkiaRoot","render","canvas","getCanvas","ctx","JsiDrawingContext","dom","flush","makeImageSnapshot"],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type { ReactNode } from \"react\";\n\nimport { JsiSkApi } from \"../skia/web\";\nimport { SkiaRoot } from \"../renderer/Reconciler\";\nimport { JsiDrawingContext } from \"../dom/types\";\nimport type { SkSurface } from \"../skia\";\n\nexport * from \"../renderer/components\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Skia: any;\n\nexport const makeOffscreenSurface = (width: number, height: number) => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (surface === null) {\n throw new Error(\"Couldn't create surface!\");\n }\n return surface;\n};\n\nexport const drawOffscreen = (surface: SkSurface, element: ReactNode) => {\n const root = new SkiaRoot(Skia);\n root.render(element);\n const canvas = surface.getCanvas();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":";;;;;;;;;;;AAKA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAVA;AACA;AAWA;AACA,IAAIA,IAAJ;;AAEO,MAAMC,oBAAoB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,KAAmC;EACrE,IAAI,CAACH,IAAL,EAAW;IACTA,IAAI,GAAG,IAAAI,aAAA,EAASC,SAAT,CAAP;EACD;;EACD,MAAMC,OAAO,GAAGN,IAAI,CAACO,OAAL,CAAaC,aAAb,CAA2BN,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAIG,OAAO,KAAK,IAAhB,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CAAU,0BAAV,CAAN;EACD;;EACD,OAAOH,OAAP;AACD,CATM;;;;AAWA,MAAMI,aAAa,GAAG,CAACJ,OAAD,EAAqBK,OAArB,KAA4C;EACvE,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,IAAb,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYH,OAAZ;EACA,MAAMI,MAAM,GAAGT,OAAO,CAACU,SAAR,EAAf;EACA,MAAMC,GAAG,GAAG,IAAIC,wBAAJ,CAAsBlB,IAAtB,EAA4Be,MAA5B,CAAZ;EACAH,IAAI,CAACO,GAAL,CAASL,MAAT,CAAgBG,GAAhB;EACAX,OAAO,CAACc,KAAR;EACA,OAAOd,OAAO,CAACe,iBAAR,EAAP;AACD,CARM"}
1
+ {"version":3,"names":["Skia","makeOffscreenSurface","width","height","JsiSkApi","CanvasKit","surface","Surface","MakeOffscreen","Error","drawOffscreen","element","root","SkiaRoot","render","canvas","getCanvas","ctx","JsiDrawingContext","dom","flush","makeImageSnapshot"],"sources":["index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type { ReactNode } from \"react\";\n\nimport { JsiSkApi } from \"../skia/web\";\nimport { SkiaRoot } from \"../renderer/Reconciler\";\nimport { JsiDrawingContext } from \"../dom/types\";\nimport type { SkSurface } from \"../skia\";\n\nexport * from \"../renderer/components\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Skia: any;\n\nexport const makeOffscreenSurface = (width: number, height: number) => {\n if (!Skia) {\n Skia = JsiSkApi(CanvasKit);\n }\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (surface === null) {\n throw new Error(\"Couldn't create surface!\");\n }\n return surface;\n};\n\nexport const drawOffscreen = (surface: SkSurface, element: ReactNode) => {\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const canvas = surface.getCanvas();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":";;;;;;;;;;;AAKA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAVA;AACA;AAWA;AACA,IAAIA,IAAJ;;AAEO,MAAMC,oBAAoB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,KAAmC;EACrE,IAAI,CAACH,IAAL,EAAW;IACTA,IAAI,GAAG,IAAAI,aAAA,EAASC,SAAT,CAAP;EACD;;EACD,MAAMC,OAAO,GAAGN,IAAI,CAACO,OAAL,CAAaC,aAAb,CAA2BN,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAIG,OAAO,KAAK,IAAhB,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CAAU,0BAAV,CAAN;EACD;;EACD,OAAOH,OAAP;AACD,CATM;;;;AAWA,MAAMI,aAAa,GAAG,CAACJ,OAAD,EAAqBK,OAArB,KAA4C;EACvE,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,IAAb,EAAmB,KAAnB,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYH,OAAZ;EACA,MAAMI,MAAM,GAAGT,OAAO,CAACU,SAAR,EAAf;EACA,MAAMC,GAAG,GAAG,IAAIC,wBAAJ,CAAsBlB,IAAtB,EAA4Be,MAA5B,CAAZ;EACAH,IAAI,CAACO,GAAL,CAASL,MAAT,CAAgBG,GAAhB;EACAX,OAAO,CAACc,KAAR;EACA,OAAOd,OAAO,CAACe,iBAAR,EAAP;AACD,CARM"}
@@ -42,9 +42,12 @@ const Mock = CanvasKit => {
42
42
  // Reanimated hooks
43
43
  useClock: NoopSharedValue,
44
44
  usePathInterpolation: NoopSharedValue,
45
+ useTextureValue: NoopSharedValue,
46
+ useTextureValueFromPicture: NoopSharedValue,
45
47
  useRawData: Noop,
46
48
  useData: Noop,
47
49
  useFont: () => Skia.Font(undefined, 0),
50
+ useFonts: Noop,
48
51
  useTypeface: () => null,
49
52
  useImage: () => null,
50
53
  useSVG: () => null
@@ -1 +1 @@
1
- {"version":3,"names":["Noop","undefined","NoopValue","current","NoopSharedValue","value","Mock","CanvasKit","global","SkiaApi","JsiSkApi","Skia","require","Canvas","useValue","useComputedValue","useTouchHandler","useTiming","useLoop","useSpring","useClockValue","useValueEffect","useClock","usePathInterpolation","useRawData","useData","useFont","Font","useTypeface","useImage","useSVG"],"sources":["index.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport { JsiSkApi } from \"../skia/web\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst Noop: () => any = () => undefined;\nconst NoopValue = () => ({ current: 0 });\nconst NoopSharedValue = () => ({ value: 0 });\n\nexport const Mock = (CanvasKit: CanvasKit) => {\n global.SkiaApi = JsiSkApi(CanvasKit);\n const Skia = global.SkiaApi;\n return {\n Skia,\n ...require(\"../renderer/components\"),\n ...require(\"../skia\"),\n ...require(\"../animation\"),\n ...require(\"../dom/types\"),\n ...require(\"../dom/nodes\"),\n // We could use the real Canvas if we mock the SkiaView component for node\n Canvas: Noop,\n // Skia Animations\n useValue: NoopValue,\n useComputedValue: NoopValue,\n useTouchHandler: Noop,\n useTiming: NoopValue,\n useLoop: NoopValue,\n useSpring: NoopValue,\n useClockValue: NoopValue,\n useValueEffect: Noop,\n // Reanimated hooks\n useClock: NoopSharedValue,\n usePathInterpolation: NoopSharedValue,\n useRawData: Noop,\n useData: Noop,\n useFont: () => Skia.Font(undefined, 0),\n useTypeface: () => null,\n useImage: () => null,\n useSVG: () => null,\n };\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;AACA,MAAMA,IAAe,GAAG,MAAMC,SAA9B;;AACA,MAAMC,SAAS,GAAG,OAAO;EAAEC,OAAO,EAAE;AAAX,CAAP,CAAlB;;AACA,MAAMC,eAAe,GAAG,OAAO;EAAEC,KAAK,EAAE;AAAT,CAAP,CAAxB;;AAEO,MAAMC,IAAI,GAAIC,SAAD,IAA0B;EAC5CC,MAAM,CAACC,OAAP,GAAiB,IAAAC,aAAA,EAASH,SAAT,CAAjB;EACA,MAAMI,IAAI,GAAGH,MAAM,CAACC,OAApB;EACA,OAAO;IACLE,IADK;IAEL,GAAGC,OAAO,CAAC,wBAAD,CAFL;IAGL,GAAGA,OAAO,CAAC,SAAD,CAHL;IAIL,GAAGA,OAAO,CAAC,cAAD,CAJL;IAKL,GAAGA,OAAO,CAAC,cAAD,CALL;IAML,GAAGA,OAAO,CAAC,cAAD,CANL;IAOL;IACAC,MAAM,EAAEb,IARH;IASL;IACAc,QAAQ,EAAEZ,SAVL;IAWLa,gBAAgB,EAAEb,SAXb;IAYLc,eAAe,EAAEhB,IAZZ;IAaLiB,SAAS,EAAEf,SAbN;IAcLgB,OAAO,EAAEhB,SAdJ;IAeLiB,SAAS,EAAEjB,SAfN;IAgBLkB,aAAa,EAAElB,SAhBV;IAiBLmB,cAAc,EAAErB,IAjBX;IAkBL;IACAsB,QAAQ,EAAElB,eAnBL;IAoBLmB,oBAAoB,EAAEnB,eApBjB;IAqBLoB,UAAU,EAAExB,IArBP;IAsBLyB,OAAO,EAAEzB,IAtBJ;IAuBL0B,OAAO,EAAE,MAAMf,IAAI,CAACgB,IAAL,CAAU1B,SAAV,EAAqB,CAArB,CAvBV;IAwBL2B,WAAW,EAAE,MAAM,IAxBd;IAyBLC,QAAQ,EAAE,MAAM,IAzBX;IA0BLC,MAAM,EAAE,MAAM;EA1BT,CAAP;AA4BD,CA/BM"}
1
+ {"version":3,"names":["Noop","undefined","NoopValue","current","NoopSharedValue","value","Mock","CanvasKit","global","SkiaApi","JsiSkApi","Skia","require","Canvas","useValue","useComputedValue","useTouchHandler","useTiming","useLoop","useSpring","useClockValue","useValueEffect","useClock","usePathInterpolation","useTextureValue","useTextureValueFromPicture","useRawData","useData","useFont","Font","useFonts","useTypeface","useImage","useSVG"],"sources":["index.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport { JsiSkApi } from \"../skia/web\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst Noop: () => any = () => undefined;\nconst NoopValue = () => ({ current: 0 });\nconst NoopSharedValue = () => ({ value: 0 });\n\nexport const Mock = (CanvasKit: CanvasKit) => {\n global.SkiaApi = JsiSkApi(CanvasKit);\n const Skia = global.SkiaApi;\n return {\n Skia,\n ...require(\"../renderer/components\"),\n ...require(\"../skia\"),\n ...require(\"../animation\"),\n ...require(\"../dom/types\"),\n ...require(\"../dom/nodes\"),\n // We could use the real Canvas if we mock the SkiaView component for node\n Canvas: Noop,\n // Skia Animations\n useValue: NoopValue,\n useComputedValue: NoopValue,\n useTouchHandler: Noop,\n useTiming: NoopValue,\n useLoop: NoopValue,\n useSpring: NoopValue,\n useClockValue: NoopValue,\n useValueEffect: Noop,\n // Reanimated hooks\n useClock: NoopSharedValue,\n usePathInterpolation: NoopSharedValue,\n useTextureValue: NoopSharedValue,\n useTextureValueFromPicture: NoopSharedValue,\n useRawData: Noop,\n useData: Noop,\n useFont: () => Skia.Font(undefined, 0),\n useFonts: Noop,\n useTypeface: () => null,\n useImage: () => null,\n useSVG: () => null,\n };\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;AACA,MAAMA,IAAe,GAAG,MAAMC,SAA9B;;AACA,MAAMC,SAAS,GAAG,OAAO;EAAEC,OAAO,EAAE;AAAX,CAAP,CAAlB;;AACA,MAAMC,eAAe,GAAG,OAAO;EAAEC,KAAK,EAAE;AAAT,CAAP,CAAxB;;AAEO,MAAMC,IAAI,GAAIC,SAAD,IAA0B;EAC5CC,MAAM,CAACC,OAAP,GAAiB,IAAAC,aAAA,EAASH,SAAT,CAAjB;EACA,MAAMI,IAAI,GAAGH,MAAM,CAACC,OAApB;EACA,OAAO;IACLE,IADK;IAEL,GAAGC,OAAO,CAAC,wBAAD,CAFL;IAGL,GAAGA,OAAO,CAAC,SAAD,CAHL;IAIL,GAAGA,OAAO,CAAC,cAAD,CAJL;IAKL,GAAGA,OAAO,CAAC,cAAD,CALL;IAML,GAAGA,OAAO,CAAC,cAAD,CANL;IAOL;IACAC,MAAM,EAAEb,IARH;IASL;IACAc,QAAQ,EAAEZ,SAVL;IAWLa,gBAAgB,EAAEb,SAXb;IAYLc,eAAe,EAAEhB,IAZZ;IAaLiB,SAAS,EAAEf,SAbN;IAcLgB,OAAO,EAAEhB,SAdJ;IAeLiB,SAAS,EAAEjB,SAfN;IAgBLkB,aAAa,EAAElB,SAhBV;IAiBLmB,cAAc,EAAErB,IAjBX;IAkBL;IACAsB,QAAQ,EAAElB,eAnBL;IAoBLmB,oBAAoB,EAAEnB,eApBjB;IAqBLoB,eAAe,EAAEpB,eArBZ;IAsBLqB,0BAA0B,EAAErB,eAtBvB;IAuBLsB,UAAU,EAAE1B,IAvBP;IAwBL2B,OAAO,EAAE3B,IAxBJ;IAyBL4B,OAAO,EAAE,MAAMjB,IAAI,CAACkB,IAAL,CAAU5B,SAAV,EAAqB,CAArB,CAzBV;IA0BL6B,QAAQ,EAAE9B,IA1BL;IA2BL+B,WAAW,EAAE,MAAM,IA3Bd;IA4BLC,QAAQ,EAAE,MAAM,IA5BX;IA6BLC,MAAM,EAAE,MAAM;EA7BT,CAAP;AA+BD,CAlCM"}
@@ -9,10 +9,10 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _views = require("../views");
11
11
 
12
- var _SkiaDomView = require("../views/SkiaDomView.web");
13
-
14
12
  var _Skia = require("../skia/Skia");
15
13
 
14
+ var _SkiaJSDomView = require("../views/SkiaJSDomView");
15
+
16
16
  var _Reconciler = require("./Reconciler");
17
17
 
18
18
  var _HostComponents = require("./HostComponents");
@@ -72,7 +72,7 @@ const Canvas = /*#__PURE__*/(0, _react.forwardRef)((_ref, forwardedRef) => {
72
72
  const id = ((_innerRef$current2 = innerRef.current) === null || _innerRef$current2 === void 0 ? void 0 : _innerRef$current2.nativeId) ?? -1;
73
73
  return id;
74
74
  }, [innerRef]);
75
- const root = (0, _react.useMemo)(() => new _Reconciler.SkiaRoot(_Skia.Skia, redraw, getNativeId), [redraw, getNativeId]); // Render effect
75
+ const root = (0, _react.useMemo)(() => new _Reconciler.SkiaRoot(_Skia.Skia, _HostComponents.NATIVE_DOM, redraw, getNativeId), [redraw, getNativeId]); // Render effect
76
76
 
77
77
  (0, _react.useEffect)(() => {
78
78
  root.render(children);
@@ -94,8 +94,9 @@ const Canvas = /*#__PURE__*/(0, _react.forwardRef)((_ref, forwardedRef) => {
94
94
  debug: debug
95
95
  }, props));
96
96
  } else {
97
- return /*#__PURE__*/_react.default.createElement(_SkiaDomView.SkiaDomView // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
- , _extends({
97
+ return /*#__PURE__*/_react.default.createElement(_SkiaJSDomView.SkiaJSDomView, _extends({
98
+ Skia: _Skia.Skia // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
+ ,
99
100
  ref: ref,
100
101
  style: style,
101
102
  root: root.dom,
@@ -1 +1 @@
1
- {"version":3,"names":["useCanvasRef","useRef","useOnSizeEvent","resultValue","onLayout","useCallback","event","width","height","nativeEvent","layout","value","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","onSize","_onSize","_onLayout","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","root","useMemo","SkiaRoot","Skia","useEffect","render","unmount","NATIVE_DOM","dom","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n FunctionComponent,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport { SkiaDomView } from \"../views\";\nimport { SkiaDomView as SkiaDomViewWeb } from \"../views/SkiaDomView.web\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n {\n children,\n style,\n debug,\n mode,\n onTouch,\n onSize: _onSize,\n onLayout: _onLayout,\n ...props\n },\n forwardedRef\n ) => {\n const onLayout = useOnSizeEvent(_onSize, _onLayout);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const root = useMemo(\n () => new SkiaRoot(Skia, redraw, getNativeId),\n [redraw, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onLayout={onLayout}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n } else {\n return (\n <SkiaDomViewWeb\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onLayout={onLayout}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n }\n }\n) as FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useCanvasRef","useRef","useOnSizeEvent","resultValue","onLayout","useCallback","event","width","height","nativeEvent","layout","value","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","onSize","_onSize","_onLayout","props","innerRef","ref","useCombinedRefs","redraw","current","getNativeId","id","nativeId","root","useMemo","SkiaRoot","Skia","NATIVE_DOM","useEffect","render","unmount","dom","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n MutableRefObject,\n ForwardedRef,\n FunctionComponent,\n} from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\n\nimport { SkiaDomView } from \"../views\";\nimport { Skia } from \"../skia/Skia\";\nimport type { TouchHandler, SkiaBaseViewProps } from \"../views\";\nimport { SkiaJSDomView } from \"../views/SkiaJSDomView\";\n\nimport { SkiaRoot } from \"./Reconciler\";\nimport { NATIVE_DOM } from \"./HostComponents\";\n\nexport const useCanvasRef = () => useRef<SkiaDomView>(null);\n\nexport interface CanvasProps extends SkiaBaseViewProps {\n ref?: RefObject<SkiaDomView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport const Canvas = forwardRef<SkiaDomView, CanvasProps>(\n (\n {\n children,\n style,\n debug,\n mode,\n onTouch,\n onSize: _onSize,\n onLayout: _onLayout,\n ...props\n },\n forwardedRef\n ) => {\n const onLayout = useOnSizeEvent(_onSize, _onLayout);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const redraw = useCallback(() => {\n innerRef.current?.redraw();\n }, [innerRef]);\n const getNativeId = useCallback(() => {\n const id = innerRef.current?.nativeId ?? -1;\n return id;\n }, [innerRef]);\n\n const root = useMemo(\n () => new SkiaRoot(Skia, NATIVE_DOM, redraw, getNativeId),\n [redraw, getNativeId]\n );\n\n // Render effect\n useEffect(() => {\n root.render(children);\n }, [children, root, redraw]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n if (NATIVE_DOM) {\n return (\n <SkiaDomView\n ref={ref}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onLayout={onLayout}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n } else {\n return (\n <SkiaJSDomView\n Skia={Skia}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={style}\n root={root.dom}\n onTouch={onTouch}\n onLayout={onLayout}\n mode={mode}\n debug={debug}\n {...props}\n />\n );\n }\n }\n) as FunctionComponent<CanvasProps & React.RefAttributes<SkiaDomView>>;\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare class Container {
5
5
  getNativeId: () => number;
6
6
  private _root;
7
7
  Sk: SkDOM;
8
- constructor(Skia: Skia, redraw?: () => void, getNativeId?: () => number);
8
+ constructor(Skia: Skia, redraw: () => void, getNativeId: () => number, native: boolean);
9
9
  draw(ctx: DrawingContext): void;
10
10
  get root(): RenderNode<GroupProps>;
11
11
  }
@@ -13,6 +13,7 @@ class Container {
13
13
  constructor(Skia) {
14
14
  let redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};
15
15
  let getNativeId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => 0;
16
+ let native = arguments.length > 3 ? arguments[3] : undefined;
16
17
  this.redraw = redraw;
17
18
  this.getNativeId = getNativeId;
18
19
 
@@ -22,7 +23,7 @@ class Container {
22
23
 
23
24
  this.Sk = new _nodes.JsiSkDOM({
24
25
  Skia
25
- });
26
+ }, native);
26
27
  this._root = this.Sk.Group();
27
28
  }
28
29
 
@@ -1 +1 @@
1
- {"version":3,"names":["Container","constructor","Skia","redraw","getNativeId","Sk","JsiSkDOM","_root","Group","draw","ctx","render","root"],"sources":["Container.tsx"],"sourcesContent":["import { JsiSkDOM } from \"../dom/nodes\";\nimport type {\n GroupProps,\n DrawingContext,\n RenderNode,\n SkDOM,\n} from \"../dom/types\";\nimport type { Skia } from \"../skia/types\";\n\nexport class Container {\n private _root: RenderNode<GroupProps>;\n public Sk: SkDOM;\n constructor(\n Skia: Skia,\n public redraw: () => void = () => {},\n public getNativeId: () => number = () => 0\n ) {\n this.Sk = new JsiSkDOM({ Skia });\n this._root = this.Sk.Group();\n }\n\n draw(ctx: DrawingContext) {\n this._root.render(ctx);\n }\n\n get root() {\n return this._root;\n }\n}\n"],"mappings":";;;;;;;AAAA;;;;AASO,MAAMA,SAAN,CAAgB;EAGrBC,WAAW,CACTC,IADS,EAIT;IAAA,IAFOC,MAEP,uEAF4B,MAAM,CAAE,CAEpC;IAAA,IADOC,WACP,uEADmC,MAAM,CACzC;IAAA,KAFOD,MAEP,GAFOA,MAEP;IAAA,KADOC,WACP,GADOA,WACP;;IAAA;;IAAA;;IACA,KAAKC,EAAL,GAAU,IAAIC,eAAJ,CAAa;MAAEJ;IAAF,CAAb,CAAV;IACA,KAAKK,KAAL,GAAa,KAAKF,EAAL,CAAQG,KAAR,EAAb;EACD;;EAEDC,IAAI,CAACC,GAAD,EAAsB;IACxB,KAAKH,KAAL,CAAWI,MAAX,CAAkBD,GAAlB;EACD;;EAEO,IAAJE,IAAI,GAAG;IACT,OAAO,KAAKL,KAAZ;EACD;;AAlBoB"}
1
+ {"version":3,"names":["Container","constructor","Skia","redraw","getNativeId","native","Sk","JsiSkDOM","_root","Group","draw","ctx","render","root"],"sources":["Container.tsx"],"sourcesContent":["import { JsiSkDOM } from \"../dom/nodes\";\nimport type {\n GroupProps,\n DrawingContext,\n RenderNode,\n SkDOM,\n} from \"../dom/types\";\nimport type { Skia } from \"../skia/types\";\n\nexport class Container {\n private _root: RenderNode<GroupProps>;\n public Sk: SkDOM;\n constructor(\n Skia: Skia,\n public redraw: () => void = () => {},\n public getNativeId: () => number = () => 0,\n native: boolean\n ) {\n this.Sk = new JsiSkDOM({ Skia }, native);\n this._root = this.Sk.Group();\n }\n\n draw(ctx: DrawingContext) {\n this._root.render(ctx);\n }\n\n get root() {\n return this._root;\n }\n}\n"],"mappings":";;;;;;;AAAA;;;;AASO,MAAMA,SAAN,CAAgB;EAGrBC,WAAW,CACTC,IADS,EAKT;IAAA,IAHOC,MAGP,uEAH4B,MAAM,CAAE,CAGpC;IAAA,IAFOC,WAEP,uEAFmC,MAAM,CAEzC;IAAA,IADAC,MACA;IAAA,KAHOF,MAGP,GAHOA,MAGP;IAAA,KAFOC,WAEP,GAFOA,WAEP;;IAAA;;IAAA;;IACA,KAAKE,EAAL,GAAU,IAAIC,eAAJ,CAAa;MAAEL;IAAF,CAAb,EAAuBG,MAAvB,CAAV;IACA,KAAKG,KAAL,GAAa,KAAKF,EAAL,CAAQG,KAAR,EAAb;EACD;;EAEDC,IAAI,CAACC,GAAD,EAAsB;IACxB,KAAKH,KAAL,CAAWI,MAAX,CAAkBD,GAAlB;EACD;;EAEO,IAAJE,IAAI,GAAG;IACT,OAAO,KAAKL,KAAZ;EACD;;AAnBoB"}
@@ -1,2 +1,3 @@
1
1
  import type { ReactElement } from "react";
2
2
  export declare const drawAsImage: (element: ReactElement, width: number, height: number) => import("../skia").SkImage;
3
+ export declare const drawAsPicture: (element: ReactElement) => import("../skia").SkPicture;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.drawAsImage = void 0;
6
+ exports.drawAsPicture = exports.drawAsImage = void 0;
7
7
 
8
8
  var _types = require("../dom/types");
9
9
 
@@ -12,6 +12,8 @@ var _skia = require("../skia");
12
12
  var _Reconciler = require("./Reconciler");
13
13
 
14
14
  const drawAsImage = (element, width, height) => {
15
+ const picture = drawAsPicture(element);
16
+
15
17
  const surface = _skia.Skia.Surface.MakeOffscreen(width, height);
16
18
 
17
19
  if (!surface) {
@@ -19,13 +21,24 @@ const drawAsImage = (element, width, height) => {
19
21
  }
20
22
 
21
23
  const canvas = surface.getCanvas();
22
- const root = new _Reconciler.SkiaRoot(_skia.Skia);
23
- root.render(element);
24
- const ctx = new _types.JsiDrawingContext(_skia.Skia, canvas);
25
- root.dom.render(ctx);
24
+ canvas.drawPicture(picture);
26
25
  surface.flush();
27
26
  return surface.makeImageSnapshot();
28
27
  };
29
28
 
30
29
  exports.drawAsImage = drawAsImage;
30
+
31
+ const drawAsPicture = element => {
32
+ const recorder = _skia.Skia.PictureRecorder();
33
+
34
+ const canvas = recorder.beginRecording();
35
+ const root = new _Reconciler.SkiaRoot(_skia.Skia, false);
36
+ root.render(element);
37
+ const ctx = new _types.JsiDrawingContext(_skia.Skia, canvas);
38
+ root.dom.render(ctx);
39
+ const picture = recorder.finishRecordingAsPicture();
40
+ return picture;
41
+ };
42
+
43
+ exports.drawAsPicture = drawAsPicture;
31
44
  //# sourceMappingURL=Offscreen.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["drawAsImage","element","width","height","surface","Skia","Surface","MakeOffscreen","Error","canvas","getCanvas","root","SkiaRoot","render","ctx","JsiDrawingContext","dom","flush","makeImageSnapshot"],"sources":["Offscreen.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\n\nimport { JsiDrawingContext } from \"../dom/types\";\nimport { Skia } from \"../skia\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const drawAsImage = (\n element: ReactElement,\n width: number,\n height: number\n) => {\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (!surface) {\n throw new Error(\"Could not create offscreen surface\");\n }\n const canvas = surface.getCanvas();\n const root = new SkiaRoot(Skia);\n root.render(element);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AAEA;;AAEO,MAAMA,WAAW,GAAG,CACzBC,OADyB,EAEzBC,KAFyB,EAGzBC,MAHyB,KAItB;EACH,MAAMC,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CAA2BL,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAI,CAACC,OAAL,EAAc;IACZ,MAAM,IAAII,KAAJ,CAAU,oCAAV,CAAN;EACD;;EACD,MAAMC,MAAM,GAAGL,OAAO,CAACM,SAAR,EAAf;EACA,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAaP,UAAb,CAAb;EACAM,IAAI,CAACE,MAAL,CAAYZ,OAAZ;EACA,MAAMa,GAAG,GAAG,IAAIC,wBAAJ,CAAsBV,UAAtB,EAA4BI,MAA5B,CAAZ;EACAE,IAAI,CAACK,GAAL,CAASH,MAAT,CAAgBC,GAAhB;EACAV,OAAO,CAACa,KAAR;EACA,OAAOb,OAAO,CAACc,iBAAR,EAAP;AACD,CAhBM"}
1
+ {"version":3,"names":["drawAsImage","element","width","height","picture","drawAsPicture","surface","Skia","Surface","MakeOffscreen","Error","canvas","getCanvas","drawPicture","flush","makeImageSnapshot","recorder","PictureRecorder","beginRecording","root","SkiaRoot","render","ctx","JsiDrawingContext","dom","finishRecordingAsPicture"],"sources":["Offscreen.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\n\nimport { JsiDrawingContext } from \"../dom/types\";\nimport { Skia } from \"../skia\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const drawAsImage = (\n element: ReactElement,\n width: number,\n height: number\n) => {\n const picture = drawAsPicture(element);\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (!surface) {\n throw new Error(\"Could not create offscreen surface\");\n }\n const canvas = surface.getCanvas();\n canvas.drawPicture(picture);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n\nexport const drawAsPicture = (element: ReactElement) => {\n const recorder = Skia.PictureRecorder();\n const canvas = recorder.beginRecording();\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n const picture = recorder.finishRecordingAsPicture();\n return picture;\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AAEA;;AAEO,MAAMA,WAAW,GAAG,CACzBC,OADyB,EAEzBC,KAFyB,EAGzBC,MAHyB,KAItB;EACH,MAAMC,OAAO,GAAGC,aAAa,CAACJ,OAAD,CAA7B;;EACA,MAAMK,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CAA2BP,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAI,CAACG,OAAL,EAAc;IACZ,MAAM,IAAII,KAAJ,CAAU,oCAAV,CAAN;EACD;;EACD,MAAMC,MAAM,GAAGL,OAAO,CAACM,SAAR,EAAf;EACAD,MAAM,CAACE,WAAP,CAAmBT,OAAnB;EACAE,OAAO,CAACQ,KAAR;EACA,OAAOR,OAAO,CAACS,iBAAR,EAAP;AACD,CAdM;;;;AAgBA,MAAMV,aAAa,GAAIJ,OAAD,IAA2B;EACtD,MAAMe,QAAQ,GAAGT,UAAA,CAAKU,eAAL,EAAjB;;EACA,MAAMN,MAAM,GAAGK,QAAQ,CAACE,cAAT,EAAf;EACA,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,UAAb,EAAmB,KAAnB,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYpB,OAAZ;EACA,MAAMqB,GAAG,GAAG,IAAIC,wBAAJ,CAAsBhB,UAAtB,EAA4BI,MAA5B,CAAZ;EACAQ,IAAI,CAACK,GAAL,CAASH,MAAT,CAAgBC,GAAhB;EACA,MAAMlB,OAAO,GAAGY,QAAQ,CAACS,wBAAT,EAAhB;EACA,OAAOrB,OAAP;AACD,CATM"}
@@ -3,7 +3,7 @@ import type { Skia } from "../skia/types";
3
3
  export declare class SkiaRoot {
4
4
  private root;
5
5
  private container;
6
- constructor(Skia: Skia, redraw?: () => void, getNativeId?: () => number);
6
+ constructor(Skia: Skia, native?: boolean, redraw?: () => void, getNativeId?: () => number);
7
7
  render(element: ReactNode): void;
8
8
  unmount(): void;
9
9
  get dom(): import("..").RenderNode<import("..").GroupProps>;