@shopify/react-native-skia 0.1.150 → 0.1.152

Sign up to get free protection for your applications and to get access to all the features.
Files changed (774) hide show
  1. package/android/CMakeLists.txt +4 -5
  2. package/android/cpp/jni/JniLoad.cpp +7 -5
  3. package/android/cpp/jni/JniSkiaManager.cpp +2 -15
  4. package/android/cpp/jni/include/JniSkiaBaseView.h +68 -0
  5. package/android/cpp/jni/include/JniSkiaDrawView.h +64 -47
  6. package/android/cpp/jni/include/JniSkiaManager.h +8 -10
  7. package/android/cpp/jni/include/JniSkiaPictureView.h +96 -0
  8. package/android/cpp/rnskia-android/{RNSkPlatformContextImpl.h → RNSkAndroidPlatformContext.h} +4 -4
  9. package/android/cpp/rnskia-android/RNSkAndroidView.h +100 -0
  10. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +91 -0
  11. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +39 -0
  12. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +15 -6
  13. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +5 -4
  14. package/android/src/main/java/com/shopify/reactnative/skia/PlatformContext.java +5 -11
  15. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
  16. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +143 -0
  17. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +17 -145
  18. package/android/src/main/java/com/shopify/reactnative/skia/{RNSkiaViewManager.java → SkiaDrawViewManager.java} +4 -15
  19. package/android/src/main/java/com/shopify/reactnative/skia/SkiaManager.java +1 -10
  20. package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureView.java +45 -0
  21. package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureViewManager.java +64 -0
  22. package/cpp/jsi/JsiValueWrapper.h +11 -0
  23. package/cpp/rnskia/RNSkInfoParameter.h +4 -14
  24. package/cpp/rnskia/RNSkJsView.cpp +211 -0
  25. package/cpp/rnskia/RNSkJsView.h +115 -0
  26. package/cpp/rnskia/RNSkJsiViewApi.h +6 -6
  27. package/cpp/rnskia/RNSkManager.cpp +7 -7
  28. package/cpp/rnskia/RNSkManager.h +7 -7
  29. package/cpp/rnskia/RNSkPictureView.h +124 -0
  30. package/cpp/rnskia/RNSkView.h +287 -0
  31. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +38 -0
  32. package/ios/RNSkia-iOS/{RNSkDrawViewImpl.mm → RNSkMetalCanvasProvider.mm} +40 -23
  33. package/ios/RNSkia-iOS/{PlatformContext.h → RNSkiOSPlatformContext.h} +4 -4
  34. package/ios/RNSkia-iOS/{PlatformContext.mm → RNSkiOSPlatformContext.mm} +5 -5
  35. package/ios/RNSkia-iOS/RNSkiOSView.h +34 -0
  36. package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +19 -11
  37. package/ios/RNSkia-iOS/SkiaManager.mm +3 -3
  38. package/ios/RNSkia-iOS/SkiaPictureViewManager.h +8 -0
  39. package/ios/RNSkia-iOS/SkiaPictureViewManager.mm +51 -0
  40. package/ios/RNSkia-iOS/SkiaUIView.h +26 -0
  41. package/ios/RNSkia-iOS/{SkiaDrawView.mm → SkiaUIView.mm} +29 -23
  42. package/lib/commonjs/animation/decay/decay.js.map +1 -1
  43. package/lib/commonjs/animation/decay/index.js.map +1 -1
  44. package/lib/commonjs/animation/decay/runDecay.js.map +1 -1
  45. package/lib/commonjs/animation/decay/types.js.map +1 -1
  46. package/lib/commonjs/animation/functions/index.js.map +1 -1
  47. package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
  48. package/lib/commonjs/animation/functions/interpolateColors.js.map +1 -1
  49. package/lib/commonjs/animation/functions/interpolatePaths.js.map +1 -1
  50. package/lib/commonjs/animation/functions/interpolateVector.js.map +1 -1
  51. package/lib/commonjs/animation/index.js.map +1 -1
  52. package/lib/commonjs/animation/spring/Spring.js.map +1 -1
  53. package/lib/commonjs/animation/spring/functions/index.js.map +1 -1
  54. package/lib/commonjs/animation/spring/functions/spring.js.map +1 -1
  55. package/lib/commonjs/animation/spring/index.js.map +1 -1
  56. package/lib/commonjs/animation/spring/runSpring.js +1 -1
  57. package/lib/commonjs/animation/spring/runSpring.js.map +1 -1
  58. package/lib/commonjs/animation/spring/types.js.map +1 -1
  59. package/lib/commonjs/animation/spring/useSpring.js +1 -1
  60. package/lib/commonjs/animation/spring/useSpring.js.map +1 -1
  61. package/lib/commonjs/animation/timing/Easing.js.map +1 -1
  62. package/lib/commonjs/animation/timing/createTiming.js +2 -6
  63. package/lib/commonjs/animation/timing/createTiming.js.map +1 -1
  64. package/lib/commonjs/animation/timing/functions/bezier.js.map +1 -1
  65. package/lib/commonjs/animation/timing/functions/getResolvedParams.js +6 -10
  66. package/lib/commonjs/animation/timing/functions/getResolvedParams.js.map +1 -1
  67. package/lib/commonjs/animation/timing/functions/index.js.map +1 -1
  68. package/lib/commonjs/animation/timing/functions/timing.js.map +1 -1
  69. package/lib/commonjs/animation/timing/functions/types.js.map +1 -1
  70. package/lib/commonjs/animation/timing/index.js.map +1 -1
  71. package/lib/commonjs/animation/timing/runTiming.js.map +1 -1
  72. package/lib/commonjs/animation/timing/useLoop.js.map +1 -1
  73. package/lib/commonjs/animation/timing/useTiming.js +1 -3
  74. package/lib/commonjs/animation/timing/useTiming.js.map +1 -1
  75. package/lib/commonjs/animation/types.js.map +1 -1
  76. package/lib/commonjs/dom/nodes/DrawingNode.js.map +1 -1
  77. package/lib/commonjs/dom/nodes/GroupNode.js.map +1 -1
  78. package/lib/commonjs/dom/nodes/JsiSkDOM.js +1 -1
  79. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  80. package/lib/commonjs/dom/nodes/Node.js.map +1 -1
  81. package/lib/commonjs/dom/nodes/PaintContext.js.map +1 -1
  82. package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -1
  83. package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
  84. package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
  85. package/lib/commonjs/dom/nodes/datatypes/Color.js.map +1 -1
  86. package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
  87. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  88. package/lib/commonjs/dom/nodes/datatypes/Gradient.js +2 -2
  89. package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
  90. package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
  91. package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
  92. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
  93. package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
  94. package/lib/commonjs/dom/nodes/datatypes/index.js.map +1 -1
  95. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +1 -1
  96. package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
  97. package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +1 -1
  98. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js.map +1 -1
  99. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js.map +1 -1
  100. package/lib/commonjs/dom/nodes/drawings/FillNode.js.map +1 -1
  101. package/lib/commonjs/dom/nodes/drawings/ImageNode.js.map +1 -1
  102. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js.map +1 -1
  103. package/lib/commonjs/dom/nodes/drawings/LineNode.js.map +1 -1
  104. package/lib/commonjs/dom/nodes/drawings/OvalNode.js.map +1 -1
  105. package/lib/commonjs/dom/nodes/drawings/PatchNode.js.map +1 -1
  106. package/lib/commonjs/dom/nodes/drawings/PathNode.js.map +1 -1
  107. package/lib/commonjs/dom/nodes/drawings/PictureNode.js.map +1 -1
  108. package/lib/commonjs/dom/nodes/drawings/PointsNode.js.map +1 -1
  109. package/lib/commonjs/dom/nodes/drawings/RRectNode.js.map +1 -1
  110. package/lib/commonjs/dom/nodes/drawings/RectNode.js.map +1 -1
  111. package/lib/commonjs/dom/nodes/drawings/Text.js.map +1 -1
  112. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js.map +1 -1
  113. package/lib/commonjs/dom/nodes/drawings/index.js.map +1 -1
  114. package/lib/commonjs/dom/nodes/index.js.map +1 -1
  115. package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +1 -1
  116. package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +1 -1
  117. package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +1 -1
  118. package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +1 -1
  119. package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +1 -1
  120. package/lib/commonjs/dom/nodes/paint/Shaders.js +2 -4
  121. package/lib/commonjs/dom/nodes/paint/Shaders.js.map +1 -1
  122. package/lib/commonjs/dom/nodes/paint/index.js.map +1 -1
  123. package/lib/commonjs/dom/types/ColorFilters.js.map +1 -1
  124. package/lib/commonjs/dom/types/Common.js.map +1 -1
  125. package/lib/commonjs/dom/types/DrawingContext.js.map +1 -1
  126. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  127. package/lib/commonjs/dom/types/ImageFilters.js.map +1 -1
  128. package/lib/commonjs/dom/types/MaskFilters.js.map +1 -1
  129. package/lib/commonjs/dom/types/Node.js.map +1 -1
  130. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  131. package/lib/commonjs/dom/types/PathEffects.js.map +1 -1
  132. package/lib/commonjs/dom/types/Shaders.js.map +1 -1
  133. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  134. package/lib/commonjs/dom/types/index.js.map +1 -1
  135. package/lib/commonjs/external/index.js.map +1 -1
  136. package/lib/commonjs/external/reanimated/index.js.map +1 -1
  137. package/lib/commonjs/external/reanimated/useSharedValueEffect.js.map +1 -1
  138. package/lib/commonjs/index.js.map +1 -1
  139. package/lib/commonjs/mock/index.js +6 -10
  140. package/lib/commonjs/mock/index.js.map +1 -1
  141. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  142. package/lib/commonjs/renderer/Container.js.map +1 -1
  143. package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
  144. package/lib/commonjs/renderer/DrawingContext.js.map +1 -1
  145. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  146. package/lib/commonjs/renderer/HostConfig.js +0 -2
  147. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  148. package/lib/commonjs/renderer/components/Blend.js.map +1 -1
  149. package/lib/commonjs/renderer/components/Drawing.js.map +1 -1
  150. package/lib/commonjs/renderer/components/Group.js.map +1 -1
  151. package/lib/commonjs/renderer/components/Mask.js.map +1 -1
  152. package/lib/commonjs/renderer/components/Paint.js +1 -1
  153. package/lib/commonjs/renderer/components/Paint.js.map +1 -1
  154. package/lib/commonjs/renderer/components/Picture.js.map +1 -1
  155. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.js +1 -1
  156. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.js.map +1 -1
  157. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js.map +1 -1
  158. package/lib/commonjs/renderer/components/backdrop/index.js.map +1 -1
  159. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js.map +1 -1
  160. package/lib/commonjs/renderer/components/colorFilters/Lerp.js.map +1 -1
  161. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -1
  162. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js.map +1 -1
  163. package/lib/commonjs/renderer/components/colorFilters/Matrix.js.map +1 -1
  164. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -1
  165. package/lib/commonjs/renderer/components/colorFilters/index.js.map +1 -1
  166. package/lib/commonjs/renderer/components/image/Image.js.map +1 -1
  167. package/lib/commonjs/renderer/components/image/ImageSVG.js.map +1 -1
  168. package/lib/commonjs/renderer/components/image/ImageShader.js.map +1 -1
  169. package/lib/commonjs/renderer/components/image/index.js.map +1 -1
  170. package/lib/commonjs/renderer/components/imageFilters/Blur.js.map +1 -1
  171. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js.map +1 -1
  172. package/lib/commonjs/renderer/components/imageFilters/Morphology.js.map +1 -1
  173. package/lib/commonjs/renderer/components/imageFilters/Offset.js.map +1 -1
  174. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js.map +1 -1
  175. package/lib/commonjs/renderer/components/imageFilters/Shadow.js.map +1 -1
  176. package/lib/commonjs/renderer/components/imageFilters/index.js.map +1 -1
  177. package/lib/commonjs/renderer/components/index.js.map +1 -1
  178. package/lib/commonjs/renderer/components/maskFilters/Blur.js.map +1 -1
  179. package/lib/commonjs/renderer/components/maskFilters/index.js.map +1 -1
  180. package/lib/commonjs/renderer/components/pathEffects/Corner.js.map +1 -1
  181. package/lib/commonjs/renderer/components/pathEffects/Dash.js.map +1 -1
  182. package/lib/commonjs/renderer/components/pathEffects/Discrete.js.map +1 -1
  183. package/lib/commonjs/renderer/components/pathEffects/Line2D.js.map +1 -1
  184. package/lib/commonjs/renderer/components/pathEffects/Path1D.js.map +1 -1
  185. package/lib/commonjs/renderer/components/pathEffects/Path2D.js.map +1 -1
  186. package/lib/commonjs/renderer/components/pathEffects/Sum.js.map +1 -1
  187. package/lib/commonjs/renderer/components/pathEffects/index.js.map +1 -1
  188. package/lib/commonjs/renderer/components/shaders/Color.js.map +1 -1
  189. package/lib/commonjs/renderer/components/shaders/FractalNoise.js.map +1 -1
  190. package/lib/commonjs/renderer/components/shaders/LinearGradient.js.map +1 -1
  191. package/lib/commonjs/renderer/components/shaders/RadialGradient.js.map +1 -1
  192. package/lib/commonjs/renderer/components/shaders/Shader.js.map +1 -1
  193. package/lib/commonjs/renderer/components/shaders/ShaderLib.js.map +1 -1
  194. package/lib/commonjs/renderer/components/shaders/SweepGradient.js.map +1 -1
  195. package/lib/commonjs/renderer/components/shaders/Turbulence.js.map +1 -1
  196. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -1
  197. package/lib/commonjs/renderer/components/shaders/index.js.map +1 -1
  198. package/lib/commonjs/renderer/components/shapes/Box.js.map +1 -1
  199. package/lib/commonjs/renderer/components/shapes/Circle.js.map +1 -1
  200. package/lib/commonjs/renderer/components/shapes/DiffRect.js.map +1 -1
  201. package/lib/commonjs/renderer/components/shapes/Fill.js.map +1 -1
  202. package/lib/commonjs/renderer/components/shapes/FitBox.js.map +1 -1
  203. package/lib/commonjs/renderer/components/shapes/Line.js.map +1 -1
  204. package/lib/commonjs/renderer/components/shapes/Oval.js.map +1 -1
  205. package/lib/commonjs/renderer/components/shapes/Patch.js.map +1 -1
  206. package/lib/commonjs/renderer/components/shapes/Path.js.map +1 -1
  207. package/lib/commonjs/renderer/components/shapes/Points.js.map +1 -1
  208. package/lib/commonjs/renderer/components/shapes/Rect.js.map +1 -1
  209. package/lib/commonjs/renderer/components/shapes/RoundedRect.js.map +1 -1
  210. package/lib/commonjs/renderer/components/shapes/Vertices.js.map +1 -1
  211. package/lib/commonjs/renderer/components/shapes/index.js.map +1 -1
  212. package/lib/commonjs/renderer/components/text/Glyphs.js.map +1 -1
  213. package/lib/commonjs/renderer/components/text/Text.js.map +1 -1
  214. package/lib/commonjs/renderer/components/text/TextBlob.js.map +1 -1
  215. package/lib/commonjs/renderer/components/text/TextPath.js.map +1 -1
  216. package/lib/commonjs/renderer/components/text/index.js.map +1 -1
  217. package/lib/commonjs/renderer/index.js.map +1 -1
  218. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  219. package/lib/commonjs/renderer/processors/Animations/index.js.map +1 -1
  220. package/lib/commonjs/renderer/processors/index.js.map +1 -1
  221. package/lib/commonjs/renderer/processors/math/Coordinates.js.map +1 -1
  222. package/lib/commonjs/renderer/processors/math/Math.js.map +1 -1
  223. package/lib/commonjs/renderer/processors/math/Transforms.js.map +1 -1
  224. package/lib/commonjs/renderer/processors/math/index.js.map +1 -1
  225. package/lib/commonjs/renderer/typeddash.js.map +1 -1
  226. package/lib/commonjs/renderer/useCanvas.js.map +1 -1
  227. package/lib/commonjs/renderer/useContextBridge.js.map +1 -1
  228. package/lib/commonjs/skia/NativeSetup.js.map +1 -1
  229. package/lib/commonjs/skia/Skia.js.map +1 -1
  230. package/lib/commonjs/skia/Skia.web.js.map +1 -1
  231. package/lib/commonjs/skia/core/Data.js.map +1 -1
  232. package/lib/commonjs/skia/core/Font.js.map +1 -1
  233. package/lib/commonjs/skia/core/Image.js.map +1 -1
  234. package/lib/commonjs/skia/core/Matrix.js.map +1 -1
  235. package/lib/commonjs/skia/core/Picture.js.map +1 -1
  236. package/lib/commonjs/skia/core/RRect.js.map +1 -1
  237. package/lib/commonjs/skia/core/Rect.js.map +1 -1
  238. package/lib/commonjs/skia/core/SVG.js.map +1 -1
  239. package/lib/commonjs/skia/core/Typeface.js.map +1 -1
  240. package/lib/commonjs/skia/core/Vector.js +1 -1
  241. package/lib/commonjs/skia/core/Vector.js.map +1 -1
  242. package/lib/commonjs/skia/core/index.js.map +1 -1
  243. package/lib/commonjs/skia/index.js.map +1 -1
  244. package/lib/commonjs/skia/types/Canvas.js.map +1 -1
  245. package/lib/commonjs/skia/types/Color.js.map +1 -1
  246. package/lib/commonjs/skia/types/ColorFilter/ColorFilter.js.map +1 -1
  247. package/lib/commonjs/skia/types/ColorFilter/ColorFilterFactory.js.map +1 -1
  248. package/lib/commonjs/skia/types/ColorFilter/index.js.map +1 -1
  249. package/lib/commonjs/skia/types/ContourMeasure.js.map +1 -1
  250. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  251. package/lib/commonjs/skia/types/Data/DataFactory.js.map +1 -1
  252. package/lib/commonjs/skia/types/Data/index.js.map +1 -1
  253. package/lib/commonjs/skia/types/Font/Font.js.map +1 -1
  254. package/lib/commonjs/skia/types/Font/index.js.map +1 -1
  255. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  256. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  257. package/lib/commonjs/skia/types/Image/index.js.map +1 -1
  258. package/lib/commonjs/skia/types/ImageFilter/ImageFilter.js.map +1 -1
  259. package/lib/commonjs/skia/types/ImageFilter/ImageFilterFactory.js.map +1 -1
  260. package/lib/commonjs/skia/types/ImageFilter/index.js.map +1 -1
  261. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  262. package/lib/commonjs/skia/types/MaskFilter.js.map +1 -1
  263. package/lib/commonjs/skia/types/Matrix.js.map +1 -1
  264. package/lib/commonjs/skia/types/Paint/BlendMode.js.map +1 -1
  265. package/lib/commonjs/skia/types/Paint/Paint.js.map +1 -1
  266. package/lib/commonjs/skia/types/Paint/index.js.map +1 -1
  267. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  268. package/lib/commonjs/skia/types/Path/PathFactory.js.map +1 -1
  269. package/lib/commonjs/skia/types/Path/index.js.map +1 -1
  270. package/lib/commonjs/skia/types/PathEffect.js.map +1 -1
  271. package/lib/commonjs/skia/types/Picture/Picture.js.map +1 -1
  272. package/lib/commonjs/skia/types/Picture/PictureFactory.js.map +1 -1
  273. package/lib/commonjs/skia/types/Picture/PictureRecorder.js.map +1 -1
  274. package/lib/commonjs/skia/types/Picture/index.js.map +1 -1
  275. package/lib/commonjs/skia/types/Point.js.map +1 -1
  276. package/lib/commonjs/skia/types/RRect.js.map +1 -1
  277. package/lib/commonjs/skia/types/RSXform.js.map +1 -1
  278. package/lib/commonjs/skia/types/Rect.js.map +1 -1
  279. package/lib/commonjs/skia/types/RuntimeEffect/RuntimeEffect.js.map +1 -1
  280. package/lib/commonjs/skia/types/RuntimeEffect/RuntimeEffectFactory.js.map +1 -1
  281. package/lib/commonjs/skia/types/RuntimeEffect/index.js.map +1 -1
  282. package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
  283. package/lib/commonjs/skia/types/SVG/SVGFactory.js.map +1 -1
  284. package/lib/commonjs/skia/types/SVG/index.js.map +1 -1
  285. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  286. package/lib/commonjs/skia/types/Shader/ShaderFactory.js.map +1 -1
  287. package/lib/commonjs/skia/types/Shader/index.js.map +1 -1
  288. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  289. package/lib/commonjs/skia/types/Surface/Surface.js.map +1 -1
  290. package/lib/commonjs/skia/types/Surface/SurfaceFactory.js.map +1 -1
  291. package/lib/commonjs/skia/types/Surface/index.js.map +1 -1
  292. package/lib/commonjs/skia/types/TextBlob.js.map +1 -1
  293. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  294. package/lib/commonjs/skia/types/Typeface/TypefaceFactory.js.map +1 -1
  295. package/lib/commonjs/skia/types/Typeface/index.js.map +1 -1
  296. package/lib/commonjs/skia/types/Vertices/Vertices.js.map +1 -1
  297. package/lib/commonjs/skia/types/Vertices/index.js.map +1 -1
  298. package/lib/commonjs/skia/types/index.js.map +1 -1
  299. package/lib/commonjs/skia/web/Host.js +1 -1
  300. package/lib/commonjs/skia/web/Host.js.map +1 -1
  301. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  302. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  303. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  304. package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js.map +1 -1
  305. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  306. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  307. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  308. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
  309. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  310. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  311. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  312. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  313. package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js.map +1 -1
  314. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  315. package/lib/commonjs/skia/web/JsiSkMaskFilterFactory.js.map +1 -1
  316. package/lib/commonjs/skia/web/JsiSkMatrix.js +1 -1
  317. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  318. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  319. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  320. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  321. package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js.map +1 -1
  322. package/lib/commonjs/skia/web/JsiSkPathFactory.js.map +1 -1
  323. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  324. package/lib/commonjs/skia/web/JsiSkPictureFactory.js.map +1 -1
  325. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  326. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  327. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  328. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  329. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  330. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  331. package/lib/commonjs/skia/web/JsiSkRuntimeEffectFactory.js.map +1 -1
  332. package/lib/commonjs/skia/web/JsiSkSVGFactory.js.map +1 -1
  333. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  334. package/lib/commonjs/skia/web/JsiSkShaderFactory.js.map +1 -1
  335. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  336. package/lib/commonjs/skia/web/JsiSkSurfaceFactory.js.map +1 -1
  337. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  338. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  339. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  340. package/lib/commonjs/skia/web/JsiSkTypefaceFactory.js.map +1 -1
  341. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  342. package/lib/commonjs/skia/web/JsiSkVerticesFactory.js.map +1 -1
  343. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  344. package/lib/commonjs/skia/web/index.js.map +1 -1
  345. package/lib/commonjs/values/api.js.map +1 -1
  346. package/lib/commonjs/values/api.web.js.map +1 -1
  347. package/lib/commonjs/values/hooks/index.js.map +1 -1
  348. package/lib/commonjs/values/hooks/useClockValue.js.map +1 -1
  349. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
  350. package/lib/commonjs/values/hooks/useValue.js.map +1 -1
  351. package/lib/commonjs/values/hooks/useValueEffect.js.map +1 -1
  352. package/lib/commonjs/values/index.js.map +1 -1
  353. package/lib/commonjs/values/selector.js.map +1 -1
  354. package/lib/commonjs/values/types.js.map +1 -1
  355. package/lib/commonjs/values/web/RNSkAnimation.js +2 -2
  356. package/lib/commonjs/values/web/RNSkAnimation.js.map +1 -1
  357. package/lib/commonjs/values/web/RNSkClockValue.js.map +1 -1
  358. package/lib/commonjs/values/web/RNSkComputedValue.js +1 -1
  359. package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -1
  360. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
  361. package/lib/commonjs/values/web/RNSkValue.js.map +1 -1
  362. package/lib/commonjs/values/web/api.js.map +1 -1
  363. package/lib/commonjs/values/web/index.js.map +1 -1
  364. package/lib/commonjs/views/SkiaBaseWebView.js +213 -0
  365. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -0
  366. package/lib/commonjs/views/SkiaPictureView.js +112 -0
  367. package/lib/commonjs/views/SkiaPictureView.js.map +1 -0
  368. package/lib/commonjs/views/SkiaPictureView.web.js +31 -0
  369. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -0
  370. package/lib/commonjs/views/SkiaView.js +2 -2
  371. package/lib/commonjs/views/SkiaView.js.map +1 -1
  372. package/lib/commonjs/views/SkiaView.web.js +14 -203
  373. package/lib/commonjs/views/SkiaView.web.js.map +1 -1
  374. package/lib/commonjs/views/api.js.map +1 -1
  375. package/lib/commonjs/views/index.js +13 -0
  376. package/lib/commonjs/views/index.js.map +1 -1
  377. package/lib/commonjs/views/types.js.map +1 -1
  378. package/lib/commonjs/views/useDrawCallback.js.map +1 -1
  379. package/lib/commonjs/views/useTouchHandler.js +6 -6
  380. package/lib/commonjs/views/useTouchHandler.js.map +1 -1
  381. package/lib/commonjs/web/LoadSkiaWeb.js.map +1 -1
  382. package/lib/commonjs/web/WithSkiaWeb.js +1 -1
  383. package/lib/commonjs/web/WithSkiaWeb.js.map +1 -1
  384. package/lib/commonjs/web/index.js.map +1 -1
  385. package/lib/module/animation/decay/decay.js.map +1 -1
  386. package/lib/module/animation/decay/index.js.map +1 -1
  387. package/lib/module/animation/decay/runDecay.js.map +1 -1
  388. package/lib/module/animation/decay/types.js.map +1 -1
  389. package/lib/module/animation/functions/index.js.map +1 -1
  390. package/lib/module/animation/functions/interpolate.js.map +1 -1
  391. package/lib/module/animation/functions/interpolateColors.js.map +1 -1
  392. package/lib/module/animation/functions/interpolatePaths.js.map +1 -1
  393. package/lib/module/animation/functions/interpolateVector.js.map +1 -1
  394. package/lib/module/animation/index.js.map +1 -1
  395. package/lib/module/animation/spring/Spring.js.map +1 -1
  396. package/lib/module/animation/spring/functions/index.js.map +1 -1
  397. package/lib/module/animation/spring/functions/spring.js.map +1 -1
  398. package/lib/module/animation/spring/index.js.map +1 -1
  399. package/lib/module/animation/spring/runSpring.js +1 -1
  400. package/lib/module/animation/spring/runSpring.js.map +1 -1
  401. package/lib/module/animation/spring/types.js.map +1 -1
  402. package/lib/module/animation/spring/useSpring.js +1 -1
  403. package/lib/module/animation/spring/useSpring.js.map +1 -1
  404. package/lib/module/animation/timing/Easing.js.map +1 -1
  405. package/lib/module/animation/timing/createTiming.js +2 -6
  406. package/lib/module/animation/timing/createTiming.js.map +1 -1
  407. package/lib/module/animation/timing/functions/bezier.js.map +1 -1
  408. package/lib/module/animation/timing/functions/getResolvedParams.js +6 -10
  409. package/lib/module/animation/timing/functions/getResolvedParams.js.map +1 -1
  410. package/lib/module/animation/timing/functions/index.js.map +1 -1
  411. package/lib/module/animation/timing/functions/timing.js.map +1 -1
  412. package/lib/module/animation/timing/functions/types.js.map +1 -1
  413. package/lib/module/animation/timing/index.js.map +1 -1
  414. package/lib/module/animation/timing/runTiming.js.map +1 -1
  415. package/lib/module/animation/timing/useLoop.js.map +1 -1
  416. package/lib/module/animation/timing/useTiming.js +1 -3
  417. package/lib/module/animation/timing/useTiming.js.map +1 -1
  418. package/lib/module/animation/types.js.map +1 -1
  419. package/lib/module/dom/nodes/DrawingNode.js.map +1 -1
  420. package/lib/module/dom/nodes/GroupNode.js.map +1 -1
  421. package/lib/module/dom/nodes/JsiSkDOM.js +1 -1
  422. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  423. package/lib/module/dom/nodes/Node.js.map +1 -1
  424. package/lib/module/dom/nodes/PaintContext.js.map +1 -1
  425. package/lib/module/dom/nodes/PaintNode.js.map +1 -1
  426. package/lib/module/dom/nodes/RenderNode.js.map +1 -1
  427. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
  428. package/lib/module/dom/nodes/datatypes/Color.js.map +1 -1
  429. package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
  430. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  431. package/lib/module/dom/nodes/datatypes/Gradient.js +2 -2
  432. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  433. package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
  434. package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
  435. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  436. package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
  437. package/lib/module/dom/nodes/datatypes/index.js.map +1 -1
  438. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +1 -1
  439. package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
  440. package/lib/module/dom/nodes/drawings/CircleNode.js.map +1 -1
  441. package/lib/module/dom/nodes/drawings/CustomDrawingNode.js.map +1 -1
  442. package/lib/module/dom/nodes/drawings/DiffRectNode.js.map +1 -1
  443. package/lib/module/dom/nodes/drawings/FillNode.js.map +1 -1
  444. package/lib/module/dom/nodes/drawings/ImageNode.js.map +1 -1
  445. package/lib/module/dom/nodes/drawings/ImageSVG.js.map +1 -1
  446. package/lib/module/dom/nodes/drawings/LineNode.js.map +1 -1
  447. package/lib/module/dom/nodes/drawings/OvalNode.js.map +1 -1
  448. package/lib/module/dom/nodes/drawings/PatchNode.js.map +1 -1
  449. package/lib/module/dom/nodes/drawings/PathNode.js.map +1 -1
  450. package/lib/module/dom/nodes/drawings/PictureNode.js.map +1 -1
  451. package/lib/module/dom/nodes/drawings/PointsNode.js.map +1 -1
  452. package/lib/module/dom/nodes/drawings/RRectNode.js.map +1 -1
  453. package/lib/module/dom/nodes/drawings/RectNode.js.map +1 -1
  454. package/lib/module/dom/nodes/drawings/Text.js.map +1 -1
  455. package/lib/module/dom/nodes/drawings/VerticesNode.js.map +1 -1
  456. package/lib/module/dom/nodes/drawings/index.js.map +1 -1
  457. package/lib/module/dom/nodes/index.js.map +1 -1
  458. package/lib/module/dom/nodes/paint/BlendNode.js.map +1 -1
  459. package/lib/module/dom/nodes/paint/ColorFilters.js.map +1 -1
  460. package/lib/module/dom/nodes/paint/ImageFilters.js.map +1 -1
  461. package/lib/module/dom/nodes/paint/MaskFilters.js.map +1 -1
  462. package/lib/module/dom/nodes/paint/PathEffects.js.map +1 -1
  463. package/lib/module/dom/nodes/paint/Shaders.js +2 -4
  464. package/lib/module/dom/nodes/paint/Shaders.js.map +1 -1
  465. package/lib/module/dom/nodes/paint/index.js.map +1 -1
  466. package/lib/module/dom/types/ColorFilters.js.map +1 -1
  467. package/lib/module/dom/types/Common.js.map +1 -1
  468. package/lib/module/dom/types/DrawingContext.js.map +1 -1
  469. package/lib/module/dom/types/Drawings.js.map +1 -1
  470. package/lib/module/dom/types/ImageFilters.js.map +1 -1
  471. package/lib/module/dom/types/MaskFilters.js.map +1 -1
  472. package/lib/module/dom/types/Node.js.map +1 -1
  473. package/lib/module/dom/types/NodeType.js.map +1 -1
  474. package/lib/module/dom/types/PathEffects.js.map +1 -1
  475. package/lib/module/dom/types/Shaders.js.map +1 -1
  476. package/lib/module/dom/types/SkDOM.js.map +1 -1
  477. package/lib/module/dom/types/index.js.map +1 -1
  478. package/lib/module/external/index.js.map +1 -1
  479. package/lib/module/external/reanimated/index.js.map +1 -1
  480. package/lib/module/external/reanimated/useSharedValueEffect.js.map +1 -1
  481. package/lib/module/index.js.map +1 -1
  482. package/lib/module/mock/index.js +6 -10
  483. package/lib/module/mock/index.js.map +1 -1
  484. package/lib/module/renderer/Canvas.js.map +1 -1
  485. package/lib/module/renderer/Container.js.map +1 -1
  486. package/lib/module/renderer/DependencyManager.js.map +1 -1
  487. package/lib/module/renderer/DrawingContext.js.map +1 -1
  488. package/lib/module/renderer/HostComponents.js.map +1 -1
  489. package/lib/module/renderer/HostConfig.js +0 -2
  490. package/lib/module/renderer/HostConfig.js.map +1 -1
  491. package/lib/module/renderer/components/Blend.js.map +1 -1
  492. package/lib/module/renderer/components/Drawing.js.map +1 -1
  493. package/lib/module/renderer/components/Group.js.map +1 -1
  494. package/lib/module/renderer/components/Mask.js.map +1 -1
  495. package/lib/module/renderer/components/Paint.js +1 -1
  496. package/lib/module/renderer/components/Paint.js.map +1 -1
  497. package/lib/module/renderer/components/Picture.js.map +1 -1
  498. package/lib/module/renderer/components/backdrop/BackdropBlur.js +1 -1
  499. package/lib/module/renderer/components/backdrop/BackdropBlur.js.map +1 -1
  500. package/lib/module/renderer/components/backdrop/BackdropFilter.js.map +1 -1
  501. package/lib/module/renderer/components/backdrop/index.js.map +1 -1
  502. package/lib/module/renderer/components/colorFilters/BlendColor.js.map +1 -1
  503. package/lib/module/renderer/components/colorFilters/Lerp.js.map +1 -1
  504. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -1
  505. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js.map +1 -1
  506. package/lib/module/renderer/components/colorFilters/Matrix.js.map +1 -1
  507. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -1
  508. package/lib/module/renderer/components/colorFilters/index.js.map +1 -1
  509. package/lib/module/renderer/components/image/Image.js.map +1 -1
  510. package/lib/module/renderer/components/image/ImageSVG.js.map +1 -1
  511. package/lib/module/renderer/components/image/ImageShader.js.map +1 -1
  512. package/lib/module/renderer/components/image/index.js.map +1 -1
  513. package/lib/module/renderer/components/imageFilters/Blur.js.map +1 -1
  514. package/lib/module/renderer/components/imageFilters/DisplacementMap.js.map +1 -1
  515. package/lib/module/renderer/components/imageFilters/Morphology.js.map +1 -1
  516. package/lib/module/renderer/components/imageFilters/Offset.js.map +1 -1
  517. package/lib/module/renderer/components/imageFilters/RuntimeShader.js.map +1 -1
  518. package/lib/module/renderer/components/imageFilters/Shadow.js.map +1 -1
  519. package/lib/module/renderer/components/imageFilters/index.js.map +1 -1
  520. package/lib/module/renderer/components/index.js.map +1 -1
  521. package/lib/module/renderer/components/maskFilters/Blur.js.map +1 -1
  522. package/lib/module/renderer/components/maskFilters/index.js.map +1 -1
  523. package/lib/module/renderer/components/pathEffects/Corner.js.map +1 -1
  524. package/lib/module/renderer/components/pathEffects/Dash.js.map +1 -1
  525. package/lib/module/renderer/components/pathEffects/Discrete.js.map +1 -1
  526. package/lib/module/renderer/components/pathEffects/Line2D.js.map +1 -1
  527. package/lib/module/renderer/components/pathEffects/Path1D.js.map +1 -1
  528. package/lib/module/renderer/components/pathEffects/Path2D.js.map +1 -1
  529. package/lib/module/renderer/components/pathEffects/Sum.js.map +1 -1
  530. package/lib/module/renderer/components/pathEffects/index.js.map +1 -1
  531. package/lib/module/renderer/components/shaders/Color.js.map +1 -1
  532. package/lib/module/renderer/components/shaders/FractalNoise.js.map +1 -1
  533. package/lib/module/renderer/components/shaders/LinearGradient.js.map +1 -1
  534. package/lib/module/renderer/components/shaders/RadialGradient.js.map +1 -1
  535. package/lib/module/renderer/components/shaders/Shader.js.map +1 -1
  536. package/lib/module/renderer/components/shaders/ShaderLib.js.map +1 -1
  537. package/lib/module/renderer/components/shaders/SweepGradient.js.map +1 -1
  538. package/lib/module/renderer/components/shaders/Turbulence.js.map +1 -1
  539. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -1
  540. package/lib/module/renderer/components/shaders/index.js.map +1 -1
  541. package/lib/module/renderer/components/shapes/Box.js.map +1 -1
  542. package/lib/module/renderer/components/shapes/Circle.js.map +1 -1
  543. package/lib/module/renderer/components/shapes/DiffRect.js.map +1 -1
  544. package/lib/module/renderer/components/shapes/Fill.js.map +1 -1
  545. package/lib/module/renderer/components/shapes/FitBox.js.map +1 -1
  546. package/lib/module/renderer/components/shapes/Line.js.map +1 -1
  547. package/lib/module/renderer/components/shapes/Oval.js.map +1 -1
  548. package/lib/module/renderer/components/shapes/Patch.js.map +1 -1
  549. package/lib/module/renderer/components/shapes/Path.js.map +1 -1
  550. package/lib/module/renderer/components/shapes/Points.js.map +1 -1
  551. package/lib/module/renderer/components/shapes/Rect.js.map +1 -1
  552. package/lib/module/renderer/components/shapes/RoundedRect.js.map +1 -1
  553. package/lib/module/renderer/components/shapes/Vertices.js.map +1 -1
  554. package/lib/module/renderer/components/shapes/index.js.map +1 -1
  555. package/lib/module/renderer/components/text/Glyphs.js.map +1 -1
  556. package/lib/module/renderer/components/text/Text.js.map +1 -1
  557. package/lib/module/renderer/components/text/TextBlob.js.map +1 -1
  558. package/lib/module/renderer/components/text/TextPath.js.map +1 -1
  559. package/lib/module/renderer/components/text/index.js.map +1 -1
  560. package/lib/module/renderer/index.js.map +1 -1
  561. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  562. package/lib/module/renderer/processors/Animations/index.js.map +1 -1
  563. package/lib/module/renderer/processors/index.js.map +1 -1
  564. package/lib/module/renderer/processors/math/Coordinates.js.map +1 -1
  565. package/lib/module/renderer/processors/math/Math.js.map +1 -1
  566. package/lib/module/renderer/processors/math/Transforms.js.map +1 -1
  567. package/lib/module/renderer/processors/math/index.js.map +1 -1
  568. package/lib/module/renderer/typeddash.js.map +1 -1
  569. package/lib/module/renderer/useCanvas.js.map +1 -1
  570. package/lib/module/renderer/useContextBridge.js.map +1 -1
  571. package/lib/module/skia/NativeSetup.js.map +1 -1
  572. package/lib/module/skia/Skia.js.map +1 -1
  573. package/lib/module/skia/Skia.web.js.map +1 -1
  574. package/lib/module/skia/core/Data.js.map +1 -1
  575. package/lib/module/skia/core/Font.js.map +1 -1
  576. package/lib/module/skia/core/Image.js.map +1 -1
  577. package/lib/module/skia/core/Matrix.js.map +1 -1
  578. package/lib/module/skia/core/Picture.js.map +1 -1
  579. package/lib/module/skia/core/RRect.js.map +1 -1
  580. package/lib/module/skia/core/Rect.js.map +1 -1
  581. package/lib/module/skia/core/SVG.js.map +1 -1
  582. package/lib/module/skia/core/Typeface.js.map +1 -1
  583. package/lib/module/skia/core/Vector.js +1 -1
  584. package/lib/module/skia/core/Vector.js.map +1 -1
  585. package/lib/module/skia/core/index.js.map +1 -1
  586. package/lib/module/skia/index.js.map +1 -1
  587. package/lib/module/skia/types/Canvas.js.map +1 -1
  588. package/lib/module/skia/types/Color.js.map +1 -1
  589. package/lib/module/skia/types/ColorFilter/ColorFilter.js.map +1 -1
  590. package/lib/module/skia/types/ColorFilter/ColorFilterFactory.js.map +1 -1
  591. package/lib/module/skia/types/ColorFilter/index.js.map +1 -1
  592. package/lib/module/skia/types/ContourMeasure.js.map +1 -1
  593. package/lib/module/skia/types/Data/Data.js.map +1 -1
  594. package/lib/module/skia/types/Data/DataFactory.js.map +1 -1
  595. package/lib/module/skia/types/Data/index.js.map +1 -1
  596. package/lib/module/skia/types/Font/Font.js.map +1 -1
  597. package/lib/module/skia/types/Font/index.js.map +1 -1
  598. package/lib/module/skia/types/Image/Image.js.map +1 -1
  599. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  600. package/lib/module/skia/types/Image/index.js.map +1 -1
  601. package/lib/module/skia/types/ImageFilter/ImageFilter.js.map +1 -1
  602. package/lib/module/skia/types/ImageFilter/ImageFilterFactory.js.map +1 -1
  603. package/lib/module/skia/types/ImageFilter/index.js.map +1 -1
  604. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  605. package/lib/module/skia/types/MaskFilter.js.map +1 -1
  606. package/lib/module/skia/types/Matrix.js.map +1 -1
  607. package/lib/module/skia/types/Paint/BlendMode.js.map +1 -1
  608. package/lib/module/skia/types/Paint/Paint.js.map +1 -1
  609. package/lib/module/skia/types/Paint/index.js.map +1 -1
  610. package/lib/module/skia/types/Path/Path.js.map +1 -1
  611. package/lib/module/skia/types/Path/PathFactory.js.map +1 -1
  612. package/lib/module/skia/types/Path/index.js.map +1 -1
  613. package/lib/module/skia/types/PathEffect.js.map +1 -1
  614. package/lib/module/skia/types/Picture/Picture.js.map +1 -1
  615. package/lib/module/skia/types/Picture/PictureFactory.js.map +1 -1
  616. package/lib/module/skia/types/Picture/PictureRecorder.js.map +1 -1
  617. package/lib/module/skia/types/Picture/index.js.map +1 -1
  618. package/lib/module/skia/types/Point.js.map +1 -1
  619. package/lib/module/skia/types/RRect.js.map +1 -1
  620. package/lib/module/skia/types/RSXform.js.map +1 -1
  621. package/lib/module/skia/types/Rect.js.map +1 -1
  622. package/lib/module/skia/types/RuntimeEffect/RuntimeEffect.js.map +1 -1
  623. package/lib/module/skia/types/RuntimeEffect/RuntimeEffectFactory.js.map +1 -1
  624. package/lib/module/skia/types/RuntimeEffect/index.js.map +1 -1
  625. package/lib/module/skia/types/SVG/SVG.js.map +1 -1
  626. package/lib/module/skia/types/SVG/SVGFactory.js.map +1 -1
  627. package/lib/module/skia/types/SVG/index.js.map +1 -1
  628. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  629. package/lib/module/skia/types/Shader/ShaderFactory.js.map +1 -1
  630. package/lib/module/skia/types/Shader/index.js.map +1 -1
  631. package/lib/module/skia/types/Skia.js.map +1 -1
  632. package/lib/module/skia/types/Surface/Surface.js.map +1 -1
  633. package/lib/module/skia/types/Surface/SurfaceFactory.js.map +1 -1
  634. package/lib/module/skia/types/Surface/index.js.map +1 -1
  635. package/lib/module/skia/types/TextBlob.js.map +1 -1
  636. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  637. package/lib/module/skia/types/Typeface/TypefaceFactory.js.map +1 -1
  638. package/lib/module/skia/types/Typeface/index.js.map +1 -1
  639. package/lib/module/skia/types/Vertices/Vertices.js.map +1 -1
  640. package/lib/module/skia/types/Vertices/index.js.map +1 -1
  641. package/lib/module/skia/types/index.js.map +1 -1
  642. package/lib/module/skia/web/Host.js +1 -1
  643. package/lib/module/skia/web/Host.js.map +1 -1
  644. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  645. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  646. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  647. package/lib/module/skia/web/JsiSkColorFilterFactory.js.map +1 -1
  648. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  649. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  650. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  651. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
  652. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  653. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  654. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  655. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  656. package/lib/module/skia/web/JsiSkImageFilterFactory.js.map +1 -1
  657. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  658. package/lib/module/skia/web/JsiSkMaskFilterFactory.js.map +1 -1
  659. package/lib/module/skia/web/JsiSkMatrix.js +1 -1
  660. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  661. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  662. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  663. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  664. package/lib/module/skia/web/JsiSkPathEffectFactory.js.map +1 -1
  665. package/lib/module/skia/web/JsiSkPathFactory.js.map +1 -1
  666. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  667. package/lib/module/skia/web/JsiSkPictureFactory.js.map +1 -1
  668. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  669. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  670. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  671. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  672. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  673. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  674. package/lib/module/skia/web/JsiSkRuntimeEffectFactory.js.map +1 -1
  675. package/lib/module/skia/web/JsiSkSVGFactory.js.map +1 -1
  676. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  677. package/lib/module/skia/web/JsiSkShaderFactory.js.map +1 -1
  678. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  679. package/lib/module/skia/web/JsiSkSurfaceFactory.js.map +1 -1
  680. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  681. package/lib/module/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  682. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  683. package/lib/module/skia/web/JsiSkTypefaceFactory.js.map +1 -1
  684. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  685. package/lib/module/skia/web/JsiSkVerticesFactory.js.map +1 -1
  686. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  687. package/lib/module/skia/web/index.js.map +1 -1
  688. package/lib/module/values/api.js.map +1 -1
  689. package/lib/module/values/api.web.js.map +1 -1
  690. package/lib/module/values/hooks/index.js.map +1 -1
  691. package/lib/module/values/hooks/useClockValue.js.map +1 -1
  692. package/lib/module/values/hooks/useComputedValue.js.map +1 -1
  693. package/lib/module/values/hooks/useValue.js.map +1 -1
  694. package/lib/module/values/hooks/useValueEffect.js.map +1 -1
  695. package/lib/module/values/index.js.map +1 -1
  696. package/lib/module/values/selector.js.map +1 -1
  697. package/lib/module/values/types.js.map +1 -1
  698. package/lib/module/values/web/RNSkAnimation.js +2 -2
  699. package/lib/module/values/web/RNSkAnimation.js.map +1 -1
  700. package/lib/module/values/web/RNSkClockValue.js.map +1 -1
  701. package/lib/module/values/web/RNSkComputedValue.js +1 -1
  702. package/lib/module/values/web/RNSkComputedValue.js.map +1 -1
  703. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
  704. package/lib/module/values/web/RNSkValue.js.map +1 -1
  705. package/lib/module/values/web/api.js.map +1 -1
  706. package/lib/module/values/web/index.js.map +1 -1
  707. package/lib/module/views/SkiaBaseWebView.js +198 -0
  708. package/lib/module/views/SkiaBaseWebView.js.map +1 -0
  709. package/lib/module/views/SkiaPictureView.js +94 -0
  710. package/lib/module/views/SkiaPictureView.js.map +1 -0
  711. package/lib/module/views/SkiaPictureView.web.js +19 -0
  712. package/lib/module/views/SkiaPictureView.web.js.map +1 -0
  713. package/lib/module/views/SkiaView.js +2 -2
  714. package/lib/module/views/SkiaView.js.map +1 -1
  715. package/lib/module/views/SkiaView.web.js +15 -201
  716. package/lib/module/views/SkiaView.web.js.map +1 -1
  717. package/lib/module/views/api.js.map +1 -1
  718. package/lib/module/views/index.js +1 -0
  719. package/lib/module/views/index.js.map +1 -1
  720. package/lib/module/views/types.js.map +1 -1
  721. package/lib/module/views/useDrawCallback.js.map +1 -1
  722. package/lib/module/views/useTouchHandler.js +6 -6
  723. package/lib/module/views/useTouchHandler.js.map +1 -1
  724. package/lib/module/web/LoadSkiaWeb.js.map +1 -1
  725. package/lib/module/web/WithSkiaWeb.js +1 -1
  726. package/lib/module/web/WithSkiaWeb.js.map +1 -1
  727. package/lib/module/web/index.js.map +1 -1
  728. package/lib/typescript/src/animation/decay/runDecay.d.ts +1 -1
  729. package/lib/typescript/src/animation/spring/runSpring.d.ts +1 -1
  730. package/lib/typescript/src/animation/spring/useSpring.d.ts +1 -1
  731. package/lib/typescript/src/animation/timing/createTiming.d.ts +1 -1
  732. package/lib/typescript/src/animation/timing/functions/getResolvedParams.d.ts +1 -1
  733. package/lib/typescript/src/animation/timing/runTiming.d.ts +1 -1
  734. package/lib/typescript/src/animation/timing/useLoop.d.ts +1 -1
  735. package/lib/typescript/src/animation/timing/useTiming.d.ts +1 -1
  736. package/lib/typescript/src/mock/index.d.ts +1 -1
  737. package/lib/typescript/src/renderer/Canvas.d.ts +1 -1
  738. package/lib/typescript/src/renderer/HostConfig.d.ts +1 -1
  739. package/lib/typescript/src/renderer/components/Paint.d.ts +1 -1
  740. package/lib/typescript/src/renderer/components/backdrop/BackdropFilter.d.ts +1 -1
  741. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +4 -4
  742. package/lib/typescript/src/renderer/typeddash.d.ts +2 -2
  743. package/lib/typescript/src/skia/core/Font.d.ts +1 -1
  744. package/lib/typescript/src/skia/core/Vector.d.ts +2 -2
  745. package/lib/typescript/src/skia/types/Shader/Shader.d.ts +1 -1
  746. package/lib/typescript/src/skia/web/JsiSkVerticesFactory.d.ts +2 -2
  747. package/lib/typescript/src/views/SkiaBaseWebView.d.ts +58 -0
  748. package/lib/typescript/src/views/SkiaPictureView.d.ts +27 -0
  749. package/lib/typescript/src/views/SkiaPictureView.web.d.ts +7 -0
  750. package/lib/typescript/src/views/SkiaView.d.ts +4 -4
  751. package/lib/typescript/src/views/SkiaView.web.d.ts +6 -53
  752. package/lib/typescript/src/views/index.d.ts +1 -0
  753. package/lib/typescript/src/views/types.d.ts +7 -2
  754. package/lib/typescript/src/web/LoadSkiaWeb.d.ts +2 -2
  755. package/package.json +6 -6
  756. package/src/renderer/HostConfig.ts +3 -4
  757. package/src/renderer/components/backdrop/BackdropFilter.tsx +1 -1
  758. package/src/renderer/processors/Animations/Animations.ts +11 -4
  759. package/src/renderer/typeddash.ts +3 -2
  760. package/src/values/web/RNSkComputedValue.ts +6 -1
  761. package/src/views/SkiaBaseWebView.tsx +177 -0
  762. package/src/views/SkiaPictureView.tsx +93 -0
  763. package/src/views/SkiaPictureView.web.tsx +23 -0
  764. package/src/views/SkiaView.tsx +6 -7
  765. package/src/views/SkiaView.web.tsx +18 -167
  766. package/src/views/index.ts +1 -0
  767. package/src/views/types.ts +9 -2
  768. package/android/cpp/jni/JniSkiaDrawView.cpp +0 -113
  769. package/android/cpp/rnskia-android/RNSkDrawViewImpl.cpp +0 -73
  770. package/android/cpp/rnskia-android/RNSkDrawViewImpl.h +0 -48
  771. package/cpp/rnskia/RNSkDrawView.cpp +0 -315
  772. package/cpp/rnskia/RNSkDrawView.h +0 -226
  773. package/ios/RNSkia-iOS/RNSkDrawViewImpl.h +0 -52
  774. package/ios/RNSkia-iOS/SkiaDrawView.h +0 -23
@@ -0,0 +1,94 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+
5
+ import React from "react";
6
+ import { requireNativeComponent } from "react-native";
7
+ import { SkiaViewApi } from "./api";
8
+ let SkiaViewNativeId = 1000;
9
+ const NativeSkiaPictureView = requireNativeComponent("SkiaPictureView");
10
+ export class SkiaPictureView extends React.Component {
11
+ constructor(props) {
12
+ super(props);
13
+
14
+ _defineProperty(this, "_nativeId", void 0);
15
+
16
+ this._nativeId = SkiaViewNativeId++;
17
+ const {
18
+ picture
19
+ } = props;
20
+
21
+ if (picture) {
22
+ assertSkiaViewApi();
23
+ SkiaViewApi.setJsiProperty(this._nativeId, "picture", picture);
24
+ }
25
+ }
26
+
27
+ get nativeId() {
28
+ return this._nativeId;
29
+ }
30
+
31
+ componentDidUpdate(prevProps) {
32
+ const {
33
+ picture
34
+ } = this.props;
35
+
36
+ if (picture !== prevProps.picture) {
37
+ assertSkiaViewApi();
38
+ SkiaViewApi.setJsiProperty(this._nativeId, "picture", picture);
39
+ }
40
+ }
41
+ /**
42
+ * Creates a snapshot from the canvas in the surface
43
+ * @param rect Rect to use as bounds. Optional.
44
+ * @returns An Image object.
45
+ */
46
+
47
+
48
+ makeImageSnapshot(rect) {
49
+ assertSkiaViewApi();
50
+ return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);
51
+ }
52
+ /**
53
+ * Sends a redraw request to the native SkiaView.
54
+ */
55
+
56
+
57
+ redraw() {
58
+ assertSkiaViewApi();
59
+ SkiaViewApi.requestRedraw(this._nativeId);
60
+ }
61
+ /**
62
+ * Registers one or move values as a dependant value of the Skia View. The view will
63
+ * The view will redraw itself when any of the values change.
64
+ * @param values Values to register
65
+ */
66
+
67
+
68
+ registerValues(values) {
69
+ assertSkiaViewApi();
70
+ return SkiaViewApi.registerValuesInView(this._nativeId, values);
71
+ }
72
+
73
+ render() {
74
+ const {
75
+ mode,
76
+ debug = false,
77
+ ...viewProps
78
+ } = this.props;
79
+ return /*#__PURE__*/React.createElement(NativeSkiaPictureView, _extends({
80
+ collapsable: false,
81
+ nativeID: `${this._nativeId}`,
82
+ mode: mode,
83
+ debug: debug
84
+ }, viewProps));
85
+ }
86
+
87
+ }
88
+
89
+ const assertSkiaViewApi = () => {
90
+ if (SkiaViewApi === null || SkiaViewApi.setJsiProperty === null || SkiaViewApi.callJsiMethod === null || SkiaViewApi.registerValuesInView === null || SkiaViewApi.requestRedraw === null || SkiaViewApi.makeImageSnapshot === null) {
91
+ throw Error("Skia View Api was not found.");
92
+ }
93
+ };
94
+ //# sourceMappingURL=SkiaPictureView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","requireNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaPictureView","SkiaPictureView","Component","constructor","props","_nativeId","picture","assertSkiaViewApi","setJsiProperty","nativeId","componentDidUpdate","prevProps","makeImageSnapshot","rect","redraw","requestRedraw","registerValues","values","registerValuesInView","render","mode","debug","viewProps","callJsiMethod","Error"],"sources":["SkiaPictureView.tsx"],"sourcesContent":["import React from \"react\";\nimport { requireNativeComponent } from \"react-native\";\n\nimport type { SkRect } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { NativeSkiaViewProps, SkiaPictureViewProps } from \"./types\";\n\nlet SkiaViewNativeId = 1000;\n\nconst NativeSkiaPictureView =\n requireNativeComponent<NativeSkiaViewProps>(\"SkiaPictureView\");\n\nexport class SkiaPictureView extends React.Component<SkiaPictureViewProps> {\n constructor(props: SkiaPictureViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId++;\n const { picture } = props;\n if (picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaPictureViewProps) {\n const { picture } = this.props;\n if (picture !== prevProps.picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n /**\n * Registers one or move values as a dependant value of the Skia View. The view will\n * The view will redraw itself when any of the values change.\n * @param values Values to register\n */\n public registerValues(values: SkiaValue<unknown>[]): () => void {\n assertSkiaViewApi();\n return SkiaViewApi.registerValuesInView(this._nativeId, values);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.registerValuesInView === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,sBAAT,QAAuC,cAAvC;AAKA,SAASC,WAAT,QAA4B,OAA5B;AAGA,IAAIC,gBAAgB,GAAG,IAAvB;AAEA,MAAMC,qBAAqB,GACzBH,sBAAsB,CAAsB,iBAAtB,CADxB;AAGA,OAAO,MAAMI,eAAN,SAA8BL,KAAK,CAACM,SAApC,CAAoE;EACzEC,WAAW,CAACC,KAAD,EAA8B;IACvC,MAAMA,KAAN;;IADuC;;IAEvC,KAAKC,SAAL,GAAiBN,gBAAgB,EAAjC;IACA,MAAM;MAAEO;IAAF,IAAcF,KAApB;;IACA,IAAIE,OAAJ,EAAa;MACXC,iBAAiB;MACjBT,WAAW,CAACU,cAAZ,CAA2B,KAAKH,SAAhC,EAA2C,SAA3C,EAAsDC,OAAtD;IACD;EACF;;EAIkB,IAARG,QAAQ,GAAG;IACpB,OAAO,KAAKJ,SAAZ;EACD;;EAEDK,kBAAkB,CAACC,SAAD,EAAkC;IAClD,MAAM;MAAEL;IAAF,IAAc,KAAKF,KAAzB;;IACA,IAAIE,OAAO,KAAKK,SAAS,CAACL,OAA1B,EAAmC;MACjCC,iBAAiB;MACjBT,WAAW,CAACU,cAAZ,CAA2B,KAAKH,SAAhC,EAA2C,SAA3C,EAAsDC,OAAtD;IACD;EACF;EAED;AACF;AACA;AACA;AACA;;;EACSM,iBAAiB,CAACC,IAAD,EAAgB;IACtCN,iBAAiB;IACjB,OAAOT,WAAW,CAACc,iBAAZ,CAA8B,KAAKP,SAAnC,EAA8CQ,IAA9C,CAAP;EACD;EAED;AACF;AACA;;;EACSC,MAAM,GAAG;IACdP,iBAAiB;IACjBT,WAAW,CAACiB,aAAZ,CAA0B,KAAKV,SAA/B;EACD;EAED;AACF;AACA;AACA;AACA;;;EACSW,cAAc,CAACC,MAAD,EAA2C;IAC9DV,iBAAiB;IACjB,OAAOT,WAAW,CAACoB,oBAAZ,CAAiC,KAAKb,SAAtC,EAAiDY,MAAjD,CAAP;EACD;;EAEDE,MAAM,GAAG;IACP,MAAM;MAAEC,IAAF;MAAQC,KAAK,GAAG,KAAhB;MAAuB,GAAGC;IAA1B,IAAwC,KAAKlB,KAAnD;IACA,oBACE,oBAAC,qBAAD;MACE,WAAW,EAAE,KADf;MAEE,QAAQ,EAAG,GAAE,KAAKC,SAAU,EAF9B;MAGE,IAAI,EAAEe,IAHR;MAIE,KAAK,EAAEC;IAJT,GAKMC,SALN,EADF;EASD;;AAhEwE;;AAmE3E,MAAMf,iBAAiB,GAAG,MAAM;EAC9B,IACET,WAAW,KAAK,IAAhB,IACAA,WAAW,CAACU,cAAZ,KAA+B,IAD/B,IAEAV,WAAW,CAACyB,aAAZ,KAA8B,IAF9B,IAGAzB,WAAW,CAACoB,oBAAZ,KAAqC,IAHrC,IAIApB,WAAW,CAACiB,aAAZ,KAA8B,IAJ9B,IAKAjB,WAAW,CAACc,iBAAZ,KAAkC,IANpC,EAOE;IACA,MAAMY,KAAK,CAAC,8BAAD,CAAX;EACD;AACF,CAXD"}
@@ -0,0 +1,19 @@
1
+ import { PixelRatio } from "react-native";
2
+ import { SkiaBaseWebView } from "./SkiaBaseWebView";
3
+ const pd = PixelRatio.get();
4
+ export class SkiaPictureView extends SkiaBaseWebView {
5
+ constructor(props) {
6
+ super(props);
7
+ }
8
+
9
+ renderInCanvas(canvas) {
10
+ if (this.props.picture) {
11
+ canvas.save();
12
+ canvas.scale(pd, pd);
13
+ canvas.drawPicture(this.props.picture);
14
+ canvas.restore();
15
+ }
16
+ }
17
+
18
+ }
19
+ //# sourceMappingURL=SkiaPictureView.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PixelRatio","SkiaBaseWebView","pd","get","SkiaPictureView","constructor","props","renderInCanvas","canvas","picture","save","scale","drawPicture","restore"],"sources":["SkiaPictureView.web.tsx"],"sourcesContent":["import { PixelRatio } from \"react-native\";\n\nimport type { SkCanvas } from \"../skia/types\";\n\nimport type { SkiaPictureViewProps } from \"./types\";\nimport { SkiaBaseWebView } from \"./SkiaBaseWebView\";\n\nconst pd = PixelRatio.get();\n\nexport class SkiaPictureView extends SkiaBaseWebView<SkiaPictureViewProps> {\n constructor(props: SkiaPictureViewProps) {\n super(props);\n }\n\n protected renderInCanvas(canvas: SkCanvas): void {\n if (this.props.picture) {\n canvas.save();\n canvas.scale(pd, pd);\n canvas.drawPicture(this.props.picture);\n canvas.restore();\n }\n }\n}\n"],"mappings":"AAAA,SAASA,UAAT,QAA2B,cAA3B;AAKA,SAASC,eAAT,QAAgC,mBAAhC;AAEA,MAAMC,EAAE,GAAGF,UAAU,CAACG,GAAX,EAAX;AAEA,OAAO,MAAMC,eAAN,SAA8BH,eAA9B,CAAoE;EACzEI,WAAW,CAACC,KAAD,EAA8B;IACvC,MAAMA,KAAN;EACD;;EAESC,cAAc,CAACC,MAAD,EAAyB;IAC/C,IAAI,KAAKF,KAAL,CAAWG,OAAf,EAAwB;MACtBD,MAAM,CAACE,IAAP;MACAF,MAAM,CAACG,KAAP,CAAaT,EAAb,EAAiBA,EAAjB;MACAM,MAAM,CAACI,WAAP,CAAmB,KAAKN,KAAL,CAAWG,OAA9B;MACAD,MAAM,CAACK,OAAP;IACD;EACF;;AAZwE"}
@@ -1,4 +1,4 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
3
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
4
 
@@ -6,7 +6,7 @@ import React from "react";
6
6
  import { requireNativeComponent } from "react-native";
7
7
  import { SkiaViewApi } from "./api";
8
8
  let SkiaViewNativeId = 1000;
9
- const NativeSkiaView = requireNativeComponent("ReactNativeSkiaView");
9
+ const NativeSkiaView = requireNativeComponent("SkiaDrawView");
10
10
  export class SkiaView extends React.Component {
11
11
  constructor(props) {
12
12
  super(props);
@@ -1 +1 @@
1
- {"version":3,"sources":["SkiaView.tsx"],"names":["React","requireNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaView","SkiaView","Component","constructor","props","_nativeId","onDraw","assertSkiaViewApi","setJsiProperty","nativeId","componentDidUpdate","prevProps","makeImageSnapshot","rect","redraw","requestRedraw","registerValues","values","registerValuesInView","render","mode","debug","viewProps","callJsiMethod","Error"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,sBAAT,QAAuC,cAAvC;AAKA,SAASC,WAAT,QAA4B,OAA5B;AAGA,IAAIC,gBAAgB,GAAG,IAAvB;AAEA,MAAMC,cAAc,GAAGH,sBAAsB,CAC3C,qBAD2C,CAA7C;AAIA,OAAO,MAAMI,QAAN,SAAuBL,KAAK,CAACM,SAA7B,CAAsD;AAC3DC,EAAAA,WAAW,CAACC,KAAD,EAAuB;AAChC,UAAMA,KAAN;;AADgC;;AAEhC,SAAKC,SAAL,GAAiBN,gBAAgB,EAAjC;AACA,UAAM;AAAEO,MAAAA;AAAF,QAAaF,KAAnB;;AACA,QAAIE,MAAJ,EAAY;AACVC,MAAAA,iBAAiB;AACjBT,MAAAA,WAAW,CAACU,cAAZ,CAA2B,KAAKH,SAAhC,EAA2C,cAA3C,EAA2DC,MAA3D;AACD;AACF;;AAIkB,MAARG,QAAQ,GAAG;AACpB,WAAO,KAAKJ,SAAZ;AACD;;AAEDK,EAAAA,kBAAkB,CAACC,SAAD,EAA2B;AAC3C,UAAM;AAAEL,MAAAA;AAAF,QAAa,KAAKF,KAAxB;;AACA,QAAIE,MAAM,KAAKK,SAAS,CAACL,MAAzB,EAAiC;AAC/BC,MAAAA,iBAAiB;AACjBT,MAAAA,WAAW,CAACU,cAAZ,CAA2B,KAAKH,SAAhC,EAA2C,cAA3C,EAA2DC,MAA3D;AACD;AACF;AAED;AACF;AACA;AACA;AACA;;;AACSM,EAAAA,iBAAiB,CAACC,IAAD,EAAgB;AACtCN,IAAAA,iBAAiB;AACjB,WAAOT,WAAW,CAACc,iBAAZ,CAA8B,KAAKP,SAAnC,EAA8CQ,IAA9C,CAAP;AACD;AAED;AACF;AACA;;;AACSC,EAAAA,MAAM,GAAG;AACdP,IAAAA,iBAAiB;AACjBT,IAAAA,WAAW,CAACiB,aAAZ,CAA0B,KAAKV,SAA/B;AACD;AAED;AACF;AACA;AACA;AACA;;;AACSW,EAAAA,cAAc,CAACC,MAAD,EAA2C;AAC9DV,IAAAA,iBAAiB;AACjB,WAAOT,WAAW,CAACoB,oBAAZ,CAAiC,KAAKb,SAAtC,EAAiDY,MAAjD,CAAP;AACD;;AAEDE,EAAAA,MAAM,GAAG;AACP,UAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,KAAK,GAAG,KAAhB;AAAuB,SAAGC;AAA1B,QAAwC,KAAKlB,KAAnD;AACA,wBACE,oBAAC,cAAD;AACE,MAAA,WAAW,EAAE,KADf;AAEE,MAAA,QAAQ,EAAG,GAAE,KAAKC,SAAU,EAF9B;AAGE,MAAA,IAAI,EAAEe,IAHR;AAIE,MAAA,KAAK,EAAEC;AAJT,OAKMC,SALN,EADF;AASD;;AAhE0D;;AAmE7D,MAAMf,iBAAiB,GAAG,MAAM;AAC9B,MACET,WAAW,KAAK,IAAhB,IACAA,WAAW,CAACU,cAAZ,KAA+B,IAD/B,IAEAV,WAAW,CAACyB,aAAZ,KAA8B,IAF9B,IAGAzB,WAAW,CAACoB,oBAAZ,KAAqC,IAHrC,IAIApB,WAAW,CAACiB,aAAZ,KAA8B,IAJ9B,IAKAjB,WAAW,CAACc,iBAAZ,KAAkC,IANpC,EAOE;AACA,UAAMY,KAAK,CAAC,8BAAD,CAAX;AACD;AACF,CAXD","sourcesContent":["import React from \"react\";\nimport { requireNativeComponent } from \"react-native\";\n\nimport type { SkRect } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { NativeSkiaViewProps, SkiaViewProps } from \"./types\";\n\nlet SkiaViewNativeId = 1000;\n\nconst NativeSkiaView = requireNativeComponent<NativeSkiaViewProps>(\n \"ReactNativeSkiaView\"\n);\n\nexport class SkiaView extends React.Component<SkiaViewProps> {\n constructor(props: SkiaViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId++;\n const { onDraw } = props;\n if (onDraw) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"drawCallback\", onDraw);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaViewProps) {\n const { onDraw } = this.props;\n if (onDraw !== prevProps.onDraw) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"drawCallback\", onDraw);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n /**\n * Registers one or move values as a dependant value of the Skia View. The view will\n * The view will redraw itself when any of the values change.\n * @param values Values to register\n */\n public registerValues(values: SkiaValue<unknown>[]): () => void {\n assertSkiaViewApi();\n return SkiaViewApi.registerValuesInView(this._nativeId, values);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.registerValuesInView === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"]}
1
+ {"version":3,"names":["React","requireNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaView","SkiaView","Component","constructor","props","_nativeId","onDraw","assertSkiaViewApi","setJsiProperty","nativeId","componentDidUpdate","prevProps","makeImageSnapshot","rect","redraw","requestRedraw","registerValues","values","registerValuesInView","render","mode","debug","viewProps","callJsiMethod","Error"],"sources":["SkiaView.tsx"],"sourcesContent":["import React from \"react\";\nimport { requireNativeComponent } from \"react-native\";\n\nimport type { SkRect } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { NativeSkiaViewProps, SkiaDrawViewProps } from \"./types\";\n\nlet SkiaViewNativeId = 1000;\n\nconst NativeSkiaView =\n requireNativeComponent<NativeSkiaViewProps>(\"SkiaDrawView\");\n\nexport class SkiaView extends React.Component<SkiaDrawViewProps> {\n constructor(props: SkiaDrawViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId++;\n const { onDraw } = props;\n if (onDraw) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"drawCallback\", onDraw);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaDrawViewProps) {\n const { onDraw } = this.props;\n if (onDraw !== prevProps.onDraw) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"drawCallback\", onDraw);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n /**\n * Registers one or move values as a dependant value of the Skia View. The view will\n * The view will redraw itself when any of the values change.\n * @param values Values to register\n */\n public registerValues(values: SkiaValue<unknown>[]): () => void {\n assertSkiaViewApi();\n return SkiaViewApi.registerValuesInView(this._nativeId, values);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.registerValuesInView === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,sBAAT,QAAuC,cAAvC;AAKA,SAASC,WAAT,QAA4B,OAA5B;AAGA,IAAIC,gBAAgB,GAAG,IAAvB;AAEA,MAAMC,cAAc,GAClBH,sBAAsB,CAAsB,cAAtB,CADxB;AAGA,OAAO,MAAMI,QAAN,SAAuBL,KAAK,CAACM,SAA7B,CAA0D;EAC/DC,WAAW,CAACC,KAAD,EAA2B;IACpC,MAAMA,KAAN;;IADoC;;IAEpC,KAAKC,SAAL,GAAiBN,gBAAgB,EAAjC;IACA,MAAM;MAAEO;IAAF,IAAaF,KAAnB;;IACA,IAAIE,MAAJ,EAAY;MACVC,iBAAiB;MACjBT,WAAW,CAACU,cAAZ,CAA2B,KAAKH,SAAhC,EAA2C,cAA3C,EAA2DC,MAA3D;IACD;EACF;;EAIkB,IAARG,QAAQ,GAAG;IACpB,OAAO,KAAKJ,SAAZ;EACD;;EAEDK,kBAAkB,CAACC,SAAD,EAA+B;IAC/C,MAAM;MAAEL;IAAF,IAAa,KAAKF,KAAxB;;IACA,IAAIE,MAAM,KAAKK,SAAS,CAACL,MAAzB,EAAiC;MAC/BC,iBAAiB;MACjBT,WAAW,CAACU,cAAZ,CAA2B,KAAKH,SAAhC,EAA2C,cAA3C,EAA2DC,MAA3D;IACD;EACF;EAED;AACF;AACA;AACA;AACA;;;EACSM,iBAAiB,CAACC,IAAD,EAAgB;IACtCN,iBAAiB;IACjB,OAAOT,WAAW,CAACc,iBAAZ,CAA8B,KAAKP,SAAnC,EAA8CQ,IAA9C,CAAP;EACD;EAED;AACF;AACA;;;EACSC,MAAM,GAAG;IACdP,iBAAiB;IACjBT,WAAW,CAACiB,aAAZ,CAA0B,KAAKV,SAA/B;EACD;EAED;AACF;AACA;AACA;AACA;;;EACSW,cAAc,CAACC,MAAD,EAA2C;IAC9DV,iBAAiB;IACjB,OAAOT,WAAW,CAACoB,oBAAZ,CAAiC,KAAKb,SAAtC,EAAiDY,MAAjD,CAAP;EACD;;EAEDE,MAAM,GAAG;IACP,MAAM;MAAEC,IAAF;MAAQC,KAAK,GAAG,KAAhB;MAAuB,GAAGC;IAA1B,IAAwC,KAAKlB,KAAnD;IACA,oBACE,oBAAC,cAAD;MACE,WAAW,EAAE,KADf;MAEE,QAAQ,EAAG,GAAE,KAAKC,SAAU,EAF9B;MAGE,IAAI,EAAEe,IAHR;MAIE,KAAK,EAAEC;IAJT,GAKMC,SALN,EADF;EASD;;AAhE8D;;AAmEjE,MAAMf,iBAAiB,GAAG,MAAM;EAC9B,IACET,WAAW,KAAK,IAAhB,IACAA,WAAW,CAACU,cAAZ,KAA+B,IAD/B,IAEAV,WAAW,CAACyB,aAAZ,KAA8B,IAF9B,IAGAzB,WAAW,CAACoB,oBAAZ,KAAqC,IAHrC,IAIApB,WAAW,CAACiB,aAAZ,KAA8B,IAJ9B,IAKAjB,WAAW,CAACc,iBAAZ,KAAkC,IANpC,EAOE;IACA,MAAMY,KAAK,CAAC,8BAAD,CAAX;EACD;AACF,CAXD"}
@@ -1,211 +1,25 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
- /* global HTMLCanvasElement */
6
- import React from "react";
7
- import { PixelRatio, View } from "react-native";
8
- import { JsiSkSurface } from "../skia/web/JsiSkSurface";
9
- import { TouchType } from "./types";
1
+ import { PixelRatio } from "react-native";
2
+ import { SkiaBaseWebView } from "./SkiaBaseWebView";
10
3
  const pd = PixelRatio.get();
11
- export class SkiaView extends React.Component {
4
+ export class SkiaView extends SkiaBaseWebView {
12
5
  constructor(props) {
13
- var _props$mode;
14
-
15
6
  super(props);
16
-
17
- _defineProperty(this, "_surface", null);
18
-
19
- _defineProperty(this, "_unsubscriptions", []);
20
-
21
- _defineProperty(this, "_touches", []);
22
-
23
- _defineProperty(this, "_canvas", null);
24
-
25
- _defineProperty(this, "_canvasRef", /*#__PURE__*/React.createRef());
26
-
27
- _defineProperty(this, "_mode", void 0);
28
-
29
- _defineProperty(this, "_redrawRequests", 0);
30
-
31
- _defineProperty(this, "width", 0);
32
-
33
- _defineProperty(this, "height", 0);
34
-
35
- _defineProperty(this, "requestId", 0);
36
-
37
- this._mode = (_props$mode = props.mode) !== null && _props$mode !== void 0 ? _props$mode : "default";
38
7
  }
39
8
 
40
- unsubscribeAll() {
41
- this._unsubscriptions.forEach(u => u());
42
-
43
- this._unsubscriptions = [];
44
- }
45
-
46
- onLayout(evt) {
47
- const {
48
- CanvasKit
49
- } = global;
50
- const {
51
- width,
52
- height
53
- } = evt.nativeEvent.layout;
54
- this.width = width;
55
- this.height = height; // Reset canvas / surface on layout change
56
-
57
- if (this._canvasRef.current) {
58
- const canvas = this._canvasRef.current;
59
- canvas.width = canvas.clientWidth * pd;
60
- canvas.height = canvas.clientHeight * pd;
61
- const surface = CanvasKit.MakeWebGLCanvasSurface(this._canvasRef.current);
62
-
63
- if (!surface) {
64
- throw new Error("Could not create surface");
65
- }
66
-
67
- this._surface = new JsiSkSurface(CanvasKit, surface);
68
- this._canvas = this._surface.getCanvas();
69
- this.redraw();
9
+ renderInCanvas(canvas, touches) {
10
+ if (this.props.onDraw) {
11
+ const info = {
12
+ height: this.height,
13
+ width: this.width,
14
+ timestamp: Date.now(),
15
+ touches: touches.map(t => [t])
16
+ };
17
+ canvas.save();
18
+ canvas.scale(pd, pd);
19
+ this.props.onDraw(canvas, info);
20
+ canvas.restore();
70
21
  }
71
22
  }
72
23
 
73
- componentDidMount() {
74
- // Start render loop
75
- this.tick();
76
- }
77
-
78
- componentDidUpdate() {
79
- this.redraw();
80
- }
81
-
82
- componentWillUnmount() {
83
- this.unsubscribeAll();
84
- cancelAnimationFrame(this.requestId);
85
- }
86
- /**
87
- * Creates a snapshot from the canvas in the surface
88
- * @param rect Rect to use as bounds. Optional.
89
- * @returns An Image object.
90
- */
91
-
92
-
93
- makeImageSnapshot(rect) {
94
- var _this$_surface;
95
-
96
- return (_this$_surface = this._surface) === null || _this$_surface === void 0 ? void 0 : _this$_surface.makeImageSnapshot(rect);
97
- }
98
- /**
99
- * Sends a redraw request to the native SkiaView.
100
- */
101
-
102
-
103
- tick() {
104
- if (this._mode === "continuous" || this._redrawRequests > 0) {
105
- this._redrawRequests = 0;
106
-
107
- if (this._canvas && this.props.onDraw) {
108
- var _this$_surface2;
109
-
110
- const touches = [...this._touches];
111
- this._touches = [];
112
- const info = {
113
- height: this.height,
114
- width: this.width,
115
- timestamp: Date.now(),
116
- touches: touches.map(t => [t])
117
- };
118
-
119
- if (this.props.onDraw) {
120
- const canvas = this._canvas;
121
- canvas.save();
122
- canvas.scale(pd, pd);
123
- this.props.onDraw(canvas, info);
124
- canvas.restore();
125
- }
126
-
127
- (_this$_surface2 = this._surface) === null || _this$_surface2 === void 0 ? void 0 : _this$_surface2.ref.flush();
128
- }
129
- }
130
-
131
- this.requestId = requestAnimationFrame(this.tick.bind(this));
132
- }
133
-
134
- redraw() {
135
- this._redrawRequests++;
136
- }
137
- /**
138
- * Updates the drawing mode for the skia view. This is the same
139
- * as declaratively setting the mode property on the SkiaView.
140
- * There are two drawing modes, "continuous" and "default",
141
- * where the continuous mode will continuously redraw the view and
142
- * the default mode will only redraw when any of the regular react
143
- * properties are changed like size and margins.
144
- * @param mode Drawing mode to use.
145
- */
146
-
147
-
148
- setDrawMode(mode) {
149
- this._mode = mode;
150
- this.tick();
151
- }
152
- /**
153
- * Registers one or move values as a dependant value of the Skia View. The view will
154
- * The view will redraw itself when any of the values change.
155
- * @param values Values to register
156
- */
157
-
158
-
159
- registerValues(_values) {
160
- // Unsubscribe from dependency values
161
- this.unsubscribeAll(); // Register redraw dependencies on values
162
-
163
- _values.forEach(v => {
164
- this._unsubscriptions.push(v.addListener(() => {
165
- this.redraw();
166
- }));
167
- });
168
- }
169
-
170
- handleTouchEvent(evt, touchType) {
171
- this._touches.push({
172
- id: evt.pointerId,
173
- x: evt.clientX - evt.currentTarget.getClientRects()[0].left,
174
- y: evt.clientY - evt.currentTarget.getClientRects()[0].top,
175
- force: evt.pressure,
176
- type: touchType,
177
- timestamp: Date.now()
178
- });
179
-
180
- this.redraw();
181
- }
182
-
183
- createTouchHandler(touchType) {
184
- return evt => this.handleTouchEvent(evt, touchType);
185
- }
186
-
187
- render() {
188
- const {
189
- mode,
190
- debug = false,
191
- ...viewProps
192
- } = this.props;
193
- return /*#__PURE__*/React.createElement(View, _extends({}, viewProps, {
194
- onLayout: this.onLayout.bind(this)
195
- }), /*#__PURE__*/React.createElement("canvas", {
196
- ref: this._canvasRef,
197
- style: {
198
- display: "flex",
199
- flex: 1
200
- },
201
- onPointerDown: this.createTouchHandler(TouchType.Start),
202
- onPointerMove: this.createTouchHandler(TouchType.Active),
203
- onPointerUp: this.createTouchHandler(TouchType.End),
204
- onPointerCancel: this.createTouchHandler(TouchType.Cancelled),
205
- onPointerLeave: this.createTouchHandler(TouchType.End),
206
- onPointerOut: this.createTouchHandler(TouchType.End)
207
- }));
208
- }
209
-
210
24
  }
211
25
  //# sourceMappingURL=SkiaView.web.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["SkiaView.web.tsx"],"names":["React","PixelRatio","View","JsiSkSurface","TouchType","pd","get","SkiaView","Component","constructor","props","createRef","_mode","mode","unsubscribeAll","_unsubscriptions","forEach","u","onLayout","evt","CanvasKit","global","width","height","nativeEvent","layout","_canvasRef","current","canvas","clientWidth","clientHeight","surface","MakeWebGLCanvasSurface","Error","_surface","_canvas","getCanvas","redraw","componentDidMount","tick","componentDidUpdate","componentWillUnmount","cancelAnimationFrame","requestId","makeImageSnapshot","rect","_redrawRequests","onDraw","touches","_touches","info","timestamp","Date","now","map","t","save","scale","restore","ref","flush","requestAnimationFrame","bind","setDrawMode","registerValues","_values","v","push","addListener","handleTouchEvent","touchType","id","pointerId","x","clientX","currentTarget","getClientRects","left","y","clientY","top","force","pressure","type","createTouchHandler","render","debug","viewProps","display","flex","Start","Active","End","Cancelled"],"mappings":"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","sourcesContent":["/* global HTMLCanvasElement */\nimport React from \"react\";\nimport type { PointerEvent } from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\nimport { PixelRatio, View } from \"react-native\";\n\nimport type { SkRect, SkCanvas } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\nimport { JsiSkSurface } from \"../skia/web/JsiSkSurface\";\n\nimport type { DrawingInfo, DrawMode, SkiaViewProps, TouchInfo } from \"./types\";\nimport { TouchType } from \"./types\";\n\nconst pd = PixelRatio.get();\n\nexport class SkiaView extends React.Component<SkiaViewProps> {\n constructor(props: SkiaViewProps) {\n super(props);\n this._mode = props.mode ?? \"default\";\n }\n\n private _surface: JsiSkSurface | null = null;\n private _unsubscriptions: Array<() => void> = [];\n private _touches: Array<TouchInfo> = [];\n private _canvas: SkCanvas | null = null;\n private _canvasRef = React.createRef<HTMLCanvasElement>();\n private _mode: DrawMode;\n private _redrawRequests = 0;\n private width = 0;\n private height = 0;\n private requestId = 0;\n\n private unsubscribeAll() {\n this._unsubscriptions.forEach((u) => u());\n this._unsubscriptions = [];\n }\n\n private onLayout(evt: LayoutChangeEvent) {\n const { CanvasKit } = global;\n const { width, height } = evt.nativeEvent.layout;\n this.width = width;\n this.height = height;\n // Reset canvas / surface on layout change\n if (this._canvasRef.current) {\n const canvas = this._canvasRef.current;\n canvas.width = canvas.clientWidth * pd;\n canvas.height = canvas.clientHeight * pd;\n const surface = CanvasKit.MakeWebGLCanvasSurface(this._canvasRef.current);\n if (!surface) {\n throw new Error(\"Could not create surface\");\n }\n this._surface = new JsiSkSurface(CanvasKit, surface);\n this._canvas = this._surface.getCanvas();\n this.redraw();\n }\n }\n\n componentDidMount() {\n // Start render loop\n this.tick();\n }\n\n componentDidUpdate() {\n this.redraw();\n }\n\n componentWillUnmount() {\n this.unsubscribeAll();\n cancelAnimationFrame(this.requestId);\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n return this._surface?.makeImageSnapshot(rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n private tick() {\n if (this._mode === \"continuous\" || this._redrawRequests > 0) {\n this._redrawRequests = 0;\n if (this._canvas && this.props.onDraw) {\n const touches = [...this._touches];\n this._touches = [];\n const info: DrawingInfo = {\n height: this.height,\n width: this.width,\n timestamp: Date.now(),\n touches: touches.map((t) => [t]),\n };\n if (this.props.onDraw) {\n const canvas = this._canvas!;\n canvas.save();\n canvas.scale(pd, pd);\n this.props.onDraw(canvas, info);\n canvas.restore();\n }\n this._surface?.ref.flush();\n }\n }\n this.requestId = requestAnimationFrame(this.tick.bind(this));\n }\n\n public redraw() {\n this._redrawRequests++;\n }\n\n /**\n * Updates the drawing mode for the skia view. This is the same\n * as declaratively setting the mode property on the SkiaView.\n * There are two drawing modes, \"continuous\" and \"default\",\n * where the continuous mode will continuously redraw the view and\n * the default mode will only redraw when any of the regular react\n * properties are changed like size and margins.\n * @param mode Drawing mode to use.\n */\n public setDrawMode(mode: DrawMode) {\n this._mode = mode;\n this.tick();\n }\n\n /**\n * Registers one or move values as a dependant value of the Skia View. The view will\n * The view will redraw itself when any of the values change.\n * @param values Values to register\n */\n public registerValues(_values: SkiaValue<unknown>[]) {\n // Unsubscribe from dependency values\n this.unsubscribeAll();\n // Register redraw dependencies on values\n _values.forEach((v) => {\n this._unsubscriptions.push(\n v.addListener(() => {\n this.redraw();\n })\n );\n });\n }\n\n private handleTouchEvent(evt: PointerEvent, touchType: TouchType) {\n this._touches.push({\n id: evt.pointerId,\n x: evt.clientX - evt.currentTarget.getClientRects()[0].left,\n y: evt.clientY - evt.currentTarget.getClientRects()[0].top,\n force: evt.pressure,\n type: touchType,\n timestamp: Date.now(),\n });\n this.redraw();\n }\n\n createTouchHandler(touchType: TouchType) {\n return (evt: PointerEvent) => this.handleTouchEvent(evt, touchType);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <View {...viewProps} onLayout={this.onLayout.bind(this)}>\n <canvas\n ref={this._canvasRef}\n style={{ display: \"flex\", flex: 1 }}\n onPointerDown={this.createTouchHandler(TouchType.Start)}\n onPointerMove={this.createTouchHandler(TouchType.Active)}\n onPointerUp={this.createTouchHandler(TouchType.End)}\n onPointerCancel={this.createTouchHandler(TouchType.Cancelled)}\n onPointerLeave={this.createTouchHandler(TouchType.End)}\n onPointerOut={this.createTouchHandler(TouchType.End)}\n />\n </View>\n );\n }\n}\n"]}
1
+ {"version":3,"names":["PixelRatio","SkiaBaseWebView","pd","get","SkiaView","constructor","props","renderInCanvas","canvas","touches","onDraw","info","height","width","timestamp","Date","now","map","t","save","scale","restore"],"sources":["SkiaView.web.tsx"],"sourcesContent":["import { PixelRatio } from \"react-native\";\n\nimport type { SkCanvas } from \"../skia/types\";\n\nimport type { DrawingInfo, SkiaDrawViewProps, TouchInfo } from \"./types\";\nimport { SkiaBaseWebView } from \"./SkiaBaseWebView\";\n\nconst pd = PixelRatio.get();\n\nexport class SkiaView extends SkiaBaseWebView<SkiaDrawViewProps> {\n constructor(props: SkiaDrawViewProps) {\n super(props);\n }\n\n protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void {\n if (this.props.onDraw) {\n const info: DrawingInfo = {\n height: this.height,\n width: this.width,\n timestamp: Date.now(),\n touches: touches.map((t) => [t]),\n };\n canvas.save();\n canvas.scale(pd, pd);\n this.props.onDraw(canvas, info);\n canvas.restore();\n }\n }\n}\n"],"mappings":"AAAA,SAASA,UAAT,QAA2B,cAA3B;AAKA,SAASC,eAAT,QAAgC,mBAAhC;AAEA,MAAMC,EAAE,GAAGF,UAAU,CAACG,GAAX,EAAX;AAEA,OAAO,MAAMC,QAAN,SAAuBH,eAAvB,CAA0D;EAC/DI,WAAW,CAACC,KAAD,EAA2B;IACpC,MAAMA,KAAN;EACD;;EAESC,cAAc,CAACC,MAAD,EAAmBC,OAAnB,EAA+C;IACrE,IAAI,KAAKH,KAAL,CAAWI,MAAf,EAAuB;MACrB,MAAMC,IAAiB,GAAG;QACxBC,MAAM,EAAE,KAAKA,MADW;QAExBC,KAAK,EAAE,KAAKA,KAFY;QAGxBC,SAAS,EAAEC,IAAI,CAACC,GAAL,EAHa;QAIxBP,OAAO,EAAEA,OAAO,CAACQ,GAAR,CAAaC,CAAD,IAAO,CAACA,CAAD,CAAnB;MAJe,CAA1B;MAMAV,MAAM,CAACW,IAAP;MACAX,MAAM,CAACY,KAAP,CAAalB,EAAb,EAAiBA,EAAjB;MACA,KAAKI,KAAL,CAAWI,MAAX,CAAkBF,MAAlB,EAA0BG,IAA1B;MACAH,MAAM,CAACa,OAAP;IACD;EACF;;AAlB8D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["api.ts"],"names":["SkiaViewApi","global"],"mappings":"AAMA,OAAO,MAAM;AAAEA,EAAAA;AAAF,IAAkBC,MAAxB","sourcesContent":["import type { ISkiaViewApi } from \"./types\";\n\ndeclare global {\n var SkiaViewApi: ISkiaViewApi;\n}\n\nexport const { SkiaViewApi } = global;\n"]}
1
+ {"version":3,"names":["SkiaViewApi","global"],"sources":["api.ts"],"sourcesContent":["import type { ISkiaViewApi } from \"./types\";\n\ndeclare global {\n var SkiaViewApi: ISkiaViewApi;\n}\n\nexport const { SkiaViewApi } = global;\n"],"mappings":"AAMA,OAAO,MAAM;EAAEA;AAAF,IAAkBC,MAAxB"}
@@ -1,4 +1,5 @@
1
1
  export * from "./SkiaView";
2
+ export * from "./SkiaPictureView";
2
3
  export * from "./types";
3
4
  export * from "./useDrawCallback";
4
5
  export * from "./useTouchHandler";
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,mBAAd;AACA,cAAc,mBAAd","sourcesContent":["export * from \"./SkiaView\";\nexport * from \"./types\";\nexport * from \"./useDrawCallback\";\nexport * from \"./useTouchHandler\";\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./SkiaView\";\nexport * from \"./SkiaPictureView\";\nexport * from \"./types\";\nexport * from \"./useDrawCallback\";\nexport * from \"./useTouchHandler\";\n"],"mappings":"AAAA,cAAc,YAAd;AACA,cAAc,mBAAd;AACA,cAAc,SAAd;AACA,cAAc,mBAAd;AACA,cAAc,mBAAd"}
@@ -1 +1 @@
1
- {"version":3,"sources":["types.ts"],"names":["TouchType"],"mappings":"AAYA,WAAYA,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S","sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { SkCanvas, SkImage, SkRect } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\n\nexport type DrawMode = \"continuous\" | \"default\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n mode?: DrawMode;\n debug?: boolean;\n};\n\nexport enum TouchType {\n Start,\n Active,\n End,\n Cancelled,\n}\n\nexport interface TouchInfo {\n x: number;\n y: number;\n force: number;\n type: TouchType;\n id: number;\n timestamp: number;\n}\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n touches: Array<Array<TouchInfo>>;\n}\n\nexport type ExtendedTouchInfo = TouchInfo & {\n // points per second\n velocityX: number;\n velocityY: number;\n};\n\nexport type TouchHandlers = {\n onStart?: (touchInfo: TouchInfo) => void;\n onActive?: (touchInfo: ExtendedTouchInfo) => void;\n onEnd?: (touchInfo: ExtendedTouchInfo) => void;\n};\n\nexport type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;\n\nexport type RNSkiaDrawCallback = (canvas: SkCanvas, info: DrawingInfo) => void;\n\n/**\n * Listener interface for value changes\n */\nexport interface ValueListener {\n addListener: (callback: () => void) => number;\n removeListener: (id: number) => void;\n}\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n callJsiMethod: <T extends Array<unknown>>(\n nativeId: number,\n name: string,\n ...args: T\n ) => void;\n registerValuesInView: (\n nativeId: number,\n values: SkiaValue<unknown>[]\n ) => () => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n}\n\nexport interface SkiaViewProps extends ViewProps {\n /**\n * Sets the drawing mode for the skia view. There are two drawing\n * modes, \"continuous\" and \"default\", where the continuous mode will\n * continuously redraw the view, and the default mode will only\n * redraw when any of the regular react properties are changed like\n * sizes and margins.\n */\n mode?: DrawMode;\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Draw callback. Will be called whenever the view is invalidated and\n * needs to redraw. This is either caused by a change in a react\n * property, a touch event, or a call to redraw. If the view is in\n * continuous mode the callback will be called 60 frames per second\n * by the native view.\n */\n onDraw?: RNSkiaDrawCallback;\n}\n"]}
1
+ {"version":3,"names":["TouchType"],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { SkCanvas, SkImage, SkPicture, SkRect } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\n\nexport type DrawMode = \"continuous\" | \"default\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n mode?: DrawMode;\n debug?: boolean;\n};\n\nexport enum TouchType {\n Start,\n Active,\n End,\n Cancelled,\n}\n\nexport interface TouchInfo {\n x: number;\n y: number;\n force: number;\n type: TouchType;\n id: number;\n timestamp: number;\n}\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n touches: Array<Array<TouchInfo>>;\n}\n\nexport type ExtendedTouchInfo = TouchInfo & {\n // points per second\n velocityX: number;\n velocityY: number;\n};\n\nexport type TouchHandlers = {\n onStart?: (touchInfo: TouchInfo) => void;\n onActive?: (touchInfo: ExtendedTouchInfo) => void;\n onEnd?: (touchInfo: ExtendedTouchInfo) => void;\n};\n\nexport type TouchHandler = (touchInfo: Array<Array<TouchInfo>>) => void;\n\nexport type RNSkiaDrawCallback = (canvas: SkCanvas, info: DrawingInfo) => void;\n\n/**\n * Listener interface for value changes\n */\nexport interface ValueListener {\n addListener: (callback: () => void) => number;\n removeListener: (id: number) => void;\n}\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n callJsiMethod: <T extends Array<unknown>>(\n nativeId: number,\n name: string,\n ...args: T\n ) => void;\n registerValuesInView: (\n nativeId: number,\n values: SkiaValue<unknown>[]\n ) => () => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * Sets the drawing mode for the skia view. There are two drawing\n * modes, \"continuous\" and \"default\", where the continuous mode will\n * continuously redraw the view, and the default mode will only\n * redraw when any of the regular react properties are changed like\n * sizes and margins.\n */\n mode?: DrawMode;\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n}\n\nexport interface SkiaDrawViewProps extends SkiaBaseViewProps {\n /**\n * Draw callback. Will be called whenever the view is invalidated and\n * needs to redraw. This is either caused by a change in a react\n * property, a touch event, or a call to redraw. If the view is in\n * continuous mode the callback will be called 60 frames per second\n * by the native view.\n */\n onDraw?: RNSkiaDrawCallback;\n}\n\nexport interface SkiaPictureViewProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n}\n"],"mappings":"AAYA,WAAYA,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useDrawCallback.ts"],"names":["useMemo","useDrawCallback","callback","deps"],"mappings":"AACA,SAASA,OAAT,QAAwB,OAAxB;;AAIA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,UAC7BC,QAD6B,EAG1B;AAAA,MADHC,IACG,uEADoB,EACpB;AACH,SAAOH,OAAO,CAAC,MAAM;AACnB,WAAOE,QAAP,CADmB,CAEnB;AACD,GAHa,EAGXC,IAHW,CAAd;AAID,CARM","sourcesContent":["import type { DependencyList } from \"react\";\nimport { useMemo } from \"react\";\n\nimport type { RNSkiaDrawCallback } from \"./types\";\n\n/**\n * Creates a memoized callback for the onDraw handler of a Skia component.\n * @param callback The callback to memoize.\n * @param deps Dependencies for the callback.\n * */\nexport const useDrawCallback = (\n callback: RNSkiaDrawCallback,\n deps: DependencyList = []\n) => {\n return useMemo(() => {\n return callback;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n"]}
1
+ {"version":3,"names":["useMemo","useDrawCallback","callback","deps"],"sources":["useDrawCallback.ts"],"sourcesContent":["import type { DependencyList } from \"react\";\nimport { useMemo } from \"react\";\n\nimport type { RNSkiaDrawCallback } from \"./types\";\n\n/**\n * Creates a memoized callback for the onDraw handler of a Skia component.\n * @param callback The callback to memoize.\n * @param deps Dependencies for the callback.\n * */\nexport const useDrawCallback = (\n callback: RNSkiaDrawCallback,\n deps: DependencyList = []\n) => {\n return useMemo(() => {\n return callback;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n"],"mappings":"AACA,SAASA,OAAT,QAAwB,OAAxB;;AAIA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,UAC7BC,QAD6B,EAG1B;EAAA,IADHC,IACG,uEADoB,EACpB;EACH,OAAOH,OAAO,CAAC,MAAM;IACnB,OAAOE,QAAP,CADmB,CAEnB;EACD,CAHa,EAGXC,IAHW,CAAd;AAID,CARM"}
@@ -12,7 +12,7 @@ const useInternalTouchHandler = function (handlers) {
12
12
  history.forEach(touches => {
13
13
  // Enumerate touches
14
14
  for (let i = 0; i < touches.length; i++) {
15
- var _prevTouchInfoRef$cur, _prevTouchInfoRef$cur2, _prevTouch$x, _prevTouch$y, _prevVelocityRef$curr, _prevVelocityRef$curr2, _prevVelocityRef$curr3, _prevVelocityRef$curr4;
15
+ var _prevTouchInfoRef$cur, _prevVelocityRef$curr, _prevVelocityRef$curr2;
16
16
 
17
17
  if (!multiTouch && i > 0) {
18
18
  break;
@@ -21,9 +21,9 @@ const useInternalTouchHandler = function (handlers) {
21
21
  const touch = touches[i];
22
22
  const prevTouch = prevTouchInfoRef.current[touch.id]; // Calculate the velocity from the previous touch.
23
23
 
24
- const timeDiffseconds = touch.timestamp - ((_prevTouchInfoRef$cur = (_prevTouchInfoRef$cur2 = prevTouchInfoRef.current[touch.id]) === null || _prevTouchInfoRef$cur2 === void 0 ? void 0 : _prevTouchInfoRef$cur2.timestamp) !== null && _prevTouchInfoRef$cur !== void 0 ? _prevTouchInfoRef$cur : touch.timestamp);
25
- const distX = touch.x - ((_prevTouch$x = prevTouch === null || prevTouch === void 0 ? void 0 : prevTouch.x) !== null && _prevTouch$x !== void 0 ? _prevTouch$x : touch.x);
26
- const distY = touch.y - ((_prevTouch$y = prevTouch === null || prevTouch === void 0 ? void 0 : prevTouch.y) !== null && _prevTouch$y !== void 0 ? _prevTouch$y : touch.y);
24
+ const timeDiffseconds = touch.timestamp - (((_prevTouchInfoRef$cur = prevTouchInfoRef.current[touch.id]) === null || _prevTouchInfoRef$cur === void 0 ? void 0 : _prevTouchInfoRef$cur.timestamp) ?? touch.timestamp);
25
+ const distX = touch.x - ((prevTouch === null || prevTouch === void 0 ? void 0 : prevTouch.x) ?? touch.x);
26
+ const distY = touch.y - ((prevTouch === null || prevTouch === void 0 ? void 0 : prevTouch.y) ?? touch.y);
27
27
 
28
28
  if (touch.type !== TouchType.Start && touch.type !== TouchType.End && touch.type !== TouchType.Cancelled && timeDiffseconds > 0) {
29
29
  prevVelocityRef.current[touch.id] = {
@@ -33,8 +33,8 @@ const useInternalTouchHandler = function (handlers) {
33
33
  }
34
34
 
35
35
  const extendedTouchInfo = { ...touch,
36
- velocityX: (_prevVelocityRef$curr = (_prevVelocityRef$curr2 = prevVelocityRef.current[touch.id]) === null || _prevVelocityRef$curr2 === void 0 ? void 0 : _prevVelocityRef$curr2.x) !== null && _prevVelocityRef$curr !== void 0 ? _prevVelocityRef$curr : 0,
37
- velocityY: (_prevVelocityRef$curr3 = (_prevVelocityRef$curr4 = prevVelocityRef.current[touch.id]) === null || _prevVelocityRef$curr4 === void 0 ? void 0 : _prevVelocityRef$curr4.y) !== null && _prevVelocityRef$curr3 !== void 0 ? _prevVelocityRef$curr3 : 0
36
+ velocityX: ((_prevVelocityRef$curr = prevVelocityRef.current[touch.id]) === null || _prevVelocityRef$curr === void 0 ? void 0 : _prevVelocityRef$curr.x) ?? 0,
37
+ velocityY: ((_prevVelocityRef$curr2 = prevVelocityRef.current[touch.id]) === null || _prevVelocityRef$curr2 === void 0 ? void 0 : _prevVelocityRef$curr2.y) ?? 0
38
38
  }; // Save previous touch
39
39
 
40
40
  prevTouchInfoRef.current[touch.id] = touch;
@@ -1 +1 @@
1
- {"version":3,"sources":["useTouchHandler.ts"],"names":["useCallback","useRef","PixelRatio","TouchType","useInternalTouchHandler","handlers","deps","multiTouch","prevTouchInfoRef","prevVelocityRef","history","forEach","touches","i","length","touch","prevTouch","current","id","timeDiffseconds","timestamp","distX","x","distY","y","type","Start","End","Cancelled","get","extendedTouchInfo","velocityX","velocityY","onStart","Active","onActive","onEnd","useTouchHandler","useMultiTouchHandler"],"mappings":"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","sourcesContent":["import type { DependencyList } from \"react\";\nimport { useCallback, useRef } from \"react\";\nimport { PixelRatio } from \"react-native\";\n\nimport type { Vector } from \"../skia/types\";\n\nimport type {\n ExtendedTouchInfo,\n TouchHandlers,\n TouchHandler,\n TouchInfo,\n} from \"./types\";\nimport { TouchType } from \"./types\";\n\nconst useInternalTouchHandler = (\n handlers: TouchHandlers,\n deps: DependencyList = [],\n multiTouch = false\n): TouchHandler => {\n const prevTouchInfoRef = useRef<{ [key: number]: TouchInfo | undefined }>({});\n const prevVelocityRef = useRef<{ [key: number]: Vector | undefined }>({});\n\n return useCallback((history: Array<Array<TouchInfo>>) => {\n // Process all items in the current touch history\n history.forEach((touches) => {\n // Enumerate touches\n for (let i = 0; i < touches.length; i++) {\n if (!multiTouch && i > 0) {\n break;\n }\n\n const touch = touches[i];\n const prevTouch = prevTouchInfoRef.current[touch.id];\n // Calculate the velocity from the previous touch.\n const timeDiffseconds =\n touch.timestamp -\n (prevTouchInfoRef.current[touch.id]?.timestamp ?? touch.timestamp);\n\n const distX = touch.x - (prevTouch?.x ?? touch.x);\n const distY = touch.y - (prevTouch?.y ?? touch.y);\n\n if (\n touch.type !== TouchType.Start &&\n touch.type !== TouchType.End &&\n touch.type !== TouchType.Cancelled &&\n timeDiffseconds > 0\n ) {\n prevVelocityRef.current[touch.id] = {\n x: distX / timeDiffseconds / PixelRatio.get(),\n y: distY / timeDiffseconds / PixelRatio.get(),\n };\n }\n\n const extendedTouchInfo: ExtendedTouchInfo = {\n ...touch,\n velocityX: prevVelocityRef.current[touch.id]?.x ?? 0,\n velocityY: prevVelocityRef.current[touch.id]?.y ?? 0,\n };\n\n // Save previous touch\n prevTouchInfoRef.current[touch.id] = touch;\n\n if (touch.type === TouchType.Start) {\n delete prevVelocityRef.current[touch.id];\n handlers.onStart && handlers.onStart(touch);\n } else if (touch.type === TouchType.Active) {\n handlers.onActive && handlers.onActive(extendedTouchInfo);\n } else {\n handlers.onEnd && handlers.onEnd(extendedTouchInfo);\n }\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n\n/**\n * Provides a callback for handling touch events in the Skia View.\n * This touch handler only handles single touches.\n * @param handlers Callbacks for the different touch states\n * @param deps optional Dependency array to update the handlers\n * @returns A function that can be used from within the onDraw callback to\n * update and handle touch events. Call it with the touches property from\n * the info object.\n */\nexport const useTouchHandler = (\n handlers: TouchHandlers,\n deps: DependencyList = []\n): TouchHandler => {\n return useInternalTouchHandler(handlers, deps, false);\n};\n\n/**\n * Provides a callback for handling touch events in the Skia View.\n * This touch handler handles multiple touches.\n * @param handlers Callbacks for the different touch states\n * @param deps optional Dependency array to update the handlers\n * @returns A function that can be used from within the onDraw callback to\n * update and handle touch events. Call it with the touches property from\n * the info object.\n */\nexport const useMultiTouchHandler = (\n handlers: TouchHandlers,\n deps: DependencyList = []\n): TouchHandler => {\n return useInternalTouchHandler(handlers, deps, true);\n};\n"]}
1
+ {"version":3,"names":["useCallback","useRef","PixelRatio","TouchType","useInternalTouchHandler","handlers","deps","multiTouch","prevTouchInfoRef","prevVelocityRef","history","forEach","touches","i","length","touch","prevTouch","current","id","timeDiffseconds","timestamp","distX","x","distY","y","type","Start","End","Cancelled","get","extendedTouchInfo","velocityX","velocityY","onStart","Active","onActive","onEnd","useTouchHandler","useMultiTouchHandler"],"sources":["useTouchHandler.ts"],"sourcesContent":["import type { DependencyList } from \"react\";\nimport { useCallback, useRef } from \"react\";\nimport { PixelRatio } from \"react-native\";\n\nimport type { Vector } from \"../skia/types\";\n\nimport type {\n ExtendedTouchInfo,\n TouchHandlers,\n TouchHandler,\n TouchInfo,\n} from \"./types\";\nimport { TouchType } from \"./types\";\n\nconst useInternalTouchHandler = (\n handlers: TouchHandlers,\n deps: DependencyList = [],\n multiTouch = false\n): TouchHandler => {\n const prevTouchInfoRef = useRef<{ [key: number]: TouchInfo | undefined }>({});\n const prevVelocityRef = useRef<{ [key: number]: Vector | undefined }>({});\n\n return useCallback((history: Array<Array<TouchInfo>>) => {\n // Process all items in the current touch history\n history.forEach((touches) => {\n // Enumerate touches\n for (let i = 0; i < touches.length; i++) {\n if (!multiTouch && i > 0) {\n break;\n }\n\n const touch = touches[i];\n const prevTouch = prevTouchInfoRef.current[touch.id];\n // Calculate the velocity from the previous touch.\n const timeDiffseconds =\n touch.timestamp -\n (prevTouchInfoRef.current[touch.id]?.timestamp ?? touch.timestamp);\n\n const distX = touch.x - (prevTouch?.x ?? touch.x);\n const distY = touch.y - (prevTouch?.y ?? touch.y);\n\n if (\n touch.type !== TouchType.Start &&\n touch.type !== TouchType.End &&\n touch.type !== TouchType.Cancelled &&\n timeDiffseconds > 0\n ) {\n prevVelocityRef.current[touch.id] = {\n x: distX / timeDiffseconds / PixelRatio.get(),\n y: distY / timeDiffseconds / PixelRatio.get(),\n };\n }\n\n const extendedTouchInfo: ExtendedTouchInfo = {\n ...touch,\n velocityX: prevVelocityRef.current[touch.id]?.x ?? 0,\n velocityY: prevVelocityRef.current[touch.id]?.y ?? 0,\n };\n\n // Save previous touch\n prevTouchInfoRef.current[touch.id] = touch;\n\n if (touch.type === TouchType.Start) {\n delete prevVelocityRef.current[touch.id];\n handlers.onStart && handlers.onStart(touch);\n } else if (touch.type === TouchType.Active) {\n handlers.onActive && handlers.onActive(extendedTouchInfo);\n } else {\n handlers.onEnd && handlers.onEnd(extendedTouchInfo);\n }\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n\n/**\n * Provides a callback for handling touch events in the Skia View.\n * This touch handler only handles single touches.\n * @param handlers Callbacks for the different touch states\n * @param deps optional Dependency array to update the handlers\n * @returns A function that can be used from within the onDraw callback to\n * update and handle touch events. Call it with the touches property from\n * the info object.\n */\nexport const useTouchHandler = (\n handlers: TouchHandlers,\n deps: DependencyList = []\n): TouchHandler => {\n return useInternalTouchHandler(handlers, deps, false);\n};\n\n/**\n * Provides a callback for handling touch events in the Skia View.\n * This touch handler handles multiple touches.\n * @param handlers Callbacks for the different touch states\n * @param deps optional Dependency array to update the handlers\n * @returns A function that can be used from within the onDraw callback to\n * update and handle touch events. Call it with the touches property from\n * the info object.\n */\nexport const useMultiTouchHandler = (\n handlers: TouchHandlers,\n deps: DependencyList = []\n): TouchHandler => {\n return useInternalTouchHandler(handlers, deps, true);\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["LoadSkiaWeb.tsx"],"names":["CanvasKitInit","LoadSkiaWeb","opts","global","CanvasKit","undefined","LoadSkia"],"mappings":"AAAA;AACA;AACA,OAAOA,aAAP,MAA0B,mCAA1B;AAUA,OAAO,MAAMC,WAAW,GAAG,MAAOC,IAAP,IAAuC;AAChE,MAAIC,MAAM,CAACC,SAAP,KAAqBC,SAAzB,EAAoC;AAClC;AACD;;AACD,QAAMD,SAAS,GAAG,MAAMJ,aAAa,CAACE,IAAD,CAArC,CAJgE,CAKhE;AACA;;AACAC,EAAAA,MAAM,CAACC,SAAP,GAAmBA,SAAnB;AACD,CARM,C,CAUP;;AACA,OAAO,MAAME,QAAQ,GAAGL,WAAjB","sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type {\n CanvasKit as CanvasKitType,\n CanvasKitInitOptions,\n} from \"canvaskit-wasm\";\n\ndeclare global {\n var CanvasKit: CanvasKitType;\n}\n\nexport const LoadSkiaWeb = async (opts?: CanvasKitInitOptions) => {\n if (global.CanvasKit !== undefined) {\n return;\n }\n const CanvasKit = await CanvasKitInit(opts);\n // The CanvasKit API is stored on the global object and used\n // to create the JsiSKApi in the Skia.web.ts file.\n global.CanvasKit = CanvasKit;\n};\n\n// We keep this function for backward compatibility\nexport const LoadSkia = LoadSkiaWeb;\n"]}
1
+ {"version":3,"names":["CanvasKitInit","LoadSkiaWeb","opts","global","CanvasKit","undefined","LoadSkia"],"sources":["LoadSkiaWeb.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-expect-error\nimport CanvasKitInit from \"canvaskit-wasm/bin/full/canvaskit\";\nimport type {\n CanvasKit as CanvasKitType,\n CanvasKitInitOptions,\n} from \"canvaskit-wasm\";\n\ndeclare global {\n var CanvasKit: CanvasKitType;\n}\n\nexport const LoadSkiaWeb = async (opts?: CanvasKitInitOptions) => {\n if (global.CanvasKit !== undefined) {\n return;\n }\n const CanvasKit = await CanvasKitInit(opts);\n // The CanvasKit API is stored on the global object and used\n // to create the JsiSKApi in the Skia.web.ts file.\n global.CanvasKit = CanvasKit;\n};\n\n// We keep this function for backward compatibility\nexport const LoadSkia = LoadSkiaWeb;\n"],"mappings":"AAAA;AACA;AACA,OAAOA,aAAP,MAA0B,mCAA1B;AAUA,OAAO,MAAMC,WAAW,GAAG,MAAOC,IAAP,IAAuC;EAChE,IAAIC,MAAM,CAACC,SAAP,KAAqBC,SAAzB,EAAoC;IAClC;EACD;;EACD,MAAMD,SAAS,GAAG,MAAMJ,aAAa,CAACE,IAAD,CAArC,CAJgE,CAKhE;EACA;;EACAC,MAAM,CAACC,SAAP,GAAmBA,SAAnB;AACD,CARM,C,CAUP;;AACA,OAAO,MAAME,QAAQ,GAAGL,WAAjB"}
@@ -19,7 +19,7 @@ export const WithSkiaWeb = _ref => {
19
19
  return getComponent();
20
20
  }), [getComponent, opts]);
21
21
  return /*#__PURE__*/React.createElement(Suspense, {
22
- fallback: fallback !== null && fallback !== void 0 ? fallback : null
22
+ fallback: fallback ?? null
23
23
  }, /*#__PURE__*/React.createElement(Inner, null));
24
24
  };
25
25
  //# sourceMappingURL=WithSkiaWeb.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["WithSkiaWeb.tsx"],"names":["React","useMemo","lazy","Suspense","Platform","LoadSkiaWeb","WithSkiaWeb","getComponent","fallback","opts","Inner","OS","console","warn"],"mappings":"AACA,OAAOA,KAAP,IAAgBC,OAAhB,EAAyBC,IAAzB,EAA+BC,QAA/B,QAA+C,OAA/C;AACA,SAASC,QAAT,QAAyB,cAAzB;AAEA,SAASC,WAAT,QAA4B,eAA5B;AAQA,OAAO,MAAMC,WAAW,GAAG,QAIN;AAAA,MAJO;AAC1BC,IAAAA,YAD0B;AAE1BC,IAAAA,QAF0B;AAG1BC,IAAAA;AAH0B,GAIP;AACnB,QAAMC,KAAK,GAAGT,OAAO,EACnB;AACA;AACA,qBACEC,IAAI,CAAC,YAAY;AACf,QAAIE,QAAQ,CAACO,EAAT,KAAgB,KAApB,EAA2B;AACzB,YAAMN,WAAW,CAACI,IAAD,CAAjB;AACD,KAFD,MAEO;AACLG,MAAAA,OAAO,CAACC,IAAR,CACE,yEADF;AAGD;;AACD,WAAON,YAAY,EAAnB;AACD,GATG,CAJa,EAcnB,CAACA,YAAD,EAAeE,IAAf,CAdmB,CAArB;AAgBA,sBACE,oBAAC,QAAD;AAAU,IAAA,QAAQ,EAAED,QAAF,aAAEA,QAAF,cAAEA,QAAF,GAAc;AAAhC,kBACE,oBAAC,KAAD,OADF,CADF;AAKD,CA1BM","sourcesContent":["import type { ComponentProps, ComponentType } from \"react\";\nimport React, { useMemo, lazy, Suspense } from \"react\";\nimport { Platform } from \"react-native\";\n\nimport { LoadSkiaWeb } from \"./LoadSkiaWeb\";\n\ninterface WithSkiaProps {\n fallback?: ComponentProps<typeof Suspense>[\"fallback\"];\n getComponent: () => Promise<{ default: ComponentType }>;\n opts?: Parameters<typeof LoadSkiaWeb>[0];\n}\n\nexport const WithSkiaWeb = ({\n getComponent,\n fallback,\n opts,\n}: WithSkiaProps) => {\n const Inner = useMemo(\n // TODO: investigate\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (): any =>\n lazy(async () => {\n if (Platform.OS === \"web\") {\n await LoadSkiaWeb(opts);\n } else {\n console.warn(\n \"<WithSkiaWeb /> is only necessary on web. Consider not using on native.\"\n );\n }\n return getComponent();\n }),\n [getComponent, opts]\n );\n return (\n <Suspense fallback={fallback ?? null}>\n <Inner />\n </Suspense>\n );\n};\n"]}
1
+ {"version":3,"names":["React","useMemo","lazy","Suspense","Platform","LoadSkiaWeb","WithSkiaWeb","getComponent","fallback","opts","Inner","OS","console","warn"],"sources":["WithSkiaWeb.tsx"],"sourcesContent":["import type { ComponentProps, ComponentType } from \"react\";\nimport React, { useMemo, lazy, Suspense } from \"react\";\nimport { Platform } from \"react-native\";\n\nimport { LoadSkiaWeb } from \"./LoadSkiaWeb\";\n\ninterface WithSkiaProps {\n fallback?: ComponentProps<typeof Suspense>[\"fallback\"];\n getComponent: () => Promise<{ default: ComponentType }>;\n opts?: Parameters<typeof LoadSkiaWeb>[0];\n}\n\nexport const WithSkiaWeb = ({\n getComponent,\n fallback,\n opts,\n}: WithSkiaProps) => {\n const Inner = useMemo(\n // TODO: investigate\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (): any =>\n lazy(async () => {\n if (Platform.OS === \"web\") {\n await LoadSkiaWeb(opts);\n } else {\n console.warn(\n \"<WithSkiaWeb /> is only necessary on web. Consider not using on native.\"\n );\n }\n return getComponent();\n }),\n [getComponent, opts]\n );\n return (\n <Suspense fallback={fallback ?? null}>\n <Inner />\n </Suspense>\n );\n};\n"],"mappings":"AACA,OAAOA,KAAP,IAAgBC,OAAhB,EAAyBC,IAAzB,EAA+BC,QAA/B,QAA+C,OAA/C;AACA,SAASC,QAAT,QAAyB,cAAzB;AAEA,SAASC,WAAT,QAA4B,eAA5B;AAQA,OAAO,MAAMC,WAAW,GAAG,QAIN;EAAA,IAJO;IAC1BC,YAD0B;IAE1BC,QAF0B;IAG1BC;EAH0B,CAIP;EACnB,MAAMC,KAAK,GAAGT,OAAO,EACnB;EACA;EACA,mBACEC,IAAI,CAAC,YAAY;IACf,IAAIE,QAAQ,CAACO,EAAT,KAAgB,KAApB,EAA2B;MACzB,MAAMN,WAAW,CAACI,IAAD,CAAjB;IACD,CAFD,MAEO;MACLG,OAAO,CAACC,IAAR,CACE,yEADF;IAGD;;IACD,OAAON,YAAY,EAAnB;EACD,CATG,CAJa,EAcnB,CAACA,YAAD,EAAeE,IAAf,CAdmB,CAArB;EAgBA,oBACE,oBAAC,QAAD;IAAU,QAAQ,EAAED,QAAQ,IAAI;EAAhC,gBACE,oBAAC,KAAD,OADF,CADF;AAKD,CA1BM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAd;AACA,cAAc,eAAd","sourcesContent":["export * from \"./LoadSkiaWeb\";\nexport * from \"./WithSkiaWeb\";\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./LoadSkiaWeb\";\nexport * from \"./WithSkiaWeb\";\n"],"mappings":"AAAA,cAAc,eAAd;AACA,cAAc,eAAd"}
@@ -7,4 +7,4 @@ import type { DecayConfig } from "./types";
7
7
  * @param config Configuration or default configuration
8
8
  * @returns Animation
9
9
  */
10
- export declare const runDecay: (value: SkiaMutableValue<number>, config?: DecayConfig | undefined) => import("../../values/types").SkiaAnimation;
10
+ export declare const runDecay: (value: SkiaMutableValue<number>, config?: DecayConfig) => import("../../values/types").SkiaAnimation;
@@ -13,4 +13,4 @@ import type { AnimationParams, SpringConfig, AnimationCallback } from "../types"
13
13
  * @returns an animation value that can be used to start/stop
14
14
  * the animation.
15
15
  */
16
- export declare const runSpring: (value: SkiaMutableValue<number>, toOrParams: number | AnimationParams, config?: SpringConfig | undefined, callback?: AnimationCallback | undefined) => SkiaAnimation;
16
+ export declare const runSpring: (value: SkiaMutableValue<number>, toOrParams: number | AnimationParams, config?: SpringConfig, callback?: AnimationCallback) => SkiaAnimation;
@@ -7,4 +7,4 @@ import type { SpringConfig, AnimationParams, AnimationCallback } from "../types"
7
7
  * @param config
8
8
  * @returns
9
9
  */
10
- export declare const useSpring: (toOrParams: number | AnimationParams, config?: SpringConfig | undefined, callback?: AnimationCallback | undefined) => SkiaValue<number>;
10
+ export declare const useSpring: (toOrParams: number | AnimationParams, config?: SpringConfig, callback?: AnimationCallback) => SkiaValue<number>;
@@ -14,4 +14,4 @@ import type { SkiaMutableValue } from "../../values/types";
14
14
  * @params an animation value that can be used to start/stop
15
15
  * the animation.
16
16
  */
17
- export declare const createTiming: (params: RequiredAnimationParams & Required<TimingConfig>, value?: SkiaMutableValue<number> | undefined, callback?: AnimationCallback | undefined) => import("../../values/types").SkiaAnimation;
17
+ export declare const createTiming: (params: RequiredAnimationParams & Required<TimingConfig>, value?: SkiaMutableValue<number>, callback?: AnimationCallback) => import("../../values/types").SkiaAnimation;
@@ -4,4 +4,4 @@ import type { RequiredAnimationParams, AnimationParams, TimingConfig } from "../
4
4
  * @param toOrParams Params or to value
5
5
  * @param config timing/spring configuration
6
6
  */
7
- export declare const getResolvedParams: (toOrParams: number | AnimationParams, config?: TimingConfig | undefined) => RequiredAnimationParams & Required<TimingConfig>;
7
+ export declare const getResolvedParams: (toOrParams: number | AnimationParams, config?: TimingConfig) => RequiredAnimationParams & Required<TimingConfig>;