@shopify/react-native-skia 0.1.171 → 0.1.173

Sign up to get free protection for your applications and to get access to all the features.
Files changed (919) hide show
  1. package/android/CMakeLists.txt +1 -0
  2. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +5 -0
  3. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +106 -5
  4. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +3 -1
  5. package/cpp/api/JsiSkSurface.h +7 -1
  6. package/cpp/api/JsiSkSurfaceFactory.h +15 -2
  7. package/cpp/rnskia/RNSkDomView.cpp +2 -4
  8. package/cpp/rnskia/RNSkJsView.cpp +3 -0
  9. package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
  10. package/cpp/rnskia/RNSkPictureView.h +3 -0
  11. package/cpp/rnskia/RNSkPlatformContext.h +9 -0
  12. package/cpp/rnskia/dom/JsiDomApi.h +1 -0
  13. package/cpp/rnskia/dom/base/ConcatablePaint.cpp +117 -0
  14. package/cpp/rnskia/dom/base/ConcatablePaint.h +49 -0
  15. package/cpp/rnskia/dom/base/Declaration.h +88 -0
  16. package/cpp/rnskia/dom/base/DeclarationContext.h +79 -0
  17. package/cpp/rnskia/dom/base/DerivedNodeProp.h +25 -9
  18. package/cpp/rnskia/dom/base/DrawingContext.cpp +32 -186
  19. package/cpp/rnskia/dom/base/DrawingContext.h +45 -64
  20. package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +35 -106
  21. package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +28 -9
  22. package/cpp/rnskia/dom/base/JsiDomNode.h +46 -17
  23. package/cpp/rnskia/dom/base/JsiDomRenderNode.h +81 -67
  24. package/cpp/rnskia/dom/base/NodeProp.h +12 -2
  25. package/cpp/rnskia/dom/base/NodePropsContainer.h +15 -16
  26. package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +22 -11
  27. package/cpp/rnskia/dom/nodes/JsiBlendNode.h +43 -59
  28. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +16 -17
  29. package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +6 -5
  30. package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +45 -69
  31. package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +8 -1
  32. package/cpp/rnskia/dom/nodes/JsiGroupNode.h +1 -1
  33. package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +121 -161
  34. package/cpp/rnskia/dom/nodes/JsiImageNode.h +1 -0
  35. package/cpp/rnskia/dom/nodes/JsiLayerNode.h +28 -18
  36. package/cpp/rnskia/dom/nodes/JsiPaintNode.h +82 -45
  37. package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +68 -101
  38. package/cpp/rnskia/dom/nodes/JsiPathNode.h +3 -2
  39. package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +150 -207
  40. package/cpp/rnskia/dom/props/BezierProps.h +4 -2
  41. package/cpp/rnskia/dom/props/BlendModeProp.h +4 -2
  42. package/cpp/rnskia/dom/props/BoxShadowProps.h +8 -10
  43. package/cpp/rnskia/dom/props/CircleProp.h +6 -5
  44. package/cpp/rnskia/dom/props/ClipProp.h +6 -4
  45. package/cpp/rnskia/dom/props/ColorProp.h +8 -4
  46. package/cpp/rnskia/dom/props/DrawingProp.h +5 -3
  47. package/cpp/rnskia/dom/props/FontProp.h +4 -2
  48. package/cpp/rnskia/dom/props/GlyphsProp.h +4 -2
  49. package/cpp/rnskia/dom/props/ImageProps.h +9 -6
  50. package/cpp/rnskia/dom/props/LayerProp.h +6 -4
  51. package/cpp/rnskia/dom/props/MatrixProp.h +4 -2
  52. package/cpp/rnskia/dom/props/NumbersProp.h +8 -4
  53. package/cpp/rnskia/dom/props/PaintProps.h +55 -92
  54. package/cpp/rnskia/dom/props/PathProp.h +4 -2
  55. package/cpp/rnskia/dom/props/PictureProp.h +4 -2
  56. package/cpp/rnskia/dom/props/PointProp.h +4 -2
  57. package/cpp/rnskia/dom/props/PointsProp.h +8 -4
  58. package/cpp/rnskia/dom/props/RRectProp.h +23 -16
  59. package/cpp/rnskia/dom/props/RadiusProp.h +4 -2
  60. package/cpp/rnskia/dom/props/RectProp.h +18 -12
  61. package/cpp/rnskia/dom/props/StrokeProps.h +8 -4
  62. package/cpp/rnskia/dom/props/SvgProp.h +4 -2
  63. package/cpp/rnskia/dom/props/TextBlobProp.h +10 -8
  64. package/cpp/rnskia/dom/props/TileModeProp.h +4 -2
  65. package/cpp/rnskia/dom/props/TransformProp.h +4 -2
  66. package/cpp/rnskia/dom/props/TransformsProps.h +5 -7
  67. package/cpp/rnskia/dom/props/UniformsProp.h +4 -2
  68. package/cpp/rnskia/dom/props/VertexModeProp.h +4 -2
  69. package/cpp/rnskia/dom/props/VerticesProps.h +7 -11
  70. package/ios/RNSkia-iOS/DisplayLink.mm +22 -24
  71. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +57 -50
  72. package/ios/RNSkia-iOS/RNSkiOSPlatformContext.h +2 -0
  73. package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +38 -25
  74. package/ios/RNSkia-iOS/SkiaDomViewManager.mm +17 -17
  75. package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +17 -17
  76. package/ios/RNSkia-iOS/SkiaManager.mm +12 -10
  77. package/ios/RNSkia-iOS/SkiaMetalRenderer.h +5 -0
  78. package/ios/RNSkia-iOS/SkiaMetalRenderer.mm +53 -0
  79. package/ios/RNSkia-iOS/SkiaPictureViewManager.mm +17 -17
  80. package/ios/RNSkia-iOS/SkiaUIView.mm +63 -53
  81. package/ios/RNSkiaModule.mm +5 -7
  82. package/lib/commonjs/animation/decay/decay.d.ts +2 -0
  83. package/lib/commonjs/animation/decay/index.d.ts +1 -0
  84. package/lib/commonjs/animation/decay/runDecay.d.ts +10 -0
  85. package/lib/commonjs/animation/decay/types.d.ts +21 -0
  86. package/lib/commonjs/animation/functions/index.d.ts +4 -0
  87. package/lib/commonjs/animation/functions/interpolate.d.ts +17 -0
  88. package/lib/commonjs/animation/functions/interpolateColors.d.ts +3 -0
  89. package/lib/commonjs/animation/functions/interpolatePaths.d.ts +19 -0
  90. package/lib/commonjs/animation/functions/interpolateVector.d.ts +10 -0
  91. package/lib/commonjs/animation/index.d.ts +4 -0
  92. package/lib/commonjs/animation/spring/Spring.d.ts +65 -0
  93. package/lib/commonjs/animation/spring/functions/index.d.ts +1 -0
  94. package/lib/commonjs/animation/spring/functions/spring.d.ts +10 -0
  95. package/lib/commonjs/animation/spring/index.d.ts +3 -0
  96. package/lib/commonjs/animation/spring/runSpring.d.ts +16 -0
  97. package/lib/commonjs/animation/spring/types.d.ts +6 -0
  98. package/lib/commonjs/animation/spring/useSpring.d.ts +10 -0
  99. package/lib/commonjs/animation/timing/Easing.d.ts +19 -0
  100. package/lib/commonjs/animation/timing/createTiming.d.ts +17 -0
  101. package/lib/commonjs/animation/timing/functions/bezier.d.ts +1 -0
  102. package/lib/commonjs/animation/timing/functions/getResolvedParams.d.ts +7 -0
  103. package/lib/commonjs/animation/timing/functions/index.d.ts +4 -0
  104. package/lib/commonjs/animation/timing/functions/timing.d.ts +17 -0
  105. package/lib/commonjs/animation/timing/functions/types.d.ts +7 -0
  106. package/lib/commonjs/animation/timing/index.d.ts +4 -0
  107. package/lib/commonjs/animation/timing/runTiming.d.ts +16 -0
  108. package/lib/commonjs/animation/timing/useLoop.d.ts +8 -0
  109. package/lib/commonjs/animation/timing/useTiming.d.ts +10 -0
  110. package/lib/commonjs/animation/types.d.ts +18 -0
  111. package/lib/commonjs/dom/nodes/DrawingNode.d.ts +14 -0
  112. package/lib/commonjs/dom/nodes/DrawingNode.js +5 -1
  113. package/lib/commonjs/dom/nodes/DrawingNode.js.map +1 -1
  114. package/lib/commonjs/dom/nodes/GroupNode.d.ts +7 -0
  115. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +64 -0
  116. package/lib/commonjs/dom/nodes/LayerNode.d.ts +8 -0
  117. package/lib/commonjs/dom/nodes/LayerNode.js +13 -6
  118. package/lib/commonjs/dom/nodes/LayerNode.js.map +1 -1
  119. package/lib/commonjs/dom/nodes/Node.d.ts +38 -0
  120. package/lib/commonjs/dom/nodes/Node.js +8 -26
  121. package/lib/commonjs/dom/nodes/Node.js.map +1 -1
  122. package/lib/commonjs/dom/nodes/PaintContext.d.ts +18 -0
  123. package/lib/commonjs/dom/nodes/PaintContext.js.map +1 -1
  124. package/lib/commonjs/dom/nodes/PaintNode.d.ts +8 -0
  125. package/lib/commonjs/dom/nodes/PaintNode.js +32 -15
  126. package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -1
  127. package/lib/commonjs/dom/nodes/RenderNode.d.ts +26 -0
  128. package/lib/commonjs/dom/nodes/RenderNode.js +19 -187
  129. package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
  130. package/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +7 -0
  131. package/lib/commonjs/dom/nodes/datatypes/Enum.d.ts +1 -0
  132. package/lib/commonjs/dom/nodes/datatypes/Fitting.d.ts +33 -0
  133. package/lib/commonjs/dom/nodes/datatypes/Gradient.d.ts +92 -0
  134. package/lib/commonjs/dom/nodes/datatypes/Path.d.ts +4 -0
  135. package/lib/commonjs/dom/nodes/datatypes/Radius.d.ts +3 -0
  136. package/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +5 -0
  137. package/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +3 -0
  138. package/lib/commonjs/dom/nodes/datatypes/index.d.ts +8 -0
  139. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.d.ts +8 -0
  140. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js +25 -7
  141. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +1 -1
  142. package/lib/commonjs/dom/nodes/drawings/Box.d.ts +15 -0
  143. package/lib/commonjs/dom/nodes/drawings/Box.js +3 -0
  144. package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
  145. package/lib/commonjs/dom/nodes/drawings/CircleNode.d.ts +9 -0
  146. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.d.ts +8 -0
  147. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.d.ts +8 -0
  148. package/lib/commonjs/dom/nodes/drawings/FillNode.d.ts +8 -0
  149. package/lib/commonjs/dom/nodes/drawings/ImageNode.d.ts +25 -0
  150. package/lib/commonjs/dom/nodes/drawings/ImageSVG.d.ts +8 -0
  151. package/lib/commonjs/dom/nodes/drawings/LineNode.d.ts +8 -0
  152. package/lib/commonjs/dom/nodes/drawings/OvalNode.d.ts +9 -0
  153. package/lib/commonjs/dom/nodes/drawings/PatchNode.d.ts +18 -0
  154. package/lib/commonjs/dom/nodes/drawings/PathNode.d.ts +9 -0
  155. package/lib/commonjs/dom/nodes/drawings/PictureNode.d.ts +8 -0
  156. package/lib/commonjs/dom/nodes/drawings/PointsNode.d.ts +8 -0
  157. package/lib/commonjs/dom/nodes/drawings/RRectNode.d.ts +10 -0
  158. package/lib/commonjs/dom/nodes/drawings/RectNode.d.ts +9 -0
  159. package/lib/commonjs/dom/nodes/drawings/Text.d.ts +30 -0
  160. package/lib/commonjs/dom/nodes/drawings/VerticesNode.d.ts +9 -0
  161. package/lib/commonjs/dom/nodes/drawings/index.d.ts +18 -0
  162. package/lib/commonjs/dom/nodes/index.d.ts +3 -0
  163. package/lib/commonjs/dom/nodes/paint/BlendNode.d.ts +8 -0
  164. package/lib/commonjs/dom/nodes/paint/BlendNode.js +16 -47
  165. package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +1 -1
  166. package/lib/commonjs/dom/nodes/paint/ColorFilters.d.ts +35 -0
  167. package/lib/commonjs/dom/nodes/paint/ColorFilters.js +29 -43
  168. package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +1 -1
  169. package/lib/commonjs/dom/nodes/paint/ImageFilters.d.ts +42 -0
  170. package/lib/commonjs/dom/nodes/paint/ImageFilters.js +45 -42
  171. package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +1 -1
  172. package/lib/commonjs/dom/nodes/paint/MaskFilters.d.ts +8 -0
  173. package/lib/commonjs/dom/nodes/paint/MaskFilters.js +3 -2
  174. package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +1 -1
  175. package/lib/commonjs/dom/nodes/paint/PathEffects.d.ts +39 -0
  176. package/lib/commonjs/dom/nodes/paint/PathEffects.js +30 -72
  177. package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +1 -1
  178. package/lib/commonjs/dom/nodes/paint/Shaders.d.ts +43 -0
  179. package/lib/commonjs/dom/nodes/paint/Shaders.js +28 -18
  180. package/lib/commonjs/dom/nodes/paint/Shaders.js.map +1 -1
  181. package/lib/commonjs/dom/nodes/paint/index.d.ts +6 -0
  182. package/lib/commonjs/dom/types/ColorFilters.d.ts +12 -0
  183. package/lib/commonjs/dom/types/Common.d.ts +56 -0
  184. package/lib/commonjs/dom/types/DeclarationContext.d.ts +29 -0
  185. package/lib/commonjs/dom/types/DeclarationContext.js +118 -0
  186. package/lib/commonjs/dom/types/DeclarationContext.js.map +1 -0
  187. package/lib/commonjs/dom/types/DrawingContext.d.ts +22 -0
  188. package/lib/commonjs/dom/types/DrawingContext.js +330 -0
  189. package/lib/commonjs/dom/types/DrawingContext.js.map +1 -1
  190. package/lib/commonjs/dom/types/Drawings.d.ts +104 -0
  191. package/lib/commonjs/dom/types/ImageFilters.d.ts +37 -0
  192. package/lib/commonjs/dom/types/MaskFilters.d.ts +7 -0
  193. package/lib/commonjs/dom/types/Node.d.ts +23 -0
  194. package/lib/commonjs/dom/types/Node.js.map +1 -1
  195. package/lib/commonjs/dom/types/NodeType.d.ts +67 -0
  196. package/lib/commonjs/dom/types/PathEffects.d.ts +28 -0
  197. package/lib/commonjs/dom/types/Shaders.d.ts +59 -0
  198. package/lib/commonjs/dom/types/SkDOM.d.ts +71 -0
  199. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  200. package/lib/commonjs/dom/types/index.d.ts +12 -0
  201. package/lib/commonjs/dom/types/index.js +13 -0
  202. package/lib/commonjs/dom/types/index.js.map +1 -1
  203. package/lib/commonjs/external/index.d.ts +1 -0
  204. package/lib/commonjs/external/reanimated/index.d.ts +1 -0
  205. package/lib/commonjs/external/reanimated/useSharedValueEffect.d.ts +11 -0
  206. package/lib/commonjs/index.d.ts +11 -0
  207. package/lib/commonjs/index.js +13 -0
  208. package/lib/commonjs/index.js.map +1 -1
  209. package/lib/commonjs/mock/index.d.ts +16 -0
  210. package/lib/commonjs/renderer/Canvas.d.ts +11 -0
  211. package/lib/commonjs/renderer/Canvas.js +3 -3
  212. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  213. package/lib/commonjs/renderer/Container.d.ts +12 -0
  214. package/lib/commonjs/renderer/DependencyManager.d.ts +46 -0
  215. package/lib/commonjs/renderer/DrawingContext.d.ts +7 -0
  216. package/lib/commonjs/renderer/DrawingContext.js.map +1 -1
  217. package/lib/commonjs/renderer/HostComponents.d.ts +132 -0
  218. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  219. package/lib/commonjs/renderer/HostConfig.d.ts +19 -0
  220. package/lib/commonjs/renderer/HostConfig.js +1 -0
  221. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  222. package/lib/commonjs/renderer/Offscreen.d.ts +2 -0
  223. package/lib/commonjs/renderer/Offscreen.js +31 -0
  224. package/lib/commonjs/renderer/Offscreen.js.map +1 -0
  225. package/lib/commonjs/renderer/Reconciler.d.ts +13 -0
  226. package/lib/commonjs/renderer/Reconciler.js +0 -1
  227. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  228. package/lib/commonjs/renderer/components/Blend.d.ts +4 -0
  229. package/lib/commonjs/renderer/components/Drawing.d.ts +3 -0
  230. package/lib/commonjs/renderer/components/Group.d.ts +8 -0
  231. package/lib/commonjs/renderer/components/Mask.d.ts +9 -0
  232. package/lib/commonjs/renderer/components/Paint.d.ts +4 -0
  233. package/lib/commonjs/renderer/components/Picture.d.ts +4 -0
  234. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.d.ts +9 -0
  235. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.d.ts +7 -0
  236. package/lib/commonjs/renderer/components/backdrop/index.d.ts +2 -0
  237. package/lib/commonjs/renderer/components/colorFilters/BlendColor.d.ts +4 -0
  238. package/lib/commonjs/renderer/components/colorFilters/Lerp.d.ts +4 -0
  239. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +4 -0
  240. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.d.ts +4 -0
  241. package/lib/commonjs/renderer/components/colorFilters/Matrix.d.ts +5 -0
  242. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +4 -0
  243. package/lib/commonjs/renderer/components/colorFilters/index.d.ts +6 -0
  244. package/lib/commonjs/renderer/components/image/Image.d.ts +4 -0
  245. package/lib/commonjs/renderer/components/image/ImageSVG.d.ts +4 -0
  246. package/lib/commonjs/renderer/components/image/ImageShader.d.ts +4 -0
  247. package/lib/commonjs/renderer/components/image/index.d.ts +3 -0
  248. package/lib/commonjs/renderer/components/imageFilters/Blur.d.ts +4 -0
  249. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.d.ts +4 -0
  250. package/lib/commonjs/renderer/components/imageFilters/Morphology.d.ts +4 -0
  251. package/lib/commonjs/renderer/components/imageFilters/Offset.d.ts +4 -0
  252. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.d.ts +4 -0
  253. package/lib/commonjs/renderer/components/imageFilters/Shadow.d.ts +4 -0
  254. package/lib/commonjs/renderer/components/imageFilters/index.d.ts +6 -0
  255. package/lib/commonjs/renderer/components/index.d.ts +16 -0
  256. package/lib/commonjs/renderer/components/maskFilters/Blur.d.ts +4 -0
  257. package/lib/commonjs/renderer/components/maskFilters/index.d.ts +1 -0
  258. package/lib/commonjs/renderer/components/pathEffects/Corner.d.ts +4 -0
  259. package/lib/commonjs/renderer/components/pathEffects/Dash.d.ts +4 -0
  260. package/lib/commonjs/renderer/components/pathEffects/Discrete.d.ts +4 -0
  261. package/lib/commonjs/renderer/components/pathEffects/Line2D.d.ts +4 -0
  262. package/lib/commonjs/renderer/components/pathEffects/Path1D.d.ts +4 -0
  263. package/lib/commonjs/renderer/components/pathEffects/Path2D.d.ts +4 -0
  264. package/lib/commonjs/renderer/components/pathEffects/Sum.d.ts +3 -0
  265. package/lib/commonjs/renderer/components/pathEffects/index.d.ts +7 -0
  266. package/lib/commonjs/renderer/components/shaders/Color.d.ts +4 -0
  267. package/lib/commonjs/renderer/components/shaders/FractalNoise.d.ts +4 -0
  268. package/lib/commonjs/renderer/components/shaders/LinearGradient.d.ts +4 -0
  269. package/lib/commonjs/renderer/components/shaders/RadialGradient.d.ts +4 -0
  270. package/lib/commonjs/renderer/components/shaders/Shader.d.ts +4 -0
  271. package/lib/commonjs/renderer/components/shaders/ShaderLib.d.ts +4 -0
  272. package/lib/commonjs/renderer/components/shaders/SweepGradient.d.ts +4 -0
  273. package/lib/commonjs/renderer/components/shaders/Turbulence.d.ts +4 -0
  274. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.d.ts +4 -0
  275. package/lib/commonjs/renderer/components/shaders/index.d.ts +9 -0
  276. package/lib/commonjs/renderer/components/shapes/Box.d.ts +5 -0
  277. package/lib/commonjs/renderer/components/shapes/Circle.d.ts +4 -0
  278. package/lib/commonjs/renderer/components/shapes/DiffRect.d.ts +4 -0
  279. package/lib/commonjs/renderer/components/shapes/Fill.d.ts +4 -0
  280. package/lib/commonjs/renderer/components/shapes/FitBox.d.ts +20 -0
  281. package/lib/commonjs/renderer/components/shapes/Line.d.ts +4 -0
  282. package/lib/commonjs/renderer/components/shapes/Oval.d.ts +4 -0
  283. package/lib/commonjs/renderer/components/shapes/Patch.d.ts +4 -0
  284. package/lib/commonjs/renderer/components/shapes/Path.d.ts +4 -0
  285. package/lib/commonjs/renderer/components/shapes/Points.d.ts +4 -0
  286. package/lib/commonjs/renderer/components/shapes/Rect.d.ts +4 -0
  287. package/lib/commonjs/renderer/components/shapes/RoundedRect.d.ts +4 -0
  288. package/lib/commonjs/renderer/components/shapes/Vertices.d.ts +4 -0
  289. package/lib/commonjs/renderer/components/shapes/index.d.ts +13 -0
  290. package/lib/commonjs/renderer/components/text/Glyphs.d.ts +4 -0
  291. package/lib/commonjs/renderer/components/text/Text.d.ts +4 -0
  292. package/lib/commonjs/renderer/components/text/TextBlob.d.ts +4 -0
  293. package/lib/commonjs/renderer/components/text/TextPath.d.ts +4 -0
  294. package/lib/commonjs/renderer/components/text/index.d.ts +4 -0
  295. package/lib/commonjs/renderer/index.d.ts +2 -0
  296. package/lib/commonjs/renderer/index.js +0 -13
  297. package/lib/commonjs/renderer/index.js.map +1 -1
  298. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +17 -0
  299. package/lib/commonjs/renderer/processors/Animations/index.d.ts +1 -0
  300. package/lib/commonjs/renderer/processors/index.d.ts +2 -0
  301. package/lib/commonjs/renderer/processors/math/Coordinates.d.ts +29 -0
  302. package/lib/commonjs/renderer/processors/math/Math.d.ts +15 -0
  303. package/lib/commonjs/renderer/processors/math/Transforms.d.ts +5 -0
  304. package/lib/commonjs/renderer/processors/math/index.d.ts +3 -0
  305. package/lib/commonjs/renderer/typeddash.d.ts +3 -0
  306. package/lib/commonjs/skia/NativeSetup.d.ts +1 -0
  307. package/lib/commonjs/skia/Skia.d.ts +8 -0
  308. package/lib/commonjs/skia/Skia.web.d.ts +1 -0
  309. package/lib/commonjs/skia/core/Data.d.ts +3 -0
  310. package/lib/commonjs/skia/core/Font.d.ts +5 -0
  311. package/lib/commonjs/skia/core/Image.d.ts +5 -0
  312. package/lib/commonjs/skia/core/Matrix.d.ts +2 -0
  313. package/lib/commonjs/skia/core/Picture.d.ts +8 -0
  314. package/lib/commonjs/skia/core/RRect.d.ts +2 -0
  315. package/lib/commonjs/skia/core/Rect.d.ts +8 -0
  316. package/lib/commonjs/skia/core/SVG.d.ts +2 -0
  317. package/lib/commonjs/skia/core/Typeface.d.ts +5 -0
  318. package/lib/commonjs/skia/core/Vector.d.ts +12 -0
  319. package/lib/commonjs/skia/core/index.d.ts +10 -0
  320. package/lib/commonjs/skia/index.d.ts +3 -0
  321. package/lib/commonjs/skia/types/Canvas.d.ts +381 -0
  322. package/lib/commonjs/skia/types/Color.d.ts +2 -0
  323. package/lib/commonjs/skia/types/ColorFilter/ColorFilter.d.ts +3 -0
  324. package/lib/commonjs/skia/types/ColorFilter/ColorFilterFactory.d.ts +43 -0
  325. package/lib/commonjs/skia/types/ColorFilter/index.d.ts +2 -0
  326. package/lib/commonjs/skia/types/ContourMeasure.d.ts +41 -0
  327. package/lib/commonjs/skia/types/Data/Data.d.ts +12 -0
  328. package/lib/commonjs/skia/types/Data/DataFactory.d.ts +18 -0
  329. package/lib/commonjs/skia/types/Data/index.d.ts +2 -0
  330. package/lib/commonjs/skia/types/Font/Font.d.ts +180 -0
  331. package/lib/commonjs/skia/types/Font/index.d.ts +1 -0
  332. package/lib/commonjs/skia/types/Image/Image.d.ts +75 -0
  333. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +62 -0
  334. package/lib/commonjs/skia/types/Image/index.d.ts +2 -0
  335. package/lib/commonjs/skia/types/ImageFilter/ImageFilter.d.ts +23 -0
  336. package/lib/commonjs/skia/types/ImageFilter/ImageFilterFactory.d.ts +130 -0
  337. package/lib/commonjs/skia/types/ImageFilter/index.d.ts +2 -0
  338. package/lib/commonjs/skia/types/JsiInstance.d.ts +3 -0
  339. package/lib/commonjs/skia/types/MaskFilter.d.ts +21 -0
  340. package/lib/commonjs/skia/types/Matrix.d.ts +34 -0
  341. package/lib/commonjs/skia/types/Paint/BlendMode.d.ts +58 -0
  342. package/lib/commonjs/skia/types/Paint/Paint.d.ts +136 -0
  343. package/lib/commonjs/skia/types/Paint/index.d.ts +2 -0
  344. package/lib/commonjs/skia/types/Path/Path.d.ts +474 -0
  345. package/lib/commonjs/skia/types/Path/PathFactory.d.ts +29 -0
  346. package/lib/commonjs/skia/types/Path/index.d.ts +2 -0
  347. package/lib/commonjs/skia/types/PathEffect.d.ts +75 -0
  348. package/lib/commonjs/skia/types/Picture/Picture.d.ts +27 -0
  349. package/lib/commonjs/skia/types/Picture/PictureFactory.d.ts +8 -0
  350. package/lib/commonjs/skia/types/Picture/PictureRecorder.d.ts +15 -0
  351. package/lib/commonjs/skia/types/Picture/index.d.ts +3 -0
  352. package/lib/commonjs/skia/types/Point.d.ts +10 -0
  353. package/lib/commonjs/skia/types/RRect.d.ts +7 -0
  354. package/lib/commonjs/skia/types/RSXform.d.ts +2 -0
  355. package/lib/commonjs/skia/types/Rect.d.ts +6 -0
  356. package/lib/commonjs/skia/types/RuntimeEffect/RuntimeEffect.d.ts +52 -0
  357. package/lib/commonjs/skia/types/RuntimeEffect/RuntimeEffectFactory.d.ts +10 -0
  358. package/lib/commonjs/skia/types/RuntimeEffect/index.d.ts +2 -0
  359. package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -0
  360. package/lib/commonjs/skia/types/SVG/SVGFactory.d.ts +6 -0
  361. package/lib/commonjs/skia/types/SVG/index.d.ts +2 -0
  362. package/lib/commonjs/skia/types/Shader/Shader.d.ts +10 -0
  363. package/lib/commonjs/skia/types/Shader/ShaderFactory.d.ts +104 -0
  364. package/lib/commonjs/skia/types/Shader/index.d.ts +2 -0
  365. package/lib/commonjs/skia/types/Size.d.ts +4 -0
  366. package/lib/commonjs/skia/types/Skia.d.ts +66 -0
  367. package/lib/commonjs/skia/types/Surface/Surface.d.ts +29 -0
  368. package/lib/commonjs/skia/types/Surface/Surface.js.map +1 -1
  369. package/lib/commonjs/skia/types/Surface/SurfaceFactory.d.ts +17 -0
  370. package/lib/commonjs/skia/types/Surface/SurfaceFactory.js.map +1 -1
  371. package/lib/commonjs/skia/types/Surface/index.d.ts +2 -0
  372. package/lib/commonjs/skia/types/TextBlob.d.ts +44 -0
  373. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -0
  374. package/lib/commonjs/skia/types/Typeface/TypefaceFactory.d.ts +5 -0
  375. package/lib/commonjs/skia/types/Typeface/index.d.ts +2 -0
  376. package/lib/commonjs/skia/types/Vertices/Vertices.d.ts +17 -0
  377. package/lib/commonjs/skia/types/Vertices/index.d.ts +1 -0
  378. package/lib/commonjs/skia/types/index.d.ts +28 -0
  379. package/lib/commonjs/skia/web/Host.d.ts +19 -0
  380. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +44 -0
  381. package/lib/commonjs/skia/web/JsiSkColor.d.ts +2 -0
  382. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +6 -0
  383. package/lib/commonjs/skia/web/JsiSkColorFilterFactory.d.ts +14 -0
  384. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +12 -0
  385. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +8 -0
  386. package/lib/commonjs/skia/web/JsiSkData.d.ts +8 -0
  387. package/lib/commonjs/skia/web/JsiSkDataFactory.d.ts +19 -0
  388. package/lib/commonjs/skia/web/JsiSkFont.d.ts +33 -0
  389. package/lib/commonjs/skia/web/JsiSkImage.d.ts +12 -0
  390. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +10 -0
  391. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +6 -0
  392. package/lib/commonjs/skia/web/JsiSkImageFilterFactory.d.ts +19 -0
  393. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +6 -0
  394. package/lib/commonjs/skia/web/JsiSkMaskFilterFactory.d.ts +9 -0
  395. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +13 -0
  396. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +28 -0
  397. package/lib/commonjs/skia/web/JsiSkPath.d.ts +57 -0
  398. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +6 -0
  399. package/lib/commonjs/skia/web/JsiSkPathEffectFactory.d.ts +15 -0
  400. package/lib/commonjs/skia/web/JsiSkPathFactory.d.ts +13 -0
  401. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +9 -0
  402. package/lib/commonjs/skia/web/JsiSkPictureFactory.d.ts +8 -0
  403. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +11 -0
  404. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +9 -0
  405. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +11 -0
  406. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +7 -0
  407. package/lib/commonjs/skia/web/JsiSkRect.d.ts +11 -0
  408. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +16 -0
  409. package/lib/commonjs/skia/web/JsiSkRuntimeEffectFactory.d.ts +8 -0
  410. package/lib/commonjs/skia/web/JsiSkSVGFactory.d.ts +9 -0
  411. package/lib/commonjs/skia/web/JsiSkShader.d.ts +6 -0
  412. package/lib/commonjs/skia/web/JsiSkShaderFactory.d.ts +16 -0
  413. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +9 -0
  414. package/lib/commonjs/skia/web/JsiSkSurface.js +4 -0
  415. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  416. package/lib/commonjs/skia/web/JsiSkSurfaceFactory.d.ts +9 -0
  417. package/lib/commonjs/skia/web/JsiSkSurfaceFactory.js +21 -1
  418. package/lib/commonjs/skia/web/JsiSkSurfaceFactory.js.map +1 -1
  419. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +6 -0
  420. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.d.ts +13 -0
  421. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +8 -0
  422. package/lib/commonjs/skia/web/JsiSkTypefaceFactory.d.ts +8 -0
  423. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +9 -0
  424. package/lib/commonjs/skia/web/JsiSkVerticesFactory.d.ts +4 -0
  425. package/lib/commonjs/skia/web/JsiSkia.d.ts +3 -0
  426. package/lib/commonjs/skia/web/index.d.ts +1 -0
  427. package/lib/commonjs/values/api.d.ts +5 -0
  428. package/lib/commonjs/values/api.web.d.ts +2 -0
  429. package/lib/commonjs/values/hooks/index.d.ts +4 -0
  430. package/lib/commonjs/values/hooks/useClockValue.d.ts +6 -0
  431. package/lib/commonjs/values/hooks/useComputedValue.d.ts +8 -0
  432. package/lib/commonjs/values/hooks/useValue.d.ts +7 -0
  433. package/lib/commonjs/values/hooks/useValueEffect.d.ts +7 -0
  434. package/lib/commonjs/values/index.d.ts +4 -0
  435. package/lib/commonjs/values/selector.d.ts +14 -0
  436. package/lib/commonjs/values/types.d.ts +63 -0
  437. package/lib/commonjs/values/web/RNSkAnimation.d.ts +9 -0
  438. package/lib/commonjs/values/web/RNSkClockValue.d.ts +13 -0
  439. package/lib/commonjs/values/web/RNSkComputedValue.d.ts +10 -0
  440. package/lib/commonjs/values/web/RNSkReadonlyValue.d.ts +12 -0
  441. package/lib/commonjs/values/web/RNSkValue.d.ts +14 -0
  442. package/lib/commonjs/values/web/api.d.ts +2 -0
  443. package/lib/commonjs/values/web/index.d.ts +1 -0
  444. package/lib/commonjs/views/SkiaBaseWebView.d.ts +62 -0
  445. package/lib/commonjs/views/SkiaBaseWebView.js +6 -4
  446. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  447. package/lib/commonjs/views/SkiaDomView.d.ts +31 -0
  448. package/lib/commonjs/views/SkiaDomView.web.d.ts +7 -0
  449. package/lib/commonjs/views/SkiaDomView.web.js +3 -14
  450. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  451. package/lib/commonjs/views/SkiaPictureView.d.ts +27 -0
  452. package/lib/commonjs/views/SkiaPictureView.web.d.ts +7 -0
  453. package/lib/commonjs/views/SkiaPictureView.web.js +0 -7
  454. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  455. package/lib/commonjs/views/SkiaView.d.ts +30 -0
  456. package/lib/commonjs/views/SkiaView.web.d.ts +7 -0
  457. package/lib/commonjs/views/SkiaView.web.js +0 -7
  458. package/lib/commonjs/views/SkiaView.web.js.map +1 -1
  459. package/lib/commonjs/views/api.d.ts +5 -0
  460. package/lib/commonjs/views/index.d.ts +6 -0
  461. package/lib/commonjs/views/types.d.ts +91 -0
  462. package/lib/commonjs/views/useDrawCallback.d.ts +8 -0
  463. package/lib/commonjs/views/useTouchHandler.d.ts +22 -0
  464. package/lib/commonjs/web/LoadSkiaWeb.d.ts +6 -0
  465. package/lib/commonjs/web/WithSkiaWeb.d.ts +12 -0
  466. package/lib/commonjs/web/index.d.ts +2 -0
  467. package/lib/module/animation/decay/decay.d.ts +2 -0
  468. package/lib/module/animation/decay/index.d.ts +1 -0
  469. package/lib/module/animation/decay/runDecay.d.ts +10 -0
  470. package/lib/module/animation/decay/types.d.ts +21 -0
  471. package/lib/module/animation/functions/index.d.ts +4 -0
  472. package/lib/module/animation/functions/interpolate.d.ts +17 -0
  473. package/lib/module/animation/functions/interpolateColors.d.ts +3 -0
  474. package/lib/module/animation/functions/interpolatePaths.d.ts +19 -0
  475. package/lib/module/animation/functions/interpolateVector.d.ts +10 -0
  476. package/lib/module/animation/index.d.ts +4 -0
  477. package/lib/module/animation/spring/Spring.d.ts +65 -0
  478. package/lib/module/animation/spring/functions/index.d.ts +1 -0
  479. package/lib/module/animation/spring/functions/spring.d.ts +10 -0
  480. package/lib/module/animation/spring/index.d.ts +3 -0
  481. package/lib/module/animation/spring/runSpring.d.ts +16 -0
  482. package/lib/module/animation/spring/types.d.ts +6 -0
  483. package/lib/module/animation/spring/useSpring.d.ts +10 -0
  484. package/lib/module/animation/timing/Easing.d.ts +19 -0
  485. package/lib/module/animation/timing/createTiming.d.ts +17 -0
  486. package/lib/module/animation/timing/functions/bezier.d.ts +1 -0
  487. package/lib/module/animation/timing/functions/getResolvedParams.d.ts +7 -0
  488. package/lib/module/animation/timing/functions/index.d.ts +4 -0
  489. package/lib/module/animation/timing/functions/timing.d.ts +17 -0
  490. package/lib/module/animation/timing/functions/types.d.ts +7 -0
  491. package/lib/module/animation/timing/index.d.ts +4 -0
  492. package/lib/module/animation/timing/runTiming.d.ts +16 -0
  493. package/lib/module/animation/timing/useLoop.d.ts +8 -0
  494. package/lib/module/animation/timing/useTiming.d.ts +10 -0
  495. package/lib/module/animation/types.d.ts +18 -0
  496. package/lib/module/dom/nodes/DrawingNode.d.ts +14 -0
  497. package/lib/module/dom/nodes/DrawingNode.js +5 -1
  498. package/lib/module/dom/nodes/DrawingNode.js.map +1 -1
  499. package/lib/module/dom/nodes/GroupNode.d.ts +7 -0
  500. package/lib/module/dom/nodes/JsiSkDOM.d.ts +64 -0
  501. package/lib/module/dom/nodes/LayerNode.d.ts +8 -0
  502. package/lib/module/dom/nodes/LayerNode.js +13 -7
  503. package/lib/module/dom/nodes/LayerNode.js.map +1 -1
  504. package/lib/module/dom/nodes/Node.d.ts +38 -0
  505. package/lib/module/dom/nodes/Node.js +8 -25
  506. package/lib/module/dom/nodes/Node.js.map +1 -1
  507. package/lib/module/dom/nodes/PaintContext.d.ts +18 -0
  508. package/lib/module/dom/nodes/PaintContext.js.map +1 -1
  509. package/lib/module/dom/nodes/PaintNode.d.ts +8 -0
  510. package/lib/module/dom/nodes/PaintNode.js +32 -15
  511. package/lib/module/dom/nodes/PaintNode.js.map +1 -1
  512. package/lib/module/dom/nodes/RenderNode.d.ts +26 -0
  513. package/lib/module/dom/nodes/RenderNode.js +20 -187
  514. package/lib/module/dom/nodes/RenderNode.js.map +1 -1
  515. package/lib/module/dom/nodes/datatypes/Circle.d.ts +7 -0
  516. package/lib/module/dom/nodes/datatypes/Enum.d.ts +1 -0
  517. package/lib/module/dom/nodes/datatypes/Fitting.d.ts +33 -0
  518. package/lib/module/dom/nodes/datatypes/Gradient.d.ts +92 -0
  519. package/lib/module/dom/nodes/datatypes/Path.d.ts +4 -0
  520. package/lib/module/dom/nodes/datatypes/Radius.d.ts +3 -0
  521. package/lib/module/dom/nodes/datatypes/Rect.d.ts +5 -0
  522. package/lib/module/dom/nodes/datatypes/Transform.d.ts +3 -0
  523. package/lib/module/dom/nodes/datatypes/index.d.ts +8 -0
  524. package/lib/module/dom/nodes/drawings/BackdropFilterNode.d.ts +8 -0
  525. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js +23 -4
  526. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +1 -1
  527. package/lib/module/dom/nodes/drawings/Box.d.ts +15 -0
  528. package/lib/module/dom/nodes/drawings/Box.js +3 -0
  529. package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
  530. package/lib/module/dom/nodes/drawings/CircleNode.d.ts +9 -0
  531. package/lib/module/dom/nodes/drawings/CustomDrawingNode.d.ts +8 -0
  532. package/lib/module/dom/nodes/drawings/DiffRectNode.d.ts +8 -0
  533. package/lib/module/dom/nodes/drawings/FillNode.d.ts +8 -0
  534. package/lib/module/dom/nodes/drawings/ImageNode.d.ts +25 -0
  535. package/lib/module/dom/nodes/drawings/ImageSVG.d.ts +8 -0
  536. package/lib/module/dom/nodes/drawings/LineNode.d.ts +8 -0
  537. package/lib/module/dom/nodes/drawings/OvalNode.d.ts +9 -0
  538. package/lib/module/dom/nodes/drawings/PatchNode.d.ts +18 -0
  539. package/lib/module/dom/nodes/drawings/PathNode.d.ts +9 -0
  540. package/lib/module/dom/nodes/drawings/PictureNode.d.ts +8 -0
  541. package/lib/module/dom/nodes/drawings/PointsNode.d.ts +8 -0
  542. package/lib/module/dom/nodes/drawings/RRectNode.d.ts +10 -0
  543. package/lib/module/dom/nodes/drawings/RectNode.d.ts +9 -0
  544. package/lib/module/dom/nodes/drawings/Text.d.ts +30 -0
  545. package/lib/module/dom/nodes/drawings/VerticesNode.d.ts +9 -0
  546. package/lib/module/dom/nodes/drawings/index.d.ts +18 -0
  547. package/lib/module/dom/nodes/index.d.ts +3 -0
  548. package/lib/module/dom/nodes/paint/BlendNode.d.ts +8 -0
  549. package/lib/module/dom/nodes/paint/BlendNode.js +15 -46
  550. package/lib/module/dom/nodes/paint/BlendNode.js.map +1 -1
  551. package/lib/module/dom/nodes/paint/ColorFilters.d.ts +35 -0
  552. package/lib/module/dom/nodes/paint/ColorFilters.js +29 -43
  553. package/lib/module/dom/nodes/paint/ColorFilters.js.map +1 -1
  554. package/lib/module/dom/nodes/paint/ImageFilters.d.ts +42 -0
  555. package/lib/module/dom/nodes/paint/ImageFilters.js +48 -41
  556. package/lib/module/dom/nodes/paint/ImageFilters.js.map +1 -1
  557. package/lib/module/dom/nodes/paint/MaskFilters.d.ts +8 -0
  558. package/lib/module/dom/nodes/paint/MaskFilters.js +3 -2
  559. package/lib/module/dom/nodes/paint/MaskFilters.js.map +1 -1
  560. package/lib/module/dom/nodes/paint/PathEffects.d.ts +39 -0
  561. package/lib/module/dom/nodes/paint/PathEffects.js +29 -72
  562. package/lib/module/dom/nodes/paint/PathEffects.js.map +1 -1
  563. package/lib/module/dom/nodes/paint/Shaders.d.ts +43 -0
  564. package/lib/module/dom/nodes/paint/Shaders.js +28 -18
  565. package/lib/module/dom/nodes/paint/Shaders.js.map +1 -1
  566. package/lib/module/dom/nodes/paint/index.d.ts +6 -0
  567. package/lib/module/dom/types/ColorFilters.d.ts +12 -0
  568. package/lib/module/dom/types/Common.d.ts +56 -0
  569. package/lib/module/dom/types/DeclarationContext.d.ts +29 -0
  570. package/lib/module/dom/types/DeclarationContext.js +107 -0
  571. package/lib/module/dom/types/DeclarationContext.js.map +1 -0
  572. package/lib/module/dom/types/DrawingContext.d.ts +22 -0
  573. package/lib/module/dom/types/DrawingContext.js +322 -1
  574. package/lib/module/dom/types/DrawingContext.js.map +1 -1
  575. package/lib/module/dom/types/Drawings.d.ts +104 -0
  576. package/lib/module/dom/types/ImageFilters.d.ts +37 -0
  577. package/lib/module/dom/types/MaskFilters.d.ts +7 -0
  578. package/lib/module/dom/types/Node.d.ts +23 -0
  579. package/lib/module/dom/types/Node.js.map +1 -1
  580. package/lib/module/dom/types/NodeType.d.ts +67 -0
  581. package/lib/module/dom/types/PathEffects.d.ts +28 -0
  582. package/lib/module/dom/types/Shaders.d.ts +59 -0
  583. package/lib/module/dom/types/SkDOM.d.ts +71 -0
  584. package/lib/module/dom/types/SkDOM.js.map +1 -1
  585. package/lib/module/dom/types/index.d.ts +12 -0
  586. package/lib/module/dom/types/index.js +1 -0
  587. package/lib/module/dom/types/index.js.map +1 -1
  588. package/lib/module/external/index.d.ts +1 -0
  589. package/lib/module/external/reanimated/index.d.ts +1 -0
  590. package/lib/module/external/reanimated/useSharedValueEffect.d.ts +11 -0
  591. package/lib/module/index.d.ts +11 -0
  592. package/lib/module/index.js +1 -0
  593. package/lib/module/index.js.map +1 -1
  594. package/lib/module/mock/index.d.ts +16 -0
  595. package/lib/module/renderer/Canvas.d.ts +11 -0
  596. package/lib/module/renderer/Canvas.js +3 -3
  597. package/lib/module/renderer/Canvas.js.map +1 -1
  598. package/lib/module/renderer/Container.d.ts +12 -0
  599. package/lib/module/renderer/DependencyManager.d.ts +46 -0
  600. package/lib/module/renderer/DrawingContext.d.ts +7 -0
  601. package/lib/module/renderer/DrawingContext.js.map +1 -1
  602. package/lib/module/renderer/HostComponents.d.ts +132 -0
  603. package/lib/module/renderer/HostComponents.js.map +1 -1
  604. package/lib/module/renderer/HostConfig.d.ts +19 -0
  605. package/lib/module/renderer/HostConfig.js +1 -0
  606. package/lib/module/renderer/HostConfig.js.map +1 -1
  607. package/lib/module/renderer/Offscreen.d.ts +2 -0
  608. package/lib/module/renderer/Offscreen.js +19 -0
  609. package/lib/module/renderer/Offscreen.js.map +1 -0
  610. package/lib/module/renderer/Reconciler.d.ts +13 -0
  611. package/lib/module/renderer/Reconciler.js +0 -1
  612. package/lib/module/renderer/Reconciler.js.map +1 -1
  613. package/lib/module/renderer/components/Blend.d.ts +4 -0
  614. package/lib/module/renderer/components/Drawing.d.ts +3 -0
  615. package/lib/module/renderer/components/Group.d.ts +8 -0
  616. package/lib/module/renderer/components/Mask.d.ts +9 -0
  617. package/lib/module/renderer/components/Paint.d.ts +4 -0
  618. package/lib/module/renderer/components/Picture.d.ts +4 -0
  619. package/lib/module/renderer/components/backdrop/BackdropBlur.d.ts +9 -0
  620. package/lib/module/renderer/components/backdrop/BackdropFilter.d.ts +7 -0
  621. package/lib/module/renderer/components/backdrop/index.d.ts +2 -0
  622. package/lib/module/renderer/components/colorFilters/BlendColor.d.ts +4 -0
  623. package/lib/module/renderer/components/colorFilters/Lerp.d.ts +4 -0
  624. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +4 -0
  625. package/lib/module/renderer/components/colorFilters/LumaColorFilter.d.ts +4 -0
  626. package/lib/module/renderer/components/colorFilters/Matrix.d.ts +5 -0
  627. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +4 -0
  628. package/lib/module/renderer/components/colorFilters/index.d.ts +6 -0
  629. package/lib/module/renderer/components/image/Image.d.ts +4 -0
  630. package/lib/module/renderer/components/image/ImageSVG.d.ts +4 -0
  631. package/lib/module/renderer/components/image/ImageShader.d.ts +4 -0
  632. package/lib/module/renderer/components/image/index.d.ts +3 -0
  633. package/lib/module/renderer/components/imageFilters/Blur.d.ts +4 -0
  634. package/lib/module/renderer/components/imageFilters/DisplacementMap.d.ts +4 -0
  635. package/lib/module/renderer/components/imageFilters/Morphology.d.ts +4 -0
  636. package/lib/module/renderer/components/imageFilters/Offset.d.ts +4 -0
  637. package/lib/module/renderer/components/imageFilters/RuntimeShader.d.ts +4 -0
  638. package/lib/module/renderer/components/imageFilters/Shadow.d.ts +4 -0
  639. package/lib/module/renderer/components/imageFilters/index.d.ts +6 -0
  640. package/lib/module/renderer/components/index.d.ts +16 -0
  641. package/lib/module/renderer/components/maskFilters/Blur.d.ts +4 -0
  642. package/lib/module/renderer/components/maskFilters/index.d.ts +1 -0
  643. package/lib/module/renderer/components/pathEffects/Corner.d.ts +4 -0
  644. package/lib/module/renderer/components/pathEffects/Dash.d.ts +4 -0
  645. package/lib/module/renderer/components/pathEffects/Discrete.d.ts +4 -0
  646. package/lib/module/renderer/components/pathEffects/Line2D.d.ts +4 -0
  647. package/lib/module/renderer/components/pathEffects/Path1D.d.ts +4 -0
  648. package/lib/module/renderer/components/pathEffects/Path2D.d.ts +4 -0
  649. package/lib/module/renderer/components/pathEffects/Sum.d.ts +3 -0
  650. package/lib/module/renderer/components/pathEffects/index.d.ts +7 -0
  651. package/lib/module/renderer/components/shaders/Color.d.ts +4 -0
  652. package/lib/module/renderer/components/shaders/FractalNoise.d.ts +4 -0
  653. package/lib/module/renderer/components/shaders/LinearGradient.d.ts +4 -0
  654. package/lib/module/renderer/components/shaders/RadialGradient.d.ts +4 -0
  655. package/lib/module/renderer/components/shaders/Shader.d.ts +4 -0
  656. package/lib/module/renderer/components/shaders/ShaderLib.d.ts +4 -0
  657. package/lib/module/renderer/components/shaders/SweepGradient.d.ts +4 -0
  658. package/lib/module/renderer/components/shaders/Turbulence.d.ts +4 -0
  659. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.d.ts +4 -0
  660. package/lib/module/renderer/components/shaders/index.d.ts +9 -0
  661. package/lib/module/renderer/components/shapes/Box.d.ts +5 -0
  662. package/lib/module/renderer/components/shapes/Circle.d.ts +4 -0
  663. package/lib/module/renderer/components/shapes/DiffRect.d.ts +4 -0
  664. package/lib/module/renderer/components/shapes/Fill.d.ts +4 -0
  665. package/lib/module/renderer/components/shapes/FitBox.d.ts +20 -0
  666. package/lib/module/renderer/components/shapes/Line.d.ts +4 -0
  667. package/lib/module/renderer/components/shapes/Oval.d.ts +4 -0
  668. package/lib/module/renderer/components/shapes/Patch.d.ts +4 -0
  669. package/lib/module/renderer/components/shapes/Path.d.ts +4 -0
  670. package/lib/module/renderer/components/shapes/Points.d.ts +4 -0
  671. package/lib/module/renderer/components/shapes/Rect.d.ts +4 -0
  672. package/lib/module/renderer/components/shapes/RoundedRect.d.ts +4 -0
  673. package/lib/module/renderer/components/shapes/Vertices.d.ts +4 -0
  674. package/lib/module/renderer/components/shapes/index.d.ts +13 -0
  675. package/lib/module/renderer/components/text/Glyphs.d.ts +4 -0
  676. package/lib/module/renderer/components/text/Text.d.ts +4 -0
  677. package/lib/module/renderer/components/text/TextBlob.d.ts +4 -0
  678. package/lib/module/renderer/components/text/TextPath.d.ts +4 -0
  679. package/lib/module/renderer/components/text/index.d.ts +4 -0
  680. package/lib/module/renderer/index.d.ts +2 -0
  681. package/lib/module/renderer/index.js +0 -1
  682. package/lib/module/renderer/index.js.map +1 -1
  683. package/lib/module/renderer/processors/Animations/Animations.d.ts +17 -0
  684. package/lib/module/renderer/processors/Animations/index.d.ts +1 -0
  685. package/lib/module/renderer/processors/index.d.ts +2 -0
  686. package/lib/module/renderer/processors/math/Coordinates.d.ts +29 -0
  687. package/lib/module/renderer/processors/math/Math.d.ts +15 -0
  688. package/lib/module/renderer/processors/math/Transforms.d.ts +5 -0
  689. package/lib/module/renderer/processors/math/index.d.ts +3 -0
  690. package/lib/module/renderer/typeddash.d.ts +3 -0
  691. package/lib/module/skia/NativeSetup.d.ts +1 -0
  692. package/lib/module/skia/Skia.d.ts +8 -0
  693. package/lib/module/skia/Skia.web.d.ts +1 -0
  694. package/lib/module/skia/core/Data.d.ts +3 -0
  695. package/lib/module/skia/core/Font.d.ts +5 -0
  696. package/lib/module/skia/core/Image.d.ts +5 -0
  697. package/lib/module/skia/core/Matrix.d.ts +2 -0
  698. package/lib/module/skia/core/Picture.d.ts +8 -0
  699. package/lib/module/skia/core/RRect.d.ts +2 -0
  700. package/lib/module/skia/core/Rect.d.ts +8 -0
  701. package/lib/module/skia/core/SVG.d.ts +2 -0
  702. package/lib/module/skia/core/Typeface.d.ts +5 -0
  703. package/lib/module/skia/core/Vector.d.ts +12 -0
  704. package/lib/module/skia/core/index.d.ts +10 -0
  705. package/lib/module/skia/index.d.ts +3 -0
  706. package/lib/module/skia/types/Canvas.d.ts +381 -0
  707. package/lib/module/skia/types/Color.d.ts +2 -0
  708. package/lib/module/skia/types/ColorFilter/ColorFilter.d.ts +3 -0
  709. package/lib/module/skia/types/ColorFilter/ColorFilterFactory.d.ts +43 -0
  710. package/lib/module/skia/types/ColorFilter/index.d.ts +2 -0
  711. package/lib/module/skia/types/ContourMeasure.d.ts +41 -0
  712. package/lib/module/skia/types/Data/Data.d.ts +12 -0
  713. package/lib/module/skia/types/Data/DataFactory.d.ts +18 -0
  714. package/lib/module/skia/types/Data/index.d.ts +2 -0
  715. package/lib/module/skia/types/Font/Font.d.ts +180 -0
  716. package/lib/module/skia/types/Font/index.d.ts +1 -0
  717. package/lib/module/skia/types/Image/Image.d.ts +75 -0
  718. package/lib/module/skia/types/Image/ImageFactory.d.ts +62 -0
  719. package/lib/module/skia/types/Image/index.d.ts +2 -0
  720. package/lib/module/skia/types/ImageFilter/ImageFilter.d.ts +23 -0
  721. package/lib/module/skia/types/ImageFilter/ImageFilterFactory.d.ts +130 -0
  722. package/lib/module/skia/types/ImageFilter/index.d.ts +2 -0
  723. package/lib/module/skia/types/JsiInstance.d.ts +3 -0
  724. package/lib/module/skia/types/MaskFilter.d.ts +21 -0
  725. package/lib/module/skia/types/Matrix.d.ts +34 -0
  726. package/lib/module/skia/types/Paint/BlendMode.d.ts +58 -0
  727. package/lib/module/skia/types/Paint/Paint.d.ts +136 -0
  728. package/lib/module/skia/types/Paint/index.d.ts +2 -0
  729. package/lib/module/skia/types/Path/Path.d.ts +474 -0
  730. package/lib/module/skia/types/Path/PathFactory.d.ts +29 -0
  731. package/lib/module/skia/types/Path/index.d.ts +2 -0
  732. package/lib/module/skia/types/PathEffect.d.ts +75 -0
  733. package/lib/module/skia/types/Picture/Picture.d.ts +27 -0
  734. package/lib/module/skia/types/Picture/PictureFactory.d.ts +8 -0
  735. package/lib/module/skia/types/Picture/PictureRecorder.d.ts +15 -0
  736. package/lib/module/skia/types/Picture/index.d.ts +3 -0
  737. package/lib/module/skia/types/Point.d.ts +10 -0
  738. package/lib/module/skia/types/RRect.d.ts +7 -0
  739. package/lib/module/skia/types/RSXform.d.ts +2 -0
  740. package/lib/module/skia/types/Rect.d.ts +6 -0
  741. package/lib/module/skia/types/RuntimeEffect/RuntimeEffect.d.ts +52 -0
  742. package/lib/module/skia/types/RuntimeEffect/RuntimeEffectFactory.d.ts +10 -0
  743. package/lib/module/skia/types/RuntimeEffect/index.d.ts +2 -0
  744. package/lib/module/skia/types/SVG/SVG.d.ts +2 -0
  745. package/lib/module/skia/types/SVG/SVGFactory.d.ts +6 -0
  746. package/lib/module/skia/types/SVG/index.d.ts +2 -0
  747. package/lib/module/skia/types/Shader/Shader.d.ts +10 -0
  748. package/lib/module/skia/types/Shader/ShaderFactory.d.ts +104 -0
  749. package/lib/module/skia/types/Shader/index.d.ts +2 -0
  750. package/lib/module/skia/types/Size.d.ts +4 -0
  751. package/lib/module/skia/types/Skia.d.ts +66 -0
  752. package/lib/module/skia/types/Surface/Surface.d.ts +29 -0
  753. package/lib/module/skia/types/Surface/Surface.js.map +1 -1
  754. package/lib/module/skia/types/Surface/SurfaceFactory.d.ts +17 -0
  755. package/lib/module/skia/types/Surface/SurfaceFactory.js.map +1 -1
  756. package/lib/module/skia/types/Surface/index.d.ts +2 -0
  757. package/lib/module/skia/types/TextBlob.d.ts +44 -0
  758. package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -0
  759. package/lib/module/skia/types/Typeface/TypefaceFactory.d.ts +5 -0
  760. package/lib/module/skia/types/Typeface/index.d.ts +2 -0
  761. package/lib/module/skia/types/Vertices/Vertices.d.ts +17 -0
  762. package/lib/module/skia/types/Vertices/index.d.ts +1 -0
  763. package/lib/module/skia/types/index.d.ts +28 -0
  764. package/lib/module/skia/web/Host.d.ts +19 -0
  765. package/lib/module/skia/web/JsiSkCanvas.d.ts +44 -0
  766. package/lib/module/skia/web/JsiSkColor.d.ts +2 -0
  767. package/lib/module/skia/web/JsiSkColorFilter.d.ts +6 -0
  768. package/lib/module/skia/web/JsiSkColorFilterFactory.d.ts +14 -0
  769. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +12 -0
  770. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +8 -0
  771. package/lib/module/skia/web/JsiSkData.d.ts +8 -0
  772. package/lib/module/skia/web/JsiSkDataFactory.d.ts +19 -0
  773. package/lib/module/skia/web/JsiSkFont.d.ts +33 -0
  774. package/lib/module/skia/web/JsiSkImage.d.ts +12 -0
  775. package/lib/module/skia/web/JsiSkImageFactory.d.ts +10 -0
  776. package/lib/module/skia/web/JsiSkImageFilter.d.ts +6 -0
  777. package/lib/module/skia/web/JsiSkImageFilterFactory.d.ts +19 -0
  778. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +6 -0
  779. package/lib/module/skia/web/JsiSkMaskFilterFactory.d.ts +9 -0
  780. package/lib/module/skia/web/JsiSkMatrix.d.ts +13 -0
  781. package/lib/module/skia/web/JsiSkPaint.d.ts +28 -0
  782. package/lib/module/skia/web/JsiSkPath.d.ts +57 -0
  783. package/lib/module/skia/web/JsiSkPathEffect.d.ts +6 -0
  784. package/lib/module/skia/web/JsiSkPathEffectFactory.d.ts +15 -0
  785. package/lib/module/skia/web/JsiSkPathFactory.d.ts +13 -0
  786. package/lib/module/skia/web/JsiSkPicture.d.ts +9 -0
  787. package/lib/module/skia/web/JsiSkPictureFactory.d.ts +8 -0
  788. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +11 -0
  789. package/lib/module/skia/web/JsiSkPoint.d.ts +9 -0
  790. package/lib/module/skia/web/JsiSkRRect.d.ts +11 -0
  791. package/lib/module/skia/web/JsiSkRSXform.d.ts +7 -0
  792. package/lib/module/skia/web/JsiSkRect.d.ts +11 -0
  793. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +16 -0
  794. package/lib/module/skia/web/JsiSkRuntimeEffectFactory.d.ts +8 -0
  795. package/lib/module/skia/web/JsiSkSVGFactory.d.ts +9 -0
  796. package/lib/module/skia/web/JsiSkShader.d.ts +6 -0
  797. package/lib/module/skia/web/JsiSkShaderFactory.d.ts +16 -0
  798. package/lib/module/skia/web/JsiSkSurface.d.ts +9 -0
  799. package/lib/module/skia/web/JsiSkSurface.js +4 -0
  800. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  801. package/lib/module/skia/web/JsiSkSurfaceFactory.d.ts +9 -0
  802. package/lib/module/skia/web/JsiSkSurfaceFactory.js +21 -1
  803. package/lib/module/skia/web/JsiSkSurfaceFactory.js.map +1 -1
  804. package/lib/module/skia/web/JsiSkTextBlob.d.ts +6 -0
  805. package/lib/module/skia/web/JsiSkTextBlobFactory.d.ts +13 -0
  806. package/lib/module/skia/web/JsiSkTypeface.d.ts +8 -0
  807. package/lib/module/skia/web/JsiSkTypefaceFactory.d.ts +8 -0
  808. package/lib/module/skia/web/JsiSkVertices.d.ts +9 -0
  809. package/lib/module/skia/web/JsiSkVerticesFactory.d.ts +4 -0
  810. package/lib/module/skia/web/JsiSkia.d.ts +3 -0
  811. package/lib/module/skia/web/index.d.ts +1 -0
  812. package/lib/module/values/api.d.ts +5 -0
  813. package/lib/module/values/api.web.d.ts +2 -0
  814. package/lib/module/values/hooks/index.d.ts +4 -0
  815. package/lib/module/values/hooks/useClockValue.d.ts +6 -0
  816. package/lib/module/values/hooks/useComputedValue.d.ts +8 -0
  817. package/lib/module/values/hooks/useValue.d.ts +7 -0
  818. package/lib/module/values/hooks/useValueEffect.d.ts +7 -0
  819. package/lib/module/values/index.d.ts +4 -0
  820. package/lib/module/values/selector.d.ts +14 -0
  821. package/lib/module/values/types.d.ts +63 -0
  822. package/lib/module/values/web/RNSkAnimation.d.ts +9 -0
  823. package/lib/module/values/web/RNSkClockValue.d.ts +13 -0
  824. package/lib/module/values/web/RNSkComputedValue.d.ts +10 -0
  825. package/lib/module/values/web/RNSkReadonlyValue.d.ts +12 -0
  826. package/lib/module/values/web/RNSkValue.d.ts +14 -0
  827. package/lib/module/values/web/api.d.ts +2 -0
  828. package/lib/module/values/web/index.d.ts +1 -0
  829. package/lib/module/views/SkiaBaseWebView.d.ts +62 -0
  830. package/lib/module/views/SkiaBaseWebView.js +6 -4
  831. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  832. package/lib/module/views/SkiaDomView.d.ts +31 -0
  833. package/lib/module/views/SkiaDomView.web.d.ts +7 -0
  834. package/lib/module/views/SkiaDomView.web.js +2 -11
  835. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  836. package/lib/module/views/SkiaPictureView.d.ts +27 -0
  837. package/lib/module/views/SkiaPictureView.web.d.ts +7 -0
  838. package/lib/module/views/SkiaPictureView.web.js +0 -5
  839. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  840. package/lib/module/views/SkiaView.d.ts +30 -0
  841. package/lib/module/views/SkiaView.web.d.ts +7 -0
  842. package/lib/module/views/SkiaView.web.js +0 -5
  843. package/lib/module/views/SkiaView.web.js.map +1 -1
  844. package/lib/module/views/api.d.ts +5 -0
  845. package/lib/module/views/index.d.ts +6 -0
  846. package/lib/module/views/types.d.ts +91 -0
  847. package/lib/module/views/useDrawCallback.d.ts +8 -0
  848. package/lib/module/views/useTouchHandler.d.ts +22 -0
  849. package/lib/module/web/LoadSkiaWeb.d.ts +6 -0
  850. package/lib/module/web/WithSkiaWeb.d.ts +12 -0
  851. package/lib/module/web/index.d.ts +2 -0
  852. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +33 -34
  853. package/lib/typescript/src/dom/nodes/Node.d.ts +6 -11
  854. package/lib/typescript/src/dom/nodes/PaintNode.d.ts +3 -3
  855. package/lib/typescript/src/dom/nodes/RenderNode.d.ts +2 -3
  856. package/lib/typescript/src/dom/nodes/drawings/BackdropFilterNode.d.ts +1 -1
  857. package/lib/typescript/src/dom/nodes/drawings/Box.d.ts +3 -1
  858. package/lib/typescript/src/dom/nodes/paint/BlendNode.d.ts +3 -7
  859. package/lib/typescript/src/dom/nodes/paint/ColorFilters.d.ts +10 -11
  860. package/lib/typescript/src/dom/nodes/paint/ImageFilters.d.ts +11 -11
  861. package/lib/typescript/src/dom/nodes/paint/MaskFilters.d.ts +3 -3
  862. package/lib/typescript/src/dom/nodes/paint/PathEffects.d.ts +15 -18
  863. package/lib/typescript/src/dom/nodes/paint/Shaders.d.ts +11 -12
  864. package/lib/typescript/src/dom/types/DeclarationContext.d.ts +29 -0
  865. package/lib/typescript/src/dom/types/DrawingContext.d.ts +18 -1
  866. package/lib/typescript/src/dom/types/Node.d.ts +4 -10
  867. package/lib/typescript/src/dom/types/SkDOM.d.ts +22 -23
  868. package/lib/typescript/src/dom/types/index.d.ts +1 -0
  869. package/lib/typescript/src/index.d.ts +1 -0
  870. package/lib/typescript/src/renderer/DrawingContext.d.ts +4 -3
  871. package/lib/typescript/src/renderer/HostComponents.d.ts +35 -35
  872. package/lib/typescript/src/renderer/Offscreen.d.ts +2 -0
  873. package/lib/typescript/src/renderer/index.d.ts +0 -1
  874. package/lib/typescript/src/skia/types/Surface/Surface.d.ts +4 -0
  875. package/lib/typescript/src/skia/types/Surface/SurfaceFactory.d.ts +6 -0
  876. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -0
  877. package/lib/typescript/src/skia/web/JsiSkSurfaceFactory.d.ts +2 -1
  878. package/package.json +5 -4
  879. package/src/dom/nodes/DrawingNode.ts +5 -1
  880. package/src/dom/nodes/LayerNode.ts +13 -11
  881. package/src/dom/nodes/Node.ts +18 -41
  882. package/src/dom/nodes/PaintContext.ts +1 -0
  883. package/src/dom/nodes/PaintNode.ts +28 -18
  884. package/src/dom/nodes/RenderNode.ts +25 -183
  885. package/src/dom/nodes/drawings/BackdropFilterNode.ts +18 -11
  886. package/src/dom/nodes/drawings/Box.ts +6 -4
  887. package/src/dom/nodes/paint/BlendNode.ts +16 -63
  888. package/src/dom/nodes/paint/ColorFilters.ts +32 -55
  889. package/src/dom/nodes/paint/ImageFilters.ts +58 -53
  890. package/src/dom/nodes/paint/MaskFilters.ts +5 -7
  891. package/src/dom/nodes/paint/PathEffects.ts +37 -90
  892. package/src/dom/nodes/paint/Shaders.ts +31 -29
  893. package/src/dom/types/DeclarationContext.ts +105 -0
  894. package/src/dom/types/DrawingContext.ts +304 -1
  895. package/src/dom/types/Node.ts +4 -20
  896. package/src/dom/types/SkDOM.ts +22 -43
  897. package/src/dom/types/index.ts +1 -0
  898. package/src/index.ts +1 -0
  899. package/src/renderer/Canvas.tsx +3 -3
  900. package/src/renderer/DrawingContext.ts +4 -5
  901. package/src/renderer/HostComponents.ts +34 -53
  902. package/src/renderer/HostConfig.ts +1 -0
  903. package/src/renderer/Offscreen.tsx +24 -0
  904. package/src/renderer/Reconciler.tsx +0 -1
  905. package/src/renderer/index.ts +0 -1
  906. package/src/skia/types/Surface/Surface.ts +5 -0
  907. package/src/skia/types/Surface/SurfaceFactory.ts +7 -0
  908. package/src/skia/web/JsiSkSurface.ts +4 -0
  909. package/src/skia/web/JsiSkSurfaceFactory.ts +21 -2
  910. package/src/views/SkiaBaseWebView.tsx +6 -2
  911. package/src/views/SkiaDomView.web.tsx +2 -13
  912. package/src/views/SkiaPictureView.web.tsx +0 -7
  913. package/src/views/SkiaView.web.tsx +0 -7
  914. package/lib/commonjs/renderer/useContextBridge.js +0 -35
  915. package/lib/commonjs/renderer/useContextBridge.js.map +0 -1
  916. package/lib/module/renderer/useContextBridge.js +0 -21
  917. package/lib/module/renderer/useContextBridge.js.map +0 -1
  918. package/lib/typescript/src/renderer/useContextBridge.d.ts +0 -5
  919. package/src/renderer/useContextBridge.tsx +0 -21
@@ -0,0 +1,64 @@
1
+ import type { PathProps, SkDOM, GroupProps, ImageProps, BlurImageFilterProps, MatrixColorFilterProps, CircleProps, BlurMaskFilterProps, LinearGradientProps, PaintProps, ShaderProps, ImageShaderProps, CustomDrawingNodeProps, LineProps, OvalProps, PatchProps, PointsProps, RectProps, RoundedRectProps, VerticesProps, TextProps, DiffRectProps, OffsetImageFilterProps, BlendColorFilterProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, FractalNoiseProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, DrawingNodeProps, BoxProps, BoxShadowProps, ChildrenProps } from "../types";
2
+ import type { BlendImageFilterProps, BlendProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, MorphologyImageFilterProps, RuntimeShaderImageFilterProps } from "../types/ImageFilters";
3
+ import type { CornerPathEffectProps, DashPathEffectProps, DiscretePathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps } from "../types/PathEffects";
4
+ import type { NodeContext } from "./Node";
5
+ export declare class JsiSkDOM implements SkDOM {
6
+ private ctx;
7
+ constructor(ctx: NodeContext);
8
+ Layer(props?: ChildrenProps): import("../types").RenderNode<ChildrenProps>;
9
+ Group(props?: GroupProps): import("../types").RenderNode<GroupProps>;
10
+ Paint(props: PaintProps): import("../types").DeclarationNode<PaintProps>;
11
+ Fill(props?: DrawingNodeProps): import("../types").RenderNode<PaintProps>;
12
+ Image(props: ImageProps): import("../types").RenderNode<ImageProps>;
13
+ Circle(props: CircleProps): import("../types").RenderNode<CircleProps>;
14
+ Path(props: PathProps): import("../types").RenderNode<PathProps>;
15
+ CustomDrawing(props: CustomDrawingNodeProps): import("../types").RenderNode<CustomDrawingNodeProps>;
16
+ Line(props: LineProps): import("../types").RenderNode<LineProps>;
17
+ Oval(props: OvalProps): import("../types").RenderNode<OvalProps>;
18
+ Patch(props: PatchProps): import("../types").RenderNode<PatchProps>;
19
+ Points(props: PointsProps): import("../types").RenderNode<PointsProps>;
20
+ Rect(props: RectProps): import("./DrawingNode").JsiDrawingNode<RectProps, import("../..").SkRect>;
21
+ RRect(props: RoundedRectProps): import("./DrawingNode").JsiDrawingNode<RoundedRectProps, import("../..").SkRRect>;
22
+ Vertices(props: VerticesProps): import("../types").RenderNode<VerticesProps>;
23
+ Text(props: TextProps): import("../types").RenderNode<TextProps>;
24
+ TextPath(props: TextPathProps): import("../types").RenderNode<TextPathProps>;
25
+ TextBlob(props: TextBlobProps): import("../types").RenderNode<TextBlobProps>;
26
+ Glyphs(props: GlyphsProps): import("../types").RenderNode<GlyphsProps>;
27
+ DiffRect(props: DiffRectProps): import("../types").RenderNode<DiffRectProps>;
28
+ Picture(props: PictureProps): import("../types").RenderNode<PictureProps>;
29
+ ImageSVG(props: ImageSVGProps): import("../types").RenderNode<ImageSVGProps>;
30
+ BlurMaskFilter(props: BlurMaskFilterProps): import("../types").DeclarationNode<BlurMaskFilterProps>;
31
+ BlendImageFilter(props: BlendImageFilterProps): import("../types").DeclarationNode<BlendImageFilterProps>;
32
+ DropShadowImageFilter(props: DropShadowImageFilterProps): import("../types").DeclarationNode<DropShadowImageFilterProps>;
33
+ DisplacementMapImageFilter(props: DisplacementMapImageFilterProps): import("../types").DeclarationNode<DisplacementMapImageFilterProps>;
34
+ BlurImageFilter(props: BlurImageFilterProps): import("../types").DeclarationNode<BlurImageFilterProps>;
35
+ OffsetImageFilter(props: OffsetImageFilterProps): import("../types").DeclarationNode<OffsetImageFilterProps>;
36
+ MorphologyImageFilter(props: MorphologyImageFilterProps): import("../types").DeclarationNode<MorphologyImageFilterProps>;
37
+ RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps): import("../types").DeclarationNode<RuntimeShaderImageFilterProps>;
38
+ MatrixColorFilter(props: MatrixColorFilterProps): import("../types").DeclarationNode<MatrixColorFilterProps>;
39
+ BlendColorFilter(props: BlendColorFilterProps): import("../types").DeclarationNode<BlendColorFilterProps>;
40
+ LumaColorFilter(): import("../types").DeclarationNode<null>;
41
+ LinearToSRGBGammaColorFilter(): import("../types").DeclarationNode<null>;
42
+ SRGBToLinearGammaColorFilter(): import("../types").DeclarationNode<null>;
43
+ LerpColorFilter(props: LerpColorFilterProps): import("../types").DeclarationNode<LerpColorFilterProps>;
44
+ Shader(props: ShaderProps): import("../types").DeclarationNode<ShaderProps>;
45
+ ImageShader(props: ImageShaderProps): import("../types").DeclarationNode<ImageShaderProps>;
46
+ ColorShader(props: ColorProps): import("../types").DeclarationNode<ColorProps>;
47
+ SweepGradient(props: SweepGradientProps): import("../types").DeclarationNode<SweepGradientProps>;
48
+ Turbulence(props: TurbulenceProps): import("../types").DeclarationNode<TurbulenceProps>;
49
+ FractalNoise(props: FractalNoiseProps): import("../types").DeclarationNode<FractalNoiseProps>;
50
+ LinearGradient(props: LinearGradientProps): import("../types").DeclarationNode<LinearGradientProps>;
51
+ RadialGradient(props: RadialGradientProps): import("../types").DeclarationNode<RadialGradientProps>;
52
+ TwoPointConicalGradient(props: TwoPointConicalGradientProps): import("../types").DeclarationNode<TwoPointConicalGradientProps>;
53
+ CornerPathEffect(props: CornerPathEffectProps): import("../types").DeclarationNode<CornerPathEffectProps>;
54
+ DiscretePathEffect(props: DiscretePathEffectProps): import("../types").DeclarationNode<DiscretePathEffectProps>;
55
+ DashPathEffect(props: DashPathEffectProps): import("../types").DeclarationNode<DashPathEffectProps>;
56
+ Path1DPathEffect(props: Path1DPathEffectProps): import("../types").DeclarationNode<Path1DPathEffectProps>;
57
+ Path2DPathEffect(props: Path2DPathEffectProps): import("../types").DeclarationNode<Path2DPathEffectProps>;
58
+ SumPathEffect(): import("../types").DeclarationNode<null>;
59
+ Line2DPathEffect(props: Line2DPathEffectProps): import("../types").DeclarationNode<Line2DPathEffectProps>;
60
+ Blend(props: BlendProps): import("../types").DeclarationNode<BlendProps>;
61
+ BackdropFilter(props: ChildrenProps): import("../types").RenderNode<ChildrenProps>;
62
+ Box(props: BoxProps): import("../types").RenderNode<BoxProps>;
63
+ BoxShadow(props: BoxShadowProps): import("../types").DeclarationNode<BoxShadowProps>;
64
+ }
@@ -0,0 +1,8 @@
1
+ import type { DrawingContext } from "../types";
2
+ import type { ChildrenProps } from "../types/Common";
3
+ import { JsiRenderNode } from "./RenderNode";
4
+ import type { NodeContext } from "./Node";
5
+ export declare class LayerNode extends JsiRenderNode<ChildrenProps> {
6
+ constructor(ctx: NodeContext, props: ChildrenProps);
7
+ renderNode(ctx: DrawingContext): void;
8
+ }
@@ -1,20 +1,26 @@
1
1
  import { NodeType } from "../types";
2
2
  import { JsiRenderNode } from "./RenderNode";
3
3
  import { JsiDeclarationNode } from "./Node";
4
-
5
- const isLayer = node => node instanceof JsiDeclarationNode && node.isPaint();
6
-
7
4
  export class LayerNode extends JsiRenderNode {
8
5
  constructor(ctx, props) {
9
6
  super(ctx, NodeType.Layer, props);
10
7
  }
11
8
 
12
9
  renderNode(ctx) {
10
+ let hasLayer = false;
13
11
  const [layer, ...children] = this.children();
14
12
 
15
- if (isLayer(layer)) {
16
- const paint = layer.materialize();
17
- ctx.canvas.saveLayer(paint);
13
+ if (layer instanceof JsiDeclarationNode) {
14
+ const declCtx = ctx.declarationCtx;
15
+ declCtx.save();
16
+ layer.decorate(declCtx);
17
+ const paint = declCtx.paints.pop();
18
+ declCtx.restore();
19
+
20
+ if (paint) {
21
+ hasLayer = true;
22
+ ctx.canvas.saveLayer(paint);
23
+ }
18
24
  }
19
25
 
20
26
  children.map(child => {
@@ -23,7 +29,7 @@ export class LayerNode extends JsiRenderNode {
23
29
  }
24
30
  });
25
31
 
26
- if (isLayer(layer)) {
32
+ if (hasLayer) {
27
33
  ctx.canvas.restore();
28
34
  }
29
35
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NodeType","JsiRenderNode","JsiDeclarationNode","isLayer","node","isPaint","LayerNode","constructor","ctx","props","Layer","renderNode","layer","children","paint","materialize","canvas","saveLayer","map","child","render","restore"],"sources":["LayerNode.ts"],"sourcesContent":["import type { DeclarationNode, DrawingContext, Node } from \"../types\";\nimport { NodeType } from \"../types\";\nimport type { ChildrenProps } from \"../types/Common\";\nimport type { SkPaint } from \"../../skia\";\n\nimport { JsiRenderNode } from \"./RenderNode\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiDeclarationNode } from \"./Node\";\n\nconst isLayer = (\n node: Node<unknown>\n): node is DeclarationNode<unknown, SkPaint> =>\n node instanceof JsiDeclarationNode && node.isPaint();\n\nexport class LayerNode extends JsiRenderNode<ChildrenProps> {\n constructor(ctx: NodeContext, props: ChildrenProps) {\n super(ctx, NodeType.Layer, props);\n }\n\n renderNode(ctx: DrawingContext): void {\n const [layer, ...children] = this.children();\n if (isLayer(layer)) {\n const paint = layer.materialize() as SkPaint;\n ctx.canvas.saveLayer(paint);\n }\n children.map((child) => {\n if (child instanceof JsiRenderNode) {\n child.render(ctx);\n }\n });\n if (isLayer(layer)) {\n ctx.canvas.restore();\n }\n }\n}\n"],"mappings":"AACA,SAASA,QAAT,QAAyB,UAAzB;AAIA,SAASC,aAAT,QAA8B,cAA9B;AAEA,SAASC,kBAAT,QAAmC,QAAnC;;AAEA,MAAMC,OAAO,GACXC,IADc,IAGdA,IAAI,YAAYF,kBAAhB,IAAsCE,IAAI,CAACC,OAAL,EAHxC;;AAKA,OAAO,MAAMC,SAAN,SAAwBL,aAAxB,CAAqD;EAC1DM,WAAW,CAACC,GAAD,EAAmBC,KAAnB,EAAyC;IAClD,MAAMD,GAAN,EAAWR,QAAQ,CAACU,KAApB,EAA2BD,KAA3B;EACD;;EAEDE,UAAU,CAACH,GAAD,EAA4B;IACpC,MAAM,CAACI,KAAD,EAAQ,GAAGC,QAAX,IAAuB,KAAKA,QAAL,EAA7B;;IACA,IAAIV,OAAO,CAACS,KAAD,CAAX,EAAoB;MAClB,MAAME,KAAK,GAAGF,KAAK,CAACG,WAAN,EAAd;MACAP,GAAG,CAACQ,MAAJ,CAAWC,SAAX,CAAqBH,KAArB;IACD;;IACDD,QAAQ,CAACK,GAAT,CAAcC,KAAD,IAAW;MACtB,IAAIA,KAAK,YAAYlB,aAArB,EAAoC;QAClCkB,KAAK,CAACC,MAAN,CAAaZ,GAAb;MACD;IACF,CAJD;;IAKA,IAAIL,OAAO,CAACS,KAAD,CAAX,EAAoB;MAClBJ,GAAG,CAACQ,MAAJ,CAAWK,OAAX;IACD;EACF;;AAnByD"}
1
+ {"version":3,"names":["NodeType","JsiRenderNode","JsiDeclarationNode","LayerNode","constructor","ctx","props","Layer","renderNode","hasLayer","layer","children","declCtx","declarationCtx","save","decorate","paint","paints","pop","restore","canvas","saveLayer","map","child","render"],"sources":["LayerNode.ts"],"sourcesContent":["import type { DrawingContext } from \"../types\";\nimport { NodeType } from \"../types\";\nimport type { ChildrenProps } from \"../types/Common\";\n\nimport { JsiRenderNode } from \"./RenderNode\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiDeclarationNode } from \"./Node\";\n\nexport class LayerNode extends JsiRenderNode<ChildrenProps> {\n constructor(ctx: NodeContext, props: ChildrenProps) {\n super(ctx, NodeType.Layer, props);\n }\n\n renderNode(ctx: DrawingContext): void {\n let hasLayer = false;\n const [layer, ...children] = this.children();\n if (layer instanceof JsiDeclarationNode) {\n const declCtx = ctx.declarationCtx;\n declCtx.save();\n layer.decorate(declCtx);\n const paint = declCtx.paints.pop();\n declCtx.restore();\n if (paint) {\n hasLayer = true;\n ctx.canvas.saveLayer(paint);\n }\n }\n children.map((child) => {\n if (child instanceof JsiRenderNode) {\n child.render(ctx);\n }\n });\n if (hasLayer) {\n ctx.canvas.restore();\n }\n }\n}\n"],"mappings":"AACA,SAASA,QAAT,QAAyB,UAAzB;AAGA,SAASC,aAAT,QAA8B,cAA9B;AAEA,SAASC,kBAAT,QAAmC,QAAnC;AAEA,OAAO,MAAMC,SAAN,SAAwBF,aAAxB,CAAqD;EAC1DG,WAAW,CAACC,GAAD,EAAmBC,KAAnB,EAAyC;IAClD,MAAMD,GAAN,EAAWL,QAAQ,CAACO,KAApB,EAA2BD,KAA3B;EACD;;EAEDE,UAAU,CAACH,GAAD,EAA4B;IACpC,IAAII,QAAQ,GAAG,KAAf;IACA,MAAM,CAACC,KAAD,EAAQ,GAAGC,QAAX,IAAuB,KAAKA,QAAL,EAA7B;;IACA,IAAID,KAAK,YAAYR,kBAArB,EAAyC;MACvC,MAAMU,OAAO,GAAGP,GAAG,CAACQ,cAApB;MACAD,OAAO,CAACE,IAAR;MACAJ,KAAK,CAACK,QAAN,CAAeH,OAAf;MACA,MAAMI,KAAK,GAAGJ,OAAO,CAACK,MAAR,CAAeC,GAAf,EAAd;MACAN,OAAO,CAACO,OAAR;;MACA,IAAIH,KAAJ,EAAW;QACTP,QAAQ,GAAG,IAAX;QACAJ,GAAG,CAACe,MAAJ,CAAWC,SAAX,CAAqBL,KAArB;MACD;IACF;;IACDL,QAAQ,CAACW,GAAT,CAAcC,KAAD,IAAW;MACtB,IAAIA,KAAK,YAAYtB,aAArB,EAAoC;QAClCsB,KAAK,CAACC,MAAN,CAAanB,GAAb;MACD;IACF,CAJD;;IAKA,IAAII,QAAJ,EAAc;MACZJ,GAAG,CAACe,MAAJ,CAAWD,OAAX;IACD;EACF;;AA3ByD"}
@@ -0,0 +1,38 @@
1
+ import type { Skia } from "../../skia/types";
2
+ import type { Node, DeclarationNode, NodeType, DeclarationType } from "../types";
3
+ import type { DependencyManager } from "../../renderer/DependencyManager";
4
+ import type { DeclarationContext } from "../types/DeclarationContext";
5
+ export interface NodeContext {
6
+ Skia: Skia;
7
+ depMgr: DependencyManager;
8
+ }
9
+ export declare abstract class JsiNode<P> implements Node<P> {
10
+ type: NodeType;
11
+ protected props: P;
12
+ protected _children: JsiNode<unknown>[];
13
+ protected Skia: Skia;
14
+ protected depMgr: DependencyManager;
15
+ constructor(ctx: NodeContext, type: NodeType, props: P);
16
+ setProps(props: P): void;
17
+ setProp<K extends keyof P>(name: K, v: P[K]): boolean;
18
+ getProps(): P;
19
+ children(): JsiNode<unknown>[];
20
+ addChild(child: Node<unknown>): void;
21
+ dispose(): void;
22
+ removeChild(child: Node<unknown>): void;
23
+ insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;
24
+ }
25
+ export declare type Invalidate = () => void;
26
+ export declare abstract class JsiDeclarationNode<P> extends JsiNode<P> implements DeclarationNode<P> {
27
+ declarationType: DeclarationType;
28
+ private invalidate;
29
+ constructor(ctx: NodeContext, declarationType: DeclarationType, type: NodeType, props: P);
30
+ abstract decorate(ctx: DeclarationContext): void;
31
+ protected decorateChildren(ctx: DeclarationContext): void;
32
+ addChild(child: Node<unknown>): void;
33
+ insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;
34
+ dispose(): void;
35
+ setInvalidate(invalidate: Invalidate): void;
36
+ setProps(props: P): void;
37
+ setProp<K extends keyof P>(name: K, v: P[K]): boolean;
38
+ }
@@ -1,6 +1,5 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
- import { DeclarationType } from "../types";
4
3
  export class JsiNode {
5
4
  constructor(ctx, type, props) {
6
5
  this.type = type;
@@ -75,6 +74,14 @@ export class JsiDeclarationNode extends JsiNode {
75
74
  _defineProperty(this, "invalidate", () => {});
76
75
  }
77
76
 
77
+ decorateChildren(ctx) {
78
+ this.children().forEach(child => {
79
+ if (child instanceof JsiDeclarationNode) {
80
+ child.decorate(ctx);
81
+ }
82
+ });
83
+ }
84
+
78
85
  addChild(child) {
79
86
  if (!(child instanceof JsiDeclarationNode)) {
80
87
  throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);
@@ -117,29 +124,5 @@ export class JsiDeclarationNode extends JsiNode {
117
124
  return hasChanged;
118
125
  }
119
126
 
120
- isPaint() {
121
- return this.declarationType === DeclarationType.Paint;
122
- }
123
-
124
- isImageFilter() {
125
- return this.declarationType === DeclarationType.ImageFilter;
126
- }
127
-
128
- isColorFilter() {
129
- return this.declarationType === DeclarationType.ColorFilter;
130
- }
131
-
132
- isShader() {
133
- return this.declarationType === DeclarationType.Shader;
134
- }
135
-
136
- isMaskFilter() {
137
- return this.declarationType === DeclarationType.MaskFilter;
138
- }
139
-
140
- isPathEffect() {
141
- return this.declarationType === DeclarationType.PathEffect;
142
- }
143
-
144
127
  }
145
128
  //# sourceMappingURL=Node.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DeclarationType","JsiNode","constructor","ctx","type","props","Skia","depMgr","setProps","setProp","name","v","hasChanged","getProps","children","_children","addChild","child","push","dispose","unsubscribeNode","forEach","removeChild","index","indexOf","node","splice","insertChildBefore","before","beforeIndex","JsiDeclarationNode","declarationType","Error","invalidate","setInvalidate","isPaint","Paint","isImageFilter","ImageFilter","isColorFilter","ColorFilter","isShader","Shader","isMaskFilter","MaskFilter","isPathEffect","PathEffect"],"sources":["Node.ts"],"sourcesContent":["import type {\n SkColorFilter,\n Skia,\n SkImageFilter,\n SkMaskFilter,\n SkShader,\n SkPathEffect,\n SkPaint,\n} from \"../../skia/types\";\nimport type { Node, DeclarationNode, NodeType } from \"../types\";\nimport { DeclarationType } from \"../types\";\nimport type { DependencyManager } from \"../../renderer/DependencyManager\";\n\nexport interface NodeContext {\n Skia: Skia;\n depMgr: DependencyManager;\n}\n\nexport abstract class JsiNode<P> implements Node<P> {\n protected _children: JsiNode<unknown>[] = [];\n protected Skia: Skia;\n protected depMgr: DependencyManager;\n\n constructor(ctx: NodeContext, public type: NodeType, protected props: P) {\n this.Skia = ctx.Skia;\n this.depMgr = ctx.depMgr;\n }\n\n setProps(props: P) {\n this.props = props;\n }\n\n setProp<K extends keyof P>(name: K, v: P[K]) {\n const hasChanged = this.props[name] !== v;\n this.props[name] = v;\n return hasChanged;\n }\n\n getProps() {\n return this.props;\n }\n\n children() {\n return this._children;\n }\n\n addChild(child: Node<unknown>) {\n this._children.push(child as JsiNode<unknown>);\n }\n\n dispose() {\n this.depMgr.unsubscribeNode(this);\n this._children.forEach((child) => child.dispose());\n }\n\n removeChild(child: Node<unknown>) {\n const index = this._children.indexOf(child as JsiNode<unknown>);\n if (index !== -1) {\n const [node] = this._children.splice(index, 1);\n node.dispose();\n }\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>) {\n const index = this._children.indexOf(child as JsiNode<unknown>);\n if (index !== -1) {\n this._children.splice(index, 1);\n }\n const beforeIndex = this._children.indexOf(before as JsiNode<unknown>);\n this._children.splice(beforeIndex, 0, child as JsiNode<unknown>);\n }\n}\n\nexport type Invalidate = () => void;\n\nexport abstract class JsiDeclarationNode<\n P,\n T,\n Nullable extends null | never = never\n >\n extends JsiNode<P>\n implements DeclarationNode<P, T, Nullable>\n{\n private invalidate: Invalidate = () => {};\n\n constructor(\n ctx: NodeContext,\n public declarationType: DeclarationType,\n type: NodeType,\n props: P\n ) {\n super(ctx, type, props);\n }\n\n abstract materialize(): T | Nullable;\n\n addChild(child: Node<unknown>): void {\n if (!(child instanceof JsiDeclarationNode)) {\n throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);\n }\n super.addChild(child);\n this.invalidate();\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>): void {\n if (!(child instanceof JsiDeclarationNode)) {\n throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);\n }\n super.insertChildBefore(child, before);\n this.invalidate();\n }\n\n dispose() {\n this.invalidate();\n super.dispose();\n }\n\n setInvalidate(invalidate: Invalidate) {\n this.invalidate = invalidate;\n }\n\n setProps(props: P) {\n super.setProps(props);\n this.invalidate();\n }\n\n setProp<K extends keyof P>(name: K, v: P[K]) {\n const hasChanged = super.setProp(name, v);\n if (hasChanged) {\n this.invalidate();\n }\n return hasChanged;\n }\n\n isPaint(): this is DeclarationNode<unknown, SkPaint> {\n return this.declarationType === DeclarationType.Paint;\n }\n\n isImageFilter(): this is DeclarationNode<unknown, SkImageFilter> {\n return this.declarationType === DeclarationType.ImageFilter;\n }\n\n isColorFilter(): this is DeclarationNode<unknown, SkColorFilter> {\n return this.declarationType === DeclarationType.ColorFilter;\n }\n\n isShader(): this is DeclarationNode<unknown, SkShader> {\n return this.declarationType === DeclarationType.Shader;\n }\n\n isMaskFilter(): this is DeclarationNode<unknown, SkMaskFilter> {\n return this.declarationType === DeclarationType.MaskFilter;\n }\n\n isPathEffect(): this is DeclarationNode<unknown, SkPathEffect> {\n return this.declarationType === DeclarationType.PathEffect;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["JsiNode","constructor","ctx","type","props","Skia","depMgr","setProps","setProp","name","v","hasChanged","getProps","children","_children","addChild","child","push","dispose","unsubscribeNode","forEach","removeChild","index","indexOf","node","splice","insertChildBefore","before","beforeIndex","JsiDeclarationNode","declarationType","decorateChildren","decorate","Error","invalidate","setInvalidate"],"sources":["Node.ts"],"sourcesContent":["import type { Skia } from \"../../skia/types\";\nimport type {\n Node,\n DeclarationNode,\n NodeType,\n DeclarationType,\n} from \"../types\";\nimport type { DependencyManager } from \"../../renderer/DependencyManager\";\nimport type { DeclarationContext } from \"../types/DeclarationContext\";\n\nexport interface NodeContext {\n Skia: Skia;\n depMgr: DependencyManager;\n}\n\nexport abstract class JsiNode<P> implements Node<P> {\n protected _children: JsiNode<unknown>[] = [];\n protected Skia: Skia;\n protected depMgr: DependencyManager;\n\n constructor(ctx: NodeContext, public type: NodeType, protected props: P) {\n this.Skia = ctx.Skia;\n this.depMgr = ctx.depMgr;\n }\n\n setProps(props: P) {\n this.props = props;\n }\n\n setProp<K extends keyof P>(name: K, v: P[K]) {\n const hasChanged = this.props[name] !== v;\n this.props[name] = v;\n return hasChanged;\n }\n\n getProps() {\n return this.props;\n }\n\n children() {\n return this._children;\n }\n\n addChild(child: Node<unknown>) {\n this._children.push(child as JsiNode<unknown>);\n }\n\n dispose() {\n this.depMgr.unsubscribeNode(this);\n this._children.forEach((child) => child.dispose());\n }\n\n removeChild(child: Node<unknown>) {\n const index = this._children.indexOf(child as JsiNode<unknown>);\n if (index !== -1) {\n const [node] = this._children.splice(index, 1);\n node.dispose();\n }\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>) {\n const index = this._children.indexOf(child as JsiNode<unknown>);\n if (index !== -1) {\n this._children.splice(index, 1);\n }\n const beforeIndex = this._children.indexOf(before as JsiNode<unknown>);\n this._children.splice(beforeIndex, 0, child as JsiNode<unknown>);\n }\n}\n\nexport type Invalidate = () => void;\n\nexport abstract class JsiDeclarationNode<P>\n extends JsiNode<P>\n implements DeclarationNode<P>\n{\n private invalidate: Invalidate = () => {};\n\n constructor(\n ctx: NodeContext,\n public declarationType: DeclarationType,\n type: NodeType,\n props: P\n ) {\n super(ctx, type, props);\n }\n\n abstract decorate(ctx: DeclarationContext): void;\n\n protected decorateChildren(ctx: DeclarationContext) {\n this.children().forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n child.decorate(ctx);\n }\n });\n }\n\n addChild(child: Node<unknown>): void {\n if (!(child instanceof JsiDeclarationNode)) {\n throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);\n }\n super.addChild(child);\n this.invalidate();\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>): void {\n if (!(child instanceof JsiDeclarationNode)) {\n throw new Error(`Cannot add child of type ${child.type} to ${this.type}`);\n }\n super.insertChildBefore(child, before);\n this.invalidate();\n }\n\n dispose() {\n this.invalidate();\n super.dispose();\n }\n\n setInvalidate(invalidate: Invalidate) {\n this.invalidate = invalidate;\n }\n\n setProps(props: P) {\n super.setProps(props);\n this.invalidate();\n }\n\n setProp<K extends keyof P>(name: K, v: P[K]) {\n const hasChanged = super.setProp(name, v);\n if (hasChanged) {\n this.invalidate();\n }\n return hasChanged;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { BlendMode, PaintStyle, SkColorFilter, SkImageFilter, SkMaskFilter, SkPathEffect, SkShader, StrokeCap, StrokeJoin } from "../../skia/types";
2
+ import type { SkColor } from "../../skia/types/Color";
3
+ export interface PaintContext {
4
+ color?: SkColor;
5
+ strokeWidth?: number;
6
+ blendMode?: BlendMode;
7
+ style?: PaintStyle;
8
+ strokeJoin?: StrokeJoin;
9
+ strokeCap?: StrokeCap;
10
+ strokeMiter?: number;
11
+ opacity?: number;
12
+ antiAlias?: boolean;
13
+ shader?: SkShader;
14
+ colorFilter?: SkColorFilter;
15
+ imageFilter?: SkImageFilter;
16
+ maskFilter?: SkMaskFilter;
17
+ pathEffect?: SkPathEffect;
18
+ }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["PaintContext.ts"],"sourcesContent":["import type {\n BlendMode,\n PaintStyle,\n SkColorFilter,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n SkShader,\n StrokeCap,\n StrokeJoin,\n} from \"../../skia/types\";\nimport type { SkColor } from \"../../skia/types/Color\";\n\nexport interface PaintContext {\n color?: SkColor;\n strokeWidth?: number;\n blendMode?: BlendMode;\n style?: PaintStyle;\n strokeJoin?: StrokeJoin;\n strokeCap?: StrokeCap;\n strokeMiter?: number;\n opacity?: number;\n antiAlias?: boolean;\n\n shader?: SkShader;\n colorFilter?: SkColorFilter;\n imageFilter?: SkImageFilter;\n maskFilter?: SkMaskFilter;\n pathEffect?: SkPathEffect;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["PaintContext.ts"],"sourcesContent":["import type {\n BlendMode,\n PaintStyle,\n SkColorFilter,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n SkShader,\n StrokeCap,\n StrokeJoin,\n} from \"../../skia/types\";\nimport type { SkColor } from \"../../skia/types/Color\";\n\n// TODO: to remove\nexport interface PaintContext {\n color?: SkColor;\n strokeWidth?: number;\n blendMode?: BlendMode;\n style?: PaintStyle;\n strokeJoin?: StrokeJoin;\n strokeCap?: StrokeCap;\n strokeMiter?: number;\n opacity?: number;\n antiAlias?: boolean;\n\n shader?: SkShader;\n colorFilter?: SkColorFilter;\n imageFilter?: SkImageFilter;\n maskFilter?: SkMaskFilter;\n pathEffect?: SkPathEffect;\n}\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { DeclarationNode, PaintProps } from "../types";
2
+ import type { DeclarationContext } from "../types/DeclarationContext";
3
+ import type { NodeContext } from "./Node";
4
+ import { JsiDeclarationNode } from "./Node";
5
+ export declare class PaintNode extends JsiDeclarationNode<PaintProps> implements DeclarationNode<PaintProps> {
6
+ constructor(ctx: NodeContext, props?: PaintProps);
7
+ decorate(ctx: DeclarationContext): void;
8
+ }
@@ -8,7 +8,7 @@ export class PaintNode extends JsiDeclarationNode {
8
8
  super(ctx, DeclarationType.Paint, NodeType.Paint, props);
9
9
  }
10
10
 
11
- materialize() {
11
+ decorate(ctx) {
12
12
  const {
13
13
  color,
14
14
  strokeWidth,
@@ -58,25 +58,42 @@ export class PaintNode extends JsiDeclarationNode {
58
58
  paint.setAntiAlias(antiAlias);
59
59
  }
60
60
 
61
+ ctx.save();
62
+
61
63
  this._children.forEach(child => {
62
64
  if (child instanceof JsiDeclarationNode) {
63
- if (child.isShader()) {
64
- paint.setShader(child.materialize());
65
- } else if (child.isColorFilter()) {
66
- paint.setColorFilter(child.materialize());
67
- } else if (child.isImageFilter()) {
68
- paint.setImageFilter(child.materialize());
69
- } else if (child.isMaskFilter()) {
70
- paint.setMaskFilter(child.materialize());
71
- } else if (child.isPathEffect()) {
72
- paint.setPathEffect(child.materialize());
73
- } else {
74
- throw new Error(`Unknown paint child ${child.type}`);
75
- }
65
+ child.decorate(ctx);
76
66
  }
77
67
  });
78
68
 
79
- return paint;
69
+ const colorFilter = ctx.colorFilters.popAllAsOne();
70
+ const imageFilter = ctx.imageFilters.popAllAsOne();
71
+ const shader = ctx.shaders.pop();
72
+ const maskFilter = ctx.maskFilters.pop();
73
+ const pathEffect = ctx.pathEffects.popAllAsOne();
74
+ ctx.restore();
75
+
76
+ if (imageFilter) {
77
+ paint.setImageFilter(imageFilter);
78
+ }
79
+
80
+ if (shader) {
81
+ paint.setShader(shader);
82
+ }
83
+
84
+ if (pathEffect) {
85
+ paint.setPathEffect(pathEffect);
86
+ }
87
+
88
+ if (colorFilter) {
89
+ paint.setColorFilter(colorFilter);
90
+ }
91
+
92
+ if (maskFilter) {
93
+ paint.setMaskFilter(maskFilter);
94
+ }
95
+
96
+ ctx.paints.push(paint);
80
97
  }
81
98
 
82
99
  }
@@ -1 +1 @@
1
- {"version":3,"names":["StrokeCap","StrokeJoin","PaintStyle","BlendMode","DeclarationType","NodeType","enumKey","JsiDeclarationNode","PaintNode","constructor","ctx","props","Paint","materialize","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","opacity","antiAlias","paint","Skia","undefined","setColor","Color","setStrokeWidth","setBlendMode","setStyle","setStrokeJoin","setStrokeCap","setStrokeMiter","setAlphaf","setAntiAlias","_children","forEach","child","isShader","setShader","isColorFilter","setColorFilter","isImageFilter","setImageFilter","isMaskFilter","setMaskFilter","isPathEffect","setPathEffect","Error","type"],"sources":["PaintNode.ts"],"sourcesContent":["import type { SkPaint } from \"../../skia/types\";\nimport { StrokeCap, StrokeJoin, PaintStyle, BlendMode } from \"../../skia/types\";\nimport type { DeclarationNode, PaintProps } from \"../types\";\nimport { DeclarationType, NodeType } from \"../types\";\n\nimport { enumKey } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiDeclarationNode } from \"./Node\";\n\nexport class PaintNode\n extends JsiDeclarationNode<PaintProps, SkPaint>\n implements DeclarationNode<PaintProps, SkPaint>\n{\n constructor(ctx: NodeContext, props: PaintProps = {}) {\n super(ctx, DeclarationType.Paint, NodeType.Paint, props);\n }\n\n materialize() {\n const {\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n opacity,\n antiAlias,\n } = this.props;\n const paint = this.Skia.Paint();\n if (color !== undefined) {\n paint.setColor(this.Skia.Color(color));\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(BlendMode[enumKey(blendMode)]);\n }\n if (style !== undefined) {\n paint.setStyle(PaintStyle[enumKey(style)]);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (opacity !== undefined) {\n paint.setAlphaf(opacity);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n this._children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n if (child.isShader()) {\n paint.setShader(child.materialize());\n } else if (child.isColorFilter()) {\n paint.setColorFilter(child.materialize());\n } else if (child.isImageFilter()) {\n paint.setImageFilter(child.materialize());\n } else if (child.isMaskFilter()) {\n paint.setMaskFilter(child.materialize());\n } else if (child.isPathEffect()) {\n paint.setPathEffect(child.materialize());\n } else {\n throw new Error(`Unknown paint child ${child.type}`);\n }\n }\n });\n return paint;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["StrokeCap","StrokeJoin","PaintStyle","BlendMode","DeclarationType","NodeType","enumKey","JsiDeclarationNode","PaintNode","constructor","ctx","props","Paint","decorate","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","opacity","antiAlias","paint","Skia","undefined","setColor","Color","setStrokeWidth","setBlendMode","setStyle","setStrokeJoin","setStrokeCap","setStrokeMiter","setAlphaf","setAntiAlias","save","_children","forEach","child","colorFilter","colorFilters","popAllAsOne","imageFilter","imageFilters","shader","shaders","pop","maskFilter","maskFilters","pathEffect","pathEffects","restore","setImageFilter","setShader","setPathEffect","setColorFilter","setMaskFilter","paints","push"],"sources":["PaintNode.ts"],"sourcesContent":["import { StrokeCap, StrokeJoin, PaintStyle, BlendMode } from \"../../skia/types\";\nimport type { DeclarationNode, PaintProps } from \"../types\";\nimport { DeclarationType, NodeType } from \"../types\";\nimport type { DeclarationContext } from \"../types/DeclarationContext\";\n\nimport { enumKey } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiDeclarationNode } from \"./Node\";\n\nexport class PaintNode\n extends JsiDeclarationNode<PaintProps>\n implements DeclarationNode<PaintProps>\n{\n constructor(ctx: NodeContext, props: PaintProps = {}) {\n super(ctx, DeclarationType.Paint, NodeType.Paint, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const {\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n opacity,\n antiAlias,\n } = this.props;\n const paint = this.Skia.Paint();\n if (color !== undefined) {\n paint.setColor(this.Skia.Color(color));\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(BlendMode[enumKey(blendMode)]);\n }\n if (style !== undefined) {\n paint.setStyle(PaintStyle[enumKey(style)]);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (opacity !== undefined) {\n paint.setAlphaf(opacity);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n ctx.save();\n this._children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n child.decorate(ctx);\n }\n });\n const colorFilter = ctx.colorFilters.popAllAsOne();\n const imageFilter = ctx.imageFilters.popAllAsOne();\n const shader = ctx.shaders.pop();\n const maskFilter = ctx.maskFilters.pop();\n const pathEffect = ctx.pathEffects.popAllAsOne();\n ctx.restore();\n if (imageFilter) {\n paint.setImageFilter(imageFilter);\n }\n if (shader) {\n paint.setShader(shader);\n }\n if (pathEffect) {\n paint.setPathEffect(pathEffect);\n }\n if (colorFilter) {\n paint.setColorFilter(colorFilter);\n }\n if (maskFilter) {\n paint.setMaskFilter(maskFilter);\n }\n ctx.paints.push(paint);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { SkMatrix, SkRect, SkRRect, SkPath, SkPaint } from "../../skia/types";
2
+ import type { RenderNode, GroupProps, NodeType, Node, DrawingContext } from "../types";
3
+ import type { NodeContext } from "./Node";
4
+ import { JsiNode } from "./Node";
5
+ interface PaintCache {
6
+ parent: SkPaint;
7
+ child: SkPaint;
8
+ }
9
+ export declare abstract class JsiRenderNode<P extends GroupProps> extends JsiNode<P> implements RenderNode<P> {
10
+ paintCache: PaintCache | null;
11
+ matrix: SkMatrix;
12
+ clipRect?: SkRect;
13
+ clipRRect?: SkRRect;
14
+ clipPath?: SkPath;
15
+ constructor(ctx: NodeContext, type: NodeType, props: P);
16
+ setProps(props: P): void;
17
+ setProp<K extends keyof P>(key: K, value: P[K]): boolean;
18
+ protected onPropChange(): void;
19
+ addChild(child: Node<unknown>): void;
20
+ insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;
21
+ private computeClip;
22
+ private computeMatrix;
23
+ render(ctx: DrawingContext): void;
24
+ abstract renderNode(ctx: DrawingContext): void;
25
+ }
26
+ export {};