@shopify/react-native-skia 1.11.0 → 1.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/android/CMakeLists.txt +0 -8
  2. package/android/cpp/jni/JniLoad.cpp +0 -2
  3. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -1
  4. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerDelegate.java +4 -2
  5. package/cpp/api/recorder/Convertor.h +2 -1
  6. package/cpp/api/recorder/DataTypes.h +70 -72
  7. package/cpp/api/recorder/Drawings.h +25 -24
  8. package/cpp/api/recorder/RNRecorder.h +12 -10
  9. package/cpp/api/recorder/Shaders.h +5 -5
  10. package/cpp/jsi/ViewProperty.h +5 -16
  11. package/cpp/rnskia/RNSkManager.cpp +1 -7
  12. package/ios/RNSkia-iOS/SkiaCVPixelBufferUtils.mm +8 -4
  13. package/lib/commonjs/dom/nodes/index.d.ts +0 -1
  14. package/lib/commonjs/dom/nodes/index.js +0 -11
  15. package/lib/commonjs/dom/nodes/index.js.map +1 -1
  16. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -6
  17. package/lib/commonjs/external/reanimated/renderHelpers.js +0 -73
  18. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  19. package/lib/commonjs/index.d.ts +0 -1
  20. package/lib/commonjs/index.js +0 -12
  21. package/lib/commonjs/index.js.map +1 -1
  22. package/lib/commonjs/renderer/Canvas.d.ts +10 -1
  23. package/lib/commonjs/renderer/Canvas.js +3 -1
  24. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  25. package/lib/commonjs/sksg/Container.d.ts +2 -0
  26. package/lib/commonjs/sksg/Container.js +10 -0
  27. package/lib/commonjs/sksg/Container.js.map +1 -1
  28. package/lib/commonjs/sksg/Elements.d.ts +65 -0
  29. package/lib/commonjs/sksg/Elements.js +6 -0
  30. package/lib/commonjs/sksg/Elements.js.map +1 -0
  31. package/lib/commonjs/sksg/Reconciler.d.ts +1 -0
  32. package/lib/commonjs/sksg/Reconciler.js +2 -0
  33. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  34. package/lib/commonjs/views/index.d.ts +0 -1
  35. package/lib/commonjs/views/index.js +0 -11
  36. package/lib/commonjs/views/index.js.map +1 -1
  37. package/lib/module/dom/nodes/index.d.ts +0 -1
  38. package/lib/module/dom/nodes/index.js +0 -1
  39. package/lib/module/dom/nodes/index.js.map +1 -1
  40. package/lib/module/external/reanimated/renderHelpers.d.ts +0 -6
  41. package/lib/module/external/reanimated/renderHelpers.js +0 -68
  42. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  43. package/lib/module/index.d.ts +0 -1
  44. package/lib/module/index.js +0 -1
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/module/renderer/Canvas.d.ts +10 -1
  47. package/lib/module/renderer/Canvas.js +1 -0
  48. package/lib/module/renderer/Canvas.js.map +1 -1
  49. package/lib/module/sksg/Container.d.ts +2 -0
  50. package/lib/module/sksg/Container.js +10 -0
  51. package/lib/module/sksg/Container.js.map +1 -1
  52. package/lib/module/sksg/Elements.d.ts +65 -0
  53. package/lib/module/sksg/Elements.js +2 -0
  54. package/lib/module/sksg/Elements.js.map +1 -0
  55. package/lib/module/sksg/Reconciler.d.ts +1 -0
  56. package/lib/module/sksg/Reconciler.js +2 -0
  57. package/lib/module/sksg/Reconciler.js.map +1 -1
  58. package/lib/module/views/index.d.ts +0 -1
  59. package/lib/module/views/index.js +0 -1
  60. package/lib/module/views/index.js.map +1 -1
  61. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +0 -3
  62. package/lib/typescript/lib/commonjs/renderer/Canvas.d.ts +1 -0
  63. package/lib/typescript/lib/commonjs/sksg/Container.d.ts +2 -0
  64. package/lib/typescript/lib/commonjs/sksg/Elements.d.ts +1 -0
  65. package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +6 -0
  66. package/lib/typescript/lib/module/dom/nodes/index.d.ts +0 -1
  67. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +0 -3
  68. package/lib/typescript/lib/module/index.d.ts +0 -1
  69. package/lib/typescript/lib/module/mock/index.d.ts +0 -1
  70. package/lib/typescript/lib/module/renderer/Canvas.d.ts +1 -0
  71. package/lib/typescript/lib/module/sksg/Container.d.ts +2 -0
  72. package/lib/typescript/lib/module/sksg/Elements.d.ts +1 -0
  73. package/lib/typescript/lib/module/sksg/Reconciler.d.ts +6 -0
  74. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  75. package/lib/typescript/src/dom/nodes/index.d.ts +0 -1
  76. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +0 -6
  77. package/lib/typescript/src/index.d.ts +0 -1
  78. package/lib/typescript/src/renderer/Canvas.d.ts +10 -1
  79. package/lib/typescript/src/sksg/Container.d.ts +2 -0
  80. package/lib/typescript/src/sksg/Elements.d.ts +65 -0
  81. package/lib/typescript/src/sksg/Reconciler.d.ts +1 -0
  82. package/lib/typescript/src/views/index.d.ts +0 -1
  83. package/package.json +1 -1
  84. package/src/dom/nodes/index.ts +0 -1
  85. package/src/external/reanimated/renderHelpers.ts +1 -78
  86. package/src/index.ts +0 -1
  87. package/src/renderer/Canvas.tsx +11 -1
  88. package/src/sksg/Container.ts +11 -0
  89. package/src/sksg/Elements.tsx +136 -0
  90. package/src/sksg/Reconciler.ts +2 -0
  91. package/src/views/index.ts +0 -1
  92. package/android/cpp/jni/include/JniSkiaDomView.h +0 -82
  93. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +0 -41
  94. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +0 -32
  95. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerDelegate.java +0 -34
  96. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerInterface.java +0 -18
  97. package/cpp/rnskia/RNSkDomView.cpp +0 -121
  98. package/cpp/rnskia/RNSkDomView.h +0 -97
  99. package/cpp/rnskia/dom/JsiDomApi.h +0 -165
  100. package/cpp/rnskia/dom/base/BaseNodeProp.h +0 -72
  101. package/cpp/rnskia/dom/base/ConcatablePaint.cpp +0 -117
  102. package/cpp/rnskia/dom/base/ConcatablePaint.h +0 -49
  103. package/cpp/rnskia/dom/base/Declaration.h +0 -86
  104. package/cpp/rnskia/dom/base/DeclarationContext.h +0 -79
  105. package/cpp/rnskia/dom/base/DerivedNodeProp.h +0 -203
  106. package/cpp/rnskia/dom/base/DrawingContext.cpp +0 -55
  107. package/cpp/rnskia/dom/base/DrawingContext.h +0 -104
  108. package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +0 -119
  109. package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +0 -71
  110. package/cpp/rnskia/dom/base/JsiDomNode.h +0 -572
  111. package/cpp/rnskia/dom/base/JsiDomRenderNode.h +0 -262
  112. package/cpp/rnskia/dom/base/NodeProp.h +0 -139
  113. package/cpp/rnskia/dom/base/NodePropsContainer.h +0 -158
  114. package/cpp/rnskia/dom/nodes/JsiAtlasNode.h +0 -64
  115. package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +0 -49
  116. package/cpp/rnskia/dom/nodes/JsiBlendNode.h +0 -94
  117. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +0 -75
  118. package/cpp/rnskia/dom/nodes/JsiBoxNode.h +0 -94
  119. package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +0 -33
  120. package/cpp/rnskia/dom/nodes/JsiCircleNode.h +0 -35
  121. package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +0 -164
  122. package/cpp/rnskia/dom/nodes/JsiDiffRectNode.h +0 -37
  123. package/cpp/rnskia/dom/nodes/JsiFillNode.h +0 -22
  124. package/cpp/rnskia/dom/nodes/JsiGlyphsNode.h +0 -53
  125. package/cpp/rnskia/dom/nodes/JsiGroupNode.h +0 -25
  126. package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +0 -361
  127. package/cpp/rnskia/dom/nodes/JsiImageNode.h +0 -43
  128. package/cpp/rnskia/dom/nodes/JsiImageSvgNode.h +0 -63
  129. package/cpp/rnskia/dom/nodes/JsiLayerNode.h +0 -74
  130. package/cpp/rnskia/dom/nodes/JsiLineNode.h +0 -38
  131. package/cpp/rnskia/dom/nodes/JsiOvalNode.h +0 -32
  132. package/cpp/rnskia/dom/nodes/JsiPaintNode.h +0 -119
  133. package/cpp/rnskia/dom/nodes/JsiParagraphNode.h +0 -62
  134. package/cpp/rnskia/dom/nodes/JsiPatchNode.h +0 -50
  135. package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +0 -268
  136. package/cpp/rnskia/dom/nodes/JsiPathNode.h +0 -181
  137. package/cpp/rnskia/dom/nodes/JsiPictureNode.h +0 -31
  138. package/cpp/rnskia/dom/nodes/JsiPointsNode.h +0 -48
  139. package/cpp/rnskia/dom/nodes/JsiRRectNode.h +0 -33
  140. package/cpp/rnskia/dom/nodes/JsiRectNode.h +0 -33
  141. package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +0 -434
  142. package/cpp/rnskia/dom/nodes/JsiTextBlobNode.h +0 -44
  143. package/cpp/rnskia/dom/nodes/JsiTextNode.h +0 -51
  144. package/cpp/rnskia/dom/nodes/JsiTextPathNode.h +0 -33
  145. package/cpp/rnskia/dom/nodes/JsiVerticesNode.h +0 -41
  146. package/cpp/rnskia/dom/props/BezierProps.h +0 -65
  147. package/cpp/rnskia/dom/props/BlendModeProp.h +0 -103
  148. package/cpp/rnskia/dom/props/BoxShadowProps.h +0 -62
  149. package/cpp/rnskia/dom/props/CircleProp.h +0 -49
  150. package/cpp/rnskia/dom/props/ClipProp.h +0 -57
  151. package/cpp/rnskia/dom/props/ColorProp.h +0 -96
  152. package/cpp/rnskia/dom/props/FontProp.h +0 -42
  153. package/cpp/rnskia/dom/props/GlyphsProp.h +0 -55
  154. package/cpp/rnskia/dom/props/LayerProp.h +0 -52
  155. package/cpp/rnskia/dom/props/MatrixProp.h +0 -54
  156. package/cpp/rnskia/dom/props/NumbersProp.h +0 -67
  157. package/cpp/rnskia/dom/props/PaintProps.h +0 -133
  158. package/cpp/rnskia/dom/props/ParagraphProp.h +0 -45
  159. package/cpp/rnskia/dom/props/PathProp.h +0 -59
  160. package/cpp/rnskia/dom/props/PictureProp.h +0 -40
  161. package/cpp/rnskia/dom/props/PointProp.h +0 -65
  162. package/cpp/rnskia/dom/props/PointsProp.h +0 -81
  163. package/cpp/rnskia/dom/props/RRectProp.h +0 -222
  164. package/cpp/rnskia/dom/props/RSXformProp.h +0 -52
  165. package/cpp/rnskia/dom/props/RadiusProp.h +0 -43
  166. package/cpp/rnskia/dom/props/RectProp.h +0 -164
  167. package/cpp/rnskia/dom/props/SamplingProp.h +0 -54
  168. package/cpp/rnskia/dom/props/SkImageProps.h +0 -196
  169. package/cpp/rnskia/dom/props/StrokeProps.h +0 -79
  170. package/cpp/rnskia/dom/props/SvgProp.h +0 -45
  171. package/cpp/rnskia/dom/props/TextBlobProp.h +0 -133
  172. package/cpp/rnskia/dom/props/TileModeProp.h +0 -52
  173. package/cpp/rnskia/dom/props/TransformProp.h +0 -147
  174. package/cpp/rnskia/dom/props/TransformsProps.h +0 -66
  175. package/cpp/rnskia/dom/props/UniformsProp.h +0 -159
  176. package/cpp/rnskia/dom/props/VertexModeProp.h +0 -49
  177. package/cpp/rnskia/dom/props/VerticesProps.h +0 -63
  178. package/ios/RNSkia-iOS/SkiaDomView.h +0 -7
  179. package/ios/RNSkia-iOS/SkiaDomView.mm +0 -63
  180. package/ios/RNSkia-iOS/SkiaDomViewManager.h +0 -8
  181. package/ios/RNSkia-iOS/SkiaDomViewManager.mm +0 -51
  182. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +0 -64
  183. package/lib/commonjs/dom/nodes/JsiSkDOM.js +0 -196
  184. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +0 -1
  185. package/lib/commonjs/renderer/CanvasOld.d.ts +0 -11
  186. package/lib/commonjs/renderer/CanvasOld.js +0 -96
  187. package/lib/commonjs/renderer/CanvasOld.js.map +0 -1
  188. package/lib/commonjs/renderer/Container.d.ts +0 -10
  189. package/lib/commonjs/renderer/Container.js +0 -26
  190. package/lib/commonjs/renderer/Container.js.map +0 -1
  191. package/lib/commonjs/renderer/HostComponents.d.ts +0 -129
  192. package/lib/commonjs/renderer/HostComponents.js +0 -141
  193. package/lib/commonjs/renderer/HostComponents.js.map +0 -1
  194. package/lib/commonjs/renderer/HostConfig.d.ts +0 -18
  195. package/lib/commonjs/renderer/HostConfig.js +0 -157
  196. package/lib/commonjs/renderer/HostConfig.js.map +0 -1
  197. package/lib/commonjs/renderer/Reconciler.d.ts +0 -9
  198. package/lib/commonjs/renderer/Reconciler.js +0 -44
  199. package/lib/commonjs/renderer/Reconciler.js.map +0 -1
  200. package/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +0 -6
  201. package/lib/commonjs/specs/SkiaDomViewNativeComponent.js +0 -11
  202. package/lib/commonjs/specs/SkiaDomViewNativeComponent.js.map +0 -1
  203. package/lib/commonjs/views/SkiaDomView.d.ts +0 -33
  204. package/lib/commonjs/views/SkiaDomView.js +0 -119
  205. package/lib/commonjs/views/SkiaDomView.js.map +0 -1
  206. package/lib/commonjs/views/SkiaDomView.web.d.ts +0 -0
  207. package/lib/commonjs/views/SkiaDomView.web.js +0 -2
  208. package/lib/commonjs/views/SkiaDomView.web.js.map +0 -1
  209. package/lib/module/dom/nodes/JsiSkDOM.d.ts +0 -64
  210. package/lib/module/dom/nodes/JsiSkDOM.js +0 -189
  211. package/lib/module/dom/nodes/JsiSkDOM.js.map +0 -1
  212. package/lib/module/renderer/CanvasOld.d.ts +0 -11
  213. package/lib/module/renderer/CanvasOld.js +0 -87
  214. package/lib/module/renderer/CanvasOld.js.map +0 -1
  215. package/lib/module/renderer/Container.d.ts +0 -10
  216. package/lib/module/renderer/Container.js +0 -19
  217. package/lib/module/renderer/Container.js.map +0 -1
  218. package/lib/module/renderer/HostComponents.d.ts +0 -129
  219. package/lib/module/renderer/HostComponents.js +0 -134
  220. package/lib/module/renderer/HostComponents.js.map +0 -1
  221. package/lib/module/renderer/HostConfig.d.ts +0 -18
  222. package/lib/module/renderer/HostConfig.js +0 -150
  223. package/lib/module/renderer/HostConfig.js.map +0 -1
  224. package/lib/module/renderer/Reconciler.d.ts +0 -9
  225. package/lib/module/renderer/Reconciler.js +0 -36
  226. package/lib/module/renderer/Reconciler.js.map +0 -1
  227. package/lib/module/specs/SkiaDomViewNativeComponent.d.ts +0 -6
  228. package/lib/module/specs/SkiaDomViewNativeComponent.js +0 -4
  229. package/lib/module/specs/SkiaDomViewNativeComponent.js.map +0 -1
  230. package/lib/module/views/SkiaDomView.d.ts +0 -33
  231. package/lib/module/views/SkiaDomView.js +0 -111
  232. package/lib/module/views/SkiaDomView.js.map +0 -1
  233. package/lib/module/views/SkiaDomView.web.d.ts +0 -0
  234. package/lib/module/views/SkiaDomView.web.js +0 -2
  235. package/lib/module/views/SkiaDomView.web.js.map +0 -1
  236. package/lib/typescript/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +0 -60
  237. package/lib/typescript/lib/commonjs/renderer/CanvasOld.d.ts +0 -3
  238. package/lib/typescript/lib/commonjs/renderer/Container.d.ts +0 -9
  239. package/lib/typescript/lib/commonjs/renderer/HostComponents.d.ts +0 -2
  240. package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +0 -40
  241. package/lib/typescript/lib/commonjs/renderer/Reconciler.d.ts +0 -10
  242. package/lib/typescript/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +0 -3
  243. package/lib/typescript/lib/commonjs/views/SkiaDomView.d.ts +0 -30
  244. package/lib/typescript/lib/commonjs/views/SkiaDomView.web.d.ts +0 -0
  245. package/lib/typescript/lib/module/dom/nodes/JsiSkDOM.d.ts +0 -59
  246. package/lib/typescript/lib/module/renderer/CanvasOld.d.ts +0 -3
  247. package/lib/typescript/lib/module/renderer/Container.d.ts +0 -9
  248. package/lib/typescript/lib/module/renderer/HostComponents.d.ts +0 -1
  249. package/lib/typescript/lib/module/renderer/HostConfig.d.ts +0 -39
  250. package/lib/typescript/lib/module/renderer/Reconciler.d.ts +0 -9
  251. package/lib/typescript/lib/module/specs/SkiaDomViewNativeComponent.d.ts +0 -2
  252. package/lib/typescript/lib/module/views/SkiaDomView.d.ts +0 -27
  253. package/lib/typescript/lib/module/views/SkiaDomView.web.d.ts +0 -0
  254. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +0 -64
  255. package/lib/typescript/src/renderer/CanvasOld.d.ts +0 -11
  256. package/lib/typescript/src/renderer/Container.d.ts +0 -10
  257. package/lib/typescript/src/renderer/HostComponents.d.ts +0 -129
  258. package/lib/typescript/src/renderer/HostConfig.d.ts +0 -18
  259. package/lib/typescript/src/renderer/Reconciler.d.ts +0 -9
  260. package/lib/typescript/src/specs/SkiaDomViewNativeComponent.d.ts +0 -6
  261. package/lib/typescript/src/views/SkiaDomView.d.ts +0 -33
  262. package/lib/typescript/src/views/SkiaDomView.web.d.ts +0 -0
  263. package/src/dom/nodes/JsiSkDOM.ts +0 -298
  264. package/src/renderer/CanvasOld.tsx +0 -126
  265. package/src/renderer/Container.tsx +0 -19
  266. package/src/renderer/HostComponents.ts +0 -399
  267. package/src/renderer/HostConfig.ts +0 -258
  268. package/src/renderer/Reconciler.tsx +0 -54
  269. package/src/specs/SkiaDomViewNativeComponent.ts +0 -9
  270. package/src/views/SkiaDomView.tsx +0 -124
  271. package/src/views/SkiaDomView.web.tsx +0 -0
  272. /package/cpp/api/recorder/{Image.h → ImageFit.h} +0 -0
@@ -0,0 +1,65 @@
1
+ import type { FractalNoiseProps, 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, ChildrenProps, MorphologyImageFilterProps, BlendProps } from "../dom/types";
2
+ import type { SkiaProps } from "../renderer";
3
+ declare global {
4
+ namespace JSX {
5
+ interface IntrinsicElements {
6
+ skGroup: SkiaProps<GroupProps>;
7
+ skLayer: SkiaProps<ChildrenProps>;
8
+ skPaint: SkiaProps<PaintProps>;
9
+ skFill: SkiaProps<DrawingNodeProps>;
10
+ skImage: SkiaProps<ImageProps>;
11
+ skCircle: SkiaProps<CircleProps>;
12
+ skPath: SkiaProps<PathProps>;
13
+ skLine: SkiaProps<LineProps>;
14
+ skOval: SkiaProps<OvalProps>;
15
+ skPatch: SkiaProps<PatchProps>;
16
+ skPoints: SkiaProps<PointsProps>;
17
+ skRect: SkiaProps<RectProps>;
18
+ skRRect: SkiaProps<RoundedRectProps>;
19
+ skAtlas: SkiaProps<AtlasProps>;
20
+ skVertices: SkiaProps<VerticesProps>;
21
+ skText: SkiaProps<TextProps>;
22
+ skTextPath: SkiaProps<TextPathProps>;
23
+ skTextBlob: SkiaProps<TextBlobProps>;
24
+ skGlyphs: SkiaProps<GlyphsProps>;
25
+ skDiffRect: SkiaProps<DiffRectProps>;
26
+ skPicture: SkiaProps<PictureProps>;
27
+ skImageSVG: SkiaProps<ImageSVGProps>;
28
+ skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;
29
+ skBlendImageFilter: SkiaProps<BlendImageFilterProps>;
30
+ skBlurImageFilter: SkiaProps<BlurImageFilterProps>;
31
+ skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;
32
+ skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;
33
+ skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;
34
+ skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;
35
+ skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;
36
+ skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;
37
+ skBlendColorFilter: SkiaProps<BlendColorFilterProps>;
38
+ skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;
39
+ skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;
40
+ skLumaColorFilter: SkiaProps<ChildrenProps>;
41
+ skLerpColorFilter: SkiaProps<LerpColorFilterProps>;
42
+ skShader: SkiaProps<ShaderProps>;
43
+ skImageShader: SkiaProps<ImageShaderProps>;
44
+ skColorShader: SkiaProps<ColorProps>;
45
+ skTurbulence: SkiaProps<TurbulenceProps>;
46
+ skFractalNoise: SkiaProps<FractalNoiseProps>;
47
+ skLinearGradient: SkiaProps<LinearGradientProps>;
48
+ skRadialGradient: SkiaProps<RadialGradientProps>;
49
+ skSweepGradient: SkiaProps<SweepGradientProps>;
50
+ skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;
51
+ skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;
52
+ skDashPathEffect: SkiaProps<DashPathEffectProps>;
53
+ skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;
54
+ skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;
55
+ skCornerPathEffect: SkiaProps<CornerPathEffectProps>;
56
+ skSumPathEffect: ChildrenProps;
57
+ skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;
58
+ skBlend: SkiaProps<BlendProps>;
59
+ skBackdropFilter: SkiaProps<ChildrenProps>;
60
+ skBox: SkiaProps<BoxProps>;
61
+ skBoxShadow: SkiaProps<BoxShadowProps>;
62
+ skParagraph: SkiaProps<ParagraphProps>;
63
+ }
64
+ }
65
+ }
@@ -1,6 +1,7 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { SkCanvas, Skia } from "../skia/types";
3
3
  import { NodeType } from "../dom/types";
4
+ import "./Elements";
4
5
  export declare class SkiaSGRoot {
5
6
  Skia: Skia;
6
7
  private root;
@@ -1,3 +1,2 @@
1
1
  export * from "./SkiaPictureView";
2
- export * from "./SkiaDomView";
3
2
  export * from "./types";
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "setup-skia-web": "./scripts/setup-canvaskit.js"
9
9
  },
10
10
  "title": "React Native Skia",
11
- "version": "1.11.0",
11
+ "version": "1.11.2",
12
12
  "description": "High-performance React Native Graphics using Skia",
13
13
  "main": "lib/module/index.js",
14
14
  "react-native": "src/index.ts",
@@ -1,3 +1,2 @@
1
1
  export * from "../types";
2
- export * from "./JsiSkDOM";
3
2
  export * from "./datatypes";
@@ -1,12 +1,5 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import type { Container } from "../../renderer/Container";
4
- import type { AnimatedProps } from "../../renderer/processors";
5
- import type { Node } from "../../dom/types";
6
-
7
- import Rea from "./ReanimatedProxy";
8
-
9
1
  export let HAS_REANIMATED_3 = false;
2
+
10
3
  try {
11
4
  // This logic is convoluted but necessary
12
5
  // In most systems, `require("react-native-reanimated")` throws an error, all is well.
@@ -24,73 +17,3 @@ try {
24
17
  } catch (e) {
25
18
  // do nothing
26
19
  }
27
-
28
- const _bindings = new WeakMap<Node<unknown>, unknown>();
29
-
30
- export const unbindReanimatedNode = (node: Node<unknown>) => {
31
- if (!HAS_REANIMATED_3) {
32
- return;
33
- }
34
- const previousMapperId = _bindings.get(node);
35
- if (previousMapperId !== undefined) {
36
- Rea.stopMapper(previousMapperId as number);
37
- }
38
- };
39
-
40
- export function extractReanimatedProps(props: AnimatedProps<any>) {
41
- if (!HAS_REANIMATED_3) {
42
- return [props, {}];
43
- }
44
- const reanimatedProps = {} as AnimatedProps<any>;
45
- const otherProps = {} as AnimatedProps<any>;
46
- for (const propName in props) {
47
- if (propName === "children") {
48
- continue;
49
- }
50
- const propValue = props[propName];
51
- if (Rea.isSharedValue(propValue)) {
52
- reanimatedProps[propName] = propValue;
53
- otherProps[propName] = propValue.value;
54
- } else {
55
- otherProps[propName] = propValue;
56
- }
57
- }
58
- return [otherProps, reanimatedProps];
59
- }
60
-
61
- export function bindReanimatedProps(
62
- container: Container,
63
- node: Node<any>,
64
- reanimatedProps: AnimatedProps<any>
65
- ) {
66
- if (!HAS_REANIMATED_3) {
67
- return;
68
- }
69
- const sharedValues = Object.values(reanimatedProps);
70
- const previousMapperId = _bindings.get(node);
71
- if (previousMapperId !== undefined) {
72
- Rea.stopMapper(previousMapperId as number);
73
- }
74
- if (sharedValues.length > 0) {
75
- const viewId = container.getNativeId();
76
- const { SkiaViewApi } = global;
77
- const mapperId = Rea.startMapper(() => {
78
- "worklet";
79
- if (node) {
80
- for (const propName in reanimatedProps) {
81
- node.setProp(propName, reanimatedProps[propName].value);
82
- }
83
- }
84
- // On React Native we use the SkiaViewApi to redraw because it can
85
- // run on the worklet thread (container.redraw can't)
86
- // if SkiaViewApi is undefined, we are on web and container.redraw()
87
- // can safely be invoked
88
- if (SkiaViewApi) {
89
- SkiaViewApi.requestRedraw(viewId);
90
- } else {
91
- container.redraw();
92
- }
93
- }, sharedValues);
94
- _bindings.set(node, mapperId);
95
- }
96
- }
package/src/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import "./skia/NativeSetup";
2
2
  export { JsiSkImage } from "./skia/web/JsiSkImage";
3
3
  export * from "./renderer";
4
- export * from "./renderer/CanvasOld";
5
4
  export * from "./renderer/Canvas";
6
5
  export * from "./renderer/Offscreen";
7
6
  export * from "./views";
@@ -1,3 +1,4 @@
1
+ import type { FC } from "react";
1
2
  import {
2
3
  forwardRef,
3
4
  useCallback,
@@ -11,11 +12,20 @@ import type { SharedValue } from "react-native-reanimated";
11
12
 
12
13
  import { SkiaViewNativeId } from "../views/SkiaViewNativeId";
13
14
  import SkiaPictureViewNativeComponent from "../specs/SkiaPictureViewNativeComponent";
14
- import type { SkRect, SkSize } from "../skia/types";
15
+ import type { SkImage, SkRect, SkSize } from "../skia/types";
15
16
  import { SkiaSGRoot } from "../sksg/Reconciler";
16
17
  import { Skia } from "../skia";
17
18
  import type { SkiaBaseViewProps } from "../views";
18
19
 
20
+ interface CanvasRef extends FC<CanvasProps> {
21
+ makeImageSnapshot(rect?: SkRect): SkImage;
22
+ makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;
23
+ redraw(): void;
24
+ getNativeId(): number;
25
+ }
26
+
27
+ export const useCanvasRef = () => useRef<CanvasRef>(null);
28
+
19
29
  const NativeSkiaPictureView = SkiaPictureViewNativeComponent;
20
30
 
21
31
  // TODO: no need to go through the JS thread for this
@@ -52,9 +52,14 @@ const nativeDrawOnscreen = (
52
52
  export abstract class Container {
53
53
  public root: Node[] = [];
54
54
  protected recording: Recording | null = null;
55
+ protected unmounted = false;
55
56
 
56
57
  constructor(protected Skia: Skia, protected nativeId: number) {}
57
58
 
59
+ unmount() {
60
+ this.unmounted = true;
61
+ }
62
+
58
63
  drawOnCanvas(canvas: SkCanvas) {
59
64
  if (!this.recording) {
60
65
  throw new Error("No recording to draw");
@@ -101,6 +106,9 @@ class ReanimatedContainer extends Container {
101
106
  if (this.mapperId !== null) {
102
107
  Rea.stopMapper(this.mapperId);
103
108
  }
109
+ if (this.unmounted) {
110
+ return;
111
+ }
104
112
  const recorder = new Recorder();
105
113
  visit(recorder, this.root);
106
114
  const record = recorder.getRecording();
@@ -134,6 +142,9 @@ class NativeReanimatedContainer extends Container {
134
142
  if (this.mapperId !== null) {
135
143
  Rea.stopMapper(this.mapperId);
136
144
  }
145
+ if (this.unmounted) {
146
+ return;
147
+ }
137
148
  const { nativeId, Skia } = this;
138
149
  const recorder = new ReanimatedRecorder(Skia);
139
150
  visit(recorder, this.root);
@@ -0,0 +1,136 @@
1
+ import type {
2
+ FractalNoiseProps,
3
+ CircleProps,
4
+ DrawingNodeProps,
5
+ ImageProps,
6
+ PaintProps,
7
+ PathProps,
8
+ LineProps,
9
+ OvalProps,
10
+ DiffRectProps,
11
+ PointsProps,
12
+ RectProps,
13
+ RoundedRectProps,
14
+ TextProps,
15
+ VerticesProps,
16
+ BlurMaskFilterProps,
17
+ BlendImageFilterProps,
18
+ BlurImageFilterProps,
19
+ DisplacementMapImageFilterProps,
20
+ DropShadowImageFilterProps,
21
+ OffsetImageFilterProps,
22
+ RuntimeShaderImageFilterProps,
23
+ MatrixColorFilterProps,
24
+ ShaderProps,
25
+ ImageShaderProps,
26
+ LinearGradientProps,
27
+ GroupProps,
28
+ PatchProps,
29
+ BlendColorFilterProps,
30
+ DashPathEffectProps,
31
+ DiscretePathEffectProps,
32
+ CornerPathEffectProps,
33
+ Line2DPathEffectProps,
34
+ Path1DPathEffectProps,
35
+ Path2DPathEffectProps,
36
+ TextPathProps,
37
+ TextBlobProps,
38
+ GlyphsProps,
39
+ TwoPointConicalGradientProps,
40
+ TurbulenceProps,
41
+ SweepGradientProps,
42
+ RadialGradientProps,
43
+ ColorProps,
44
+ PictureProps,
45
+ ImageSVGProps,
46
+ LerpColorFilterProps,
47
+ BoxProps,
48
+ BoxShadowProps,
49
+ ParagraphProps,
50
+ AtlasProps,
51
+ ChildrenProps,
52
+ MorphologyImageFilterProps,
53
+ BlendProps,
54
+ } from "../dom/types";
55
+ import type { SkiaProps } from "../renderer";
56
+
57
+ declare global {
58
+ // eslint-disable-next-line @typescript-eslint/no-namespace
59
+ namespace JSX {
60
+ interface IntrinsicElements {
61
+ skGroup: SkiaProps<GroupProps>;
62
+ skLayer: SkiaProps<ChildrenProps>;
63
+ skPaint: SkiaProps<PaintProps>;
64
+
65
+ // Drawings
66
+ skFill: SkiaProps<DrawingNodeProps>;
67
+ skImage: SkiaProps<ImageProps>;
68
+ skCircle: SkiaProps<CircleProps>;
69
+ skPath: SkiaProps<PathProps>;
70
+ skLine: SkiaProps<LineProps>;
71
+ skOval: SkiaProps<OvalProps>;
72
+ skPatch: SkiaProps<PatchProps>;
73
+ skPoints: SkiaProps<PointsProps>;
74
+ skRect: SkiaProps<RectProps>;
75
+ skRRect: SkiaProps<RoundedRectProps>;
76
+ skAtlas: SkiaProps<AtlasProps>;
77
+ skVertices: SkiaProps<VerticesProps>;
78
+ skText: SkiaProps<TextProps>;
79
+ skTextPath: SkiaProps<TextPathProps>;
80
+ skTextBlob: SkiaProps<TextBlobProps>;
81
+ skGlyphs: SkiaProps<GlyphsProps>;
82
+ skDiffRect: SkiaProps<DiffRectProps>;
83
+ skPicture: SkiaProps<PictureProps>;
84
+ skImageSVG: SkiaProps<ImageSVGProps>;
85
+
86
+ // BlurMaskFilters
87
+ skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;
88
+
89
+ // ImageFilters
90
+ skBlendImageFilter: SkiaProps<BlendImageFilterProps>;
91
+ skBlurImageFilter: SkiaProps<BlurImageFilterProps>;
92
+ skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;
93
+ skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;
94
+ skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;
95
+ skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;
96
+ skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;
97
+
98
+ // ColorFilters
99
+ skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;
100
+ skBlendColorFilter: SkiaProps<BlendColorFilterProps>;
101
+ skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;
102
+ skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;
103
+ skLumaColorFilter: SkiaProps<ChildrenProps>;
104
+ skLerpColorFilter: SkiaProps<LerpColorFilterProps>;
105
+
106
+ // Shaders
107
+ skShader: SkiaProps<ShaderProps>;
108
+ skImageShader: SkiaProps<ImageShaderProps>;
109
+ skColorShader: SkiaProps<ColorProps>;
110
+ skTurbulence: SkiaProps<TurbulenceProps>;
111
+ skFractalNoise: SkiaProps<FractalNoiseProps>;
112
+ skLinearGradient: SkiaProps<LinearGradientProps>;
113
+ skRadialGradient: SkiaProps<RadialGradientProps>;
114
+ skSweepGradient: SkiaProps<SweepGradientProps>;
115
+ skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;
116
+
117
+ // Path Effects
118
+ skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;
119
+ skDashPathEffect: SkiaProps<DashPathEffectProps>;
120
+ skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;
121
+ skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;
122
+ skCornerPathEffect: SkiaProps<CornerPathEffectProps>;
123
+ skSumPathEffect: ChildrenProps;
124
+ skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;
125
+
126
+ // Mixed declarations/drawings
127
+ skBlend: SkiaProps<BlendProps>;
128
+ skBackdropFilter: SkiaProps<ChildrenProps>;
129
+ skBox: SkiaProps<BoxProps>;
130
+ skBoxShadow: SkiaProps<BoxShadowProps>;
131
+
132
+ // Paragraph
133
+ skParagraph: SkiaProps<ParagraphProps>;
134
+ }
135
+ }
136
+ }
@@ -8,6 +8,7 @@ import { NodeType } from "../dom/types";
8
8
  import { debug, sksgHostConfig } from "./HostConfig";
9
9
  import type { Container } from "./Container";
10
10
  import { createContainer } from "./Container";
11
+ import "./Elements";
11
12
 
12
13
  const skiaReconciler = ReactReconciler(sksgHostConfig);
13
14
 
@@ -59,6 +60,7 @@ export class SkiaSGRoot {
59
60
  }
60
61
 
61
62
  unmount() {
63
+ this.container.unmount();
62
64
  skiaReconciler.updateContainer(null, this.root, null, () => {
63
65
  debug("unmountContainer");
64
66
  });
@@ -1,3 +1,2 @@
1
1
  export * from "./SkiaPictureView";
2
- export * from "./SkiaDomView";
3
2
  export * from "./types";
@@ -1,82 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include <fbjni/fbjni.h>
7
- #include <jni.h>
8
- #include <jsi/jsi.h>
9
-
10
- #include "JniSkiaBaseView.h"
11
- #include "JniSkiaManager.h"
12
- #include "RNSkAndroidView.h"
13
- #include "RNSkDomView.h"
14
-
15
- #include <android/native_window.h>
16
- #include <android/native_window_jni.h>
17
- #include <fbjni/detail/Hybrid.h>
18
-
19
- namespace RNSkia {
20
-
21
- namespace jsi = facebook::jsi;
22
- namespace jni = facebook::jni;
23
-
24
- class JniSkiaDomView : public jni::HybridClass<JniSkiaDomView>,
25
- public JniSkiaBaseView {
26
- public:
27
- static auto constexpr kJavaDescriptor =
28
- "Lcom/shopify/reactnative/skia/SkiaDomView;";
29
-
30
- static jni::local_ref<jhybriddata>
31
- initHybrid(jni::alias_ref<jhybridobject> jThis,
32
- jni::alias_ref<JniSkiaManager::javaobject> skiaManager) {
33
- return makeCxxInstance(jThis, skiaManager);
34
- }
35
-
36
- static void registerNatives() {
37
- registerHybrid(
38
- {makeNativeMethod("initHybrid", JniSkiaDomView::initHybrid),
39
- makeNativeMethod("surfaceAvailable", JniSkiaDomView::surfaceAvailable),
40
- makeNativeMethod("surfaceDestroyed", JniSkiaDomView::surfaceDestroyed),
41
- makeNativeMethod("surfaceSizeChanged",
42
- JniSkiaDomView::surfaceSizeChanged),
43
- makeNativeMethod("setDebugMode", JniSkiaDomView::setDebugMode),
44
- makeNativeMethod("registerView", JniSkiaDomView::registerView),
45
- makeNativeMethod("unregisterView", JniSkiaDomView::unregisterView)});
46
- }
47
-
48
- protected:
49
- void surfaceAvailable(jobject surface, int width, int height,
50
- bool opaque) override {
51
- JniSkiaBaseView::surfaceAvailable(surface, width, height, opaque);
52
- }
53
-
54
- void surfaceSizeChanged(jobject surface, int width, int height,
55
- bool opaque) override {
56
- JniSkiaBaseView::surfaceSizeChanged(surface, width, height, opaque);
57
- }
58
-
59
- void surfaceDestroyed() override { JniSkiaBaseView::surfaceDestroyed(); }
60
-
61
- void setDebugMode(bool show) override { JniSkiaBaseView::setDebugMode(show); }
62
-
63
- void registerView(int nativeId) override {
64
- JniSkiaBaseView::registerView(nativeId);
65
- }
66
-
67
- void unregisterView() override { JniSkiaBaseView::unregisterView(); }
68
-
69
- private:
70
- friend HybridBase;
71
-
72
- explicit JniSkiaDomView(
73
- jni::alias_ref<jhybridobject> jThis,
74
- jni::alias_ref<JniSkiaManager::javaobject> skiaManager)
75
- : JniSkiaBaseView(skiaManager,
76
- std::make_shared<RNSkAndroidView<RNSkia::RNSkDomView>>(
77
- skiaManager->cthis()->getPlatformContext())) {}
78
-
79
- jni::global_ref<javaobject> javaPart_;
80
- };
81
-
82
- } // namespace RNSkia
@@ -1,41 +0,0 @@
1
- package com.shopify.reactnative.skia;
2
-
3
- import android.content.Context;
4
-
5
- import com.facebook.jni.HybridData;
6
- import com.facebook.jni.annotations.DoNotStrip;
7
- import com.facebook.react.bridge.ReactContext;
8
- import com.facebook.react.uimanager.ThemedReactContext;
9
-
10
- public class SkiaDomView extends SkiaBaseView {
11
- @DoNotStrip
12
- private HybridData mHybridData;
13
-
14
- public SkiaDomView(ThemedReactContext context) {
15
- super(context);
16
- RNSkiaModule skiaModule = context.getReactApplicationContext().getNativeModule(RNSkiaModule.class);
17
- mHybridData = initHybrid(skiaModule.getSkiaManager());
18
- }
19
-
20
- @Override
21
- protected void finalize() throws Throwable {
22
- super.finalize();
23
- mHybridData.resetNative();
24
- }
25
-
26
- private native HybridData initHybrid(SkiaManager skiaManager);
27
-
28
- protected native void surfaceAvailable(Object surface, int width, int height, boolean opaque);
29
-
30
- protected native void surfaceSizeChanged(Object surface, int width, int height, boolean opaque);
31
-
32
- protected native void surfaceDestroyed();
33
-
34
- protected native void setBgColor(int color);
35
-
36
- protected native void setDebugMode(boolean show);
37
-
38
- protected native void registerView(int nativeId);
39
-
40
- protected native void unregisterView();
41
- }
@@ -1,32 +0,0 @@
1
- package com.shopify.reactnative.skia;
2
-
3
- import com.facebook.react.uimanager.ThemedReactContext;
4
- import com.facebook.react.viewmanagers.SkiaDomViewManagerInterface;
5
- import com.facebook.react.viewmanagers.SkiaDomViewManagerDelegate;
6
-
7
- import androidx.annotation.NonNull;
8
-
9
- public class SkiaDomViewManager extends SkiaBaseViewManager<SkiaDomView> implements SkiaDomViewManagerInterface<SkiaDomView> {
10
-
11
- protected SkiaDomViewManagerDelegate mDelegate;
12
-
13
- SkiaDomViewManager() {
14
- mDelegate = new SkiaDomViewManagerDelegate(this);
15
- }
16
-
17
- protected SkiaDomViewManagerDelegate getDelegate() {
18
- return mDelegate;
19
- }
20
-
21
- @NonNull
22
- @Override
23
- public String getName() {
24
- return "SkiaDomView";
25
- }
26
-
27
- @NonNull
28
- @Override
29
- public SkiaDomView createViewInstance(@NonNull ThemedReactContext reactContext) {
30
- return new SkiaDomView(reactContext);
31
- }
32
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
- *
4
- * Do not edit this file as changes may cause incorrect behavior and will be lost
5
- * once the code is regenerated.
6
- *
7
- * @generated by codegen project: GeneratePropsJavaDelegate.js
8
- */
9
-
10
- package com.facebook.react.viewmanagers;
11
-
12
- import android.view.View;
13
- import androidx.annotation.Nullable;
14
- import com.facebook.react.uimanager.BaseViewManagerDelegate;
15
- import com.facebook.react.uimanager.BaseViewManagerInterface;
16
-
17
- public class SkiaDomViewManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & SkiaDomViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
18
- public SkiaDomViewManagerDelegate(U viewManager) {
19
- super(viewManager);
20
- }
21
- @Override
22
- public void setProperty(T view, String propName, @Nullable Object value) {
23
- switch (propName) {
24
- case "opaque":
25
- mViewManager.setOpaque(view, value != null && (boolean) value);
26
- break;
27
- case "debug":
28
- mViewManager.setDebug(view, value != null && (boolean) value);
29
- break;
30
- default:
31
- super.setProperty(view, propName, value);
32
- }
33
- }
34
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
- *
4
- * Do not edit this file as changes may cause incorrect behavior and will be lost
5
- * once the code is regenerated.
6
- *
7
- * @generated by codegen project: GeneratePropsJavaInterface.js
8
- */
9
-
10
- package com.facebook.react.viewmanagers;
11
-
12
- import android.view.View;
13
- import androidx.annotation.Nullable;
14
-
15
- public interface SkiaDomViewManagerInterface<T extends View> {
16
- void setDebug(T view, boolean value);
17
- void setOpaque(T view, boolean value);
18
- }