@shopify/react-native-skia 0.1.236 → 0.1.237

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. package/cpp/api/JsiSkApi.h +2 -0
  2. package/cpp/api/JsiSkCanvas.h +36 -0
  3. package/cpp/api/JsiSkRSXform.h +35 -7
  4. package/cpp/rnskia/dom/JsiDomApi.h +2 -0
  5. package/cpp/rnskia/dom/nodes/JsiAtlasNode.h +60 -0
  6. package/cpp/rnskia/dom/props/RSXformProp.h +52 -0
  7. package/cpp/rnskia/dom/props/RectProp.h +31 -0
  8. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +2 -1
  9. package/lib/commonjs/dom/nodes/JsiSkDOM.js +4 -0
  10. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  11. package/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +8 -0
  12. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js +47 -0
  13. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js.map +1 -0
  14. package/lib/commonjs/dom/nodes/drawings/index.d.ts +1 -0
  15. package/lib/commonjs/dom/nodes/drawings/index.js +13 -0
  16. package/lib/commonjs/dom/nodes/drawings/index.js.map +1 -1
  17. package/lib/commonjs/dom/types/Drawings.d.ts +7 -1
  18. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  19. package/lib/commonjs/dom/types/NodeType.d.ts +1 -0
  20. package/lib/commonjs/dom/types/NodeType.js +1 -0
  21. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  22. package/lib/commonjs/dom/types/SkDOM.d.ts +2 -1
  23. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  24. package/lib/commonjs/external/reanimated/buffers.d.ts +5 -0
  25. package/lib/commonjs/external/reanimated/buffers.js +48 -0
  26. package/lib/commonjs/external/reanimated/buffers.js.map +1 -0
  27. package/lib/commonjs/external/reanimated/index.d.ts +1 -0
  28. package/lib/commonjs/external/reanimated/index.js +13 -0
  29. package/lib/commonjs/external/reanimated/index.js.map +1 -1
  30. package/lib/commonjs/external/reanimated/textures.js +3 -17
  31. package/lib/commonjs/external/reanimated/textures.js.map +1 -1
  32. package/lib/commonjs/external/reanimated/useAnimatedImageValue.js +8 -1
  33. package/lib/commonjs/external/reanimated/useAnimatedImageValue.js.map +1 -1
  34. package/lib/commonjs/mock/index.js +5 -0
  35. package/lib/commonjs/mock/index.js.map +1 -1
  36. package/lib/commonjs/renderer/HostComponents.d.ts +3 -1
  37. package/lib/commonjs/renderer/HostComponents.js +3 -0
  38. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  39. package/lib/commonjs/renderer/Offscreen.d.ts +4 -2
  40. package/lib/commonjs/renderer/Offscreen.js +23 -18
  41. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  42. package/lib/commonjs/renderer/components/shapes/Atlas.d.ts +4 -0
  43. package/lib/commonjs/renderer/components/shapes/Atlas.js +17 -0
  44. package/lib/commonjs/renderer/components/shapes/Atlas.js.map +1 -0
  45. package/lib/commonjs/renderer/components/shapes/index.d.ts +1 -0
  46. package/lib/commonjs/renderer/components/shapes/index.js +13 -0
  47. package/lib/commonjs/renderer/components/shapes/index.js.map +1 -1
  48. package/lib/commonjs/skia/core/AnimatedImage.d.ts +1 -1
  49. package/lib/commonjs/skia/core/AnimatedImage.js +4 -1
  50. package/lib/commonjs/skia/core/AnimatedImage.js.map +1 -1
  51. package/lib/commonjs/skia/core/Data.d.ts +1 -1
  52. package/lib/commonjs/skia/core/Data.js +11 -4
  53. package/lib/commonjs/skia/core/Data.js.map +1 -1
  54. package/lib/commonjs/skia/core/Rect.d.ts +2 -2
  55. package/lib/commonjs/skia/types/Canvas.d.ts +16 -1
  56. package/lib/commonjs/skia/types/Canvas.js.map +1 -1
  57. package/lib/commonjs/skia/types/Image/Image.d.ts +8 -0
  58. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  59. package/lib/commonjs/skia/types/RSXform.d.ts +7 -1
  60. package/lib/commonjs/skia/types/RSXform.js.map +1 -1
  61. package/lib/commonjs/skia/types/Rect.d.ts +4 -0
  62. package/lib/commonjs/skia/types/Rect.js.map +1 -1
  63. package/lib/commonjs/skia/types/Skia.d.ts +3 -2
  64. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  65. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +2 -1
  66. package/lib/commonjs/skia/web/JsiSkCanvas.js +19 -0
  67. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  68. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +8 -2
  69. package/lib/commonjs/skia/web/JsiSkRSXform.js +33 -2
  70. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  71. package/lib/commonjs/skia/web/JsiSkRect.d.ts +3 -2
  72. package/lib/commonjs/skia/web/JsiSkRect.js +7 -0
  73. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  74. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js +2 -1
  75. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  76. package/lib/commonjs/skia/web/JsiSkia.js +5 -0
  77. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  78. package/lib/module/dom/nodes/JsiSkDOM.d.ts +2 -1
  79. package/lib/module/dom/nodes/JsiSkDOM.js +5 -1
  80. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  81. package/lib/module/dom/nodes/drawings/AtlasNode.d.ts +8 -0
  82. package/lib/module/dom/nodes/drawings/AtlasNode.js +34 -0
  83. package/lib/module/dom/nodes/drawings/AtlasNode.js.map +1 -0
  84. package/lib/module/dom/nodes/drawings/index.d.ts +1 -0
  85. package/lib/module/dom/nodes/drawings/index.js +1 -0
  86. package/lib/module/dom/nodes/drawings/index.js.map +1 -1
  87. package/lib/module/dom/types/Drawings.d.ts +7 -1
  88. package/lib/module/dom/types/Drawings.js.map +1 -1
  89. package/lib/module/dom/types/NodeType.d.ts +1 -0
  90. package/lib/module/dom/types/NodeType.js +1 -0
  91. package/lib/module/dom/types/NodeType.js.map +1 -1
  92. package/lib/module/dom/types/SkDOM.d.ts +2 -1
  93. package/lib/module/dom/types/SkDOM.js.map +1 -1
  94. package/lib/module/external/reanimated/buffers.d.ts +5 -0
  95. package/lib/module/external/reanimated/buffers.js +27 -0
  96. package/lib/module/external/reanimated/buffers.js.map +1 -0
  97. package/lib/module/external/reanimated/index.d.ts +1 -0
  98. package/lib/module/external/reanimated/index.js +1 -0
  99. package/lib/module/external/reanimated/index.js.map +1 -1
  100. package/lib/module/external/reanimated/textures.js +5 -16
  101. package/lib/module/external/reanimated/textures.js.map +1 -1
  102. package/lib/module/external/reanimated/useAnimatedImageValue.js +7 -1
  103. package/lib/module/external/reanimated/useAnimatedImageValue.js.map +1 -1
  104. package/lib/module/mock/index.js +5 -0
  105. package/lib/module/mock/index.js.map +1 -1
  106. package/lib/module/renderer/HostComponents.d.ts +3 -1
  107. package/lib/module/renderer/HostComponents.js +3 -0
  108. package/lib/module/renderer/HostComponents.js.map +1 -1
  109. package/lib/module/renderer/Offscreen.d.ts +4 -2
  110. package/lib/module/renderer/Offscreen.js +15 -13
  111. package/lib/module/renderer/Offscreen.js.map +1 -1
  112. package/lib/module/renderer/components/shapes/Atlas.d.ts +4 -0
  113. package/lib/module/renderer/components/shapes/Atlas.js +5 -0
  114. package/lib/module/renderer/components/shapes/Atlas.js.map +1 -0
  115. package/lib/module/renderer/components/shapes/index.d.ts +1 -0
  116. package/lib/module/renderer/components/shapes/index.js +1 -0
  117. package/lib/module/renderer/components/shapes/index.js.map +1 -1
  118. package/lib/module/skia/core/AnimatedImage.d.ts +1 -1
  119. package/lib/module/skia/core/AnimatedImage.js +4 -1
  120. package/lib/module/skia/core/AnimatedImage.js.map +1 -1
  121. package/lib/module/skia/core/Data.d.ts +1 -1
  122. package/lib/module/skia/core/Data.js +11 -4
  123. package/lib/module/skia/core/Data.js.map +1 -1
  124. package/lib/module/skia/core/Rect.d.ts +2 -2
  125. package/lib/module/skia/types/Canvas.d.ts +16 -1
  126. package/lib/module/skia/types/Canvas.js.map +1 -1
  127. package/lib/module/skia/types/Image/Image.d.ts +8 -0
  128. package/lib/module/skia/types/Image/Image.js.map +1 -1
  129. package/lib/module/skia/types/RSXform.d.ts +7 -1
  130. package/lib/module/skia/types/RSXform.js.map +1 -1
  131. package/lib/module/skia/types/Rect.d.ts +4 -0
  132. package/lib/module/skia/types/Rect.js.map +1 -1
  133. package/lib/module/skia/types/Skia.d.ts +3 -2
  134. package/lib/module/skia/types/Skia.js.map +1 -1
  135. package/lib/module/skia/web/JsiSkCanvas.d.ts +2 -1
  136. package/lib/module/skia/web/JsiSkCanvas.js +18 -0
  137. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  138. package/lib/module/skia/web/JsiSkRSXform.d.ts +8 -2
  139. package/lib/module/skia/web/JsiSkRSXform.js +34 -3
  140. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  141. package/lib/module/skia/web/JsiSkRect.d.ts +3 -2
  142. package/lib/module/skia/web/JsiSkRect.js +7 -0
  143. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  144. package/lib/module/skia/web/JsiSkTextBlobFactory.js +2 -1
  145. package/lib/module/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  146. package/lib/module/skia/web/JsiSkia.js +5 -0
  147. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  148. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +2 -1
  149. package/lib/typescript/src/dom/nodes/drawings/AtlasNode.d.ts +8 -0
  150. package/lib/typescript/src/dom/nodes/drawings/index.d.ts +1 -0
  151. package/lib/typescript/src/dom/types/Drawings.d.ts +7 -1
  152. package/lib/typescript/src/dom/types/NodeType.d.ts +1 -0
  153. package/lib/typescript/src/dom/types/SkDOM.d.ts +2 -1
  154. package/lib/typescript/src/external/reanimated/buffers.d.ts +5 -0
  155. package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
  156. package/lib/typescript/src/renderer/HostComponents.d.ts +3 -1
  157. package/lib/typescript/src/renderer/Offscreen.d.ts +4 -2
  158. package/lib/typescript/src/renderer/components/shapes/Atlas.d.ts +4 -0
  159. package/lib/typescript/src/renderer/components/shapes/index.d.ts +1 -0
  160. package/lib/typescript/src/skia/core/AnimatedImage.d.ts +1 -1
  161. package/lib/typescript/src/skia/core/Data.d.ts +1 -1
  162. package/lib/typescript/src/skia/core/Rect.d.ts +2 -2
  163. package/lib/typescript/src/skia/types/Canvas.d.ts +16 -1
  164. package/lib/typescript/src/skia/types/Image/Image.d.ts +8 -0
  165. package/lib/typescript/src/skia/types/RSXform.d.ts +7 -1
  166. package/lib/typescript/src/skia/types/Rect.d.ts +4 -0
  167. package/lib/typescript/src/skia/types/Skia.d.ts +3 -2
  168. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +2 -1
  169. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +8 -2
  170. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +3 -2
  171. package/package.json +1 -1
  172. package/src/dom/nodes/JsiSkDOM.ts +8 -0
  173. package/src/dom/nodes/drawings/AtlasNode.ts +24 -0
  174. package/src/dom/nodes/drawings/index.ts +1 -0
  175. package/src/dom/types/Drawings.ts +9 -0
  176. package/src/dom/types/NodeType.ts +1 -0
  177. package/src/dom/types/SkDOM.ts +2 -0
  178. package/src/external/reanimated/buffers.ts +53 -0
  179. package/src/external/reanimated/index.ts +1 -0
  180. package/src/external/reanimated/textures.tsx +7 -19
  181. package/src/external/reanimated/useAnimatedImageValue.ts +15 -4
  182. package/src/mock/index.ts +5 -0
  183. package/src/renderer/HostComponents.ts +6 -1
  184. package/src/renderer/Offscreen.tsx +20 -16
  185. package/src/renderer/components/shapes/Atlas.tsx +8 -0
  186. package/src/renderer/components/shapes/index.ts +1 -0
  187. package/src/skia/core/AnimatedImage.ts +3 -2
  188. package/src/skia/core/Data.ts +8 -4
  189. package/src/skia/types/Canvas.ts +32 -1
  190. package/src/skia/types/Image/Image.ts +10 -0
  191. package/src/skia/types/RSXform.ts +7 -1
  192. package/src/skia/types/Rect.ts +6 -0
  193. package/src/skia/types/Skia.ts +10 -2
  194. package/src/skia/web/JsiSkCanvas.ts +60 -23
  195. package/src/skia/web/JsiSkRSXform.ts +28 -4
  196. package/src/skia/web/JsiSkRect.ts +12 -2
  197. package/src/skia/web/JsiSkTextBlobFactory.ts +5 -5
  198. package/src/skia/web/JsiSkia.ts +15 -0
@@ -1 +1 @@
1
- {"version":3,"names":["NodeType","DeclarationType"],"sources":["NodeType.ts"],"sourcesContent":["export const enum NodeType {\n // Shaders\n Layer = \"skLayer\",\n Shader = \"skShader\",\n ImageShader = \"skImageShader\",\n ColorShader = \"skColorShader\",\n Turbulence = \"skTurbulence\",\n FractalNoise = \"skFractalNoise\",\n LinearGradient = \"skLinearGradient\",\n RadialGradient = \"skRadialGradient\",\n SweepGradient = \"skSweepGradient\",\n TwoPointConicalGradient = \"skTwoPointConicalGradient\",\n\n // Mask Filters\n BlurMaskFilter = \"skBlurMaskFilter\",\n\n // Path Effects\n DiscretePathEffect = \"skDiscretePathEffect\",\n DashPathEffect = \"skDashPathEffect\",\n Path1DPathEffect = \"skPath1DPathEffect\",\n Path2DPathEffect = \"skPath2DPathEffect\",\n CornerPathEffect = \"skCornerPathEffect\",\n SumPathEffect = \"skSumPathEffect\",\n Line2DPathEffect = \"skLine2DPathEffect\",\n\n // Color Filters\n MatrixColorFilter = \"skMatrixColorFilter\",\n BlendColorFilter = \"skBlendColorFilter\",\n LinearToSRGBGammaColorFilter = \"skLinearToSRGBGammaColorFilter\",\n SRGBToLinearGammaColorFilter = \"skSRGBToLinearGammaColorFilter\",\n LumaColorFilter = \"skLumaColorFilter\",\n LerpColorFilter = \"skLerpColorFilter\",\n\n // Image Filters\n OffsetImageFilter = \"skOffsetImageFilter\",\n DisplacementMapImageFilter = \"skDisplacementMapImageFilter\",\n BlurImageFilter = \"skBlurImageFilter\",\n DropShadowImageFilter = \"skDropShadowImageFilter\",\n MorphologyImageFilter = \"skMorphologyImageFilter\",\n BlendImageFilter = \"skBlendImageFilter\",\n RuntimeShaderImageFilter = \"skRuntimeShaderImageFilter\",\n\n // Mixed\n Blend = \"skBlend\",\n BackdropFilter = \"skBackdropFilter\",\n Box = \"skBox\",\n BoxShadow = \"skBoxShadow\",\n\n // Drawings\n Group = \"skGroup\",\n Paint = \"skPaint\",\n Circle = \"skCircle\",\n Fill = \"skFill\",\n Image = \"skImage\",\n Points = \"skPoints\",\n Path = \"skPath\",\n Rect = \"skRect\",\n RRect = \"skRRect\",\n Oval = \"skOval\",\n Line = \"skLine\",\n Patch = \"skPatch\",\n Vertices = \"skVertices\",\n DiffRect = \"skDiffRect\",\n Text = \"skText\",\n TextPath = \"skTextPath\",\n TextBlob = \"skTextBlob\",\n Glyphs = \"skGlyphs\",\n Picture = \"skPicture\",\n ImageSVG = \"skImageSVG\",\n\n // Paragraph\n Paragraph = \"skParagraph\",\n}\n\nexport const enum DeclarationType {\n Paint,\n Shader,\n ImageFilter,\n ColorFilter,\n PathEffect,\n MaskFilter,\n Unknown,\n}\n"],"mappings":";;;;;;IAAkBA,Q;;;WAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;GAAAA,Q,wBAAAA,Q;;IA0EAC,e;;;WAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;GAAAA,e,+BAAAA,e"}
1
+ {"version":3,"names":["NodeType","DeclarationType"],"sources":["NodeType.ts"],"sourcesContent":["export const enum NodeType {\n // Shaders\n Layer = \"skLayer\",\n Shader = \"skShader\",\n ImageShader = \"skImageShader\",\n ColorShader = \"skColorShader\",\n Turbulence = \"skTurbulence\",\n FractalNoise = \"skFractalNoise\",\n LinearGradient = \"skLinearGradient\",\n RadialGradient = \"skRadialGradient\",\n SweepGradient = \"skSweepGradient\",\n TwoPointConicalGradient = \"skTwoPointConicalGradient\",\n\n // Mask Filters\n BlurMaskFilter = \"skBlurMaskFilter\",\n\n // Path Effects\n DiscretePathEffect = \"skDiscretePathEffect\",\n DashPathEffect = \"skDashPathEffect\",\n Path1DPathEffect = \"skPath1DPathEffect\",\n Path2DPathEffect = \"skPath2DPathEffect\",\n CornerPathEffect = \"skCornerPathEffect\",\n SumPathEffect = \"skSumPathEffect\",\n Line2DPathEffect = \"skLine2DPathEffect\",\n\n // Color Filters\n MatrixColorFilter = \"skMatrixColorFilter\",\n BlendColorFilter = \"skBlendColorFilter\",\n LinearToSRGBGammaColorFilter = \"skLinearToSRGBGammaColorFilter\",\n SRGBToLinearGammaColorFilter = \"skSRGBToLinearGammaColorFilter\",\n LumaColorFilter = \"skLumaColorFilter\",\n LerpColorFilter = \"skLerpColorFilter\",\n\n // Image Filters\n OffsetImageFilter = \"skOffsetImageFilter\",\n DisplacementMapImageFilter = \"skDisplacementMapImageFilter\",\n BlurImageFilter = \"skBlurImageFilter\",\n DropShadowImageFilter = \"skDropShadowImageFilter\",\n MorphologyImageFilter = \"skMorphologyImageFilter\",\n BlendImageFilter = \"skBlendImageFilter\",\n RuntimeShaderImageFilter = \"skRuntimeShaderImageFilter\",\n\n // Mixed\n Blend = \"skBlend\",\n BackdropFilter = \"skBackdropFilter\",\n Box = \"skBox\",\n BoxShadow = \"skBoxShadow\",\n\n // Drawings\n Group = \"skGroup\",\n Paint = \"skPaint\",\n Circle = \"skCircle\",\n Fill = \"skFill\",\n Image = \"skImage\",\n Points = \"skPoints\",\n Path = \"skPath\",\n Rect = \"skRect\",\n RRect = \"skRRect\",\n Oval = \"skOval\",\n Line = \"skLine\",\n Patch = \"skPatch\",\n Vertices = \"skVertices\",\n DiffRect = \"skDiffRect\",\n Text = \"skText\",\n TextPath = \"skTextPath\",\n TextBlob = \"skTextBlob\",\n Glyphs = \"skGlyphs\",\n Picture = \"skPicture\",\n ImageSVG = \"skImageSVG\",\n Atlas = \"skAtlas\",\n\n // Paragraph\n Paragraph = \"skParagraph\",\n}\n\nexport const enum DeclarationType {\n Paint,\n Shader,\n ImageFilter,\n ColorFilter,\n PathEffect,\n MaskFilter,\n Unknown,\n}\n"],"mappings":";;;;;;IAAkBA,Q;;;WAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;GAAAA,Q,wBAAAA,Q;;IA2EAC,e;;;WAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;GAAAA,e,+BAAAA,e"}
@@ -2,7 +2,7 @@ import type { ChildrenProps, GroupProps, PaintProps } from "./Common";
2
2
  import type { BlendImageFilterProps, BlurImageFilterProps, DropShadowImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps, DisplacementMapImageFilterProps, MorphologyImageFilterProps, BlendProps } from "./ImageFilters";
3
3
  import type { DeclarationNode, RenderNode } from "./Node";
4
4
  import type { BlendColorFilterProps, MatrixColorFilterProps, LerpColorFilterProps } from "./ColorFilters";
5
- import type { ImageProps, CircleProps, PathProps, LineProps, OvalProps, PatchProps, PointsProps, RectProps, RoundedRectProps, VerticesProps, TextProps, DiffRectProps, TextPathProps, TextBlobProps, GlyphsProps, PictureProps, ImageSVGProps, DrawingNodeProps, BoxProps, BoxShadowProps } from "./Drawings";
5
+ import type { ImageProps, CircleProps, PathProps, LineProps, OvalProps, PatchProps, PointsProps, RectProps, RoundedRectProps, VerticesProps, TextProps, DiffRectProps, TextPathProps, TextBlobProps, GlyphsProps, PictureProps, ImageSVGProps, DrawingNodeProps, BoxProps, BoxShadowProps, AtlasProps } from "./Drawings";
6
6
  import type { BlurMaskFilterProps } from "./MaskFilters";
7
7
  import type { FractalNoiseProps, SweepGradientProps, ImageShaderProps, LinearGradientProps, ShaderProps, TurbulenceProps, TwoPointConicalGradientProps, RadialGradientProps, ColorProps } from "./Shaders";
8
8
  import type { CornerPathEffectProps, DashPathEffectProps, DiscretePathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps } from "./PathEffects";
@@ -33,6 +33,7 @@ export interface SkDOM {
33
33
  DiffRect(props: DiffRectProps): DrawingNode<DiffRectProps>;
34
34
  Picture(props: PictureProps): DrawingNode<PictureProps>;
35
35
  ImageSVG(props: ImageSVGProps): DrawingNode<ImageSVGProps>;
36
+ Atlas(props: AtlasProps): DrawingNode<AtlasProps>;
36
37
  BlurMaskFilter(props: BlurMaskFilterProps): DeclarationNode<BlurMaskFilterProps>;
37
38
  BlendImageFilter(props: BlendImageFilterProps): ImageFilterNode<BlendImageFilterProps>;
38
39
  BlurImageFilter(props: BlurImageFilterProps): ImageFilterNode<BlurImageFilterProps>;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["SkDOM.ts"],"sourcesContent":["import type { ChildrenProps, GroupProps, PaintProps } from \"./Common\";\nimport type {\n BlendImageFilterProps,\n BlurImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n DisplacementMapImageFilterProps,\n MorphologyImageFilterProps,\n BlendProps,\n} from \"./ImageFilters\";\nimport type { DeclarationNode, RenderNode } from \"./Node\";\nimport type {\n BlendColorFilterProps,\n MatrixColorFilterProps,\n LerpColorFilterProps,\n} from \"./ColorFilters\";\nimport type {\n ImageProps,\n CircleProps,\n PathProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n PictureProps,\n ImageSVGProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n} from \"./Drawings\";\nimport type { BlurMaskFilterProps } from \"./MaskFilters\";\nimport type {\n FractalNoiseProps,\n SweepGradientProps,\n ImageShaderProps,\n LinearGradientProps,\n ShaderProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n RadialGradientProps,\n ColorProps,\n} from \"./Shaders\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"./PathEffects\";\nimport type { ParagraphProps } from \"./Paragraph\";\n\ntype ImageFilterNode<P> = DeclarationNode<P>;\n\ntype PathEffectNode<P> = DeclarationNode<P>;\ntype NullablePathEffectNode<P> = DeclarationNode<P>;\n\ntype DrawingNode<P extends GroupProps> = RenderNode<P>;\n\nexport interface SkDOM {\n Layer(props?: ChildrenProps): RenderNode<ChildrenProps>;\n Group(props?: GroupProps): RenderNode<GroupProps>;\n Paint(props: PaintProps): DeclarationNode<PaintProps>;\n\n // Drawings\n Fill(props?: DrawingNodeProps): DrawingNode<DrawingNodeProps>;\n Image(props: ImageProps): DrawingNode<ImageProps>;\n Circle(props: CircleProps): DrawingNode<CircleProps>;\n Path(props: PathProps): DrawingNode<PathProps>;\n Line(props: LineProps): DrawingNode<LineProps>;\n Oval(props: OvalProps): DrawingNode<OvalProps>;\n Patch(props: PatchProps): DrawingNode<PatchProps>;\n Points(props: PointsProps): DrawingNode<PointsProps>;\n Rect(props: RectProps): DrawingNode<RectProps>;\n RRect(props: RoundedRectProps): DrawingNode<RoundedRectProps>;\n Vertices(props: VerticesProps): DrawingNode<VerticesProps>;\n Text(props: TextProps): DrawingNode<TextProps>;\n TextPath(props: TextPathProps): DrawingNode<TextPathProps>;\n TextBlob(props: TextBlobProps): DrawingNode<TextBlobProps>;\n Glyphs(props: GlyphsProps): DrawingNode<GlyphsProps>;\n DiffRect(props: DiffRectProps): DrawingNode<DiffRectProps>;\n Picture(props: PictureProps): DrawingNode<PictureProps>;\n ImageSVG(props: ImageSVGProps): DrawingNode<ImageSVGProps>;\n\n // BlurMaskFilters\n BlurMaskFilter(\n props: BlurMaskFilterProps\n ): DeclarationNode<BlurMaskFilterProps>;\n\n // ImageFilters\n BlendImageFilter(\n props: BlendImageFilterProps\n ): ImageFilterNode<BlendImageFilterProps>;\n BlurImageFilter(\n props: BlurImageFilterProps\n ): ImageFilterNode<BlurImageFilterProps>;\n OffsetImageFilter(\n props: OffsetImageFilterProps\n ): ImageFilterNode<OffsetImageFilterProps>;\n DropShadowImageFilter(\n props: DropShadowImageFilterProps\n ): ImageFilterNode<DropShadowImageFilterProps>;\n MorphologyImageFilter(\n props: MorphologyImageFilterProps\n ): ImageFilterNode<MorphologyImageFilterProps>;\n DisplacementMapImageFilter(\n props: DisplacementMapImageFilterProps\n ): ImageFilterNode<DisplacementMapImageFilterProps>;\n RuntimeShaderImageFilter(\n props: RuntimeShaderImageFilterProps\n ): ImageFilterNode<RuntimeShaderImageFilterProps>;\n\n // ColorFilters\n MatrixColorFilter(\n props: MatrixColorFilterProps\n ): DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilter(\n props: BlendColorFilterProps\n ): DeclarationNode<BlendColorFilterProps>;\n LumaColorFilter(): DeclarationNode<null>;\n LinearToSRGBGammaColorFilter(): DeclarationNode<null>;\n SRGBToLinearGammaColorFilter(): DeclarationNode<null>;\n LerpColorFilter(\n props: LerpColorFilterProps\n ): DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n Shader(props: ShaderProps): DeclarationNode<ShaderProps>;\n ImageShader(props: ImageShaderProps): DeclarationNode<ImageShaderProps>;\n ColorShader(props: ColorProps): DeclarationNode<ColorProps>;\n Turbulence(props: TurbulenceProps): DeclarationNode<TurbulenceProps>;\n FractalNoise(props: FractalNoiseProps): DeclarationNode<FractalNoiseProps>;\n LinearGradient(\n props: LinearGradientProps\n ): DeclarationNode<LinearGradientProps>;\n RadialGradient(\n props: RadialGradientProps\n ): DeclarationNode<RadialGradientProps>;\n SweepGradient(props: SweepGradientProps): DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradient(\n props: TwoPointConicalGradientProps\n ): DeclarationNode<TwoPointConicalGradientProps>;\n\n // Path Effects\n CornerPathEffect(\n props: CornerPathEffectProps\n ): NullablePathEffectNode<CornerPathEffectProps>;\n DiscretePathEffect(\n props: DiscretePathEffectProps\n ): PathEffectNode<DiscretePathEffectProps>;\n DashPathEffect(\n props: DashPathEffectProps\n ): PathEffectNode<DashPathEffectProps>;\n Path1DPathEffect(\n props: Path1DPathEffectProps\n ): NullablePathEffectNode<Path1DPathEffectProps>;\n Path2DPathEffect(\n props: Path2DPathEffectProps\n ): NullablePathEffectNode<Path2DPathEffectProps>;\n SumPathEffect(): NullablePathEffectNode<null>;\n Line2DPathEffect(\n props: Line2DPathEffectProps\n ): NullablePathEffectNode<Line2DPathEffectProps>;\n\n // Mixed\n Blend(props: BlendProps): DeclarationNode<BlendProps>;\n BackdropFilter(props: ChildrenProps): RenderNode<ChildrenProps>;\n Box(props: BoxProps): RenderNode<BoxProps>;\n BoxShadow(props: BoxShadowProps): DeclarationNode<BoxShadowProps>;\n\n // Paragraph\n Paragraph(props: ParagraphProps): RenderNode<ParagraphProps>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["SkDOM.ts"],"sourcesContent":["import type { ChildrenProps, GroupProps, PaintProps } from \"./Common\";\nimport type {\n BlendImageFilterProps,\n BlurImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n DisplacementMapImageFilterProps,\n MorphologyImageFilterProps,\n BlendProps,\n} from \"./ImageFilters\";\nimport type { DeclarationNode, RenderNode } from \"./Node\";\nimport type {\n BlendColorFilterProps,\n MatrixColorFilterProps,\n LerpColorFilterProps,\n} from \"./ColorFilters\";\nimport type {\n ImageProps,\n CircleProps,\n PathProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n PictureProps,\n ImageSVGProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n AtlasProps,\n} from \"./Drawings\";\nimport type { BlurMaskFilterProps } from \"./MaskFilters\";\nimport type {\n FractalNoiseProps,\n SweepGradientProps,\n ImageShaderProps,\n LinearGradientProps,\n ShaderProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n RadialGradientProps,\n ColorProps,\n} from \"./Shaders\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"./PathEffects\";\nimport type { ParagraphProps } from \"./Paragraph\";\n\ntype ImageFilterNode<P> = DeclarationNode<P>;\n\ntype PathEffectNode<P> = DeclarationNode<P>;\ntype NullablePathEffectNode<P> = DeclarationNode<P>;\n\ntype DrawingNode<P extends GroupProps> = RenderNode<P>;\n\nexport interface SkDOM {\n Layer(props?: ChildrenProps): RenderNode<ChildrenProps>;\n Group(props?: GroupProps): RenderNode<GroupProps>;\n Paint(props: PaintProps): DeclarationNode<PaintProps>;\n\n // Drawings\n Fill(props?: DrawingNodeProps): DrawingNode<DrawingNodeProps>;\n Image(props: ImageProps): DrawingNode<ImageProps>;\n Circle(props: CircleProps): DrawingNode<CircleProps>;\n Path(props: PathProps): DrawingNode<PathProps>;\n Line(props: LineProps): DrawingNode<LineProps>;\n Oval(props: OvalProps): DrawingNode<OvalProps>;\n Patch(props: PatchProps): DrawingNode<PatchProps>;\n Points(props: PointsProps): DrawingNode<PointsProps>;\n Rect(props: RectProps): DrawingNode<RectProps>;\n RRect(props: RoundedRectProps): DrawingNode<RoundedRectProps>;\n Vertices(props: VerticesProps): DrawingNode<VerticesProps>;\n Text(props: TextProps): DrawingNode<TextProps>;\n TextPath(props: TextPathProps): DrawingNode<TextPathProps>;\n TextBlob(props: TextBlobProps): DrawingNode<TextBlobProps>;\n Glyphs(props: GlyphsProps): DrawingNode<GlyphsProps>;\n DiffRect(props: DiffRectProps): DrawingNode<DiffRectProps>;\n Picture(props: PictureProps): DrawingNode<PictureProps>;\n ImageSVG(props: ImageSVGProps): DrawingNode<ImageSVGProps>;\n Atlas(props: AtlasProps): DrawingNode<AtlasProps>;\n\n // BlurMaskFilters\n BlurMaskFilter(\n props: BlurMaskFilterProps\n ): DeclarationNode<BlurMaskFilterProps>;\n\n // ImageFilters\n BlendImageFilter(\n props: BlendImageFilterProps\n ): ImageFilterNode<BlendImageFilterProps>;\n BlurImageFilter(\n props: BlurImageFilterProps\n ): ImageFilterNode<BlurImageFilterProps>;\n OffsetImageFilter(\n props: OffsetImageFilterProps\n ): ImageFilterNode<OffsetImageFilterProps>;\n DropShadowImageFilter(\n props: DropShadowImageFilterProps\n ): ImageFilterNode<DropShadowImageFilterProps>;\n MorphologyImageFilter(\n props: MorphologyImageFilterProps\n ): ImageFilterNode<MorphologyImageFilterProps>;\n DisplacementMapImageFilter(\n props: DisplacementMapImageFilterProps\n ): ImageFilterNode<DisplacementMapImageFilterProps>;\n RuntimeShaderImageFilter(\n props: RuntimeShaderImageFilterProps\n ): ImageFilterNode<RuntimeShaderImageFilterProps>;\n\n // ColorFilters\n MatrixColorFilter(\n props: MatrixColorFilterProps\n ): DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilter(\n props: BlendColorFilterProps\n ): DeclarationNode<BlendColorFilterProps>;\n LumaColorFilter(): DeclarationNode<null>;\n LinearToSRGBGammaColorFilter(): DeclarationNode<null>;\n SRGBToLinearGammaColorFilter(): DeclarationNode<null>;\n LerpColorFilter(\n props: LerpColorFilterProps\n ): DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n Shader(props: ShaderProps): DeclarationNode<ShaderProps>;\n ImageShader(props: ImageShaderProps): DeclarationNode<ImageShaderProps>;\n ColorShader(props: ColorProps): DeclarationNode<ColorProps>;\n Turbulence(props: TurbulenceProps): DeclarationNode<TurbulenceProps>;\n FractalNoise(props: FractalNoiseProps): DeclarationNode<FractalNoiseProps>;\n LinearGradient(\n props: LinearGradientProps\n ): DeclarationNode<LinearGradientProps>;\n RadialGradient(\n props: RadialGradientProps\n ): DeclarationNode<RadialGradientProps>;\n SweepGradient(props: SweepGradientProps): DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradient(\n props: TwoPointConicalGradientProps\n ): DeclarationNode<TwoPointConicalGradientProps>;\n\n // Path Effects\n CornerPathEffect(\n props: CornerPathEffectProps\n ): NullablePathEffectNode<CornerPathEffectProps>;\n DiscretePathEffect(\n props: DiscretePathEffectProps\n ): PathEffectNode<DiscretePathEffectProps>;\n DashPathEffect(\n props: DashPathEffectProps\n ): PathEffectNode<DashPathEffectProps>;\n Path1DPathEffect(\n props: Path1DPathEffectProps\n ): NullablePathEffectNode<Path1DPathEffectProps>;\n Path2DPathEffect(\n props: Path2DPathEffectProps\n ): NullablePathEffectNode<Path2DPathEffectProps>;\n SumPathEffect(): NullablePathEffectNode<null>;\n Line2DPathEffect(\n props: Line2DPathEffectProps\n ): NullablePathEffectNode<Line2DPathEffectProps>;\n\n // Mixed\n Blend(props: BlendProps): DeclarationNode<BlendProps>;\n BackdropFilter(props: ChildrenProps): RenderNode<ChildrenProps>;\n Box(props: BoxProps): RenderNode<BoxProps>;\n BoxShadow(props: BoxShadowProps): DeclarationNode<BoxShadowProps>;\n\n // Paragraph\n Paragraph(props: ParagraphProps): RenderNode<ParagraphProps>;\n}\n"],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { SkColor, SkHostRect, SkPoint, SkRSXform } from "../../skia/types";
2
+ export declare const useRectBuffer: (size: number, modifier: (input: SkHostRect, index: number) => void) => import("react-native-reanimated").SharedValue<SkHostRect[]>;
3
+ export declare const useRSXformBuffer: (size: number, modifier: (input: SkRSXform, index: number) => void) => import("react-native-reanimated").SharedValue<SkRSXform[]>;
4
+ export declare const usePointBuffer: (size: number, modifier: (input: SkPoint, index: number) => void) => import("react-native-reanimated").SharedValue<SkPoint[]>;
5
+ export declare const useColorBuffer: (size: number, modifier: (input: SkColor, index: number) => void) => import("react-native-reanimated").SharedValue<Float32Array[]>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRectBuffer = exports.useRSXformBuffer = exports.usePointBuffer = exports.useColorBuffer = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _skia = require("../../skia");
11
+
12
+ var _moduleWrapper = require("./moduleWrapper");
13
+
14
+ var _interpolators = require("./interpolators");
15
+
16
+ const useBuffer = (size, bufferInitializer, modifier) => {
17
+ const buffer = (0, _react.useMemo)(() => new Array(size).fill(0).map(bufferInitializer), // eslint-disable-next-line react-hooks/exhaustive-deps
18
+ [size]);
19
+ const transforms = (0, _moduleWrapper.useSharedValue)(buffer);
20
+ (0, _moduleWrapper.useDerivedValue)(() => {
21
+ buffer.forEach((val, index) => {
22
+ modifier(val, index);
23
+ }); // Assuming notifyChange is a function that notifies about the change in transforms.
24
+
25
+ (0, _interpolators.notifyChange)(transforms);
26
+ });
27
+ return transforms;
28
+ };
29
+
30
+ const useRectBuffer = (size, modifier) => useBuffer(size, () => _skia.Skia.XYWHRect(0, 0, 0, 0), modifier); // Usage for RSXform Buffer
31
+
32
+
33
+ exports.useRectBuffer = useRectBuffer;
34
+
35
+ const useRSXformBuffer = (size, modifier) => useBuffer(size, () => _skia.Skia.RSXform(1, 0, 0, 0), modifier); // Usage for Point Buffer
36
+
37
+
38
+ exports.useRSXformBuffer = useRSXformBuffer;
39
+
40
+ const usePointBuffer = (size, modifier) => useBuffer(size, () => _skia.Skia.Point(0, 0), modifier); // Usage for Color Buffer
41
+
42
+
43
+ exports.usePointBuffer = usePointBuffer;
44
+
45
+ const useColorBuffer = (size, modifier) => useBuffer(size, () => _skia.Skia.Color("black"), modifier);
46
+
47
+ exports.useColorBuffer = useColorBuffer;
48
+ //# sourceMappingURL=buffers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useBuffer","size","bufferInitializer","modifier","buffer","useMemo","Array","fill","map","transforms","useSharedValue","useDerivedValue","forEach","val","index","notifyChange","useRectBuffer","Skia","XYWHRect","useRSXformBuffer","RSXform","usePointBuffer","Point","useColorBuffer","Color"],"sources":["buffers.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport type { SkColor, SkHostRect, SkPoint, SkRSXform } from \"../../skia/types\";\nimport { Skia } from \"../../skia\";\n\nimport { useDerivedValue, useSharedValue } from \"./moduleWrapper\";\nimport { notifyChange } from \"./interpolators\";\n\nconst useBuffer = <T>(\n size: number,\n bufferInitializer: () => T,\n modifier: (input: T, index: number) => void\n) => {\n const buffer = useMemo(\n () => new Array(size).fill(0).map(bufferInitializer),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [size]\n );\n const transforms = useSharedValue(buffer);\n\n useDerivedValue(() => {\n buffer.forEach((val, index) => {\n modifier(val, index);\n });\n // Assuming notifyChange is a function that notifies about the change in transforms.\n notifyChange(transforms);\n });\n\n return transforms;\n};\n\nexport const useRectBuffer = (\n size: number,\n modifier: (input: SkHostRect, index: number) => void\n) => useBuffer(size, () => Skia.XYWHRect(0, 0, 0, 0), modifier);\n\n// Usage for RSXform Buffer\nexport const useRSXformBuffer = (\n size: number,\n modifier: (input: SkRSXform, index: number) => void\n) => useBuffer(size, () => Skia.RSXform(1, 0, 0, 0), modifier);\n\n// Usage for Point Buffer\nexport const usePointBuffer = (\n size: number,\n modifier: (input: SkPoint, index: number) => void\n) => useBuffer(size, () => Skia.Point(0, 0), modifier);\n\n// Usage for Color Buffer\nexport const useColorBuffer = (\n size: number,\n modifier: (input: SkColor, index: number) => void\n) => useBuffer(size, () => Skia.Color(\"black\"), modifier);\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA;;AACA;;AAEA,MAAMA,SAAS,GAAG,CAChBC,IADgB,EAEhBC,iBAFgB,EAGhBC,QAHgB,KAIb;EACH,MAAMC,MAAM,GAAG,IAAAC,cAAA,EACb,MAAM,IAAIC,KAAJ,CAAUL,IAAV,EAAgBM,IAAhB,CAAqB,CAArB,EAAwBC,GAAxB,CAA4BN,iBAA5B,CADO,EAEb;EACA,CAACD,IAAD,CAHa,CAAf;EAKA,MAAMQ,UAAU,GAAG,IAAAC,6BAAA,EAAeN,MAAf,CAAnB;EAEA,IAAAO,8BAAA,EAAgB,MAAM;IACpBP,MAAM,CAACQ,OAAP,CAAe,CAACC,GAAD,EAAMC,KAAN,KAAgB;MAC7BX,QAAQ,CAACU,GAAD,EAAMC,KAAN,CAAR;IACD,CAFD,EADoB,CAIpB;;IACA,IAAAC,2BAAA,EAAaN,UAAb;EACD,CAND;EAQA,OAAOA,UAAP;AACD,CArBD;;AAuBO,MAAMO,aAAa,GAAG,CAC3Bf,IAD2B,EAE3BE,QAF2B,KAGxBH,SAAS,CAACC,IAAD,EAAO,MAAMgB,UAAA,CAAKC,QAAL,CAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,CAAb,EAAwCf,QAAxC,CAHP,C,CAKP;;;;;AACO,MAAMgB,gBAAgB,GAAG,CAC9BlB,IAD8B,EAE9BE,QAF8B,KAG3BH,SAAS,CAACC,IAAD,EAAO,MAAMgB,UAAA,CAAKG,OAAL,CAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,CAAb,EAAuCjB,QAAvC,CAHP,C,CAKP;;;;;AACO,MAAMkB,cAAc,GAAG,CAC5BpB,IAD4B,EAE5BE,QAF4B,KAGzBH,SAAS,CAACC,IAAD,EAAO,MAAMgB,UAAA,CAAKK,KAAL,CAAW,CAAX,EAAc,CAAd,CAAb,EAA+BnB,QAA/B,CAHP,C,CAKP;;;;;AACO,MAAMoB,cAAc,GAAG,CAC5BtB,IAD4B,EAE5BE,QAF4B,KAGzBH,SAAS,CAACC,IAAD,EAAO,MAAMgB,UAAA,CAAKO,KAAL,CAAW,OAAX,CAAb,EAAkCrB,QAAlC,CAHP"}
@@ -3,3 +3,4 @@ export * from "./useDerivedValueOnJS";
3
3
  export * from "./renderHelpers";
4
4
  export * from "./interpolators";
5
5
  export * from "./textures";
6
+ export * from "./buffers";
@@ -68,4 +68,17 @@ Object.keys(_textures).forEach(function (key) {
68
68
  }
69
69
  });
70
70
  });
71
+
72
+ var _buffers = require("./buffers");
73
+
74
+ Object.keys(_buffers).forEach(function (key) {
75
+ if (key === "default" || key === "__esModule") return;
76
+ if (key in exports && exports[key] === _buffers[key]) return;
77
+ Object.defineProperty(exports, key, {
78
+ enumerable: true,
79
+ get: function () {
80
+ return _buffers[key];
81
+ }
82
+ });
83
+ });
71
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useAnimatedImageValue\";\nexport * from \"./useDerivedValueOnJS\";\nexport * from \"./renderHelpers\";\nexport * from \"./interpolators\";\nexport * from \"./textures\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useAnimatedImageValue\";\nexport * from \"./useDerivedValueOnJS\";\nexport * from \"./renderHelpers\";\nexport * from \"./interpolators\";\nexport * from \"./textures\";\nexport * from \"./buffers\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -7,28 +7,14 @@ exports.useTextureValueFromPicture = exports.useTextureValue = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _skia = require("../../skia");
11
-
12
10
  var _Offscreen = require("../../renderer/Offscreen");
13
11
 
14
12
  var _moduleWrapper = require("./moduleWrapper");
15
13
 
16
- // TODO: We're not sure yet why PixelRatio is not needed here.
17
- const pd = 1; //Platform.PixelRatio;
18
-
19
- const createTexture = (texture, picture, size) => {
14
+ const createTextureValue = (texture, picture, size) => {
20
15
  "worklet";
21
16
 
22
- const surface = _skia.Skia.Surface.MakeOffscreen(size.width * pd, size.height * pd);
23
-
24
- const canvas = surface.getCanvas(); // see comment above
25
- //canvas.save();
26
- //canvas.scale(pd, pd);
27
-
28
- canvas.drawPicture(picture); //canvas.restore();
29
-
30
- surface.flush();
31
- texture.value = surface.makeImageSnapshot();
17
+ texture.value = (0, _Offscreen.drawAsImageFromPicture)(picture, size);
32
18
  };
33
19
 
34
20
  const useTextureValue = (element, size) => {
@@ -43,7 +29,7 @@ exports.useTextureValue = useTextureValue;
43
29
  const useTextureValueFromPicture = (picture, size) => {
44
30
  const texture = (0, _moduleWrapper.useSharedValue)(null);
45
31
  (0, _react.useEffect)(() => {
46
- (0, _moduleWrapper.runOnUI)(createTexture)(texture, picture, size);
32
+ (0, _moduleWrapper.runOnUI)(createTextureValue)(texture, picture, size);
47
33
  }, [texture, picture, size]);
48
34
  return texture;
49
35
  };
@@ -1 +1 @@
1
- {"version":3,"names":["pd","createTexture","texture","picture","size","surface","Skia","Surface","MakeOffscreen","width","height","canvas","getCanvas","drawPicture","flush","value","makeImageSnapshot","useTextureValue","element","useMemo","drawAsPicture","useTextureValueFromPicture","useSharedValue","useEffect","runOnUI"],"sources":["textures.tsx"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport type { ReactElement } from \"react\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { Skia } from \"../../skia\";\nimport type { SkImage, SkPicture, SkSize } from \"../../skia/types\";\nimport { drawAsPicture } from \"../../renderer/Offscreen\";\n\nimport { runOnUI, useSharedValue } from \"./moduleWrapper\";\n\n// TODO: We're not sure yet why PixelRatio is not needed here.\nconst pd = 1; //Platform.PixelRatio;\n\nconst createTexture = (\n texture: SharedValue<SkImage | null>,\n picture: SkPicture,\n size: SkSize\n) => {\n \"worklet\";\n const surface = Skia.Surface.MakeOffscreen(\n size.width * pd,\n size.height * pd\n )!;\n const canvas = surface.getCanvas();\n // see comment above\n //canvas.save();\n //canvas.scale(pd, pd);\n canvas.drawPicture(picture);\n //canvas.restore();\n surface.flush();\n texture.value = surface.makeImageSnapshot();\n};\n\nexport const useTextureValue = (element: ReactElement, size: SkSize) => {\n const picture = useMemo(() => {\n return drawAsPicture(element);\n }, [element]);\n return useTextureValueFromPicture(picture, size);\n};\n\nexport const useTextureValueFromPicture = (\n picture: SkPicture,\n size: SkSize\n) => {\n const texture = useSharedValue<SkImage | null>(null);\n useEffect(() => {\n runOnUI(createTexture)(texture, picture, size);\n }, [texture, picture, size]);\n return texture;\n};\n"],"mappings":";;;;;;;AAAA;;AAIA;;AAEA;;AAEA;;AAEA;AACA,MAAMA,EAAE,GAAG,CAAX,C,CAAc;;AAEd,MAAMC,aAAa,GAAG,CACpBC,OADoB,EAEpBC,OAFoB,EAGpBC,IAHoB,KAIjB;EACH;;EACA,MAAMC,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CACdJ,IAAI,CAACK,KAAL,GAAaT,EADC,EAEdI,IAAI,CAACM,MAAL,GAAcV,EAFA,CAAhB;;EAIA,MAAMW,MAAM,GAAGN,OAAO,CAACO,SAAR,EAAf,CANG,CAOH;EACA;EACA;;EACAD,MAAM,CAACE,WAAP,CAAmBV,OAAnB,EAVG,CAWH;;EACAE,OAAO,CAACS,KAAR;EACAZ,OAAO,CAACa,KAAR,GAAgBV,OAAO,CAACW,iBAAR,EAAhB;AACD,CAlBD;;AAoBO,MAAMC,eAAe,GAAG,CAACC,OAAD,EAAwBd,IAAxB,KAAyC;EACtE,MAAMD,OAAO,GAAG,IAAAgB,cAAA,EAAQ,MAAM;IAC5B,OAAO,IAAAC,wBAAA,EAAcF,OAAd,CAAP;EACD,CAFe,EAEb,CAACA,OAAD,CAFa,CAAhB;EAGA,OAAOG,0BAA0B,CAAClB,OAAD,EAAUC,IAAV,CAAjC;AACD,CALM;;;;AAOA,MAAMiB,0BAA0B,GAAG,CACxClB,OADwC,EAExCC,IAFwC,KAGrC;EACH,MAAMF,OAAO,GAAG,IAAAoB,6BAAA,EAA+B,IAA/B,CAAhB;EACA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAAC,sBAAA,EAAQvB,aAAR,EAAuBC,OAAvB,EAAgCC,OAAhC,EAAyCC,IAAzC;EACD,CAFD,EAEG,CAACF,OAAD,EAAUC,OAAV,EAAmBC,IAAnB,CAFH;EAGA,OAAOF,OAAP;AACD,CATM"}
1
+ {"version":3,"names":["createTextureValue","texture","picture","size","value","drawAsImageFromPicture","useTextureValue","element","useMemo","drawAsPicture","useTextureValueFromPicture","useSharedValue","useEffect","runOnUI"],"sources":["textures.tsx"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport type { ReactElement } from \"react\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport type { SkImage, SkPicture, SkSize } from \"../../skia/types\";\nimport {\n drawAsImageFromPicture,\n drawAsPicture,\n} from \"../../renderer/Offscreen\";\n\nimport { runOnUI, useSharedValue } from \"./moduleWrapper\";\n\nconst createTextureValue = (\n texture: SharedValue<SkImage | null>,\n picture: SkPicture,\n size: SkSize\n) => {\n \"worklet\";\n texture.value = drawAsImageFromPicture(picture, size);\n};\n\nexport const useTextureValue = (element: ReactElement, size: SkSize) => {\n const picture = useMemo(() => {\n return drawAsPicture(element);\n }, [element]);\n return useTextureValueFromPicture(picture, size);\n};\n\nexport const useTextureValueFromPicture = (\n picture: SkPicture,\n size: SkSize\n) => {\n const texture = useSharedValue<SkImage | null>(null);\n useEffect(() => {\n runOnUI(createTextureValue)(texture, picture, size);\n }, [texture, picture, size]);\n return texture;\n};\n"],"mappings":";;;;;;;AAAA;;AAKA;;AAKA;;AAEA,MAAMA,kBAAkB,GAAG,CACzBC,OADyB,EAEzBC,OAFyB,EAGzBC,IAHyB,KAItB;EACH;;EACAF,OAAO,CAACG,KAAR,GAAgB,IAAAC,iCAAA,EAAuBH,OAAvB,EAAgCC,IAAhC,CAAhB;AACD,CAPD;;AASO,MAAMG,eAAe,GAAG,CAACC,OAAD,EAAwBJ,IAAxB,KAAyC;EACtE,MAAMD,OAAO,GAAG,IAAAM,cAAA,EAAQ,MAAM;IAC5B,OAAO,IAAAC,wBAAA,EAAcF,OAAd,CAAP;EACD,CAFe,EAEb,CAACA,OAAD,CAFa,CAAhB;EAGA,OAAOG,0BAA0B,CAACR,OAAD,EAAUC,IAAV,CAAjC;AACD,CALM;;;;AAOA,MAAMO,0BAA0B,GAAG,CACxCR,OADwC,EAExCC,IAFwC,KAGrC;EACH,MAAMF,OAAO,GAAG,IAAAU,6BAAA,EAA+B,IAA/B,CAAhB;EACA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAAC,sBAAA,EAAQb,kBAAR,EAA4BC,OAA5B,EAAqCC,OAArC,EAA8CC,IAA9C;EACD,CAFD,EAEG,CAACF,OAAD,EAAUC,OAAV,EAAmBC,IAAnB,CAFH;EAGA,OAAOF,OAAP;AACD,CATM"}
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useAnimatedImageValue = void 0;
7
7
 
8
+ var _react = require("react");
9
+
8
10
  var _AnimatedImage = require("../../skia/core/AnimatedImage");
9
11
 
10
12
  var _moduleWrapper = require("./moduleWrapper");
@@ -18,7 +20,7 @@ const useAnimatedImageValue = source => {
18
20
  const animatedImage = (0, _AnimatedImage.useAnimatedImage)(source, err => {
19
21
  console.error(err);
20
22
  throw new Error(`Could not load animated image - got '${err.message}'`);
21
- });
23
+ }, false);
22
24
  const frameDuration = (animatedImage === null || animatedImage === void 0 ? void 0 : animatedImage.currentFrameDuration()) || DEFAULT_FRAME_DURATION;
23
25
  (0, _moduleWrapper.useFrameCallback)(frameInfo => {
24
26
  if (!animatedImage) {
@@ -46,6 +48,11 @@ const useAnimatedImageValue = source => {
46
48
 
47
49
  lastTimestamp.value = timestamp; // eslint-disable-next-line react-hooks/exhaustive-deps
48
50
  }, true);
51
+ (0, _react.useEffect)(() => {
52
+ return () => {
53
+ animatedImage === null || animatedImage === void 0 ? void 0 : animatedImage.dispose();
54
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
55
+ }, []);
49
56
  return currentFrame;
50
57
  };
51
58
 
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_FRAME_DURATION","useAnimatedImageValue","source","throwOnMissingReanimated","currentFrame","useSharedValue","lastTimestamp","animatedImage","useAnimatedImage","err","console","error","Error","message","frameDuration","currentFrameDuration","useFrameCallback","frameInfo","value","timestamp","elapsed","decodeNextFrame","dispose","getCurrentFrame"],"sources":["useAnimatedImageValue.ts"],"sourcesContent":["import type { FrameInfo } from \"react-native-reanimated\";\n\nimport { useAnimatedImage } from \"../../skia/core/AnimatedImage\";\nimport type { DataSourceParam, SkImage } from \"../../skia/types\";\n\nimport {\n throwOnMissingReanimated,\n useFrameCallback,\n useSharedValue,\n} from \"./moduleWrapper\";\n\nconst DEFAULT_FRAME_DURATION = 60;\n\nexport const useAnimatedImageValue = (source: DataSourceParam) => {\n throwOnMissingReanimated();\n const currentFrame = useSharedValue<null | SkImage>(null);\n const lastTimestamp = useSharedValue(0);\n const animatedImage = useAnimatedImage(source, (err) => {\n console.error(err);\n throw new Error(`Could not load animated image - got '${err.message}'`);\n });\n const frameDuration =\n animatedImage?.currentFrameDuration() || DEFAULT_FRAME_DURATION;\n\n useFrameCallback((frameInfo: FrameInfo) => {\n if (!animatedImage) {\n currentFrame.value = null;\n return;\n }\n\n const { timestamp } = frameInfo;\n const elapsed = timestamp - lastTimestamp.value;\n\n // Check if it's time to switch frames based on GIF frame duration\n if (elapsed < frameDuration) {\n return;\n }\n\n // Update the current frame\n animatedImage.decodeNextFrame();\n if (currentFrame.value) {\n currentFrame.value.dispose();\n }\n currentFrame.value = animatedImage.getCurrentFrame();\n\n // Update the last timestamp\n lastTimestamp.value = timestamp;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, true);\n return currentFrame;\n};\n"],"mappings":";;;;;;;AAEA;;AAGA;;AAMA,MAAMA,sBAAsB,GAAG,EAA/B;;AAEO,MAAMC,qBAAqB,GAAIC,MAAD,IAA6B;EAChE,IAAAC,uCAAA;EACA,MAAMC,YAAY,GAAG,IAAAC,6BAAA,EAA+B,IAA/B,CAArB;EACA,MAAMC,aAAa,GAAG,IAAAD,6BAAA,EAAe,CAAf,CAAtB;EACA,MAAME,aAAa,GAAG,IAAAC,+BAAA,EAAiBN,MAAjB,EAA0BO,GAAD,IAAS;IACtDC,OAAO,CAACC,KAAR,CAAcF,GAAd;IACA,MAAM,IAAIG,KAAJ,CAAW,wCAAuCH,GAAG,CAACI,OAAQ,GAA9D,CAAN;EACD,CAHqB,CAAtB;EAIA,MAAMC,aAAa,GACjB,CAAAP,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEQ,oBAAf,OAAyCf,sBAD3C;EAGA,IAAAgB,+BAAA,EAAkBC,SAAD,IAA0B;IACzC,IAAI,CAACV,aAAL,EAAoB;MAClBH,YAAY,CAACc,KAAb,GAAqB,IAArB;MACA;IACD;;IAED,MAAM;MAAEC;IAAF,IAAgBF,SAAtB;IACA,MAAMG,OAAO,GAAGD,SAAS,GAAGb,aAAa,CAACY,KAA1C,CAPyC,CASzC;;IACA,IAAIE,OAAO,GAAGN,aAAd,EAA6B;MAC3B;IACD,CAZwC,CAczC;;;IACAP,aAAa,CAACc,eAAd;;IACA,IAAIjB,YAAY,CAACc,KAAjB,EAAwB;MACtBd,YAAY,CAACc,KAAb,CAAmBI,OAAnB;IACD;;IACDlB,YAAY,CAACc,KAAb,GAAqBX,aAAa,CAACgB,eAAd,EAArB,CAnByC,CAqBzC;;IACAjB,aAAa,CAACY,KAAd,GAAsBC,SAAtB,CAtByC,CAuBzC;EACD,CAxBD,EAwBG,IAxBH;EAyBA,OAAOf,YAAP;AACD,CArCM"}
1
+ {"version":3,"names":["DEFAULT_FRAME_DURATION","useAnimatedImageValue","source","throwOnMissingReanimated","currentFrame","useSharedValue","lastTimestamp","animatedImage","useAnimatedImage","err","console","error","Error","message","frameDuration","currentFrameDuration","useFrameCallback","frameInfo","value","timestamp","elapsed","decodeNextFrame","dispose","getCurrentFrame","useEffect"],"sources":["useAnimatedImageValue.ts"],"sourcesContent":["import { useEffect } from \"react\";\nimport type { FrameInfo } from \"react-native-reanimated\";\n\nimport { useAnimatedImage } from \"../../skia/core/AnimatedImage\";\nimport type { DataSourceParam, SkImage } from \"../../skia/types\";\n\nimport {\n throwOnMissingReanimated,\n useFrameCallback,\n useSharedValue,\n} from \"./moduleWrapper\";\n\nconst DEFAULT_FRAME_DURATION = 60;\n\nexport const useAnimatedImageValue = (source: DataSourceParam) => {\n throwOnMissingReanimated();\n const currentFrame = useSharedValue<null | SkImage>(null);\n const lastTimestamp = useSharedValue(0);\n const animatedImage = useAnimatedImage(\n source,\n (err) => {\n console.error(err);\n throw new Error(`Could not load animated image - got '${err.message}'`);\n },\n false\n );\n const frameDuration =\n animatedImage?.currentFrameDuration() || DEFAULT_FRAME_DURATION;\n\n useFrameCallback((frameInfo: FrameInfo) => {\n if (!animatedImage) {\n currentFrame.value = null;\n return;\n }\n\n const { timestamp } = frameInfo;\n const elapsed = timestamp - lastTimestamp.value;\n\n // Check if it's time to switch frames based on GIF frame duration\n if (elapsed < frameDuration) {\n return;\n }\n\n // Update the current frame\n animatedImage.decodeNextFrame();\n if (currentFrame.value) {\n currentFrame.value.dispose();\n }\n currentFrame.value = animatedImage.getCurrentFrame();\n\n // Update the last timestamp\n lastTimestamp.value = timestamp;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, true);\n useEffect(() => {\n return () => {\n animatedImage?.dispose();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return currentFrame;\n};\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAGA;;AAMA,MAAMA,sBAAsB,GAAG,EAA/B;;AAEO,MAAMC,qBAAqB,GAAIC,MAAD,IAA6B;EAChE,IAAAC,uCAAA;EACA,MAAMC,YAAY,GAAG,IAAAC,6BAAA,EAA+B,IAA/B,CAArB;EACA,MAAMC,aAAa,GAAG,IAAAD,6BAAA,EAAe,CAAf,CAAtB;EACA,MAAME,aAAa,GAAG,IAAAC,+BAAA,EACpBN,MADoB,EAEnBO,GAAD,IAAS;IACPC,OAAO,CAACC,KAAR,CAAcF,GAAd;IACA,MAAM,IAAIG,KAAJ,CAAW,wCAAuCH,GAAG,CAACI,OAAQ,GAA9D,CAAN;EACD,CALmB,EAMpB,KANoB,CAAtB;EAQA,MAAMC,aAAa,GACjB,CAAAP,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEQ,oBAAf,OAAyCf,sBAD3C;EAGA,IAAAgB,+BAAA,EAAkBC,SAAD,IAA0B;IACzC,IAAI,CAACV,aAAL,EAAoB;MAClBH,YAAY,CAACc,KAAb,GAAqB,IAArB;MACA;IACD;;IAED,MAAM;MAAEC;IAAF,IAAgBF,SAAtB;IACA,MAAMG,OAAO,GAAGD,SAAS,GAAGb,aAAa,CAACY,KAA1C,CAPyC,CASzC;;IACA,IAAIE,OAAO,GAAGN,aAAd,EAA6B;MAC3B;IACD,CAZwC,CAczC;;;IACAP,aAAa,CAACc,eAAd;;IACA,IAAIjB,YAAY,CAACc,KAAjB,EAAwB;MACtBd,YAAY,CAACc,KAAb,CAAmBI,OAAnB;IACD;;IACDlB,YAAY,CAACc,KAAb,GAAqBX,aAAa,CAACgB,eAAd,EAArB,CAnByC,CAqBzC;;IACAjB,aAAa,CAACY,KAAd,GAAsBC,SAAtB,CAtByC,CAuBzC;EACD,CAxBD,EAwBG,IAxBH;EAyBA,IAAAK,gBAAA,EAAU,MAAM;IACd,OAAO,MAAM;MACXjB,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEe,OAAf;IACD,CAFD,CADc,CAId;EACD,CALD,EAKG,EALH;EAMA,OAAOlB,YAAP;AACD,CA/CM"}
@@ -44,6 +44,11 @@ const Mock = CanvasKit => {
44
44
  usePathInterpolation: NoopSharedValue,
45
45
  useTextureValue: NoopSharedValue,
46
46
  useTextureValueFromPicture: NoopSharedValue,
47
+ useRSXformBuffer: NoopSharedValue,
48
+ usePointBuffer: NoopSharedValue,
49
+ useColorBuffer: NoopSharedValue,
50
+ useRectBuffer: NoopSharedValue,
51
+ useBuffer: NoopSharedValue,
47
52
  useRawData: Noop,
48
53
  useData: Noop,
49
54
  useFont: () => Skia.Font(undefined, 0),
@@ -1 +1 @@
1
- {"version":3,"names":["Noop","undefined","NoopValue","current","NoopSharedValue","value","Mock","CanvasKit","global","SkiaApi","JsiSkApi","Skia","require","Canvas","useValue","useComputedValue","useTouchHandler","useTiming","useLoop","useSpring","useClockValue","useValueEffect","useClock","usePathInterpolation","useTextureValue","useTextureValueFromPicture","useRawData","useData","useFont","Font","useFonts","useTypeface","useImage","useSVG"],"sources":["index.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport { JsiSkApi } from \"../skia/web\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst Noop: () => any = () => undefined;\nconst NoopValue = () => ({ current: 0 });\nconst NoopSharedValue = () => ({ value: 0 });\n\nexport const Mock = (CanvasKit: CanvasKit) => {\n global.SkiaApi = JsiSkApi(CanvasKit);\n const Skia = global.SkiaApi;\n return {\n Skia,\n ...require(\"../renderer/components\"),\n ...require(\"../skia\"),\n ...require(\"../animation\"),\n ...require(\"../dom/types\"),\n ...require(\"../dom/nodes\"),\n // We could use the real Canvas if we mock the SkiaView component for node\n Canvas: Noop,\n // Skia Animations\n useValue: NoopValue,\n useComputedValue: NoopValue,\n useTouchHandler: Noop,\n useTiming: NoopValue,\n useLoop: NoopValue,\n useSpring: NoopValue,\n useClockValue: NoopValue,\n useValueEffect: Noop,\n // Reanimated hooks\n useClock: NoopSharedValue,\n usePathInterpolation: NoopSharedValue,\n useTextureValue: NoopSharedValue,\n useTextureValueFromPicture: NoopSharedValue,\n useRawData: Noop,\n useData: Noop,\n useFont: () => Skia.Font(undefined, 0),\n useFonts: Noop,\n useTypeface: () => null,\n useImage: () => null,\n useSVG: () => null,\n };\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;AACA,MAAMA,IAAe,GAAG,MAAMC,SAA9B;;AACA,MAAMC,SAAS,GAAG,OAAO;EAAEC,OAAO,EAAE;AAAX,CAAP,CAAlB;;AACA,MAAMC,eAAe,GAAG,OAAO;EAAEC,KAAK,EAAE;AAAT,CAAP,CAAxB;;AAEO,MAAMC,IAAI,GAAIC,SAAD,IAA0B;EAC5CC,MAAM,CAACC,OAAP,GAAiB,IAAAC,aAAA,EAASH,SAAT,CAAjB;EACA,MAAMI,IAAI,GAAGH,MAAM,CAACC,OAApB;EACA,OAAO;IACLE,IADK;IAEL,GAAGC,OAAO,CAAC,wBAAD,CAFL;IAGL,GAAGA,OAAO,CAAC,SAAD,CAHL;IAIL,GAAGA,OAAO,CAAC,cAAD,CAJL;IAKL,GAAGA,OAAO,CAAC,cAAD,CALL;IAML,GAAGA,OAAO,CAAC,cAAD,CANL;IAOL;IACAC,MAAM,EAAEb,IARH;IASL;IACAc,QAAQ,EAAEZ,SAVL;IAWLa,gBAAgB,EAAEb,SAXb;IAYLc,eAAe,EAAEhB,IAZZ;IAaLiB,SAAS,EAAEf,SAbN;IAcLgB,OAAO,EAAEhB,SAdJ;IAeLiB,SAAS,EAAEjB,SAfN;IAgBLkB,aAAa,EAAElB,SAhBV;IAiBLmB,cAAc,EAAErB,IAjBX;IAkBL;IACAsB,QAAQ,EAAElB,eAnBL;IAoBLmB,oBAAoB,EAAEnB,eApBjB;IAqBLoB,eAAe,EAAEpB,eArBZ;IAsBLqB,0BAA0B,EAAErB,eAtBvB;IAuBLsB,UAAU,EAAE1B,IAvBP;IAwBL2B,OAAO,EAAE3B,IAxBJ;IAyBL4B,OAAO,EAAE,MAAMjB,IAAI,CAACkB,IAAL,CAAU5B,SAAV,EAAqB,CAArB,CAzBV;IA0BL6B,QAAQ,EAAE9B,IA1BL;IA2BL+B,WAAW,EAAE,MAAM,IA3Bd;IA4BLC,QAAQ,EAAE,MAAM,IA5BX;IA6BLC,MAAM,EAAE,MAAM;EA7BT,CAAP;AA+BD,CAlCM"}
1
+ {"version":3,"names":["Noop","undefined","NoopValue","current","NoopSharedValue","value","Mock","CanvasKit","global","SkiaApi","JsiSkApi","Skia","require","Canvas","useValue","useComputedValue","useTouchHandler","useTiming","useLoop","useSpring","useClockValue","useValueEffect","useClock","usePathInterpolation","useTextureValue","useTextureValueFromPicture","useRSXformBuffer","usePointBuffer","useColorBuffer","useRectBuffer","useBuffer","useRawData","useData","useFont","Font","useFonts","useTypeface","useImage","useSVG"],"sources":["index.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport { JsiSkApi } from \"../skia/web\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst Noop: () => any = () => undefined;\nconst NoopValue = () => ({ current: 0 });\nconst NoopSharedValue = () => ({ value: 0 });\n\nexport const Mock = (CanvasKit: CanvasKit) => {\n global.SkiaApi = JsiSkApi(CanvasKit);\n const Skia = global.SkiaApi;\n return {\n Skia,\n ...require(\"../renderer/components\"),\n ...require(\"../skia\"),\n ...require(\"../animation\"),\n ...require(\"../dom/types\"),\n ...require(\"../dom/nodes\"),\n // We could use the real Canvas if we mock the SkiaView component for node\n Canvas: Noop,\n // Skia Animations\n useValue: NoopValue,\n useComputedValue: NoopValue,\n useTouchHandler: Noop,\n useTiming: NoopValue,\n useLoop: NoopValue,\n useSpring: NoopValue,\n useClockValue: NoopValue,\n useValueEffect: Noop,\n // Reanimated hooks\n useClock: NoopSharedValue,\n usePathInterpolation: NoopSharedValue,\n useTextureValue: NoopSharedValue,\n useTextureValueFromPicture: NoopSharedValue,\n useRSXformBuffer: NoopSharedValue,\n usePointBuffer: NoopSharedValue,\n useColorBuffer: NoopSharedValue,\n useRectBuffer: NoopSharedValue,\n useBuffer: NoopSharedValue,\n useRawData: Noop,\n useData: Noop,\n useFont: () => Skia.Font(undefined, 0),\n useFonts: Noop,\n useTypeface: () => null,\n useImage: () => null,\n useSVG: () => null,\n };\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;AACA,MAAMA,IAAe,GAAG,MAAMC,SAA9B;;AACA,MAAMC,SAAS,GAAG,OAAO;EAAEC,OAAO,EAAE;AAAX,CAAP,CAAlB;;AACA,MAAMC,eAAe,GAAG,OAAO;EAAEC,KAAK,EAAE;AAAT,CAAP,CAAxB;;AAEO,MAAMC,IAAI,GAAIC,SAAD,IAA0B;EAC5CC,MAAM,CAACC,OAAP,GAAiB,IAAAC,aAAA,EAASH,SAAT,CAAjB;EACA,MAAMI,IAAI,GAAGH,MAAM,CAACC,OAApB;EACA,OAAO;IACLE,IADK;IAEL,GAAGC,OAAO,CAAC,wBAAD,CAFL;IAGL,GAAGA,OAAO,CAAC,SAAD,CAHL;IAIL,GAAGA,OAAO,CAAC,cAAD,CAJL;IAKL,GAAGA,OAAO,CAAC,cAAD,CALL;IAML,GAAGA,OAAO,CAAC,cAAD,CANL;IAOL;IACAC,MAAM,EAAEb,IARH;IASL;IACAc,QAAQ,EAAEZ,SAVL;IAWLa,gBAAgB,EAAEb,SAXb;IAYLc,eAAe,EAAEhB,IAZZ;IAaLiB,SAAS,EAAEf,SAbN;IAcLgB,OAAO,EAAEhB,SAdJ;IAeLiB,SAAS,EAAEjB,SAfN;IAgBLkB,aAAa,EAAElB,SAhBV;IAiBLmB,cAAc,EAAErB,IAjBX;IAkBL;IACAsB,QAAQ,EAAElB,eAnBL;IAoBLmB,oBAAoB,EAAEnB,eApBjB;IAqBLoB,eAAe,EAAEpB,eArBZ;IAsBLqB,0BAA0B,EAAErB,eAtBvB;IAuBLsB,gBAAgB,EAAEtB,eAvBb;IAwBLuB,cAAc,EAAEvB,eAxBX;IAyBLwB,cAAc,EAAExB,eAzBX;IA0BLyB,aAAa,EAAEzB,eA1BV;IA2BL0B,SAAS,EAAE1B,eA3BN;IA4BL2B,UAAU,EAAE/B,IA5BP;IA6BLgC,OAAO,EAAEhC,IA7BJ;IA8BLiC,OAAO,EAAE,MAAMtB,IAAI,CAACuB,IAAL,CAAUjC,SAAV,EAAqB,CAArB,CA9BV;IA+BLkC,QAAQ,EAAEnC,IA/BL;IAgCLoC,WAAW,EAAE,MAAM,IAhCd;IAiCLC,QAAQ,EAAE,MAAM,IAjCX;IAkCLC,MAAM,EAAE,MAAM;EAlCT,CAAP;AAoCD,CAvCM"}
@@ -1,5 +1,5 @@
1
1
  import { NodeType } from "../dom/types";
2
- import type { DeclarationNode, FractalNoiseProps, RenderNode, CircleProps, DrawingNodeProps, ImageProps, PaintProps, PathProps, LineProps, OvalProps, DiffRectProps, PointsProps, RectProps, RoundedRectProps, TextProps, VerticesProps, BlurMaskFilterProps, BlendImageFilterProps, BlurImageFilterProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps, MatrixColorFilterProps, ShaderProps, ImageShaderProps, LinearGradientProps, GroupProps, PatchProps, BlendColorFilterProps, DashPathEffectProps, DiscretePathEffectProps, CornerPathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, BoxProps, BoxShadowProps, ParagraphProps } from "../dom/types";
2
+ import type { DeclarationNode, FractalNoiseProps, RenderNode, CircleProps, DrawingNodeProps, ImageProps, PaintProps, PathProps, LineProps, OvalProps, DiffRectProps, PointsProps, RectProps, RoundedRectProps, TextProps, VerticesProps, BlurMaskFilterProps, BlendImageFilterProps, BlurImageFilterProps, DisplacementMapImageFilterProps, DropShadowImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps, MatrixColorFilterProps, ShaderProps, ImageShaderProps, LinearGradientProps, GroupProps, PatchProps, BlendColorFilterProps, DashPathEffectProps, DiscretePathEffectProps, CornerPathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps, TextPathProps, TextBlobProps, GlyphsProps, TwoPointConicalGradientProps, TurbulenceProps, SweepGradientProps, RadialGradientProps, ColorProps, PictureProps, ImageSVGProps, LerpColorFilterProps, BoxProps, BoxShadowProps, ParagraphProps, AtlasProps } from "../dom/types";
3
3
  import type { ChildrenProps } from "../dom/types/Common";
4
4
  import type { BlendProps, MorphologyImageFilterProps } from "../dom/types/ImageFilters";
5
5
  import type { SkRect, SkRRect } from "../skia/types";
@@ -22,6 +22,7 @@ declare global {
22
22
  PatchNode: (props: PatchProps) => RenderNode<PatchProps>;
23
23
  PointsNode: (props: PointsProps) => RenderNode<PointsProps>;
24
24
  DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;
25
+ AtlasNode: (props: AtlasProps) => RenderNode<AtlasProps>;
25
26
  BlurMaskFilterNode: (props: BlurMaskFilterProps) => DeclarationNode<BlurMaskFilterProps>;
26
27
  DashPathEffectNode: (props: DashPathEffectProps) => DeclarationNode<DashPathEffectProps>;
27
28
  DiscretePathEffectNode: (props: DiscretePathEffectProps) => DeclarationNode<DiscretePathEffectProps>;
@@ -81,6 +82,7 @@ declare global {
81
82
  skPoints: SkiaProps<PointsProps>;
82
83
  skRect: SkiaProps<RectProps>;
83
84
  skRRect: SkiaProps<RoundedRectProps>;
85
+ skAtlas: SkiaProps<AtlasProps>;
84
86
  skVertices: SkiaProps<VerticesProps>;
85
87
  skText: SkiaProps<TextProps>;
86
88
  skTextPath: SkiaProps<TextPathProps>;
@@ -75,6 +75,9 @@ const createNode = (container, type, props) => {
75
75
  case _types.NodeType.Glyphs:
76
76
  return Sk.Glyphs(props);
77
77
 
78
+ case _types.NodeType.Atlas:
79
+ return Sk.Atlas(props);
80
+
78
81
  case _types.NodeType.DiffRect:
79
82
  return Sk.DiffRect(props);
80
83
 
@@ -1 +1 @@
1
- {"version":3,"names":["shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","NodeType","Layer","Group","Paint","Fill","Image","Circle","Path","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LerpColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow","Paragraph","exhaustiveCheck"],"sources":["HostComponents.ts"],"sourcesContent":["import { NodeType } from \"../dom/types\";\nimport type {\n DeclarationNode,\n FractalNoiseProps,\n RenderNode,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n} from \"../dom/types\";\nimport type { ChildrenProps } from \"../dom/types/Common\";\nimport type {\n BlendProps,\n MorphologyImageFilterProps,\n} from \"../dom/types/ImageFilters\";\nimport type { SkRect, SkRRect } from \"../skia/types\";\nimport type { JsiDrawingNode } from \"../dom/nodes/DrawingNode\";\n\nimport type { Container } from \"./Container\";\nimport { exhaustiveCheck } from \"./typeddash\";\nimport type { SkiaProps } from \"./processors\";\n\n// This flag should only be turned on for debugging/testing\nconst shouldUseJSDomOnNative = false;\nexport const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;\n\ndeclare global {\n var SkiaDomApi: {\n // FIXME: We need a better type for this\n RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;\n RRectNode: (\n props: RoundedRectProps\n ) => JsiDrawingNode<RoundedRectProps, SkRRect>;\n GroupNode: (props: GroupProps) => RenderNode<GroupProps>;\n PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;\n FillNode: (props: PaintProps) => RenderNode<PaintProps>;\n CircleNode: (props: CircleProps) => RenderNode<CircleProps>;\n PathNode: (props: PathProps) => RenderNode<PathProps>;\n LineNode: (props: LineProps) => RenderNode<LineProps>;\n ImageNode: (props: ImageProps) => RenderNode<ImageProps>;\n OvalNode: (props: OvalProps) => RenderNode<OvalProps>;\n PatchNode: (props: PatchProps) => RenderNode<PatchProps>;\n PointsNode: (props: PointsProps) => RenderNode<PointsProps>;\n DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;\n // Mask filters\n BlurMaskFilterNode: (\n props: BlurMaskFilterProps\n ) => DeclarationNode<BlurMaskFilterProps>;\n\n // Path effects\n DashPathEffectNode: (\n props: DashPathEffectProps\n ) => DeclarationNode<DashPathEffectProps>;\n DiscretePathEffectNode: (\n props: DiscretePathEffectProps\n ) => DeclarationNode<DiscretePathEffectProps>;\n CornerPathEffectNode: (\n props: CornerPathEffectProps\n ) => DeclarationNode<CornerPathEffectProps>;\n Path1DPathEffectNode: (\n props: Path1DPathEffectProps\n ) => DeclarationNode<Path1DPathEffectProps>;\n Path2DPathEffectNode: (\n props: Path2DPathEffectProps\n ) => DeclarationNode<Path2DPathEffectProps>;\n Line2DPathEffectNode: (\n props: Line2DPathEffectProps\n ) => DeclarationNode<Line2DPathEffectProps>;\n SumPathEffectNode: () => DeclarationNode<null>;\n\n // Image filters\n BlendImageFilterNode: (\n props: BlendImageFilterProps\n ) => DeclarationNode<BlendImageFilterProps>;\n DropShadowImageFilterNode: (\n props: DropShadowImageFilterProps\n ) => DeclarationNode<DropShadowImageFilterProps>;\n DisplacementMapImageFilterNode: (\n props: DisplacementMapImageFilterProps\n ) => DeclarationNode<DisplacementMapImageFilterProps>;\n BlurImageFilterNode: (\n props: BlurImageFilterProps\n ) => DeclarationNode<BlurImageFilterProps>;\n OffsetImageFilterNode: (\n props: OffsetImageFilterProps\n ) => DeclarationNode<OffsetImageFilterProps>;\n MorphologyImageFilterNode: (\n props: MorphologyImageFilterProps\n ) => DeclarationNode<MorphologyImageFilterProps>;\n RuntimeShaderImageFilterNode: (\n props: RuntimeShaderImageFilterProps\n ) => DeclarationNode<RuntimeShaderImageFilterProps>;\n\n // Color filters\n MatrixColorFilterNode: (\n props: MatrixColorFilterProps\n ) => DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilterNode: (\n props: BlendColorFilterProps\n ) => DeclarationNode<BlendColorFilterProps>;\n LinearToSRGBGammaColorFilterNode: () => DeclarationNode<null>;\n SRGBToLinearGammaColorFilterNode: () => DeclarationNode<null>;\n LumaColorFilterNode: () => DeclarationNode<null>;\n LerpColorFilterNode: (\n props: LerpColorFilterProps\n ) => DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n ShaderNode: (props: ShaderProps) => DeclarationNode<ShaderProps>;\n ImageShaderNode: (\n props: ImageShaderProps\n ) => DeclarationNode<ImageShaderProps>;\n ColorShaderNode: (props: ColorProps) => DeclarationNode<ColorProps>;\n TurbulenceNode: (\n props: TurbulenceProps\n ) => DeclarationNode<TurbulenceProps>;\n FractalNoiseNode: (\n props: FractalNoiseProps\n ) => DeclarationNode<FractalNoiseProps>;\n LinearGradientNode: (\n props: LinearGradientProps\n ) => DeclarationNode<LinearGradientProps>;\n RadialGradientNode: (\n props: RadialGradientProps\n ) => DeclarationNode<RadialGradientProps>;\n SweepGradientNode: (\n props: SweepGradientProps\n ) => DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradientNode: (\n props: TwoPointConicalGradientProps\n ) => DeclarationNode<TwoPointConicalGradientProps>;\n PictureNode: (props: PictureProps) => RenderNode<PictureProps>;\n ImageSVGNode: (props: ImageSVGProps) => RenderNode<ImageSVGProps>;\n VerticesNode: (props: VerticesProps) => RenderNode<VerticesProps>;\n TextNode: (prop: TextProps) => RenderNode<TextProps>;\n TextPathNode: (prop: TextPathProps) => RenderNode<TextPathProps>;\n TextBlobNode: (prop: TextBlobProps) => RenderNode<TextBlobProps>;\n GlyphsNode: (prop: GlyphsProps) => RenderNode<GlyphsProps>;\n BlendNode: (prop: BlendProps) => DeclarationNode<BlendProps>;\n BackdropFilterNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n BoxNode: (prop: BoxProps) => RenderNode<BoxProps>;\n BoxShadowNode: (prop: BoxShadowProps) => DeclarationNode<BoxShadowProps>;\n LayerNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n\n // Paragraph\n ParagraphNode: (props: ParagraphProps) => RenderNode<ParagraphProps>;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n\nexport const createNode = (\n container: Container,\n type: NodeType,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any\n) => {\n const { Sk } = container;\n switch (type) {\n case NodeType.Layer:\n return Sk.Layer(props);\n case NodeType.Group:\n return Sk.Group(props);\n case NodeType.Paint:\n return Sk.Paint(props);\n // Drawings\n case NodeType.Fill:\n return Sk.Fill(props);\n case NodeType.Image:\n return Sk.Image(props);\n case NodeType.Circle:\n return Sk.Circle(props);\n case NodeType.Path:\n return Sk.Path(props);\n case NodeType.Line:\n return Sk.Line(props);\n case NodeType.Oval:\n return Sk.Oval(props);\n case NodeType.Patch:\n return Sk.Patch(props);\n case NodeType.Points:\n return Sk.Points(props);\n case NodeType.Rect:\n return Sk.Rect(props);\n case NodeType.RRect:\n return Sk.RRect(props);\n case NodeType.Vertices:\n return Sk.Vertices(props);\n case NodeType.Text:\n return Sk.Text(props);\n case NodeType.TextPath:\n return Sk.TextPath(props);\n case NodeType.TextBlob:\n return Sk.TextBlob(props);\n case NodeType.Glyphs:\n return Sk.Glyphs(props);\n case NodeType.DiffRect:\n return Sk.DiffRect(props);\n case NodeType.Picture:\n return Sk.Picture(props);\n case NodeType.ImageSVG:\n return Sk.ImageSVG(props);\n // Mask Filter\n case NodeType.BlurMaskFilter:\n return Sk.BlurMaskFilter(props);\n // Image Filter\n case NodeType.BlendImageFilter:\n return Sk.BlendImageFilter(props);\n case NodeType.BlurImageFilter:\n return Sk.BlurImageFilter(props);\n case NodeType.OffsetImageFilter:\n return Sk.OffsetImageFilter(props);\n case NodeType.DropShadowImageFilter:\n return Sk.DropShadowImageFilter(props);\n case NodeType.DisplacementMapImageFilter:\n return Sk.DisplacementMapImageFilter(props);\n case NodeType.MorphologyImageFilter:\n return Sk.MorphologyImageFilter(props);\n case NodeType.RuntimeShaderImageFilter:\n return Sk.RuntimeShaderImageFilter(props);\n // Color Filter\n case NodeType.MatrixColorFilter:\n return Sk.MatrixColorFilter(props);\n case NodeType.BlendColorFilter:\n return Sk.BlendColorFilter(props);\n case NodeType.LerpColorFilter:\n return Sk.LerpColorFilter(props);\n case NodeType.LumaColorFilter:\n return Sk.LumaColorFilter();\n case NodeType.LinearToSRGBGammaColorFilter:\n return Sk.LinearToSRGBGammaColorFilter();\n case NodeType.SRGBToLinearGammaColorFilter:\n return Sk.SRGBToLinearGammaColorFilter();\n // Shader\n case NodeType.Shader:\n return Sk.Shader(props);\n case NodeType.ImageShader:\n return Sk.ImageShader(props);\n case NodeType.ColorShader:\n return Sk.ColorShader(props);\n case NodeType.Turbulence:\n return Sk.Turbulence(props);\n case NodeType.FractalNoise:\n return Sk.FractalNoise(props);\n case NodeType.LinearGradient:\n return Sk.LinearGradient(props);\n case NodeType.RadialGradient:\n return Sk.RadialGradient(props);\n case NodeType.SweepGradient:\n return Sk.SweepGradient(props);\n case NodeType.TwoPointConicalGradient:\n return Sk.TwoPointConicalGradient(props);\n // Path Effect\n case NodeType.CornerPathEffect:\n return Sk.CornerPathEffect(props);\n case NodeType.DiscretePathEffect:\n return Sk.DiscretePathEffect(props);\n case NodeType.DashPathEffect:\n return Sk.DashPathEffect(props);\n case NodeType.Path1DPathEffect:\n return Sk.Path1DPathEffect(props);\n case NodeType.Path2DPathEffect:\n return Sk.Path2DPathEffect(props);\n case NodeType.SumPathEffect:\n return Sk.SumPathEffect();\n case NodeType.Line2DPathEffect:\n return Sk.Line2DPathEffect(props);\n // Mixed\n case NodeType.Blend:\n return Sk.Blend(props);\n case NodeType.BackdropFilter:\n return Sk.BackdropFilter(props);\n case NodeType.Box:\n return Sk.Box(props);\n case NodeType.BoxShadow:\n return Sk.BoxShadow(props);\n // Paragraph\n case NodeType.Paragraph:\n return Sk.Paragraph(props);\n default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","NodeType","Layer","Group","Paint","Fill","Image","Circle","Path","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","Atlas","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LerpColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow","Paragraph","exhaustiveCheck"],"sources":["HostComponents.ts"],"sourcesContent":["import { NodeType } from \"../dom/types\";\nimport type {\n DeclarationNode,\n FractalNoiseProps,\n RenderNode,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n AtlasProps,\n} from \"../dom/types\";\nimport type { ChildrenProps } from \"../dom/types/Common\";\nimport type {\n BlendProps,\n MorphologyImageFilterProps,\n} from \"../dom/types/ImageFilters\";\nimport type { SkRect, SkRRect } from \"../skia/types\";\nimport type { JsiDrawingNode } from \"../dom/nodes/DrawingNode\";\n\nimport type { Container } from \"./Container\";\nimport { exhaustiveCheck } from \"./typeddash\";\nimport type { SkiaProps } from \"./processors\";\n\n// This flag should only be turned on for debugging/testing\nconst shouldUseJSDomOnNative = false;\nexport const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;\n\ndeclare global {\n var SkiaDomApi: {\n RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;\n RRectNode: (\n props: RoundedRectProps\n ) => JsiDrawingNode<RoundedRectProps, SkRRect>;\n GroupNode: (props: GroupProps) => RenderNode<GroupProps>;\n PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;\n FillNode: (props: PaintProps) => RenderNode<PaintProps>;\n CircleNode: (props: CircleProps) => RenderNode<CircleProps>;\n PathNode: (props: PathProps) => RenderNode<PathProps>;\n LineNode: (props: LineProps) => RenderNode<LineProps>;\n ImageNode: (props: ImageProps) => RenderNode<ImageProps>;\n OvalNode: (props: OvalProps) => RenderNode<OvalProps>;\n PatchNode: (props: PatchProps) => RenderNode<PatchProps>;\n PointsNode: (props: PointsProps) => RenderNode<PointsProps>;\n DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;\n AtlasNode: (props: AtlasProps) => RenderNode<AtlasProps>;\n\n // Mask filters\n BlurMaskFilterNode: (\n props: BlurMaskFilterProps\n ) => DeclarationNode<BlurMaskFilterProps>;\n\n // Path effects\n DashPathEffectNode: (\n props: DashPathEffectProps\n ) => DeclarationNode<DashPathEffectProps>;\n DiscretePathEffectNode: (\n props: DiscretePathEffectProps\n ) => DeclarationNode<DiscretePathEffectProps>;\n CornerPathEffectNode: (\n props: CornerPathEffectProps\n ) => DeclarationNode<CornerPathEffectProps>;\n Path1DPathEffectNode: (\n props: Path1DPathEffectProps\n ) => DeclarationNode<Path1DPathEffectProps>;\n Path2DPathEffectNode: (\n props: Path2DPathEffectProps\n ) => DeclarationNode<Path2DPathEffectProps>;\n Line2DPathEffectNode: (\n props: Line2DPathEffectProps\n ) => DeclarationNode<Line2DPathEffectProps>;\n SumPathEffectNode: () => DeclarationNode<null>;\n\n // Image filters\n BlendImageFilterNode: (\n props: BlendImageFilterProps\n ) => DeclarationNode<BlendImageFilterProps>;\n DropShadowImageFilterNode: (\n props: DropShadowImageFilterProps\n ) => DeclarationNode<DropShadowImageFilterProps>;\n DisplacementMapImageFilterNode: (\n props: DisplacementMapImageFilterProps\n ) => DeclarationNode<DisplacementMapImageFilterProps>;\n BlurImageFilterNode: (\n props: BlurImageFilterProps\n ) => DeclarationNode<BlurImageFilterProps>;\n OffsetImageFilterNode: (\n props: OffsetImageFilterProps\n ) => DeclarationNode<OffsetImageFilterProps>;\n MorphologyImageFilterNode: (\n props: MorphologyImageFilterProps\n ) => DeclarationNode<MorphologyImageFilterProps>;\n RuntimeShaderImageFilterNode: (\n props: RuntimeShaderImageFilterProps\n ) => DeclarationNode<RuntimeShaderImageFilterProps>;\n\n // Color filters\n MatrixColorFilterNode: (\n props: MatrixColorFilterProps\n ) => DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilterNode: (\n props: BlendColorFilterProps\n ) => DeclarationNode<BlendColorFilterProps>;\n LinearToSRGBGammaColorFilterNode: () => DeclarationNode<null>;\n SRGBToLinearGammaColorFilterNode: () => DeclarationNode<null>;\n LumaColorFilterNode: () => DeclarationNode<null>;\n LerpColorFilterNode: (\n props: LerpColorFilterProps\n ) => DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n ShaderNode: (props: ShaderProps) => DeclarationNode<ShaderProps>;\n ImageShaderNode: (\n props: ImageShaderProps\n ) => DeclarationNode<ImageShaderProps>;\n ColorShaderNode: (props: ColorProps) => DeclarationNode<ColorProps>;\n TurbulenceNode: (\n props: TurbulenceProps\n ) => DeclarationNode<TurbulenceProps>;\n FractalNoiseNode: (\n props: FractalNoiseProps\n ) => DeclarationNode<FractalNoiseProps>;\n LinearGradientNode: (\n props: LinearGradientProps\n ) => DeclarationNode<LinearGradientProps>;\n RadialGradientNode: (\n props: RadialGradientProps\n ) => DeclarationNode<RadialGradientProps>;\n SweepGradientNode: (\n props: SweepGradientProps\n ) => DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradientNode: (\n props: TwoPointConicalGradientProps\n ) => DeclarationNode<TwoPointConicalGradientProps>;\n PictureNode: (props: PictureProps) => RenderNode<PictureProps>;\n ImageSVGNode: (props: ImageSVGProps) => RenderNode<ImageSVGProps>;\n VerticesNode: (props: VerticesProps) => RenderNode<VerticesProps>;\n TextNode: (prop: TextProps) => RenderNode<TextProps>;\n TextPathNode: (prop: TextPathProps) => RenderNode<TextPathProps>;\n TextBlobNode: (prop: TextBlobProps) => RenderNode<TextBlobProps>;\n GlyphsNode: (prop: GlyphsProps) => RenderNode<GlyphsProps>;\n BlendNode: (prop: BlendProps) => DeclarationNode<BlendProps>;\n BackdropFilterNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n BoxNode: (prop: BoxProps) => RenderNode<BoxProps>;\n BoxShadowNode: (prop: BoxShadowProps) => DeclarationNode<BoxShadowProps>;\n LayerNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n\n // Paragraph\n ParagraphNode: (props: ParagraphProps) => RenderNode<ParagraphProps>;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skAtlas: SkiaProps<AtlasProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n\nexport const createNode = (\n container: Container,\n type: NodeType,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any\n) => {\n const { Sk } = container;\n switch (type) {\n case NodeType.Layer:\n return Sk.Layer(props);\n case NodeType.Group:\n return Sk.Group(props);\n case NodeType.Paint:\n return Sk.Paint(props);\n // Drawings\n case NodeType.Fill:\n return Sk.Fill(props);\n case NodeType.Image:\n return Sk.Image(props);\n case NodeType.Circle:\n return Sk.Circle(props);\n case NodeType.Path:\n return Sk.Path(props);\n case NodeType.Line:\n return Sk.Line(props);\n case NodeType.Oval:\n return Sk.Oval(props);\n case NodeType.Patch:\n return Sk.Patch(props);\n case NodeType.Points:\n return Sk.Points(props);\n case NodeType.Rect:\n return Sk.Rect(props);\n case NodeType.RRect:\n return Sk.RRect(props);\n case NodeType.Vertices:\n return Sk.Vertices(props);\n case NodeType.Text:\n return Sk.Text(props);\n case NodeType.TextPath:\n return Sk.TextPath(props);\n case NodeType.TextBlob:\n return Sk.TextBlob(props);\n case NodeType.Glyphs:\n return Sk.Glyphs(props);\n case NodeType.Atlas:\n return Sk.Atlas(props);\n case NodeType.DiffRect:\n return Sk.DiffRect(props);\n case NodeType.Picture:\n return Sk.Picture(props);\n case NodeType.ImageSVG:\n return Sk.ImageSVG(props);\n // Mask Filter\n case NodeType.BlurMaskFilter:\n return Sk.BlurMaskFilter(props);\n // Image Filter\n case NodeType.BlendImageFilter:\n return Sk.BlendImageFilter(props);\n case NodeType.BlurImageFilter:\n return Sk.BlurImageFilter(props);\n case NodeType.OffsetImageFilter:\n return Sk.OffsetImageFilter(props);\n case NodeType.DropShadowImageFilter:\n return Sk.DropShadowImageFilter(props);\n case NodeType.DisplacementMapImageFilter:\n return Sk.DisplacementMapImageFilter(props);\n case NodeType.MorphologyImageFilter:\n return Sk.MorphologyImageFilter(props);\n case NodeType.RuntimeShaderImageFilter:\n return Sk.RuntimeShaderImageFilter(props);\n // Color Filter\n case NodeType.MatrixColorFilter:\n return Sk.MatrixColorFilter(props);\n case NodeType.BlendColorFilter:\n return Sk.BlendColorFilter(props);\n case NodeType.LerpColorFilter:\n return Sk.LerpColorFilter(props);\n case NodeType.LumaColorFilter:\n return Sk.LumaColorFilter();\n case NodeType.LinearToSRGBGammaColorFilter:\n return Sk.LinearToSRGBGammaColorFilter();\n case NodeType.SRGBToLinearGammaColorFilter:\n return Sk.SRGBToLinearGammaColorFilter();\n // Shader\n case NodeType.Shader:\n return Sk.Shader(props);\n case NodeType.ImageShader:\n return Sk.ImageShader(props);\n case NodeType.ColorShader:\n return Sk.ColorShader(props);\n case NodeType.Turbulence:\n return Sk.Turbulence(props);\n case NodeType.FractalNoise:\n return Sk.FractalNoise(props);\n case NodeType.LinearGradient:\n return Sk.LinearGradient(props);\n case NodeType.RadialGradient:\n return Sk.RadialGradient(props);\n case NodeType.SweepGradient:\n return Sk.SweepGradient(props);\n case NodeType.TwoPointConicalGradient:\n return Sk.TwoPointConicalGradient(props);\n // Path Effect\n case NodeType.CornerPathEffect:\n return Sk.CornerPathEffect(props);\n case NodeType.DiscretePathEffect:\n return Sk.DiscretePathEffect(props);\n case NodeType.DashPathEffect:\n return Sk.DashPathEffect(props);\n case NodeType.Path1DPathEffect:\n return Sk.Path1DPathEffect(props);\n case NodeType.Path2DPathEffect:\n return Sk.Path2DPathEffect(props);\n case NodeType.SumPathEffect:\n return Sk.SumPathEffect();\n case NodeType.Line2DPathEffect:\n return Sk.Line2DPathEffect(props);\n // Mixed\n case NodeType.Blend:\n return Sk.Blend(props);\n case NodeType.BackdropFilter:\n return Sk.BackdropFilter(props);\n case NodeType.Box:\n return Sk.Box(props);\n case NodeType.BoxShadow:\n return Sk.BoxShadow(props);\n // Paragraph\n case NodeType.Paragraph:\n return Sk.Paragraph(props);\n default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import type { ReactElement } from "react";
2
- export declare const drawAsImage: (element: ReactElement, width: number, height: number) => import("../skia").SkImage;
3
- export declare const drawAsPicture: (element: ReactElement) => import("../skia").SkPicture;
2
+ import type { SkPicture, SkSize } from "../skia/types";
3
+ export declare const drawAsPicture: (element: ReactElement) => SkPicture;
4
+ export declare const drawAsImage: (element: ReactElement, size: SkSize) => import("../skia").SkImage;
5
+ export declare const drawAsImageFromPicture: (picture: SkPicture, size: SkSize) => import("../skia").SkImage;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.drawAsPicture = exports.drawAsImage = void 0;
6
+ exports.drawAsPicture = exports.drawAsImageFromPicture = exports.drawAsImage = void 0;
7
7
 
8
8
  var _types = require("../dom/types");
9
9
 
@@ -11,23 +11,6 @@ var _skia = require("../skia");
11
11
 
12
12
  var _Reconciler = require("./Reconciler");
13
13
 
14
- const drawAsImage = (element, width, height) => {
15
- const picture = drawAsPicture(element);
16
-
17
- const surface = _skia.Skia.Surface.MakeOffscreen(width, height);
18
-
19
- if (!surface) {
20
- throw new Error("Could not create offscreen surface");
21
- }
22
-
23
- const canvas = surface.getCanvas();
24
- canvas.drawPicture(picture);
25
- surface.flush();
26
- return surface.makeImageSnapshot();
27
- };
28
-
29
- exports.drawAsImage = drawAsImage;
30
-
31
14
  const drawAsPicture = element => {
32
15
  const recorder = _skia.Skia.PictureRecorder();
33
16
 
@@ -41,4 +24,26 @@ const drawAsPicture = element => {
41
24
  };
42
25
 
43
26
  exports.drawAsPicture = drawAsPicture;
27
+
28
+ const drawAsImage = (element, size) => {
29
+ return drawAsImageFromPicture(drawAsPicture(element), size);
30
+ }; // TODO: We're not sure yet why PixelRatio is not needed here.
31
+
32
+
33
+ exports.drawAsImage = drawAsImage;
34
+ const pd = 1;
35
+
36
+ const drawAsImageFromPicture = (picture, size) => {
37
+ "worklet";
38
+
39
+ const surface = _skia.Skia.Surface.MakeOffscreen(size.width * pd, size.height * pd);
40
+
41
+ const canvas = surface.getCanvas();
42
+ canvas.scale(pd, pd);
43
+ canvas.drawPicture(picture);
44
+ surface.flush();
45
+ return surface.makeImageSnapshot();
46
+ };
47
+
48
+ exports.drawAsImageFromPicture = drawAsImageFromPicture;
44
49
  //# sourceMappingURL=Offscreen.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["drawAsImage","element","width","height","picture","drawAsPicture","surface","Skia","Surface","MakeOffscreen","Error","canvas","getCanvas","drawPicture","flush","makeImageSnapshot","recorder","PictureRecorder","beginRecording","root","SkiaRoot","render","ctx","JsiDrawingContext","dom","finishRecordingAsPicture"],"sources":["Offscreen.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\n\nimport { JsiDrawingContext } from \"../dom/types\";\nimport { Skia } from \"../skia\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const drawAsImage = (\n element: ReactElement,\n width: number,\n height: number\n) => {\n const picture = drawAsPicture(element);\n const surface = Skia.Surface.MakeOffscreen(width, height);\n if (!surface) {\n throw new Error(\"Could not create offscreen surface\");\n }\n const canvas = surface.getCanvas();\n canvas.drawPicture(picture);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n\nexport const drawAsPicture = (element: ReactElement) => {\n const recorder = Skia.PictureRecorder();\n const canvas = recorder.beginRecording();\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n const picture = recorder.finishRecordingAsPicture();\n return picture;\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AAEA;;AAEO,MAAMA,WAAW,GAAG,CACzBC,OADyB,EAEzBC,KAFyB,EAGzBC,MAHyB,KAItB;EACH,MAAMC,OAAO,GAAGC,aAAa,CAACJ,OAAD,CAA7B;;EACA,MAAMK,OAAO,GAAGC,UAAA,CAAKC,OAAL,CAAaC,aAAb,CAA2BP,KAA3B,EAAkCC,MAAlC,CAAhB;;EACA,IAAI,CAACG,OAAL,EAAc;IACZ,MAAM,IAAII,KAAJ,CAAU,oCAAV,CAAN;EACD;;EACD,MAAMC,MAAM,GAAGL,OAAO,CAACM,SAAR,EAAf;EACAD,MAAM,CAACE,WAAP,CAAmBT,OAAnB;EACAE,OAAO,CAACQ,KAAR;EACA,OAAOR,OAAO,CAACS,iBAAR,EAAP;AACD,CAdM;;;;AAgBA,MAAMV,aAAa,GAAIJ,OAAD,IAA2B;EACtD,MAAMe,QAAQ,GAAGT,UAAA,CAAKU,eAAL,EAAjB;;EACA,MAAMN,MAAM,GAAGK,QAAQ,CAACE,cAAT,EAAf;EACA,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAab,UAAb,EAAmB,KAAnB,CAAb;EACAY,IAAI,CAACE,MAAL,CAAYpB,OAAZ;EACA,MAAMqB,GAAG,GAAG,IAAIC,wBAAJ,CAAsBhB,UAAtB,EAA4BI,MAA5B,CAAZ;EACAQ,IAAI,CAACK,GAAL,CAASH,MAAT,CAAgBC,GAAhB;EACA,MAAMlB,OAAO,GAAGY,QAAQ,CAACS,wBAAT,EAAhB;EACA,OAAOrB,OAAP;AACD,CATM"}
1
+ {"version":3,"names":["drawAsPicture","element","recorder","Skia","PictureRecorder","canvas","beginRecording","root","SkiaRoot","render","ctx","JsiDrawingContext","dom","picture","finishRecordingAsPicture","drawAsImage","size","drawAsImageFromPicture","pd","surface","Surface","MakeOffscreen","width","height","getCanvas","scale","drawPicture","flush","makeImageSnapshot"],"sources":["Offscreen.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\n\nimport { JsiDrawingContext } from \"../dom/types\";\nimport type { SkPicture, SkSize } from \"../skia/types\";\nimport { Skia } from \"../skia\";\n\nimport { SkiaRoot } from \"./Reconciler\";\n\nexport const drawAsPicture = (element: ReactElement) => {\n const recorder = Skia.PictureRecorder();\n const canvas = recorder.beginRecording();\n const root = new SkiaRoot(Skia, false);\n root.render(element);\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.dom.render(ctx);\n const picture = recorder.finishRecordingAsPicture();\n return picture;\n};\n\nexport const drawAsImage = (element: ReactElement, size: SkSize) => {\n return drawAsImageFromPicture(drawAsPicture(element), size);\n};\n\n// TODO: We're not sure yet why PixelRatio is not needed here.\nconst pd = 1;\nexport const drawAsImageFromPicture = (picture: SkPicture, size: SkSize) => {\n \"worklet\";\n const surface = Skia.Surface.MakeOffscreen(\n size.width * pd,\n size.height * pd\n )!;\n const canvas = surface.getCanvas();\n canvas.scale(pd, pd);\n canvas.drawPicture(picture);\n surface.flush();\n return surface.makeImageSnapshot();\n};\n"],"mappings":";;;;;;;AAEA;;AAEA;;AAEA;;AAEO,MAAMA,aAAa,GAAIC,OAAD,IAA2B;EACtD,MAAMC,QAAQ,GAAGC,UAAA,CAAKC,eAAL,EAAjB;;EACA,MAAMC,MAAM,GAAGH,QAAQ,CAACI,cAAT,EAAf;EACA,MAAMC,IAAI,GAAG,IAAIC,oBAAJ,CAAaL,UAAb,EAAmB,KAAnB,CAAb;EACAI,IAAI,CAACE,MAAL,CAAYR,OAAZ;EACA,MAAMS,GAAG,GAAG,IAAIC,wBAAJ,CAAsBR,UAAtB,EAA4BE,MAA5B,CAAZ;EACAE,IAAI,CAACK,GAAL,CAASH,MAAT,CAAgBC,GAAhB;EACA,MAAMG,OAAO,GAAGX,QAAQ,CAACY,wBAAT,EAAhB;EACA,OAAOD,OAAP;AACD,CATM;;;;AAWA,MAAME,WAAW,GAAG,CAACd,OAAD,EAAwBe,IAAxB,KAAyC;EAClE,OAAOC,sBAAsB,CAACjB,aAAa,CAACC,OAAD,CAAd,EAAyBe,IAAzB,CAA7B;AACD,CAFM,C,CAIP;;;;AACA,MAAME,EAAE,GAAG,CAAX;;AACO,MAAMD,sBAAsB,GAAG,CAACJ,OAAD,EAAqBG,IAArB,KAAsC;EAC1E;;EACA,MAAMG,OAAO,GAAGhB,UAAA,CAAKiB,OAAL,CAAaC,aAAb,CACdL,IAAI,CAACM,KAAL,GAAaJ,EADC,EAEdF,IAAI,CAACO,MAAL,GAAcL,EAFA,CAAhB;;EAIA,MAAMb,MAAM,GAAGc,OAAO,CAACK,SAAR,EAAf;EACAnB,MAAM,CAACoB,KAAP,CAAaP,EAAb,EAAiBA,EAAjB;EACAb,MAAM,CAACqB,WAAP,CAAmBb,OAAnB;EACAM,OAAO,CAACQ,KAAR;EACA,OAAOR,OAAO,CAACS,iBAAR,EAAP;AACD,CAXM"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { AtlasProps } from "../../../dom/types";
3
+ import type { SkiaProps } from "../../processors";
4
+ export declare const Atlas: (props: SkiaProps<AtlasProps>) => React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Atlas = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const Atlas = props => {
13
+ return /*#__PURE__*/_react.default.createElement("skAtlas", props);
14
+ };
15
+
16
+ exports.Atlas = Atlas;
17
+ //# sourceMappingURL=Atlas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Atlas","props"],"sources":["Atlas.tsx"],"sourcesContent":["import React from \"react\";\n\nimport type { AtlasProps } from \"../../../dom/types\";\nimport type { SkiaProps } from \"../../processors\";\n\nexport const Atlas = (props: SkiaProps<AtlasProps>) => {\n return <skAtlas {...props} />;\n};\n"],"mappings":";;;;;;;AAAA;;;;AAKO,MAAMA,KAAK,GAAIC,KAAD,IAAkC;EACrD,oBAAO,wCAAaA,KAAb,CAAP;AACD,CAFM"}
@@ -11,3 +11,4 @@ export * from "./Vertices";
11
11
  export * from "./Fill";
12
12
  export * from "./FitBox";
13
13
  export * from "./Box";
14
+ export * from "./Atlas";
@@ -172,4 +172,17 @@ Object.keys(_Box).forEach(function (key) {
172
172
  }
173
173
  });
174
174
  });
175
+
176
+ var _Atlas = require("./Atlas");
177
+
178
+ Object.keys(_Atlas).forEach(function (key) {
179
+ if (key === "default" || key === "__esModule") return;
180
+ if (key in exports && exports[key] === _Atlas[key]) return;
181
+ Object.defineProperty(exports, key, {
182
+ enumerable: true,
183
+ get: function () {
184
+ return _Atlas[key];
185
+ }
186
+ });
187
+ });
175
188
  //# sourceMappingURL=index.js.map