@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
@@ -1,33 +0,0 @@
1
- import React from "react";
2
- import type { SkRect } from "../skia/types";
3
- import type { SkiaDomViewNativeProps } from "./types";
4
- interface SkiaDomViewProps extends SkiaDomViewNativeProps {
5
- mode?: "default" | "continuous";
6
- }
7
- export declare class SkiaDomView extends React.Component<SkiaDomViewProps> {
8
- constructor(props: SkiaDomViewProps);
9
- private _nativeId;
10
- private requestId;
11
- get nativeId(): number;
12
- componentDidUpdate(prevProps: SkiaDomViewProps): void;
13
- componentWillUnmount(): void;
14
- private tick;
15
- /**
16
- * Creates a snapshot from the canvas in the surface
17
- * @param rect Rect to use as bounds. Optional.
18
- * @returns An Image object.
19
- */
20
- makeImageSnapshot(rect?: SkRect): import("../skia/types").SkImage;
21
- /**
22
- * Creates a snapshot from the canvas in the surface
23
- * @param rect Rect to use as bounds. Optional.
24
- * @returns An Image object.
25
- */
26
- makeImageSnapshotAsync(rect?: SkRect): Promise<import("../skia/types").SkImage>;
27
- /**
28
- * Sends a redraw request to the native SkiaView.
29
- */
30
- redraw(): void;
31
- render(): React.JSX.Element;
32
- }
33
- export {};
File without changes
@@ -1,298 +0,0 @@
1
- import type {
2
- PathProps,
3
- SkDOM,
4
- GroupProps,
5
- ImageProps,
6
- BlurImageFilterProps,
7
- MatrixColorFilterProps,
8
- CircleProps,
9
- BlurMaskFilterProps,
10
- LinearGradientProps,
11
- PaintProps,
12
- ShaderProps,
13
- ImageShaderProps,
14
- LineProps,
15
- OvalProps,
16
- PatchProps,
17
- PointsProps,
18
- RectProps,
19
- RoundedRectProps,
20
- VerticesProps,
21
- TextProps,
22
- DiffRectProps,
23
- OffsetImageFilterProps,
24
- BlendColorFilterProps,
25
- TextPathProps,
26
- TextBlobProps,
27
- GlyphsProps,
28
- TwoPointConicalGradientProps,
29
- TurbulenceProps,
30
- SweepGradientProps,
31
- RadialGradientProps,
32
- FractalNoiseProps,
33
- ColorProps,
34
- PictureProps,
35
- ImageSVGProps,
36
- LerpColorFilterProps,
37
- DrawingNodeProps,
38
- BoxProps,
39
- BoxShadowProps,
40
- ChildrenProps,
41
- AtlasProps,
42
- } from "../types";
43
- import type {
44
- BlendImageFilterProps,
45
- BlendProps,
46
- DisplacementMapImageFilterProps,
47
- DropShadowImageFilterProps,
48
- MorphologyImageFilterProps,
49
- RuntimeShaderImageFilterProps,
50
- } from "../types/ImageFilters";
51
- import type {
52
- CornerPathEffectProps,
53
- DashPathEffectProps,
54
- DiscretePathEffectProps,
55
- Line2DPathEffectProps,
56
- Path1DPathEffectProps,
57
- Path2DPathEffectProps,
58
- } from "../types/PathEffects";
59
- import type { ParagraphProps } from "../types/Paragraph";
60
-
61
- export class JsiSkDOM implements SkDOM {
62
- constructor() {}
63
-
64
- Layer(props?: ChildrenProps) {
65
- return global.SkiaDomApi.LayerNode(props ?? {});
66
- }
67
-
68
- Group(props?: GroupProps) {
69
- return global.SkiaDomApi.GroupNode(props ?? {});
70
- }
71
-
72
- Paint(props: PaintProps) {
73
- return global.SkiaDomApi.PaintNode(props ?? {});
74
- }
75
-
76
- // Drawings
77
- Fill(props?: DrawingNodeProps) {
78
- return global.SkiaDomApi.FillNode(props ?? {});
79
- }
80
-
81
- Image(props: ImageProps) {
82
- return global.SkiaDomApi.ImageNode(props ?? {});
83
- }
84
-
85
- Circle(props: CircleProps) {
86
- return global.SkiaDomApi.CircleNode(props ?? {});
87
- }
88
-
89
- Path(props: PathProps) {
90
- return global.SkiaDomApi.PathNode(props ?? {});
91
- }
92
-
93
- Line(props: LineProps) {
94
- return global.SkiaDomApi.LineNode(props ?? {});
95
- }
96
-
97
- Oval(props: OvalProps) {
98
- return global.SkiaDomApi.OvalNode(props ?? {});
99
- }
100
-
101
- Patch(props: PatchProps) {
102
- return global.SkiaDomApi.PatchNode(props ?? {});
103
- }
104
-
105
- Points(props: PointsProps) {
106
- return global.SkiaDomApi.PointsNode(props ?? {});
107
- }
108
-
109
- Rect(props: RectProps) {
110
- return global.SkiaDomApi.RectNode(props);
111
- }
112
-
113
- RRect(props: RoundedRectProps) {
114
- return global.SkiaDomApi.RRectNode(props);
115
- }
116
-
117
- Vertices(props: VerticesProps) {
118
- return global.SkiaDomApi.VerticesNode(props);
119
- }
120
-
121
- Text(props: TextProps) {
122
- return global.SkiaDomApi.TextNode(props);
123
- }
124
-
125
- TextPath(props: TextPathProps) {
126
- return global.SkiaDomApi.TextPathNode(props);
127
- }
128
-
129
- TextBlob(props: TextBlobProps) {
130
- return global.SkiaDomApi.TextBlobNode(props);
131
- }
132
-
133
- Glyphs(props: GlyphsProps) {
134
- return global.SkiaDomApi.GlyphsNode(props);
135
- }
136
-
137
- DiffRect(props: DiffRectProps) {
138
- return global.SkiaDomApi.DiffRectNode(props);
139
- }
140
-
141
- Picture(props: PictureProps) {
142
- return global.SkiaDomApi.PictureNode(props);
143
- }
144
-
145
- Atlas(props: AtlasProps) {
146
- return global.SkiaDomApi.AtlasNode(props);
147
- }
148
-
149
- ImageSVG(props: ImageSVGProps) {
150
- return global.SkiaDomApi.ImageSVGNode(props);
151
- }
152
-
153
- // BlurMaskFilters
154
- BlurMaskFilter(props: BlurMaskFilterProps) {
155
- return global.SkiaDomApi.BlurMaskFilterNode(props);
156
- }
157
-
158
- // ImageFilters
159
- BlendImageFilter(props: BlendImageFilterProps) {
160
- return global.SkiaDomApi.BlendImageFilterNode(props);
161
- }
162
-
163
- DropShadowImageFilter(props: DropShadowImageFilterProps) {
164
- return global.SkiaDomApi.DropShadowImageFilterNode(props);
165
- }
166
-
167
- DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {
168
- return global.SkiaDomApi.DisplacementMapImageFilterNode(props);
169
- }
170
-
171
- BlurImageFilter(props: BlurImageFilterProps) {
172
- return global.SkiaDomApi.BlurImageFilterNode(props);
173
- }
174
-
175
- OffsetImageFilter(props: OffsetImageFilterProps) {
176
- return global.SkiaDomApi.OffsetImageFilterNode(props);
177
- }
178
-
179
- MorphologyImageFilter(props: MorphologyImageFilterProps) {
180
- return global.SkiaDomApi.MorphologyImageFilterNode(props);
181
- }
182
-
183
- RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {
184
- return global.SkiaDomApi.RuntimeShaderImageFilterNode(props);
185
- }
186
-
187
- // Color Filters
188
- MatrixColorFilter(props: MatrixColorFilterProps) {
189
- return global.SkiaDomApi.MatrixColorFilterNode(props);
190
- }
191
-
192
- BlendColorFilter(props: BlendColorFilterProps) {
193
- return global.SkiaDomApi.BlendColorFilterNode(props);
194
- }
195
-
196
- LumaColorFilter() {
197
- return global.SkiaDomApi.LumaColorFilterNode();
198
- }
199
-
200
- LinearToSRGBGammaColorFilter() {
201
- return global.SkiaDomApi.LinearToSRGBGammaColorFilterNode();
202
- }
203
-
204
- SRGBToLinearGammaColorFilter() {
205
- return global.SkiaDomApi.SRGBToLinearGammaColorFilterNode();
206
- }
207
-
208
- LerpColorFilter(props: LerpColorFilterProps) {
209
- return global.SkiaDomApi.LerpColorFilterNode(props);
210
- }
211
-
212
- // Shaders
213
- Shader(props: ShaderProps) {
214
- return global.SkiaDomApi.ShaderNode(props);
215
- }
216
-
217
- ImageShader(props: ImageShaderProps) {
218
- return global.SkiaDomApi.ImageShaderNode(props);
219
- }
220
-
221
- ColorShader(props: ColorProps) {
222
- return global.SkiaDomApi.ColorShaderNode(props);
223
- }
224
-
225
- SweepGradient(props: SweepGradientProps) {
226
- return global.SkiaDomApi.SweepGradientNode(props);
227
- }
228
-
229
- Turbulence(props: TurbulenceProps) {
230
- return global.SkiaDomApi.TurbulenceNode(props);
231
- }
232
-
233
- FractalNoise(props: FractalNoiseProps) {
234
- return global.SkiaDomApi.FractalNoiseNode(props);
235
- }
236
-
237
- LinearGradient(props: LinearGradientProps) {
238
- return global.SkiaDomApi.LinearGradientNode(props);
239
- }
240
-
241
- RadialGradient(props: RadialGradientProps) {
242
- return global.SkiaDomApi.RadialGradientNode(props);
243
- }
244
-
245
- TwoPointConicalGradient(props: TwoPointConicalGradientProps) {
246
- return global.SkiaDomApi.TwoPointConicalGradientNode(props);
247
- }
248
-
249
- // Path Effects
250
- CornerPathEffect(props: CornerPathEffectProps) {
251
- return global.SkiaDomApi.CornerPathEffectNode(props);
252
- }
253
-
254
- DiscretePathEffect(props: DiscretePathEffectProps) {
255
- return global.SkiaDomApi.DiscretePathEffectNode(props);
256
- }
257
-
258
- DashPathEffect(props: DashPathEffectProps) {
259
- return global.SkiaDomApi.DashPathEffectNode(props);
260
- }
261
-
262
- Path1DPathEffect(props: Path1DPathEffectProps) {
263
- return global.SkiaDomApi.Path1DPathEffectNode(props);
264
- }
265
-
266
- Path2DPathEffect(props: Path2DPathEffectProps) {
267
- return global.SkiaDomApi.Path2DPathEffectNode(props);
268
- }
269
-
270
- SumPathEffect() {
271
- return global.SkiaDomApi.SumPathEffectNode();
272
- }
273
-
274
- Line2DPathEffect(props: Line2DPathEffectProps) {
275
- return global.SkiaDomApi.Line2DPathEffectNode(props);
276
- }
277
-
278
- Blend(props: BlendProps) {
279
- return global.SkiaDomApi.BlendNode(props);
280
- }
281
-
282
- BackdropFilter(props: ChildrenProps) {
283
- return global.SkiaDomApi.BackdropFilterNode(props);
284
- }
285
-
286
- Box(props: BoxProps) {
287
- return global.SkiaDomApi.BoxNode(props);
288
- }
289
-
290
- BoxShadow(props: BoxShadowProps) {
291
- return global.SkiaDomApi.BoxShadowNode(props);
292
- }
293
-
294
- // Paragraph
295
- Paragraph(props: ParagraphProps) {
296
- return global.SkiaDomApi.ParagraphNode(props);
297
- }
298
- }
@@ -1,126 +0,0 @@
1
- import React, {
2
- useEffect,
3
- useCallback,
4
- useMemo,
5
- forwardRef,
6
- useRef,
7
- } from "react";
8
- import type {
9
- RefObject,
10
- ReactNode,
11
- MutableRefObject,
12
- ForwardedRef,
13
- FunctionComponent,
14
- } from "react";
15
- import type { LayoutChangeEvent } from "react-native";
16
-
17
- import { SkiaDomView } from "../views";
18
- import type { SkiaBaseViewProps } from "../views";
19
-
20
- import { SkiaRoot } from "./Reconciler";
21
-
22
- export const useCanvasRef = () => useRef<SkiaDomView>(null);
23
-
24
- export interface CanvasOldProps extends SkiaBaseViewProps {
25
- ref?: RefObject<SkiaDomView>;
26
- children: ReactNode;
27
- mode?: "default" | "continuous";
28
- }
29
-
30
- const useOnSizeEvent = (
31
- resultValue: SkiaBaseViewProps["onSize"],
32
- onLayout?: (event: LayoutChangeEvent) => void
33
- ) => {
34
- return useCallback(
35
- (event: LayoutChangeEvent) => {
36
- if (onLayout) {
37
- onLayout(event);
38
- }
39
- const { width, height } = event.nativeEvent.layout;
40
-
41
- if (resultValue) {
42
- resultValue.value = { width, height };
43
- }
44
- },
45
- [onLayout, resultValue]
46
- );
47
- };
48
-
49
- export const CanvasOld = forwardRef<SkiaDomView, CanvasOldProps>(
50
- (
51
- {
52
- children,
53
- style,
54
- debug,
55
- mode = "default",
56
- onSize: _onSize,
57
- onLayout: _onLayout,
58
- ...props
59
- },
60
- forwardedRef
61
- ) => {
62
- const onLayout = useOnSizeEvent(_onSize, _onLayout);
63
- const innerRef = useCanvasRef();
64
- const ref = useCombinedRefs(forwardedRef, innerRef);
65
- const redraw = useCallback(() => {
66
- innerRef.current?.redraw();
67
- }, [innerRef]);
68
- const getNativeId = useCallback(() => {
69
- const id = innerRef.current?.nativeId ?? -1;
70
- return id;
71
- }, [innerRef]);
72
-
73
- const root = useMemo(
74
- () => new SkiaRoot(redraw, getNativeId),
75
- [redraw, getNativeId]
76
- );
77
-
78
- // Render effect
79
- useEffect(() => {
80
- root.render(children);
81
- }, [children, root, redraw]);
82
-
83
- useEffect(() => {
84
- return () => {
85
- root.unmount();
86
- };
87
- }, [root]);
88
-
89
- return (
90
- <SkiaDomView
91
- ref={ref}
92
- style={style}
93
- root={root.dom}
94
- onLayout={onLayout}
95
- debug={debug}
96
- mode={mode}
97
- {...props}
98
- />
99
- );
100
- }
101
- ) as FunctionComponent<CanvasOldProps & React.RefAttributes<SkiaDomView>>;
102
-
103
- /**
104
- * Combines a list of refs into a single ref. This can be used to provide
105
- * both a forwarded ref and an internal ref keeping the same functionality
106
- * on both of the refs.
107
- * @param refs Array of refs to combine
108
- * @returns A single ref that can be used in a ref prop.
109
- */
110
- const useCombinedRefs = <T,>(
111
- ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>
112
- ) => {
113
- const targetRef = React.useRef<T>(null);
114
- React.useEffect(() => {
115
- refs.forEach((ref) => {
116
- if (ref) {
117
- if (typeof ref === "function") {
118
- ref(targetRef.current);
119
- } else {
120
- ref.current = targetRef.current;
121
- }
122
- }
123
- });
124
- }, [refs]);
125
- return targetRef;
126
- };
@@ -1,19 +0,0 @@
1
- import { JsiSkDOM } from "../dom/nodes";
2
- import type { Node, SkDOM } from "../dom/types";
3
-
4
- export class Container {
5
- private _root: Node<unknown>;
6
- public Sk: SkDOM;
7
- public unmounted = false;
8
- constructor(
9
- public redraw: () => void = () => {},
10
- public getNativeId: () => number = () => 0
11
- ) {
12
- this.Sk = new JsiSkDOM();
13
- this._root = this.Sk.Group();
14
- }
15
-
16
- get root() {
17
- return this._root;
18
- }
19
- }