@shopify/react-native-skia 0.1.147 → 0.1.149

Sign up to get free protection for your applications and to get access to all the features.
Files changed (836) hide show
  1. package/cpp/api/JsiSkFont.h +4 -4
  2. package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
  3. package/lib/commonjs/dom/nodes/DrawingNode.js +84 -0
  4. package/lib/commonjs/dom/nodes/DrawingNode.js.map +1 -0
  5. package/lib/commonjs/dom/nodes/GroupNode.js +28 -0
  6. package/lib/commonjs/dom/nodes/GroupNode.js.map +1 -0
  7. package/lib/commonjs/dom/nodes/JsiSkDOM.js +256 -0
  8. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -0
  9. package/lib/commonjs/dom/nodes/Node.js +158 -0
  10. package/lib/commonjs/dom/nodes/Node.js.map +1 -0
  11. package/lib/commonjs/dom/nodes/PaintContext.js +6 -0
  12. package/lib/commonjs/dom/nodes/PaintContext.js.map +1 -0
  13. package/lib/commonjs/dom/nodes/PaintNode.js +96 -0
  14. package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -0
  15. package/lib/commonjs/dom/nodes/RenderNode.js +346 -0
  16. package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -0
  17. package/lib/commonjs/{renderer/processors/Circles.js → dom/nodes/datatypes/Circle.js} +4 -2
  18. package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -0
  19. package/lib/commonjs/{renderer/processors → dom/nodes/datatypes}/Color.js +0 -0
  20. package/lib/commonjs/{renderer/processors → dom/nodes/datatypes}/Color.js.map +1 -1
  21. package/lib/commonjs/dom/nodes/datatypes/Enum.js +11 -0
  22. package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -0
  23. package/lib/commonjs/{renderer/components/image/BoxFit.js → dom/nodes/datatypes/Fitting.js} +2 -2
  24. package/lib/commonjs/{renderer/components/image/BoxFit.js.map → dom/nodes/datatypes/Fitting.js.map} +1 -1
  25. package/lib/commonjs/dom/nodes/datatypes/Gradient.js +65 -0
  26. package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -0
  27. package/lib/commonjs/{renderer/processors/Paths.js → dom/nodes/datatypes/Path.js} +2 -2
  28. package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -0
  29. package/lib/commonjs/{renderer/processors → dom/nodes/datatypes}/Radius.js +0 -0
  30. package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -0
  31. package/lib/commonjs/{renderer/processors/Rects.js → dom/nodes/datatypes/Rect.js} +1 -1
  32. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -0
  33. package/lib/commonjs/dom/nodes/datatypes/Transform.js +42 -0
  34. package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -0
  35. package/lib/commonjs/dom/nodes/datatypes/index.js +123 -0
  36. package/lib/commonjs/dom/nodes/datatypes/index.js.map +1 -0
  37. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js +38 -0
  38. package/lib/commonjs/dom/nodes/drawings/BackdropFilterNode.js.map +1 -0
  39. package/lib/commonjs/dom/nodes/drawings/Box.js +105 -0
  40. package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -0
  41. package/lib/commonjs/dom/nodes/drawings/CircleNode.js +43 -0
  42. package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +1 -0
  43. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js +28 -0
  44. package/lib/commonjs/dom/nodes/drawings/CustomDrawingNode.js.map +1 -0
  45. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js +36 -0
  46. package/lib/commonjs/dom/nodes/drawings/DiffRectNode.js.map +1 -0
  47. package/lib/commonjs/dom/nodes/drawings/FillNode.js +33 -0
  48. package/lib/commonjs/dom/nodes/drawings/FillNode.js.map +1 -0
  49. package/lib/commonjs/dom/nodes/drawings/ImageNode.js +63 -0
  50. package/lib/commonjs/dom/nodes/drawings/ImageNode.js.map +1 -0
  51. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js +45 -0
  52. package/lib/commonjs/dom/nodes/drawings/ImageSVG.js.map +1 -0
  53. package/lib/commonjs/dom/nodes/drawings/LineNode.js +36 -0
  54. package/lib/commonjs/dom/nodes/drawings/LineNode.js.map +1 -0
  55. package/lib/commonjs/dom/nodes/drawings/OvalNode.js +39 -0
  56. package/lib/commonjs/dom/nodes/drawings/OvalNode.js.map +1 -0
  57. package/lib/commonjs/dom/nodes/drawings/PatchNode.js +69 -0
  58. package/lib/commonjs/dom/nodes/drawings/PatchNode.js.map +1 -0
  59. package/lib/commonjs/dom/nodes/drawings/PathNode.js +68 -0
  60. package/lib/commonjs/dom/nodes/drawings/PathNode.js.map +1 -0
  61. package/lib/commonjs/dom/nodes/drawings/PictureNode.js +34 -0
  62. package/lib/commonjs/dom/nodes/drawings/PictureNode.js.map +1 -0
  63. package/lib/commonjs/dom/nodes/drawings/PointsNode.js +40 -0
  64. package/lib/commonjs/dom/nodes/drawings/PointsNode.js.map +1 -0
  65. package/lib/commonjs/dom/nodes/drawings/RRectNode.js +43 -0
  66. package/lib/commonjs/dom/nodes/drawings/RRectNode.js.map +1 -0
  67. package/lib/commonjs/dom/nodes/drawings/RectNode.js +39 -0
  68. package/lib/commonjs/dom/nodes/drawings/RectNode.js.map +1 -0
  69. package/lib/commonjs/dom/nodes/drawings/Text.js +185 -0
  70. package/lib/commonjs/dom/nodes/drawings/Text.js.map +1 -0
  71. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js +55 -0
  72. package/lib/commonjs/dom/nodes/drawings/VerticesNode.js.map +1 -0
  73. package/lib/commonjs/dom/nodes/drawings/index.js +240 -0
  74. package/lib/commonjs/dom/nodes/drawings/index.js.map +1 -0
  75. package/lib/commonjs/dom/nodes/index.js +45 -0
  76. package/lib/commonjs/dom/nodes/index.js.map +1 -0
  77. package/lib/commonjs/dom/nodes/paint/BlendNode.js +82 -0
  78. package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +1 -0
  79. package/lib/commonjs/dom/nodes/paint/ColorFilters.js +152 -0
  80. package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +1 -0
  81. package/lib/commonjs/dom/nodes/paint/ImageFilters.js +225 -0
  82. package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +1 -0
  83. package/lib/commonjs/dom/nodes/paint/MaskFilters.js +33 -0
  84. package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +1 -0
  85. package/lib/commonjs/dom/nodes/paint/PathEffects.js +223 -0
  86. package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +1 -0
  87. package/lib/commonjs/dom/nodes/paint/Shaders.js +242 -0
  88. package/lib/commonjs/dom/nodes/paint/Shaders.js.map +1 -0
  89. package/lib/commonjs/dom/nodes/paint/index.js +84 -0
  90. package/lib/commonjs/dom/nodes/paint/index.js.map +1 -0
  91. package/lib/commonjs/dom/types/ColorFilters.js +6 -0
  92. package/lib/commonjs/dom/types/ColorFilters.js.map +1 -0
  93. package/lib/commonjs/dom/types/Common.js +6 -0
  94. package/lib/commonjs/dom/types/Common.js.map +1 -0
  95. package/lib/commonjs/dom/types/DrawingContext.js +6 -0
  96. package/lib/commonjs/dom/types/DrawingContext.js.map +1 -0
  97. package/lib/commonjs/dom/types/Drawings.js +6 -0
  98. package/lib/commonjs/dom/types/Drawings.js.map +1 -0
  99. package/lib/commonjs/dom/types/ImageFilters.js +6 -0
  100. package/lib/commonjs/dom/types/ImageFilters.js.map +1 -0
  101. package/lib/commonjs/dom/types/MaskFilters.js +6 -0
  102. package/lib/commonjs/dom/types/MaskFilters.js.map +1 -0
  103. package/lib/commonjs/dom/types/Node.js +6 -0
  104. package/lib/commonjs/dom/types/Node.js.map +1 -0
  105. package/lib/commonjs/dom/types/NodeType.js +80 -0
  106. package/lib/commonjs/dom/types/NodeType.js.map +1 -0
  107. package/lib/commonjs/dom/types/PathEffects.js +6 -0
  108. package/lib/commonjs/dom/types/PathEffects.js.map +1 -0
  109. package/lib/commonjs/dom/types/Shaders.js +6 -0
  110. package/lib/commonjs/dom/types/Shaders.js.map +1 -0
  111. package/lib/commonjs/dom/types/SkDOM.js +6 -0
  112. package/lib/commonjs/dom/types/SkDOM.js.map +1 -0
  113. package/lib/commonjs/dom/types/index.js +149 -0
  114. package/lib/commonjs/dom/types/index.js.map +1 -0
  115. package/lib/commonjs/index.js +26 -0
  116. package/lib/commonjs/index.js.map +1 -1
  117. package/lib/commonjs/renderer/Canvas.js +7 -3
  118. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  119. package/lib/commonjs/renderer/Container.js +39 -0
  120. package/lib/commonjs/renderer/Container.js.map +1 -0
  121. package/lib/commonjs/renderer/DependencyManager.js +17 -5
  122. package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
  123. package/lib/commonjs/renderer/HostComponents.js +196 -0
  124. package/lib/commonjs/renderer/HostComponents.js.map +1 -0
  125. package/lib/commonjs/renderer/HostConfig.js +47 -125
  126. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  127. package/lib/commonjs/renderer/components/Blend.js +1 -46
  128. package/lib/commonjs/renderer/components/Blend.js.map +1 -1
  129. package/lib/commonjs/renderer/components/Drawing.js +1 -15
  130. package/lib/commonjs/renderer/components/Drawing.js.map +1 -1
  131. package/lib/commonjs/renderer/components/Group.js +1 -69
  132. package/lib/commonjs/renderer/components/Group.js.map +1 -1
  133. package/lib/commonjs/renderer/components/Paint.js +2 -14
  134. package/lib/commonjs/renderer/components/Paint.js.map +1 -1
  135. package/lib/commonjs/renderer/components/Picture.js +1 -19
  136. package/lib/commonjs/renderer/components/Picture.js.map +1 -1
  137. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.js.map +1 -1
  138. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js +2 -32
  139. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js.map +1 -1
  140. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js +1 -25
  141. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js.map +1 -1
  142. package/lib/commonjs/renderer/components/colorFilters/Lerp.js +1 -23
  143. package/lib/commonjs/renderer/components/colorFilters/Lerp.js.map +1 -1
  144. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js +1 -17
  145. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -1
  146. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js +1 -17
  147. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js.map +1 -1
  148. package/lib/commonjs/renderer/components/colorFilters/Matrix.js +1 -20
  149. package/lib/commonjs/renderer/components/colorFilters/Matrix.js.map +1 -1
  150. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js +1 -17
  151. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -1
  152. package/lib/commonjs/renderer/components/image/Image.js +1 -35
  153. package/lib/commonjs/renderer/components/image/Image.js.map +1 -1
  154. package/lib/commonjs/renderer/components/image/ImageSVG.js +1 -30
  155. package/lib/commonjs/renderer/components/image/ImageSVG.js.map +1 -1
  156. package/lib/commonjs/renderer/components/image/ImageShader.js +1 -61
  157. package/lib/commonjs/renderer/components/image/ImageShader.js.map +1 -1
  158. package/lib/commonjs/renderer/components/image/index.js +0 -13
  159. package/lib/commonjs/renderer/components/image/index.js.map +1 -1
  160. package/lib/commonjs/renderer/components/imageFilters/Blur.js +1 -27
  161. package/lib/commonjs/renderer/components/imageFilters/Blur.js.map +1 -1
  162. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js +1 -38
  163. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js.map +1 -1
  164. package/lib/commonjs/renderer/components/imageFilters/Morphology.js +1 -25
  165. package/lib/commonjs/renderer/components/imageFilters/Morphology.js.map +1 -1
  166. package/lib/commonjs/renderer/components/imageFilters/Offset.js +1 -20
  167. package/lib/commonjs/renderer/components/imageFilters/Offset.js.map +1 -1
  168. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js +1 -28
  169. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js.map +1 -1
  170. package/lib/commonjs/renderer/components/imageFilters/Shadow.js +1 -39
  171. package/lib/commonjs/renderer/components/imageFilters/Shadow.js.map +1 -1
  172. package/lib/commonjs/renderer/components/index.js +0 -13
  173. package/lib/commonjs/renderer/components/index.js.map +1 -1
  174. package/lib/commonjs/renderer/components/maskFilters/Blur.js +1 -23
  175. package/lib/commonjs/renderer/components/maskFilters/Blur.js.map +1 -1
  176. package/lib/commonjs/renderer/components/pathEffects/Corner.js +1 -30
  177. package/lib/commonjs/renderer/components/pathEffects/Corner.js.map +1 -1
  178. package/lib/commonjs/renderer/components/pathEffects/Dash.js +1 -27
  179. package/lib/commonjs/renderer/components/pathEffects/Dash.js.map +1 -1
  180. package/lib/commonjs/renderer/components/pathEffects/Discrete.js +1 -28
  181. package/lib/commonjs/renderer/components/pathEffects/Discrete.js.map +1 -1
  182. package/lib/commonjs/renderer/components/pathEffects/Line2D.js +1 -31
  183. package/lib/commonjs/renderer/components/pathEffects/Line2D.js.map +1 -1
  184. package/lib/commonjs/renderer/components/pathEffects/Path1D.js +1 -37
  185. package/lib/commonjs/renderer/components/pathEffects/Path1D.js.map +1 -1
  186. package/lib/commonjs/renderer/components/pathEffects/Path2D.js +1 -33
  187. package/lib/commonjs/renderer/components/pathEffects/Path2D.js.map +1 -1
  188. package/lib/commonjs/renderer/components/pathEffects/Sum.js +1 -17
  189. package/lib/commonjs/renderer/components/pathEffects/Sum.js.map +1 -1
  190. package/lib/commonjs/renderer/components/shaders/Color.js +1 -19
  191. package/lib/commonjs/renderer/components/shaders/Color.js.map +1 -1
  192. package/lib/commonjs/renderer/components/shaders/FractalNoise.js +1 -22
  193. package/lib/commonjs/renderer/components/shaders/FractalNoise.js.map +1 -1
  194. package/lib/commonjs/renderer/components/shaders/LinearGradient.js +1 -28
  195. package/lib/commonjs/renderer/components/shaders/LinearGradient.js.map +1 -1
  196. package/lib/commonjs/renderer/components/shaders/RadialGradient.js +1 -28
  197. package/lib/commonjs/renderer/components/shaders/RadialGradient.js.map +1 -1
  198. package/lib/commonjs/renderer/components/shaders/Shader.js +1 -23
  199. package/lib/commonjs/renderer/components/shaders/Shader.js.map +1 -1
  200. package/lib/commonjs/renderer/components/shaders/SweepGradient.js +1 -29
  201. package/lib/commonjs/renderer/components/shaders/SweepGradient.js.map +1 -1
  202. package/lib/commonjs/renderer/components/shaders/Turbulence.js +1 -22
  203. package/lib/commonjs/renderer/components/shaders/Turbulence.js.map +1 -1
  204. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js +1 -30
  205. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -1
  206. package/lib/commonjs/renderer/components/shapes/Box.js +2 -102
  207. package/lib/commonjs/renderer/components/shapes/Box.js.map +1 -1
  208. package/lib/commonjs/renderer/components/shapes/Circle.js +1 -22
  209. package/lib/commonjs/renderer/components/shapes/Circle.js.map +1 -1
  210. package/lib/commonjs/renderer/components/shapes/DiffRect.js +1 -19
  211. package/lib/commonjs/renderer/components/shapes/DiffRect.js.map +1 -1
  212. package/lib/commonjs/renderer/components/shapes/Fill.js +1 -15
  213. package/lib/commonjs/renderer/components/shapes/Fill.js.map +1 -1
  214. package/lib/commonjs/renderer/components/shapes/FitBox.js +3 -3
  215. package/lib/commonjs/renderer/components/shapes/FitBox.js.map +1 -1
  216. package/lib/commonjs/renderer/components/shapes/Line.js +1 -19
  217. package/lib/commonjs/renderer/components/shapes/Line.js.map +1 -1
  218. package/lib/commonjs/renderer/components/shapes/Oval.js +1 -19
  219. package/lib/commonjs/renderer/components/shapes/Oval.js.map +1 -1
  220. package/lib/commonjs/renderer/components/shapes/Patch.js +1 -37
  221. package/lib/commonjs/renderer/components/shapes/Patch.js.map +1 -1
  222. package/lib/commonjs/renderer/components/shapes/Path.js +1 -47
  223. package/lib/commonjs/renderer/components/shapes/Path.js.map +1 -1
  224. package/lib/commonjs/renderer/components/shapes/Points.js +1 -26
  225. package/lib/commonjs/renderer/components/shapes/Points.js.map +1 -1
  226. package/lib/commonjs/renderer/components/shapes/Rect.js +1 -19
  227. package/lib/commonjs/renderer/components/shapes/Rect.js.map +1 -1
  228. package/lib/commonjs/renderer/components/shapes/RoundedRect.js +1 -19
  229. package/lib/commonjs/renderer/components/shapes/RoundedRect.js.map +1 -1
  230. package/lib/commonjs/renderer/components/shapes/Vertices.js +1 -36
  231. package/lib/commonjs/renderer/components/shapes/Vertices.js.map +1 -1
  232. package/lib/commonjs/renderer/components/text/Glyphs.js +1 -39
  233. package/lib/commonjs/renderer/components/text/Glyphs.js.map +1 -1
  234. package/lib/commonjs/renderer/components/text/Text.js +1 -24
  235. package/lib/commonjs/renderer/components/text/Text.js.map +1 -1
  236. package/lib/commonjs/renderer/components/text/TextBlob.js +1 -20
  237. package/lib/commonjs/renderer/components/text/TextBlob.js.map +1 -1
  238. package/lib/commonjs/renderer/components/text/TextPath.js +1 -71
  239. package/lib/commonjs/renderer/components/text/TextPath.js.map +1 -1
  240. package/lib/commonjs/renderer/index.js +0 -13
  241. package/lib/commonjs/renderer/index.js.map +1 -1
  242. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  243. package/lib/commonjs/renderer/processors/index.js +0 -117
  244. package/lib/commonjs/renderer/processors/index.js.map +1 -1
  245. package/lib/commonjs/skia/core/Data.js +10 -1
  246. package/lib/commonjs/skia/core/Data.js.map +1 -1
  247. package/lib/commonjs/web/WithSkiaWeb.js +3 -1
  248. package/lib/commonjs/web/WithSkiaWeb.js.map +1 -1
  249. package/lib/module/dom/nodes/DrawingNode.js +72 -0
  250. package/lib/module/dom/nodes/DrawingNode.js.map +1 -0
  251. package/lib/module/dom/nodes/GroupNode.js +17 -0
  252. package/lib/module/dom/nodes/GroupNode.js.map +1 -0
  253. package/lib/module/dom/nodes/JsiSkDOM.js +240 -0
  254. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -0
  255. package/lib/module/dom/nodes/Node.js +145 -0
  256. package/lib/module/dom/nodes/Node.js.map +1 -0
  257. package/lib/module/dom/nodes/PaintContext.js +2 -0
  258. package/lib/module/dom/nodes/PaintContext.js.map +1 -0
  259. package/lib/module/dom/nodes/PaintNode.js +83 -0
  260. package/lib/module/dom/nodes/PaintNode.js.map +1 -0
  261. package/lib/module/dom/nodes/RenderNode.js +329 -0
  262. package/lib/module/dom/nodes/RenderNode.js.map +1 -0
  263. package/lib/module/{renderer/processors/Circles.js → dom/nodes/datatypes/Circle.js} +2 -3
  264. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -0
  265. package/lib/module/{renderer/processors → dom/nodes/datatypes}/Color.js +0 -0
  266. package/lib/module/{renderer/processors → dom/nodes/datatypes}/Color.js.map +1 -1
  267. package/lib/module/dom/nodes/datatypes/Enum.js +2 -0
  268. package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -0
  269. package/lib/module/{renderer/components/image/BoxFit.js → dom/nodes/datatypes/Fitting.js} +2 -2
  270. package/lib/module/{renderer/components/image/BoxFit.js.map → dom/nodes/datatypes/Fitting.js.map} +1 -1
  271. package/lib/module/dom/nodes/datatypes/Gradient.js +47 -0
  272. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -0
  273. package/lib/module/{renderer/processors/Paths.js → dom/nodes/datatypes/Path.js} +2 -2
  274. package/lib/module/dom/nodes/datatypes/Path.js.map +1 -0
  275. package/lib/module/{renderer/processors → dom/nodes/datatypes}/Radius.js +0 -0
  276. package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -0
  277. package/lib/module/{renderer/processors/Rects.js → dom/nodes/datatypes/Rect.js} +1 -1
  278. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -0
  279. package/lib/module/dom/nodes/datatypes/Transform.js +32 -0
  280. package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -0
  281. package/lib/module/dom/nodes/datatypes/index.js +10 -0
  282. package/lib/module/dom/nodes/datatypes/index.js.map +1 -0
  283. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js +25 -0
  284. package/lib/module/dom/nodes/drawings/BackdropFilterNode.js.map +1 -0
  285. package/lib/module/dom/nodes/drawings/Box.js +89 -0
  286. package/lib/module/dom/nodes/drawings/Box.js.map +1 -0
  287. package/lib/module/dom/nodes/drawings/CircleNode.js +31 -0
  288. package/lib/module/dom/nodes/drawings/CircleNode.js.map +1 -0
  289. package/lib/module/dom/nodes/drawings/CustomDrawingNode.js +17 -0
  290. package/lib/module/dom/nodes/drawings/CustomDrawingNode.js.map +1 -0
  291. package/lib/module/dom/nodes/drawings/DiffRectNode.js +25 -0
  292. package/lib/module/dom/nodes/drawings/DiffRectNode.js.map +1 -0
  293. package/lib/module/dom/nodes/drawings/FillNode.js +22 -0
  294. package/lib/module/dom/nodes/drawings/FillNode.js.map +1 -0
  295. package/lib/module/dom/nodes/drawings/ImageNode.js +51 -0
  296. package/lib/module/dom/nodes/drawings/ImageNode.js.map +1 -0
  297. package/lib/module/dom/nodes/drawings/ImageSVG.js +33 -0
  298. package/lib/module/dom/nodes/drawings/ImageSVG.js.map +1 -0
  299. package/lib/module/dom/nodes/drawings/LineNode.js +25 -0
  300. package/lib/module/dom/nodes/drawings/LineNode.js.map +1 -0
  301. package/lib/module/dom/nodes/drawings/OvalNode.js +27 -0
  302. package/lib/module/dom/nodes/drawings/OvalNode.js.map +1 -0
  303. package/lib/module/dom/nodes/drawings/PatchNode.js +56 -0
  304. package/lib/module/dom/nodes/drawings/PatchNode.js.map +1 -0
  305. package/lib/module/dom/nodes/drawings/PathNode.js +55 -0
  306. package/lib/module/dom/nodes/drawings/PathNode.js.map +1 -0
  307. package/lib/module/dom/nodes/drawings/PictureNode.js +23 -0
  308. package/lib/module/dom/nodes/drawings/PictureNode.js.map +1 -0
  309. package/lib/module/dom/nodes/drawings/PointsNode.js +27 -0
  310. package/lib/module/dom/nodes/drawings/PointsNode.js.map +1 -0
  311. package/lib/module/dom/nodes/drawings/RRectNode.js +31 -0
  312. package/lib/module/dom/nodes/drawings/RRectNode.js.map +1 -0
  313. package/lib/module/dom/nodes/drawings/RectNode.js +27 -0
  314. package/lib/module/dom/nodes/drawings/RectNode.js.map +1 -0
  315. package/lib/module/dom/nodes/drawings/Text.js +164 -0
  316. package/lib/module/dom/nodes/drawings/Text.js.map +1 -0
  317. package/lib/module/dom/nodes/drawings/VerticesNode.js +42 -0
  318. package/lib/module/dom/nodes/drawings/VerticesNode.js.map +1 -0
  319. package/lib/module/dom/nodes/drawings/index.js +19 -0
  320. package/lib/module/dom/nodes/drawings/index.js.map +1 -0
  321. package/lib/module/dom/nodes/index.js +4 -0
  322. package/lib/module/dom/nodes/index.js.map +1 -0
  323. package/lib/module/dom/nodes/paint/BlendNode.js +66 -0
  324. package/lib/module/dom/nodes/paint/BlendNode.js.map +1 -0
  325. package/lib/module/dom/nodes/paint/ColorFilters.js +120 -0
  326. package/lib/module/dom/nodes/paint/ColorFilters.js.map +1 -0
  327. package/lib/module/dom/nodes/paint/ImageFilters.js +191 -0
  328. package/lib/module/dom/nodes/paint/ImageFilters.js.map +1 -0
  329. package/lib/module/dom/nodes/paint/MaskFilters.js +20 -0
  330. package/lib/module/dom/nodes/paint/MaskFilters.js.map +1 -0
  331. package/lib/module/dom/nodes/paint/PathEffects.js +192 -0
  332. package/lib/module/dom/nodes/paint/PathEffects.js.map +1 -0
  333. package/lib/module/dom/nodes/paint/Shaders.js +201 -0
  334. package/lib/module/dom/nodes/paint/Shaders.js.map +1 -0
  335. package/lib/module/dom/nodes/paint/index.js +7 -0
  336. package/lib/module/dom/nodes/paint/index.js.map +1 -0
  337. package/lib/module/dom/types/ColorFilters.js +2 -0
  338. package/lib/module/dom/types/ColorFilters.js.map +1 -0
  339. package/lib/module/dom/types/Common.js +2 -0
  340. package/lib/module/dom/types/Common.js.map +1 -0
  341. package/lib/module/dom/types/DrawingContext.js +2 -0
  342. package/lib/module/dom/types/DrawingContext.js.map +1 -0
  343. package/lib/module/dom/types/Drawings.js +2 -0
  344. package/lib/module/dom/types/Drawings.js.map +1 -0
  345. package/lib/module/dom/types/ImageFilters.js +2 -0
  346. package/lib/module/dom/types/ImageFilters.js.map +1 -0
  347. package/lib/module/dom/types/MaskFilters.js +2 -0
  348. package/lib/module/dom/types/MaskFilters.js.map +1 -0
  349. package/lib/module/dom/types/Node.js +2 -0
  350. package/lib/module/dom/types/Node.js.map +1 -0
  351. package/lib/module/dom/types/NodeType.js +72 -0
  352. package/lib/module/dom/types/NodeType.js.map +1 -0
  353. package/lib/module/dom/types/PathEffects.js +2 -0
  354. package/lib/module/dom/types/PathEffects.js.map +1 -0
  355. package/lib/module/dom/types/Shaders.js +2 -0
  356. package/lib/module/dom/types/Shaders.js.map +1 -0
  357. package/lib/module/dom/types/SkDOM.js +2 -0
  358. package/lib/module/dom/types/SkDOM.js.map +1 -0
  359. package/lib/module/dom/types/index.js +12 -0
  360. package/lib/module/dom/types/index.js.map +1 -0
  361. package/lib/module/index.js +2 -0
  362. package/lib/module/index.js.map +1 -1
  363. package/lib/module/renderer/Canvas.js +7 -3
  364. package/lib/module/renderer/Canvas.js.map +1 -1
  365. package/lib/module/renderer/Container.js +29 -0
  366. package/lib/module/renderer/Container.js.map +1 -0
  367. package/lib/module/renderer/DependencyManager.js +17 -5
  368. package/lib/module/renderer/DependencyManager.js.map +1 -1
  369. package/lib/module/renderer/HostComponents.js +185 -0
  370. package/lib/module/renderer/HostComponents.js.map +1 -0
  371. package/lib/module/renderer/HostConfig.js +47 -126
  372. package/lib/module/renderer/HostConfig.js.map +1 -1
  373. package/lib/module/renderer/components/Blend.js +1 -42
  374. package/lib/module/renderer/components/Blend.js.map +1 -1
  375. package/lib/module/renderer/components/Drawing.js +1 -13
  376. package/lib/module/renderer/components/Drawing.js.map +1 -1
  377. package/lib/module/renderer/components/Group.js +1 -65
  378. package/lib/module/renderer/components/Group.js.map +1 -1
  379. package/lib/module/renderer/components/Paint.js +3 -12
  380. package/lib/module/renderer/components/Paint.js.map +1 -1
  381. package/lib/module/renderer/components/Picture.js +1 -17
  382. package/lib/module/renderer/components/Picture.js.map +1 -1
  383. package/lib/module/renderer/components/backdrop/BackdropBlur.js.map +1 -1
  384. package/lib/module/renderer/components/backdrop/BackdropFilter.js +2 -30
  385. package/lib/module/renderer/components/backdrop/BackdropFilter.js.map +1 -1
  386. package/lib/module/renderer/components/colorFilters/BlendColor.js +1 -20
  387. package/lib/module/renderer/components/colorFilters/BlendColor.js.map +1 -1
  388. package/lib/module/renderer/components/colorFilters/Lerp.js +1 -19
  389. package/lib/module/renderer/components/colorFilters/Lerp.js.map +1 -1
  390. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js +1 -15
  391. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -1
  392. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js +1 -15
  393. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js.map +1 -1
  394. package/lib/module/renderer/components/colorFilters/Matrix.js +1 -17
  395. package/lib/module/renderer/components/colorFilters/Matrix.js.map +1 -1
  396. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js +1 -15
  397. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -1
  398. package/lib/module/renderer/components/image/Image.js +1 -31
  399. package/lib/module/renderer/components/image/Image.js.map +1 -1
  400. package/lib/module/renderer/components/image/ImageSVG.js +1 -27
  401. package/lib/module/renderer/components/image/ImageSVG.js.map +1 -1
  402. package/lib/module/renderer/components/image/ImageShader.js +1 -57
  403. package/lib/module/renderer/components/image/ImageShader.js.map +1 -1
  404. package/lib/module/renderer/components/image/index.js +0 -1
  405. package/lib/module/renderer/components/image/index.js.map +1 -1
  406. package/lib/module/renderer/components/imageFilters/Blur.js +1 -21
  407. package/lib/module/renderer/components/imageFilters/Blur.js.map +1 -1
  408. package/lib/module/renderer/components/imageFilters/DisplacementMap.js +1 -30
  409. package/lib/module/renderer/components/imageFilters/DisplacementMap.js.map +1 -1
  410. package/lib/module/renderer/components/imageFilters/Morphology.js +1 -21
  411. package/lib/module/renderer/components/imageFilters/Morphology.js.map +1 -1
  412. package/lib/module/renderer/components/imageFilters/Offset.js +1 -17
  413. package/lib/module/renderer/components/imageFilters/Offset.js.map +1 -1
  414. package/lib/module/renderer/components/imageFilters/RuntimeShader.js +1 -24
  415. package/lib/module/renderer/components/imageFilters/RuntimeShader.js.map +1 -1
  416. package/lib/module/renderer/components/imageFilters/Shadow.js +1 -34
  417. package/lib/module/renderer/components/imageFilters/Shadow.js.map +1 -1
  418. package/lib/module/renderer/components/index.js +0 -1
  419. package/lib/module/renderer/components/index.js.map +1 -1
  420. package/lib/module/renderer/components/maskFilters/Blur.js +1 -19
  421. package/lib/module/renderer/components/maskFilters/Blur.js.map +1 -1
  422. package/lib/module/renderer/components/pathEffects/Corner.js +1 -27
  423. package/lib/module/renderer/components/pathEffects/Corner.js.map +1 -1
  424. package/lib/module/renderer/components/pathEffects/Dash.js +1 -24
  425. package/lib/module/renderer/components/pathEffects/Dash.js.map +1 -1
  426. package/lib/module/renderer/components/pathEffects/Discrete.js +1 -25
  427. package/lib/module/renderer/components/pathEffects/Discrete.js.map +1 -1
  428. package/lib/module/renderer/components/pathEffects/Line2D.js +1 -28
  429. package/lib/module/renderer/components/pathEffects/Line2D.js.map +1 -1
  430. package/lib/module/renderer/components/pathEffects/Path1D.js +1 -32
  431. package/lib/module/renderer/components/pathEffects/Path1D.js.map +1 -1
  432. package/lib/module/renderer/components/pathEffects/Path2D.js +1 -29
  433. package/lib/module/renderer/components/pathEffects/Path2D.js.map +1 -1
  434. package/lib/module/renderer/components/pathEffects/Sum.js +1 -14
  435. package/lib/module/renderer/components/pathEffects/Sum.js.map +1 -1
  436. package/lib/module/renderer/components/shaders/Color.js +1 -16
  437. package/lib/module/renderer/components/shaders/Color.js.map +1 -1
  438. package/lib/module/renderer/components/shaders/FractalNoise.js +1 -20
  439. package/lib/module/renderer/components/shaders/FractalNoise.js.map +1 -1
  440. package/lib/module/renderer/components/shaders/LinearGradient.js +1 -25
  441. package/lib/module/renderer/components/shaders/LinearGradient.js.map +1 -1
  442. package/lib/module/renderer/components/shaders/RadialGradient.js +1 -25
  443. package/lib/module/renderer/components/shaders/RadialGradient.js.map +1 -1
  444. package/lib/module/renderer/components/shaders/Shader.js +1 -19
  445. package/lib/module/renderer/components/shaders/Shader.js.map +1 -1
  446. package/lib/module/renderer/components/shaders/SweepGradient.js +1 -26
  447. package/lib/module/renderer/components/shaders/SweepGradient.js.map +1 -1
  448. package/lib/module/renderer/components/shaders/Turbulence.js +1 -20
  449. package/lib/module/renderer/components/shaders/Turbulence.js.map +1 -1
  450. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js +1 -27
  451. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -1
  452. package/lib/module/renderer/components/shapes/Box.js +2 -97
  453. package/lib/module/renderer/components/shapes/Box.js.map +1 -1
  454. package/lib/module/renderer/components/shapes/Circle.js +1 -19
  455. package/lib/module/renderer/components/shapes/Circle.js.map +1 -1
  456. package/lib/module/renderer/components/shapes/DiffRect.js +1 -17
  457. package/lib/module/renderer/components/shapes/DiffRect.js.map +1 -1
  458. package/lib/module/renderer/components/shapes/Fill.js +1 -13
  459. package/lib/module/renderer/components/shapes/Fill.js.map +1 -1
  460. package/lib/module/renderer/components/shapes/FitBox.js +1 -1
  461. package/lib/module/renderer/components/shapes/FitBox.js.map +1 -1
  462. package/lib/module/renderer/components/shapes/Line.js +1 -17
  463. package/lib/module/renderer/components/shapes/Line.js.map +1 -1
  464. package/lib/module/renderer/components/shapes/Oval.js +1 -16
  465. package/lib/module/renderer/components/shapes/Oval.js.map +1 -1
  466. package/lib/module/renderer/components/shapes/Patch.js +1 -32
  467. package/lib/module/renderer/components/shapes/Patch.js.map +1 -1
  468. package/lib/module/renderer/components/shapes/Path.js +1 -43
  469. package/lib/module/renderer/components/shapes/Path.js.map +1 -1
  470. package/lib/module/renderer/components/shapes/Points.js +1 -20
  471. package/lib/module/renderer/components/shapes/Points.js.map +1 -1
  472. package/lib/module/renderer/components/shapes/Rect.js +1 -16
  473. package/lib/module/renderer/components/shapes/Rect.js.map +1 -1
  474. package/lib/module/renderer/components/shapes/RoundedRect.js +1 -16
  475. package/lib/module/renderer/components/shapes/RoundedRect.js.map +1 -1
  476. package/lib/module/renderer/components/shapes/Vertices.js +1 -31
  477. package/lib/module/renderer/components/shapes/Vertices.js.map +1 -1
  478. package/lib/module/renderer/components/text/Glyphs.js +1 -37
  479. package/lib/module/renderer/components/text/Glyphs.js.map +1 -1
  480. package/lib/module/renderer/components/text/Text.js +1 -22
  481. package/lib/module/renderer/components/text/Text.js.map +1 -1
  482. package/lib/module/renderer/components/text/TextBlob.js +1 -18
  483. package/lib/module/renderer/components/text/TextBlob.js.map +1 -1
  484. package/lib/module/renderer/components/text/TextPath.js +1 -69
  485. package/lib/module/renderer/components/text/TextPath.js.map +1 -1
  486. package/lib/module/renderer/index.js +0 -1
  487. package/lib/module/renderer/index.js.map +1 -1
  488. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  489. package/lib/module/renderer/processors/index.js +0 -9
  490. package/lib/module/renderer/processors/index.js.map +1 -1
  491. package/lib/module/skia/core/Data.js +11 -2
  492. package/lib/module/skia/core/Data.js.map +1 -1
  493. package/lib/module/web/WithSkiaWeb.js +3 -1
  494. package/lib/module/web/WithSkiaWeb.js.map +1 -1
  495. package/lib/typescript/src/dom/nodes/DrawingNode.d.ts +14 -0
  496. package/lib/typescript/src/dom/nodes/GroupNode.d.ts +8 -0
  497. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +70 -0
  498. package/lib/typescript/src/dom/nodes/Node.d.ts +43 -0
  499. package/lib/typescript/src/dom/nodes/PaintContext.d.ts +18 -0
  500. package/lib/typescript/src/dom/nodes/PaintNode.d.ts +8 -0
  501. package/lib/typescript/src/dom/nodes/RenderNode.d.ts +29 -0
  502. package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +4 -0
  503. package/lib/typescript/src/{renderer/processors → dom/nodes/datatypes}/Color.d.ts +1 -1
  504. package/lib/typescript/src/dom/nodes/datatypes/Enum.d.ts +1 -0
  505. package/lib/typescript/src/{renderer/components/image/BoxFit.d.ts → dom/nodes/datatypes/Fitting.d.ts} +1 -1
  506. package/lib/typescript/src/{renderer/processors/Transform.d.ts → dom/nodes/datatypes/Gradient.d.ts} +11 -9
  507. package/lib/typescript/src/dom/nodes/datatypes/Path.d.ts +4 -0
  508. package/lib/typescript/src/dom/nodes/datatypes/Radius.d.ts +3 -0
  509. package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +5 -0
  510. package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +3 -0
  511. package/lib/typescript/src/dom/nodes/datatypes/index.d.ts +9 -0
  512. package/lib/typescript/src/dom/nodes/drawings/BackdropFilterNode.d.ts +8 -0
  513. package/lib/typescript/src/dom/nodes/drawings/Box.d.ts +13 -0
  514. package/lib/typescript/src/dom/nodes/drawings/CircleNode.d.ts +9 -0
  515. package/lib/typescript/src/dom/nodes/drawings/CustomDrawingNode.d.ts +8 -0
  516. package/lib/typescript/src/dom/nodes/drawings/DiffRectNode.d.ts +8 -0
  517. package/lib/typescript/src/dom/nodes/drawings/FillNode.d.ts +8 -0
  518. package/lib/typescript/src/dom/nodes/drawings/ImageNode.d.ts +25 -0
  519. package/lib/typescript/src/dom/nodes/drawings/ImageSVG.d.ts +8 -0
  520. package/lib/typescript/src/dom/nodes/drawings/LineNode.d.ts +8 -0
  521. package/lib/typescript/src/dom/nodes/drawings/OvalNode.d.ts +9 -0
  522. package/lib/typescript/src/dom/nodes/drawings/PatchNode.d.ts +18 -0
  523. package/lib/typescript/src/dom/nodes/drawings/PathNode.d.ts +9 -0
  524. package/lib/typescript/src/dom/nodes/drawings/PictureNode.d.ts +8 -0
  525. package/lib/typescript/src/dom/nodes/drawings/PointsNode.d.ts +8 -0
  526. package/lib/typescript/src/dom/nodes/drawings/RRectNode.d.ts +10 -0
  527. package/lib/typescript/src/dom/nodes/drawings/RectNode.d.ts +9 -0
  528. package/lib/typescript/src/dom/nodes/drawings/Text.d.ts +30 -0
  529. package/lib/typescript/src/dom/nodes/drawings/VerticesNode.d.ts +9 -0
  530. package/lib/typescript/src/dom/nodes/drawings/index.d.ts +18 -0
  531. package/lib/typescript/src/dom/nodes/index.d.ts +3 -0
  532. package/lib/typescript/src/dom/nodes/paint/BlendNode.d.ts +12 -0
  533. package/lib/typescript/src/dom/nodes/paint/ColorFilters.d.ts +36 -0
  534. package/lib/typescript/src/dom/nodes/paint/ImageFilters.d.ts +42 -0
  535. package/lib/typescript/src/dom/nodes/paint/MaskFilters.d.ts +8 -0
  536. package/lib/typescript/src/dom/nodes/paint/PathEffects.d.ts +42 -0
  537. package/lib/typescript/src/dom/nodes/paint/Shaders.d.ts +44 -0
  538. package/lib/typescript/src/dom/nodes/paint/index.d.ts +6 -0
  539. package/lib/typescript/src/dom/types/ColorFilters.d.ts +12 -0
  540. package/lib/typescript/src/dom/types/Common.d.ts +57 -0
  541. package/lib/typescript/src/dom/types/DrawingContext.d.ts +6 -0
  542. package/lib/typescript/src/dom/types/Drawings.d.ts +106 -0
  543. package/lib/typescript/src/dom/types/ImageFilters.d.ts +37 -0
  544. package/lib/typescript/src/dom/types/MaskFilters.d.ts +7 -0
  545. package/lib/typescript/src/dom/types/Node.d.ts +29 -0
  546. package/lib/typescript/src/dom/types/NodeType.d.ts +66 -0
  547. package/lib/typescript/src/dom/types/PathEffects.d.ts +28 -0
  548. package/lib/typescript/src/dom/types/Shaders.d.ts +59 -0
  549. package/lib/typescript/src/dom/types/SkDOM.d.ts +71 -0
  550. package/lib/typescript/src/dom/types/index.d.ts +11 -0
  551. package/lib/typescript/src/index.d.ts +2 -0
  552. package/lib/typescript/src/renderer/Canvas.d.ts +3 -3
  553. package/lib/typescript/src/renderer/Container.d.ts +12 -0
  554. package/lib/typescript/src/renderer/DependencyManager.d.ts +5 -4
  555. package/lib/typescript/src/renderer/HostComponents.d.ts +72 -0
  556. package/lib/typescript/src/renderer/HostConfig.d.ts +5 -13
  557. package/lib/typescript/src/renderer/components/Blend.d.ts +4 -9
  558. package/lib/typescript/src/renderer/components/Drawing.d.ts +2 -6
  559. package/lib/typescript/src/renderer/components/Group.d.ts +4 -9
  560. package/lib/typescript/src/renderer/components/Paint.d.ts +4 -8
  561. package/lib/typescript/src/renderer/components/Picture.d.ts +3 -5
  562. package/lib/typescript/src/renderer/components/backdrop/BackdropBlur.d.ts +2 -1
  563. package/lib/typescript/src/renderer/components/backdrop/BackdropFilter.d.ts +3 -3
  564. package/lib/typescript/src/renderer/components/colorFilters/BlendColor.d.ts +4 -10
  565. package/lib/typescript/src/renderer/components/colorFilters/Lerp.d.ts +4 -7
  566. package/lib/typescript/src/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +3 -4
  567. package/lib/typescript/src/renderer/components/colorFilters/LumaColorFilter.d.ts +3 -4
  568. package/lib/typescript/src/renderer/components/colorFilters/Matrix.d.ts +4 -8
  569. package/lib/typescript/src/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +3 -4
  570. package/lib/typescript/src/renderer/components/image/Image.d.ts +3 -11
  571. package/lib/typescript/src/renderer/components/image/ImageSVG.d.ts +2 -5
  572. package/lib/typescript/src/renderer/components/image/ImageShader.d.ts +3 -15
  573. package/lib/typescript/src/renderer/components/image/index.d.ts +0 -1
  574. package/lib/typescript/src/renderer/components/imageFilters/Blur.d.ts +4 -10
  575. package/lib/typescript/src/renderer/components/imageFilters/DisplacementMap.d.ts +4 -10
  576. package/lib/typescript/src/renderer/components/imageFilters/Morphology.d.ts +4 -8
  577. package/lib/typescript/src/renderer/components/imageFilters/Offset.d.ts +4 -8
  578. package/lib/typescript/src/renderer/components/imageFilters/RuntimeShader.d.ts +3 -7
  579. package/lib/typescript/src/renderer/components/imageFilters/Shadow.d.ts +3 -11
  580. package/lib/typescript/src/renderer/components/index.d.ts +0 -1
  581. package/lib/typescript/src/renderer/components/maskFilters/Blur.d.ts +3 -9
  582. package/lib/typescript/src/renderer/components/pathEffects/Corner.d.ts +4 -7
  583. package/lib/typescript/src/renderer/components/pathEffects/Dash.d.ts +4 -8
  584. package/lib/typescript/src/renderer/components/pathEffects/Discrete.d.ts +4 -9
  585. package/lib/typescript/src/renderer/components/pathEffects/Line2D.d.ts +4 -9
  586. package/lib/typescript/src/renderer/components/pathEffects/Path1D.d.ts +4 -13
  587. package/lib/typescript/src/renderer/components/pathEffects/Path2D.d.ts +4 -10
  588. package/lib/typescript/src/renderer/components/pathEffects/Sum.d.ts +3 -6
  589. package/lib/typescript/src/renderer/components/shaders/Color.d.ts +3 -6
  590. package/lib/typescript/src/renderer/components/shaders/FractalNoise.d.ts +3 -10
  591. package/lib/typescript/src/renderer/components/shaders/LinearGradient.d.ts +3 -8
  592. package/lib/typescript/src/renderer/components/shaders/RadialGradient.d.ts +3 -8
  593. package/lib/typescript/src/renderer/components/shaders/Shader.d.ts +4 -9
  594. package/lib/typescript/src/renderer/components/shaders/SweepGradient.d.ts +3 -9
  595. package/lib/typescript/src/renderer/components/shaders/Turbulence.d.ts +3 -10
  596. package/lib/typescript/src/renderer/components/shaders/TwoPointConicalGradient.d.ts +3 -10
  597. package/lib/typescript/src/renderer/components/shapes/Box.d.ts +4 -21
  598. package/lib/typescript/src/renderer/components/shapes/Circle.d.ts +3 -3
  599. package/lib/typescript/src/renderer/components/shapes/DiffRect.d.ts +3 -8
  600. package/lib/typescript/src/renderer/components/shapes/Fill.d.ts +3 -4
  601. package/lib/typescript/src/renderer/components/shapes/FitBox.d.ts +1 -1
  602. package/lib/typescript/src/renderer/components/shapes/Line.d.ts +3 -7
  603. package/lib/typescript/src/renderer/components/shapes/Oval.d.ts +3 -3
  604. package/lib/typescript/src/renderer/components/shapes/Patch.d.ts +3 -20
  605. package/lib/typescript/src/renderer/components/shapes/Path.d.ts +3 -16
  606. package/lib/typescript/src/renderer/components/shapes/Points.d.ts +3 -9
  607. package/lib/typescript/src/renderer/components/shapes/Rect.d.ts +3 -3
  608. package/lib/typescript/src/renderer/components/shapes/RoundedRect.d.ts +3 -3
  609. package/lib/typescript/src/renderer/components/shapes/Vertices.d.ts +3 -12
  610. package/lib/typescript/src/renderer/components/text/Glyphs.d.ts +3 -13
  611. package/lib/typescript/src/renderer/components/text/Text.d.ts +3 -8
  612. package/lib/typescript/src/renderer/components/text/TextBlob.d.ts +3 -8
  613. package/lib/typescript/src/renderer/components/text/TextPath.d.ts +3 -9
  614. package/lib/typescript/src/renderer/index.d.ts +0 -1
  615. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -0
  616. package/lib/typescript/src/renderer/processors/index.d.ts +0 -9
  617. package/package.json +1 -1
  618. package/src/dom/nodes/DrawingNode.ts +72 -0
  619. package/src/dom/nodes/GroupNode.ts +23 -0
  620. package/src/dom/nodes/JsiSkDOM.ts +353 -0
  621. package/src/dom/nodes/Node.ts +158 -0
  622. package/src/dom/nodes/PaintContext.ts +30 -0
  623. package/src/dom/nodes/PaintNode.ts +77 -0
  624. package/src/dom/nodes/RenderNode.ts +349 -0
  625. package/src/{renderer/processors/Circles.ts → dom/nodes/datatypes/Circle.ts} +3 -15
  626. package/src/{renderer/processors → dom/nodes/datatypes}/Color.ts +1 -1
  627. package/src/dom/nodes/datatypes/Enum.ts +2 -0
  628. package/src/{renderer/components/image/BoxFit.ts → dom/nodes/datatypes/Fitting.ts} +2 -11
  629. package/src/dom/nodes/datatypes/Gradient.ts +48 -0
  630. package/src/{renderer/processors/Paths.ts → dom/nodes/datatypes/Path.ts} +3 -4
  631. package/src/{renderer/processors → dom/nodes/datatypes}/Radius.ts +2 -3
  632. package/src/{renderer/processors/Rects.ts → dom/nodes/datatypes/Rect.ts} +2 -16
  633. package/src/dom/nodes/datatypes/Transform.ts +26 -0
  634. package/src/dom/nodes/datatypes/index.ts +9 -0
  635. package/src/dom/nodes/drawings/BackdropFilterNode.ts +30 -0
  636. package/src/dom/nodes/drawings/Box.ts +105 -0
  637. package/src/dom/nodes/drawings/CircleNode.ts +24 -0
  638. package/src/dom/nodes/drawings/CustomDrawingNode.ts +21 -0
  639. package/src/dom/nodes/drawings/DiffRectNode.ts +19 -0
  640. package/src/dom/nodes/drawings/FillNode.ts +18 -0
  641. package/src/dom/nodes/drawings/ImageNode.ts +40 -0
  642. package/src/dom/nodes/drawings/ImageSVG.ts +24 -0
  643. package/src/dom/nodes/drawings/LineNode.ts +19 -0
  644. package/src/dom/nodes/drawings/OvalNode.ts +23 -0
  645. package/src/dom/nodes/drawings/PatchNode.ts +68 -0
  646. package/src/dom/nodes/drawings/PathNode.ts +42 -0
  647. package/src/dom/nodes/drawings/PictureNode.ts +19 -0
  648. package/src/dom/nodes/drawings/PointsNode.ts +21 -0
  649. package/src/dom/nodes/drawings/RRectNode.ts +25 -0
  650. package/src/dom/nodes/drawings/RectNode.ts +23 -0
  651. package/src/dom/nodes/drawings/Text.ts +122 -0
  652. package/src/dom/nodes/drawings/VerticesNode.ts +35 -0
  653. package/src/dom/nodes/drawings/index.ts +18 -0
  654. package/src/dom/nodes/index.ts +3 -0
  655. package/src/dom/nodes/paint/BlendNode.ts +79 -0
  656. package/src/dom/nodes/paint/ColorFilters.ts +130 -0
  657. package/src/dom/nodes/paint/ImageFilters.ts +210 -0
  658. package/src/dom/nodes/paint/MaskFilters.ts +25 -0
  659. package/src/dom/nodes/paint/PathEffects.ts +192 -0
  660. package/src/dom/nodes/paint/Shaders.ts +228 -0
  661. package/src/dom/nodes/paint/index.ts +6 -0
  662. package/src/dom/types/ColorFilters.ts +16 -0
  663. package/src/dom/types/Common.ts +90 -0
  664. package/src/dom/types/DrawingContext.ts +7 -0
  665. package/src/dom/types/Drawings.ts +157 -0
  666. package/src/dom/types/ImageFilters.ts +53 -0
  667. package/src/dom/types/MaskFilters.ts +9 -0
  668. package/src/dom/types/Node.ts +46 -0
  669. package/src/dom/types/NodeType.ts +80 -0
  670. package/src/dom/types/PathEffects.ts +35 -0
  671. package/src/dom/types/Shaders.ts +86 -0
  672. package/src/dom/types/SkDOM.ts +202 -0
  673. package/src/dom/types/index.ts +11 -0
  674. package/src/index.ts +2 -0
  675. package/src/renderer/Canvas.tsx +7 -6
  676. package/src/renderer/Container.tsx +31 -0
  677. package/src/renderer/DependencyManager.tsx +23 -15
  678. package/src/renderer/HostComponents.ts +269 -0
  679. package/src/renderer/HostConfig.ts +60 -123
  680. package/src/renderer/components/Blend.tsx +4 -45
  681. package/src/renderer/components/Drawing.tsx +3 -12
  682. package/src/renderer/components/Group.tsx +4 -79
  683. package/src/renderer/components/Paint.tsx +7 -24
  684. package/src/renderer/components/Picture.tsx +4 -13
  685. package/src/renderer/components/backdrop/BackdropBlur.tsx +2 -1
  686. package/src/renderer/components/backdrop/BackdropFilter.tsx +5 -29
  687. package/src/renderer/components/colorFilters/BlendColor.tsx +4 -26
  688. package/src/renderer/components/colorFilters/Lerp.tsx +4 -23
  689. package/src/renderer/components/colorFilters/LinearToSRGBGamma.tsx +4 -16
  690. package/src/renderer/components/colorFilters/LumaColorFilter.tsx +4 -14
  691. package/src/renderer/components/colorFilters/Matrix.tsx +4 -19
  692. package/src/renderer/components/colorFilters/SRGBToLinearGamma.tsx +4 -16
  693. package/src/renderer/components/image/Image.tsx +4 -40
  694. package/src/renderer/components/image/ImageSVG.tsx +3 -19
  695. package/src/renderer/components/image/ImageShader.tsx +4 -69
  696. package/src/renderer/components/image/index.ts +0 -1
  697. package/src/renderer/components/imageFilters/Blur.tsx +4 -29
  698. package/src/renderer/components/imageFilters/DisplacementMap.tsx +6 -30
  699. package/src/renderer/components/imageFilters/Morphology.tsx +4 -25
  700. package/src/renderer/components/imageFilters/Offset.tsx +4 -19
  701. package/src/renderer/components/imageFilters/RuntimeShader.tsx +6 -27
  702. package/src/renderer/components/imageFilters/Shadow.tsx +4 -38
  703. package/src/renderer/components/index.ts +0 -1
  704. package/src/renderer/components/maskFilters/Blur.tsx +4 -23
  705. package/src/renderer/components/pathEffects/Corner.tsx +4 -27
  706. package/src/renderer/components/pathEffects/Dash.tsx +4 -23
  707. package/src/renderer/components/pathEffects/Discrete.tsx +4 -24
  708. package/src/renderer/components/pathEffects/Line2D.tsx +4 -29
  709. package/src/renderer/components/pathEffects/Path1D.tsx +4 -39
  710. package/src/renderer/components/pathEffects/Path2D.tsx +4 -31
  711. package/src/renderer/components/pathEffects/Sum.tsx +3 -17
  712. package/src/renderer/components/shaders/Color.tsx +4 -16
  713. package/src/renderer/components/shaders/FractalNoise.tsx +4 -26
  714. package/src/renderer/components/shaders/LinearGradient.tsx +4 -29
  715. package/src/renderer/components/shaders/RadialGradient.tsx +4 -29
  716. package/src/renderer/components/shaders/Shader.tsx +4 -24
  717. package/src/renderer/components/shaders/SweepGradient.tsx +4 -32
  718. package/src/renderer/components/shaders/Turbulence.tsx +4 -26
  719. package/src/renderer/components/shaders/TwoPointConicalGradient.tsx +4 -33
  720. package/src/renderer/components/shapes/Box.tsx +6 -109
  721. package/src/renderer/components/shapes/Circle.tsx +4 -16
  722. package/src/renderer/components/shapes/DiffRect.tsx +4 -17
  723. package/src/renderer/components/shapes/Fill.tsx +4 -11
  724. package/src/renderer/components/shapes/FitBox.tsx +2 -2
  725. package/src/renderer/components/shapes/Line.tsx +4 -13
  726. package/src/renderer/components/shapes/Oval.tsx +4 -18
  727. package/src/renderer/components/shapes/Patch.tsx +4 -59
  728. package/src/renderer/components/shapes/Path.tsx +4 -48
  729. package/src/renderer/components/shapes/Points.tsx +4 -20
  730. package/src/renderer/components/shapes/Rect.tsx +4 -18
  731. package/src/renderer/components/shapes/RoundedRect.tsx +4 -17
  732. package/src/renderer/components/shapes/Vertices.tsx +4 -37
  733. package/src/renderer/components/text/Glyphs.tsx +4 -39
  734. package/src/renderer/components/text/Text.tsx +4 -22
  735. package/src/renderer/components/text/TextBlob.tsx +4 -17
  736. package/src/renderer/components/text/TextPath.tsx +4 -59
  737. package/src/renderer/index.ts +0 -1
  738. package/src/renderer/processors/Animations/Animations.ts +5 -0
  739. package/src/renderer/processors/index.ts +0 -9
  740. package/src/skia/core/Data.ts +11 -2
  741. package/src/web/WithSkiaWeb.tsx +3 -1
  742. package/lib/commonjs/renderer/components/Compose.js +0 -40
  743. package/lib/commonjs/renderer/components/Compose.js.map +0 -1
  744. package/lib/commonjs/renderer/components/colorFilters/Compose.js +0 -24
  745. package/lib/commonjs/renderer/components/colorFilters/Compose.js.map +0 -1
  746. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js +0 -28
  747. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js.map +0 -1
  748. package/lib/commonjs/renderer/components/imageFilters/getInput.js +0 -33
  749. package/lib/commonjs/renderer/components/imageFilters/getInput.js.map +0 -1
  750. package/lib/commonjs/renderer/components/shaders/Gradient.js +0 -32
  751. package/lib/commonjs/renderer/components/shaders/Gradient.js.map +0 -1
  752. package/lib/commonjs/renderer/nodes/Container.js +0 -28
  753. package/lib/commonjs/renderer/nodes/Container.js.map +0 -1
  754. package/lib/commonjs/renderer/nodes/Declaration.js +0 -57
  755. package/lib/commonjs/renderer/nodes/Declaration.js.map +0 -1
  756. package/lib/commonjs/renderer/nodes/Drawing.js +0 -56
  757. package/lib/commonjs/renderer/nodes/Drawing.js.map +0 -1
  758. package/lib/commonjs/renderer/nodes/Node.js +0 -73
  759. package/lib/commonjs/renderer/nodes/Node.js.map +0 -1
  760. package/lib/commonjs/renderer/nodes/index.js +0 -58
  761. package/lib/commonjs/renderer/nodes/index.js.map +0 -1
  762. package/lib/commonjs/renderer/processors/Circles.js.map +0 -1
  763. package/lib/commonjs/renderer/processors/Clips.js +0 -24
  764. package/lib/commonjs/renderer/processors/Clips.js.map +0 -1
  765. package/lib/commonjs/renderer/processors/Font.js +0 -13
  766. package/lib/commonjs/renderer/processors/Font.js.map +0 -1
  767. package/lib/commonjs/renderer/processors/Paint.js +0 -98
  768. package/lib/commonjs/renderer/processors/Paint.js.map +0 -1
  769. package/lib/commonjs/renderer/processors/Paths.js.map +0 -1
  770. package/lib/commonjs/renderer/processors/Radius.js.map +0 -1
  771. package/lib/commonjs/renderer/processors/Rects.js.map +0 -1
  772. package/lib/commonjs/renderer/processors/Transform.js +0 -58
  773. package/lib/commonjs/renderer/processors/Transform.js.map +0 -1
  774. package/lib/module/renderer/components/Compose.js +0 -25
  775. package/lib/module/renderer/components/Compose.js.map +0 -1
  776. package/lib/module/renderer/components/colorFilters/Compose.js +0 -14
  777. package/lib/module/renderer/components/colorFilters/Compose.js.map +0 -1
  778. package/lib/module/renderer/components/imageFilters/InnerShadow.js +0 -17
  779. package/lib/module/renderer/components/imageFilters/InnerShadow.js.map +0 -1
  780. package/lib/module/renderer/components/imageFilters/getInput.js +0 -23
  781. package/lib/module/renderer/components/imageFilters/getInput.js.map +0 -1
  782. package/lib/module/renderer/components/shaders/Gradient.js +0 -20
  783. package/lib/module/renderer/components/shaders/Gradient.js.map +0 -1
  784. package/lib/module/renderer/nodes/Container.js +0 -18
  785. package/lib/module/renderer/nodes/Container.js.map +0 -1
  786. package/lib/module/renderer/nodes/Declaration.js +0 -36
  787. package/lib/module/renderer/nodes/Declaration.js.map +0 -1
  788. package/lib/module/renderer/nodes/Drawing.js +0 -37
  789. package/lib/module/renderer/nodes/Drawing.js.map +0 -1
  790. package/lib/module/renderer/nodes/Node.js +0 -63
  791. package/lib/module/renderer/nodes/Node.js.map +0 -1
  792. package/lib/module/renderer/nodes/index.js +0 -5
  793. package/lib/module/renderer/nodes/index.js.map +0 -1
  794. package/lib/module/renderer/processors/Circles.js.map +0 -1
  795. package/lib/module/renderer/processors/Clips.js +0 -13
  796. package/lib/module/renderer/processors/Clips.js.map +0 -1
  797. package/lib/module/renderer/processors/Font.js +0 -4
  798. package/lib/module/renderer/processors/Font.js.map +0 -1
  799. package/lib/module/renderer/processors/Paint.js +0 -84
  800. package/lib/module/renderer/processors/Paint.js.map +0 -1
  801. package/lib/module/renderer/processors/Paths.js.map +0 -1
  802. package/lib/module/renderer/processors/Radius.js.map +0 -1
  803. package/lib/module/renderer/processors/Rects.js.map +0 -1
  804. package/lib/module/renderer/processors/Transform.js +0 -42
  805. package/lib/module/renderer/processors/Transform.js.map +0 -1
  806. package/lib/typescript/src/renderer/components/Compose.d.ts +0 -6
  807. package/lib/typescript/src/renderer/components/colorFilters/Compose.d.ts +0 -3
  808. package/lib/typescript/src/renderer/components/imageFilters/InnerShadow.d.ts +0 -2
  809. package/lib/typescript/src/renderer/components/imageFilters/getInput.d.ts +0 -3
  810. package/lib/typescript/src/renderer/components/shaders/Gradient.d.ts +0 -17
  811. package/lib/typescript/src/renderer/nodes/Container.d.ts +0 -8
  812. package/lib/typescript/src/renderer/nodes/Declaration.d.ts +0 -22
  813. package/lib/typescript/src/renderer/nodes/Drawing.d.ts +0 -21
  814. package/lib/typescript/src/renderer/nodes/Node.d.ts +0 -24
  815. package/lib/typescript/src/renderer/nodes/index.d.ts +0 -4
  816. package/lib/typescript/src/renderer/processors/Circles.d.ts +0 -13
  817. package/lib/typescript/src/renderer/processors/Clips.d.ts +0 -4
  818. package/lib/typescript/src/renderer/processors/Font.d.ts +0 -7
  819. package/lib/typescript/src/renderer/processors/Paint.d.ts +0 -22
  820. package/lib/typescript/src/renderer/processors/Paths.d.ts +0 -4
  821. package/lib/typescript/src/renderer/processors/Radius.d.ts +0 -3
  822. package/lib/typescript/src/renderer/processors/Rects.d.ts +0 -20
  823. package/src/renderer/components/Compose.tsx +0 -26
  824. package/src/renderer/components/colorFilters/Compose.ts +0 -18
  825. package/src/renderer/components/imageFilters/InnerShadow.tsx +0 -38
  826. package/src/renderer/components/imageFilters/getInput.ts +0 -20
  827. package/src/renderer/components/shaders/Gradient.ts +0 -24
  828. package/src/renderer/nodes/Container.tsx +0 -17
  829. package/src/renderer/nodes/Declaration.tsx +0 -65
  830. package/src/renderer/nodes/Drawing.tsx +0 -65
  831. package/src/renderer/nodes/Node.ts +0 -59
  832. package/src/renderer/nodes/index.ts +0 -4
  833. package/src/renderer/processors/Clips.ts +0 -23
  834. package/src/renderer/processors/Font.ts +0 -8
  835. package/src/renderer/processors/Paint.ts +0 -118
  836. package/src/renderer/processors/Transform.ts +0 -50
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PaintNode = void 0;
7
+
8
+ var _types = require("../../skia/types");
9
+
10
+ var _types2 = require("../types");
11
+
12
+ var _datatypes = require("./datatypes");
13
+
14
+ var _Node = require("./Node");
15
+
16
+ class PaintNode extends _Node.JsiDeclarationNode {
17
+ constructor(ctx) {
18
+ let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
+ super(ctx, _types2.DeclarationType.Paint, _types2.NodeType.Paint, props);
20
+ }
21
+
22
+ materialize() {
23
+ const {
24
+ color,
25
+ strokeWidth,
26
+ blendMode,
27
+ style,
28
+ strokeJoin,
29
+ strokeCap,
30
+ strokeMiter,
31
+ opacity,
32
+ antiAlias
33
+ } = this.props;
34
+ const paint = this.Skia.Paint();
35
+
36
+ if (color !== undefined) {
37
+ paint.setColor(this.Skia.Color(color));
38
+ }
39
+
40
+ if (strokeWidth !== undefined) {
41
+ paint.setStrokeWidth(strokeWidth);
42
+ }
43
+
44
+ if (blendMode !== undefined) {
45
+ paint.setBlendMode(_types.BlendMode[(0, _datatypes.enumKey)(blendMode)]);
46
+ }
47
+
48
+ if (style !== undefined) {
49
+ paint.setStyle(_types.PaintStyle[(0, _datatypes.enumKey)(style)]);
50
+ }
51
+
52
+ if (strokeJoin !== undefined) {
53
+ paint.setStrokeJoin(_types.StrokeJoin[(0, _datatypes.enumKey)(strokeJoin)]);
54
+ }
55
+
56
+ if (strokeCap !== undefined) {
57
+ paint.setStrokeCap(_types.StrokeCap[(0, _datatypes.enumKey)(strokeCap)]);
58
+ }
59
+
60
+ if (strokeMiter !== undefined) {
61
+ paint.setStrokeMiter(strokeMiter);
62
+ }
63
+
64
+ if (opacity !== undefined) {
65
+ paint.setAlphaf(opacity);
66
+ }
67
+
68
+ if (antiAlias !== undefined) {
69
+ paint.setAntiAlias(antiAlias);
70
+ }
71
+
72
+ this._children.forEach(child => {
73
+ if (child instanceof _Node.JsiDeclarationNode) {
74
+ if (child.isShader()) {
75
+ paint.setShader(child.materialize());
76
+ } else if (child.isColorFilter()) {
77
+ paint.setColorFilter(child.materialize());
78
+ } else if (child.isImageFilter()) {
79
+ paint.setImageFilter(child.materialize());
80
+ } else if (child.isMaskFilter()) {
81
+ paint.setMaskFilter(child.materialize());
82
+ } else if (child.isPathEffect()) {
83
+ paint.setPathEffect(child.materialize());
84
+ } else {
85
+ throw new Error(`Unknown paint child ${child.type}`);
86
+ }
87
+ }
88
+ });
89
+
90
+ return paint;
91
+ }
92
+
93
+ }
94
+
95
+ exports.PaintNode = PaintNode;
96
+ //# sourceMappingURL=PaintNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["PaintNode.ts"],"names":["PaintNode","JsiDeclarationNode","constructor","ctx","props","DeclarationType","Paint","NodeType","materialize","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","opacity","antiAlias","paint","Skia","undefined","setColor","Color","setStrokeWidth","setBlendMode","BlendMode","setStyle","PaintStyle","setStrokeJoin","StrokeJoin","setStrokeCap","StrokeCap","setStrokeMiter","setAlphaf","setAntiAlias","_children","forEach","child","isShader","setShader","isColorFilter","setColorFilter","isImageFilter","setImageFilter","isMaskFilter","setMaskFilter","isPathEffect","setPathEffect","Error","type"],"mappings":"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","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"]}
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isSkPaint = exports.JsiRenderNode = void 0;
7
+
8
+ var _types = require("../../skia/types");
9
+
10
+ var _datatypes = require("./datatypes");
11
+
12
+ var _Node = require("./Node");
13
+
14
+ var _Enum = require("./datatypes/Enum");
15
+
16
+ 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; }
17
+
18
+ const paintProps = ["color", "strokeWidth", "blendMode", "strokeCap", "strokeJoin", "strokeMiter", "style", "antiAlias", "opacity"];
19
+
20
+ class JsiRenderNode extends _Node.JsiNode {
21
+ constructor(ctx, type, props) {
22
+ super(ctx, type, props);
23
+
24
+ _defineProperty(this, "paintCache", null);
25
+
26
+ _defineProperty(this, "matrix", void 0);
27
+
28
+ _defineProperty(this, "clipRect", void 0);
29
+
30
+ _defineProperty(this, "clipRRect", void 0);
31
+
32
+ _defineProperty(this, "clipPath", void 0);
33
+
34
+ this.matrix = this.Skia.Matrix();
35
+ this.onPropChange();
36
+ }
37
+
38
+ setProps(props) {
39
+ super.setProps(props);
40
+ this.onPropChange();
41
+ this.paintCache = null;
42
+ }
43
+
44
+ setProp(key, value) {
45
+ const hasChanged = super.setProp(key, value);
46
+
47
+ if (hasChanged) {
48
+ this.onPropChange();
49
+
50
+ if (paintProps.includes(key)) {
51
+ this.paintCache = null;
52
+ }
53
+ }
54
+
55
+ return hasChanged;
56
+ }
57
+
58
+ onPropChange() {
59
+ this.matrix.identity();
60
+ this.clipPath = undefined;
61
+ this.clipRect = undefined;
62
+ this.clipRRect = undefined;
63
+ this.computeMatrix();
64
+ this.computeClip();
65
+ }
66
+
67
+ addChild(child) {
68
+ if (child instanceof _Node.JsiDeclarationNode) {
69
+ child.setInvalidate(() => this.paintCache = null);
70
+ }
71
+
72
+ super.addChild(child);
73
+ }
74
+
75
+ insertChildBefore(child, before) {
76
+ if (child instanceof _Node.JsiDeclarationNode) {
77
+ child.setInvalidate(() => this.paintCache = null);
78
+ }
79
+
80
+ super.insertChildBefore(child, before);
81
+ }
82
+
83
+ computeClip() {
84
+ const {
85
+ clip
86
+ } = this.props;
87
+
88
+ if (clip) {
89
+ if ((0, _datatypes.isPathDef)(clip)) {
90
+ this.clipPath = (0, _datatypes.processPath)(this.Skia, clip);
91
+ } else if ((0, _types.isRRect)(clip)) {
92
+ this.clipRRect = clip;
93
+ } else {
94
+ this.clipRect = clip;
95
+ }
96
+ }
97
+ }
98
+
99
+ computeMatrix() {
100
+ (0, _datatypes.processTransformProps)(this.matrix, this.props);
101
+ }
102
+
103
+ getPaintCtx() {
104
+ let ctx;
105
+ const {
106
+ color,
107
+ strokeWidth,
108
+ blendMode,
109
+ style,
110
+ strokeJoin,
111
+ strokeCap,
112
+ strokeMiter,
113
+ opacity,
114
+ antiAlias
115
+ } = this.props;
116
+
117
+ if (color !== undefined || strokeWidth !== undefined || blendMode !== undefined || style !== undefined || strokeJoin !== undefined || strokeCap !== undefined || strokeMiter !== undefined || opacity !== undefined || antiAlias !== undefined) {
118
+ ctx = {};
119
+
120
+ if (color !== undefined) {
121
+ ctx.color = this.Skia.Color(color);
122
+ }
123
+
124
+ if (strokeWidth !== undefined) {
125
+ ctx.strokeWidth = strokeWidth;
126
+ }
127
+
128
+ if (blendMode !== undefined) {
129
+ ctx.blendMode = _types.BlendMode[(0, _Enum.enumKey)(blendMode)];
130
+ }
131
+
132
+ if (style !== undefined) {
133
+ ctx.style = _types.PaintStyle[(0, _Enum.enumKey)(style)];
134
+ }
135
+
136
+ if (strokeJoin !== undefined) {
137
+ ctx.strokeJoin = _types.StrokeJoin[(0, _Enum.enumKey)(strokeJoin)];
138
+ }
139
+
140
+ if (strokeCap !== undefined) {
141
+ ctx.strokeCap = _types.StrokeCap[(0, _Enum.enumKey)(strokeCap)];
142
+ }
143
+
144
+ if (strokeMiter !== undefined) {
145
+ ctx.strokeMiter = strokeMiter;
146
+ }
147
+
148
+ if (opacity !== undefined) {
149
+ ctx.opacity = opacity;
150
+ }
151
+
152
+ if (antiAlias !== undefined) {
153
+ ctx.antiAlias = antiAlias;
154
+ }
155
+ }
156
+
157
+ this._children.forEach(child => {
158
+ if (child instanceof _Node.JsiDeclarationNode) {
159
+ if (child.isColorFilter()) {
160
+ ctx = ctx || {};
161
+ const cf = child.materialize();
162
+ ctx.colorFilter = ctx.colorFilter ? this.Skia.ColorFilter.MakeCompose(cf, ctx.colorFilter) : cf;
163
+ } else if (child.isShader()) {
164
+ ctx = ctx || {};
165
+ const shader = child.materialize();
166
+ ctx.shader = shader;
167
+ } else if (child.isPathEffect()) {
168
+ ctx = ctx || {};
169
+ const pe = child.materialize();
170
+ ctx.pathEffect = ctx.pathEffect ? this.Skia.PathEffect.MakeCompose(pe, ctx.pathEffect) : pe;
171
+ } else if (child.isImageFilter()) {
172
+ ctx = ctx || {};
173
+ const filter = child.materialize();
174
+ ctx.imageFilter = ctx.imageFilter ? this.Skia.ImageFilter.MakeCompose(filter, ctx.imageFilter) : filter;
175
+ } else if (child.isMaskFilter()) {
176
+ ctx = ctx || {};
177
+ const filter = child.materialize();
178
+ ctx.maskFilter = filter;
179
+ }
180
+ }
181
+ });
182
+
183
+ return ctx;
184
+ }
185
+
186
+ render(parentCtx) {
187
+ const {
188
+ invertClip,
189
+ layer,
190
+ matrix,
191
+ transform
192
+ } = this.props;
193
+ const {
194
+ canvas
195
+ } = parentCtx;
196
+ const opacity = this.props.opacity ? parentCtx.opacity * this.props.opacity : parentCtx.opacity;
197
+
198
+ if (this.paintCache === null || this.paintCache.parent !== parentCtx.paint) {
199
+ const paintCtx = this.getPaintCtx();
200
+ const child = paintCtx ? concatPaint(parentCtx.paint, paintCtx, parentCtx.opacity) : parentCtx.paint;
201
+ this.paintCache = {
202
+ parent: parentCtx.paint,
203
+ child
204
+ };
205
+ }
206
+
207
+ const paint = this.paintCache.child; // TODO: can we only recreate a new context here if needed?
208
+
209
+ const ctx = { ...parentCtx,
210
+ opacity,
211
+ paint
212
+ };
213
+ const hasTransform = matrix !== undefined || transform !== undefined;
214
+ const hasClip = this.clipRect !== undefined;
215
+ const shouldSave = hasTransform || hasClip || !!layer;
216
+ const op = invertClip ? _types.ClipOp.Difference : _types.ClipOp.Intersect;
217
+
218
+ if (shouldSave) {
219
+ if (layer) {
220
+ if (typeof layer === "boolean") {
221
+ canvas.saveLayer();
222
+ } else if (isSkPaint(layer)) {
223
+ canvas.saveLayer(layer);
224
+ } else {
225
+ canvas.saveLayer(layer.current ? layer.current.materialize() : undefined);
226
+ }
227
+ } else {
228
+ canvas.save();
229
+ }
230
+ }
231
+
232
+ if (this.matrix) {
233
+ canvas.concat(this.matrix);
234
+ }
235
+
236
+ if (this.clipRect) {
237
+ canvas.clipRect(this.clipRect, op, true);
238
+ }
239
+
240
+ if (this.clipRRect) {
241
+ canvas.clipRRect(this.clipRRect, op, true);
242
+ }
243
+
244
+ if (this.clipPath) {
245
+ canvas.clipPath(this.clipPath, op, true);
246
+ }
247
+
248
+ this.renderNode(ctx);
249
+
250
+ if (shouldSave) {
251
+ canvas.restore();
252
+ }
253
+ }
254
+
255
+ }
256
+
257
+ exports.JsiRenderNode = JsiRenderNode;
258
+
259
+ const isSkPaint = obj => "__typename__" in obj && obj.__typename__ === "Paint";
260
+
261
+ exports.isSkPaint = isSkPaint;
262
+
263
+ const concatPaint = (parent, _ref, opacity) => {
264
+ let {
265
+ color,
266
+ strokeWidth,
267
+ shader,
268
+ antiAlias,
269
+ blendMode,
270
+ colorFilter,
271
+ imageFilter,
272
+ maskFilter,
273
+ pathEffect,
274
+ opacity: alpha,
275
+ strokeCap,
276
+ strokeJoin,
277
+ strokeMiter,
278
+ style
279
+ } = _ref;
280
+ const paint = parent.copy();
281
+
282
+ if (color !== undefined) {
283
+ paint.setShader(null);
284
+ color[3] *= opacity;
285
+ paint.setColor(color);
286
+ } else {
287
+ const cl = paint.getColor();
288
+ cl[3] *= opacity;
289
+ paint.setColor(cl);
290
+ }
291
+
292
+ if (strokeWidth !== undefined) {
293
+ paint.setStrokeWidth(strokeWidth);
294
+ }
295
+
296
+ if (shader !== undefined) {
297
+ paint.setShader(shader);
298
+ }
299
+
300
+ if (antiAlias !== undefined) {
301
+ paint.setAntiAlias(antiAlias);
302
+ }
303
+
304
+ if (blendMode !== undefined) {
305
+ paint.setBlendMode(blendMode);
306
+ }
307
+
308
+ if (colorFilter !== undefined) {
309
+ paint.setColorFilter(colorFilter);
310
+ }
311
+
312
+ if (imageFilter !== undefined) {
313
+ paint.setImageFilter(imageFilter);
314
+ }
315
+
316
+ if (maskFilter !== undefined) {
317
+ paint.setMaskFilter(maskFilter);
318
+ }
319
+
320
+ if (pathEffect !== undefined) {
321
+ paint.setPathEffect(pathEffect);
322
+ }
323
+
324
+ if (alpha !== undefined) {
325
+ paint.setAlphaf(alpha * opacity);
326
+ }
327
+
328
+ if (strokeCap !== undefined) {
329
+ paint.setStrokeCap(strokeCap);
330
+ }
331
+
332
+ if (strokeJoin !== undefined) {
333
+ paint.setStrokeJoin(strokeJoin);
334
+ }
335
+
336
+ if (strokeMiter !== undefined) {
337
+ paint.setStrokeMiter(strokeMiter);
338
+ }
339
+
340
+ if (style !== undefined) {
341
+ paint.setStyle(style);
342
+ }
343
+
344
+ return paint;
345
+ };
346
+ //# sourceMappingURL=RenderNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["RenderNode.ts"],"names":["paintProps","JsiRenderNode","JsiNode","constructor","ctx","type","props","matrix","Skia","Matrix","onPropChange","setProps","paintCache","setProp","key","value","hasChanged","includes","identity","clipPath","undefined","clipRect","clipRRect","computeMatrix","computeClip","addChild","child","JsiDeclarationNode","setInvalidate","insertChildBefore","before","clip","getPaintCtx","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","opacity","antiAlias","Color","BlendMode","PaintStyle","StrokeJoin","StrokeCap","_children","forEach","isColorFilter","cf","materialize","colorFilter","ColorFilter","MakeCompose","isShader","shader","isPathEffect","pe","pathEffect","PathEffect","isImageFilter","filter","imageFilter","ImageFilter","isMaskFilter","maskFilter","render","parentCtx","invertClip","layer","transform","canvas","parent","paint","paintCtx","concatPaint","hasTransform","hasClip","shouldSave","op","ClipOp","Difference","Intersect","saveLayer","isSkPaint","current","save","concat","renderNode","restore","obj","__typename__","alpha","copy","setShader","setColor","cl","getColor","setStrokeWidth","setAntiAlias","setBlendMode","setColorFilter","setImageFilter","setMaskFilter","setPathEffect","setAlphaf","setStrokeCap","setStrokeJoin","setStrokeMiter","setStyle"],"mappings":"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","sourcesContent":["import type { RefObject } from \"react\";\n\nimport type {\n SkMatrix,\n SkRect,\n SkRRect,\n SkPath,\n SkPaint,\n} from \"../../skia/types\";\nimport {\n StrokeCap,\n StrokeJoin,\n PaintStyle,\n BlendMode,\n ClipOp,\n isRRect,\n} from \"../../skia/types\";\nimport type {\n RenderNode,\n GroupProps,\n DrawingContext,\n NodeType,\n Node,\n DeclarationNode,\n} from \"../types\";\n\nimport { isPathDef, processPath, processTransformProps } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiNode, JsiDeclarationNode } from \"./Node\";\nimport type { PaintContext } from \"./PaintContext\";\nimport { enumKey } from \"./datatypes/Enum\";\n\nconst paintProps = [\n \"color\",\n \"strokeWidth\",\n \"blendMode\",\n \"strokeCap\",\n \"strokeJoin\",\n \"strokeMiter\",\n \"style\",\n \"antiAlias\",\n \"opacity\",\n];\n\ninterface PaintCache {\n parent: SkPaint;\n child: SkPaint;\n}\n\nexport abstract class JsiRenderNode<P extends GroupProps>\n extends JsiNode<P>\n implements RenderNode<P>\n{\n paintCache: PaintCache | null = null;\n matrix: SkMatrix;\n clipRect?: SkRect;\n clipRRect?: SkRRect;\n clipPath?: SkPath;\n\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, type, props);\n this.matrix = this.Skia.Matrix();\n this.onPropChange();\n }\n\n setProps(props: P) {\n super.setProps(props);\n this.onPropChange();\n this.paintCache = null;\n }\n\n setProp<K extends keyof P>(key: K, value: P[K]) {\n const hasChanged = super.setProp(key, value);\n if (hasChanged) {\n this.onPropChange();\n if (paintProps.includes(key as string)) {\n this.paintCache = null;\n }\n }\n return hasChanged;\n }\n\n protected onPropChange() {\n this.matrix.identity();\n this.clipPath = undefined;\n this.clipRect = undefined;\n this.clipRRect = undefined;\n this.computeMatrix();\n this.computeClip();\n }\n\n addChild(child: Node<unknown>) {\n if (child instanceof JsiDeclarationNode) {\n child.setInvalidate(() => (this.paintCache = null));\n }\n super.addChild(child);\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>) {\n if (child instanceof JsiDeclarationNode) {\n child.setInvalidate(() => (this.paintCache = null));\n }\n super.insertChildBefore(child, before);\n }\n\n private computeClip() {\n const { clip } = this.props;\n if (clip) {\n if (isPathDef(clip)) {\n this.clipPath = processPath(this.Skia, clip);\n } else if (isRRect(clip)) {\n this.clipRRect = clip;\n } else {\n this.clipRect = clip;\n }\n }\n }\n\n private computeMatrix() {\n processTransformProps(this.matrix, this.props);\n }\n\n private getPaintCtx() {\n let ctx: PaintContext | undefined;\n const {\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n opacity,\n antiAlias,\n } = this.props;\n if (\n color !== undefined ||\n strokeWidth !== undefined ||\n blendMode !== undefined ||\n style !== undefined ||\n strokeJoin !== undefined ||\n strokeCap !== undefined ||\n strokeMiter !== undefined ||\n opacity !== undefined ||\n antiAlias !== undefined\n ) {\n ctx = {};\n if (color !== undefined) {\n ctx.color = this.Skia.Color(color);\n }\n if (strokeWidth !== undefined) {\n ctx.strokeWidth = strokeWidth;\n }\n if (blendMode !== undefined) {\n ctx.blendMode = BlendMode[enumKey(blendMode)];\n }\n if (style !== undefined) {\n ctx.style = PaintStyle[enumKey(style)];\n }\n if (strokeJoin !== undefined) {\n ctx.strokeJoin = StrokeJoin[enumKey(strokeJoin)];\n }\n if (strokeCap !== undefined) {\n ctx.strokeCap = StrokeCap[enumKey(strokeCap)];\n }\n if (strokeMiter !== undefined) {\n ctx.strokeMiter = strokeMiter;\n }\n if (opacity !== undefined) {\n ctx.opacity = opacity;\n }\n if (antiAlias !== undefined) {\n ctx.antiAlias = antiAlias;\n }\n }\n this._children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n if (child.isColorFilter()) {\n ctx = ctx || {};\n const cf = child.materialize();\n ctx.colorFilter = ctx.colorFilter\n ? this.Skia.ColorFilter.MakeCompose(cf, ctx.colorFilter)\n : cf;\n } else if (child.isShader()) {\n ctx = ctx || {};\n const shader = child.materialize();\n ctx.shader = shader;\n } else if (child.isPathEffect()) {\n ctx = ctx || {};\n const pe = child.materialize();\n ctx.pathEffect = ctx.pathEffect\n ? this.Skia.PathEffect.MakeCompose(pe, ctx.pathEffect)\n : pe;\n } else if (child.isImageFilter()) {\n ctx = ctx || {};\n const filter = child.materialize();\n ctx.imageFilter = ctx.imageFilter\n ? this.Skia.ImageFilter.MakeCompose(filter, ctx.imageFilter)\n : filter;\n } else if (child.isMaskFilter()) {\n ctx = ctx || {};\n const filter = child.materialize();\n ctx.maskFilter = filter;\n }\n }\n });\n return ctx;\n }\n\n render(parentCtx: DrawingContext) {\n const { invertClip, layer, matrix, transform } = this.props;\n const { canvas } = parentCtx;\n\n const opacity = this.props.opacity\n ? parentCtx.opacity * this.props.opacity\n : parentCtx.opacity;\n\n if (\n this.paintCache === null ||\n this.paintCache.parent !== parentCtx.paint\n ) {\n const paintCtx = this.getPaintCtx();\n const child = paintCtx\n ? concatPaint(parentCtx.paint, paintCtx, parentCtx.opacity)\n : parentCtx.paint;\n this.paintCache = { parent: parentCtx.paint, child };\n }\n const paint = this.paintCache.child;\n // TODO: can we only recreate a new context here if needed?\n const ctx = { ...parentCtx, opacity, paint };\n const hasTransform = matrix !== undefined || transform !== undefined;\n const hasClip = this.clipRect !== undefined;\n const shouldSave = hasTransform || hasClip || !!layer;\n const op = invertClip ? ClipOp.Difference : ClipOp.Intersect;\n\n if (shouldSave) {\n if (layer) {\n if (typeof layer === \"boolean\") {\n canvas.saveLayer();\n } else if (isSkPaint(layer)) {\n canvas.saveLayer(layer);\n } else {\n canvas.saveLayer(\n layer.current ? layer.current.materialize() : undefined\n );\n }\n } else {\n canvas.save();\n }\n }\n\n if (this.matrix) {\n canvas.concat(this.matrix);\n }\n if (this.clipRect) {\n canvas.clipRect(this.clipRect, op, true);\n }\n if (this.clipRRect) {\n canvas.clipRRect(this.clipRRect, op, true);\n }\n if (this.clipPath) {\n canvas.clipPath(this.clipPath, op, true);\n }\n\n this.renderNode(ctx);\n\n if (shouldSave) {\n canvas.restore();\n }\n }\n\n abstract renderNode(ctx: DrawingContext): void;\n}\n\nexport const isSkPaint = (\n obj: RefObject<DeclarationNode<unknown, SkPaint>> | SkPaint\n): obj is SkPaint => \"__typename__\" in obj && obj.__typename__ === \"Paint\";\n\nconst concatPaint = (\n parent: SkPaint,\n {\n color,\n strokeWidth,\n shader,\n antiAlias,\n blendMode,\n colorFilter,\n imageFilter,\n maskFilter,\n pathEffect,\n opacity: alpha,\n strokeCap,\n strokeJoin,\n strokeMiter,\n style,\n }: PaintContext,\n opacity: number\n) => {\n const paint = parent.copy();\n if (color !== undefined) {\n paint.setShader(null);\n color[3] *= opacity;\n paint.setColor(color);\n } else {\n const cl = paint.getColor();\n cl[3] *= opacity;\n paint.setColor(cl);\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (shader !== undefined) {\n paint.setShader(shader);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(blendMode);\n }\n if (colorFilter !== undefined) {\n paint.setColorFilter(colorFilter);\n }\n if (imageFilter !== undefined) {\n paint.setImageFilter(imageFilter);\n }\n if (maskFilter !== undefined) {\n paint.setMaskFilter(maskFilter);\n }\n if (pathEffect !== undefined) {\n paint.setPathEffect(pathEffect);\n }\n if (alpha !== undefined) {\n paint.setAlphaf(alpha * opacity);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(strokeCap);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(strokeJoin);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (style !== undefined) {\n paint.setStyle(style);\n }\n return paint;\n};\n"]}
@@ -3,12 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.processCircle = void 0;
6
+ exports.processCircle = exports.isCircleScalarDef = void 0;
7
7
 
8
8
  const isCircleScalarDef = def => // We have an issue to check property existence on JSI backed instances
9
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
10
  def.cx !== undefined;
11
11
 
12
+ exports.isCircleScalarDef = isCircleScalarDef;
13
+
12
14
  const processCircle = (Skia, def) => {
13
15
  if (isCircleScalarDef(def)) {
14
16
  return {
@@ -21,4 +23,4 @@ const processCircle = (Skia, def) => {
21
23
  };
22
24
 
23
25
  exports.processCircle = processCircle;
24
- //# sourceMappingURL=Circles.js.map
26
+ //# sourceMappingURL=Circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Circle.ts"],"names":["isCircleScalarDef","def","cx","undefined","processCircle","Skia","c","Point","cy","r"],"mappings":";;;;;;;AAGO,MAAMA,iBAAiB,GAAIC,GAAD,IAC/B;AACA;AACCA,GAAD,CAAaC,EAAb,KAAoBC,SAHf;;;;AAKA,MAAMC,aAAa,GAAG,CAACC,IAAD,EAAaJ,GAAb,KAAgC;AAC3D,MAAID,iBAAiB,CAACC,GAAD,CAArB,EAA4B;AAC1B,WAAO;AAAEK,MAAAA,CAAC,EAAED,IAAI,CAACE,KAAL,CAAWN,GAAG,CAACC,EAAf,EAAmBD,GAAG,CAACO,EAAvB,CAAL;AAAiCC,MAAAA,CAAC,EAAER,GAAG,CAACQ;AAAxC,KAAP;AACD;;AACD,SAAOR,GAAP;AACD,CALM","sourcesContent":["import type { Skia } from \"../../../skia/types\";\nimport type { CircleDef, ScalarCircleDef } from \"../../types\";\n\nexport const isCircleScalarDef = (def: CircleDef): def is ScalarCircleDef =>\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (def as any).cx !== undefined;\n\nexport const processCircle = (Skia: Skia, def: CircleDef) => {\n if (isCircleScalarDef(def)) {\n return { c: Skia.Point(def.cx, def.cy), r: def.r };\n }\n return def;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Color.ts"],"names":["RED","GREEN","BLUE","ALPHA","rgbaColor","r","g","b","a","Float32Array","processColor","Skia","cl","currentOpacity","color","Color"],"mappings":";;;;;;AAEO,MAAMA,GAAG,GAAG,CAAZ;;AACA,MAAMC,KAAK,GAAG,CAAd;;AACA,MAAMC,IAAI,GAAG,CAAb;;AACA,MAAMC,KAAK,GAAG,CAAd;;;AAEA,MAAMC,SAAS,GAAG,CAACC,CAAD,EAAYC,CAAZ,EAAuBC,CAAvB,EAAkCC,CAAlC,KACvB,IAAIC,YAAJ,CAAiB,CAACJ,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CAAjB,CADK;;;;AAGA,MAAME,YAAY,GAAG,CAACC,IAAD,EAAaC,EAAb,EAAwBC,cAAxB,KAAmD;AAC7E,QAAMC,KAAK,GAAGH,IAAI,CAACI,KAAL,CAAWH,EAAX,CAAd;AACAE,EAAAA,KAAK,CAACX,KAAD,CAAL,IAAgBU,cAAhB;AACA,SAAOC,KAAP;AACD,CAJM","sourcesContent":["import type { Color, Skia } from \"../../skia/types\";\n\nexport const RED = 0;\nexport const GREEN = 1;\nexport const BLUE = 2;\nexport const ALPHA = 3;\n\nexport const rgbaColor = (r: number, g: number, b: number, a: number) =>\n new Float32Array([r, g, b, a]);\n\nexport const processColor = (Skia: Skia, cl: Color, currentOpacity: number) => {\n const color = Skia.Color(cl);\n color[ALPHA] *= currentOpacity;\n return color;\n};\n"]}
1
+ {"version":3,"sources":["Color.ts"],"names":["RED","GREEN","BLUE","ALPHA","rgbaColor","r","g","b","a","Float32Array","processColor","Skia","cl","currentOpacity","color","Color"],"mappings":";;;;;;AAEO,MAAMA,GAAG,GAAG,CAAZ;;AACA,MAAMC,KAAK,GAAG,CAAd;;AACA,MAAMC,IAAI,GAAG,CAAb;;AACA,MAAMC,KAAK,GAAG,CAAd;;;AAEA,MAAMC,SAAS,GAAG,CAACC,CAAD,EAAYC,CAAZ,EAAuBC,CAAvB,EAAkCC,CAAlC,KACvB,IAAIC,YAAJ,CAAiB,CAACJ,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAUC,CAAV,CAAjB,CADK;;;;AAGA,MAAME,YAAY,GAAG,CAACC,IAAD,EAAaC,EAAb,EAAwBC,cAAxB,KAAmD;AAC7E,QAAMC,KAAK,GAAGH,IAAI,CAACI,KAAL,CAAWH,EAAX,CAAd;AACAE,EAAAA,KAAK,CAACX,KAAD,CAAL,IAAgBU,cAAhB;AACA,SAAOC,KAAP;AACD,CAJM","sourcesContent":["import type { Color, Skia } from \"../../../skia/types\";\n\nexport const RED = 0;\nexport const GREEN = 1;\nexport const BLUE = 2;\nexport const ALPHA = 3;\n\nexport const rgbaColor = (r: number, g: number, b: number, a: number) =>\n new Float32Array([r, g, b, a]);\n\nexport const processColor = (Skia: Skia, cl: Color, currentOpacity: number) => {\n const color = Skia.Color(cl);\n color[ALPHA] *= currentOpacity;\n return color;\n};\n"]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.enumKey = void 0;
7
+
8
+ const enumKey = k => k.charAt(0).toUpperCase() + k.slice(1);
9
+
10
+ exports.enumKey = enumKey;
11
+ //# sourceMappingURL=Enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Enum.ts"],"names":["enumKey","k","charAt","toUpperCase","slice"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAsBC,CAAnB,IACpBA,CAAC,CAACC,MAAF,CAAS,CAAT,EAAYC,WAAZ,KAA4BF,CAAC,CAACG,KAAF,CAAQ,CAAR,CADxB","sourcesContent":["export const enumKey = <K extends string>(k: K) =>\n (k.charAt(0).toUpperCase() + k.slice(1)) as Capitalize<K>;\n"]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.size = exports.rect2rect = exports.fitRects = void 0;
7
7
 
8
- var _typeddash = require("../../typeddash");
8
+ var _typeddash = require("../../../renderer/typeddash");
9
9
 
10
10
  const size = function () {
11
11
  let width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
@@ -157,4 +157,4 @@ const applyBoxFit = (fit, input, output) => {
157
157
  dst
158
158
  };
159
159
  };
160
- //# sourceMappingURL=BoxFit.js.map
160
+ //# sourceMappingURL=Fitting.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["BoxFit.ts"],"names":["size","width","height","rect2rect","src","dst","scaleX","scaleY","translateX","x","translateY","y","fitRects","fit","rect","sizes","applyBoxFit","inscribe","halfWidthDelta","halfHeightDelta","input","output","Math","min","aspectRatio"],"mappings":"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","sourcesContent":["import { exhaustiveCheck } from \"../../typeddash\";\nimport type { SkRect } from \"../../../skia/types\";\n\n// https://api.flutter.dev/flutter/painting/BoxFit-class.html\nexport type Fit =\n | \"cover\"\n | \"contain\"\n | \"fill\"\n | \"fitHeight\"\n | \"fitWidth\"\n | \"none\"\n | \"scaleDown\";\n\nexport interface Size {\n width: number;\n height: number;\n}\n\nexport const size = (width = 0, height = 0) => ({ width, height });\n\nexport const rect2rect = (src: SkRect, dst: SkRect) => {\n const scaleX = dst.width / src.width;\n const scaleY = dst.height / src.height;\n const translateX = dst.x - src.x * scaleX;\n const translateY = dst.y - src.y * scaleY;\n return [{ translateX }, { translateY }, { scaleX }, { scaleY }] as const;\n};\n\nexport const fitRects = (\n fit: Fit,\n rect: SkRect,\n { x, y, width, height }: SkRect\n) => {\n const sizes = applyBoxFit(\n fit,\n { width: rect.width, height: rect.height },\n { width, height }\n );\n const src = inscribe(sizes.src, rect);\n const dst = inscribe(sizes.dst, {\n x,\n y,\n width,\n height,\n });\n return { src, dst };\n};\n\nconst inscribe = (\n { width, height }: Size,\n rect: { x: number; y: number; width: number; height: number }\n) => {\n const halfWidthDelta = (rect.width - width) / 2.0;\n const halfHeightDelta = (rect.height - height) / 2.0;\n return {\n x: rect.x + halfWidthDelta,\n y: rect.y + halfHeightDelta,\n width,\n height,\n };\n};\n\nconst applyBoxFit = (fit: Fit, input: Size, output: Size) => {\n let src = size(),\n dst = size();\n if (\n input.height <= 0.0 ||\n input.width <= 0.0 ||\n output.height <= 0.0 ||\n output.width <= 0.0\n ) {\n return { src, dst };\n }\n switch (fit) {\n case \"fill\":\n src = input;\n dst = output;\n break;\n case \"contain\":\n src = input;\n if (output.width / output.height > src.width / src.height) {\n dst = size((src.width * output.height) / src.height, output.height);\n } else {\n dst = size(output.width, (src.height * output.width) / src.width);\n }\n break;\n case \"cover\":\n if (output.width / output.height > input.width / input.height) {\n src = size(input.width, (input.width * output.height) / output.width);\n } else {\n src = size((input.height * output.width) / output.height, input.height);\n }\n dst = output;\n break;\n case \"fitWidth\":\n src = size(input.width, (input.width * output.height) / output.width);\n dst = size(output.width, (src.height * output.width) / src.width);\n break;\n case \"fitHeight\":\n src = size((input.height * output.width) / output.height, input.height);\n dst = size((src.width * output.height) / src.height, output.height);\n break;\n case \"none\":\n src = size(\n Math.min(input.width, output.width),\n Math.min(input.height, output.height)\n );\n dst = src;\n break;\n case \"scaleDown\":\n src = input;\n dst = input;\n const aspectRatio = input.width / input.height;\n if (dst.height > output.height) {\n dst = size(output.height * aspectRatio, output.height);\n }\n if (dst.width > output.width) {\n dst = size(output.width, output.width / aspectRatio);\n }\n break;\n default:\n exhaustiveCheck(fit);\n }\n return { src, dst };\n};\n"]}
1
+ {"version":3,"sources":["Fitting.ts"],"names":["size","width","height","rect2rect","src","dst","scaleX","scaleY","translateX","x","translateY","y","fitRects","fit","rect","sizes","applyBoxFit","inscribe","halfWidthDelta","halfHeightDelta","input","output","Math","min","aspectRatio"],"mappings":"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","sourcesContent":["import { exhaustiveCheck } from \"../../../renderer/typeddash\";\nimport type { SkRect } from \"../../../skia/types\";\nimport type { Fit } from \"../../types\";\n\nexport interface Size {\n width: number;\n height: number;\n}\n\nexport const size = (width = 0, height = 0) => ({ width, height });\n\nexport const rect2rect = (src: SkRect, dst: SkRect) => {\n const scaleX = dst.width / src.width;\n const scaleY = dst.height / src.height;\n const translateX = dst.x - src.x * scaleX;\n const translateY = dst.y - src.y * scaleY;\n return [{ translateX }, { translateY }, { scaleX }, { scaleY }] as const;\n};\n\nexport const fitRects = (\n fit: Fit,\n rect: SkRect,\n { x, y, width, height }: SkRect\n) => {\n const sizes = applyBoxFit(\n fit,\n { width: rect.width, height: rect.height },\n { width, height }\n );\n const src = inscribe(sizes.src, rect);\n const dst = inscribe(sizes.dst, {\n x,\n y,\n width,\n height,\n });\n return { src, dst };\n};\n\nconst inscribe = (\n { width, height }: Size,\n rect: { x: number; y: number; width: number; height: number }\n) => {\n const halfWidthDelta = (rect.width - width) / 2.0;\n const halfHeightDelta = (rect.height - height) / 2.0;\n return {\n x: rect.x + halfWidthDelta,\n y: rect.y + halfHeightDelta,\n width,\n height,\n };\n};\n\nconst applyBoxFit = (fit: Fit, input: Size, output: Size) => {\n let src = size(),\n dst = size();\n if (\n input.height <= 0.0 ||\n input.width <= 0.0 ||\n output.height <= 0.0 ||\n output.width <= 0.0\n ) {\n return { src, dst };\n }\n switch (fit) {\n case \"fill\":\n src = input;\n dst = output;\n break;\n case \"contain\":\n src = input;\n if (output.width / output.height > src.width / src.height) {\n dst = size((src.width * output.height) / src.height, output.height);\n } else {\n dst = size(output.width, (src.height * output.width) / src.width);\n }\n break;\n case \"cover\":\n if (output.width / output.height > input.width / input.height) {\n src = size(input.width, (input.width * output.height) / output.width);\n } else {\n src = size((input.height * output.width) / output.height, input.height);\n }\n dst = output;\n break;\n case \"fitWidth\":\n src = size(input.width, (input.width * output.height) / output.width);\n dst = size(output.width, (src.height * output.width) / src.width);\n break;\n case \"fitHeight\":\n src = size((input.height * output.width) / output.height, input.height);\n dst = size((src.width * output.height) / src.height, output.height);\n break;\n case \"none\":\n src = size(\n Math.min(input.width, output.width),\n Math.min(input.height, output.height)\n );\n dst = src;\n break;\n case \"scaleDown\":\n src = input;\n dst = input;\n const aspectRatio = input.width / input.height;\n if (dst.height > output.height) {\n dst = size(output.height * aspectRatio, output.height);\n }\n if (dst.width > output.width) {\n dst = size(output.width, output.width / aspectRatio);\n }\n break;\n default:\n exhaustiveCheck(fit);\n }\n return { src, dst };\n};\n"]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformOrigin = exports.processGradientProps = exports.getRect = void 0;
7
+
8
+ var _types = require("../../../skia/types");
9
+
10
+ var _Enum = require("./Enum");
11
+
12
+ var _Transform = require("./Transform");
13
+
14
+ const transformOrigin = (origin, transform) => [{
15
+ translateX: origin.x
16
+ }, {
17
+ translateY: origin.y
18
+ }, ...transform, {
19
+ translateX: -origin.x
20
+ }, {
21
+ translateY: -origin.y
22
+ }];
23
+
24
+ exports.transformOrigin = transformOrigin;
25
+
26
+ const processGradientProps = (Skia, _ref) => {
27
+ let {
28
+ colors,
29
+ positions,
30
+ mode,
31
+ flags,
32
+ ...transform
33
+ } = _ref;
34
+ const localMatrix = Skia.Matrix();
35
+ (0, _Transform.processTransformProps)(localMatrix, transform);
36
+ return {
37
+ colors: colors.map(color => Skia.Color(color)),
38
+ positions: positions !== null && positions !== void 0 ? positions : null,
39
+ mode: _types.TileMode[(0, _Enum.enumKey)(mode !== null && mode !== void 0 ? mode : "clamp")],
40
+ flags,
41
+ localMatrix
42
+ };
43
+ };
44
+
45
+ exports.processGradientProps = processGradientProps;
46
+
47
+ const getRect = (Skia, props) => {
48
+ const {
49
+ x,
50
+ y,
51
+ width,
52
+ height
53
+ } = props;
54
+
55
+ if (props.rect) {
56
+ return props.rect;
57
+ } else if (x !== undefined && y !== undefined && width !== undefined && height !== undefined) {
58
+ return Skia.XYWHRect(x, y, width, height);
59
+ } else {
60
+ return undefined;
61
+ }
62
+ };
63
+
64
+ exports.getRect = getRect;
65
+ //# sourceMappingURL=Gradient.js.map