@shopify/react-native-skia 0.1.216 → 0.1.219

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 (406) hide show
  1. package/android/build.gradle +22 -0
  2. package/android/src/main/java/com/shopify/reactnative/skia/PlatformContext.java +9 -10
  3. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaModule.java +3 -3
  4. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +56 -2
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +5 -1
  6. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseViewManager.java +3 -3
  7. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +14 -1
  8. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawViewManager.java +16 -1
  9. package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureViewManager.java +15 -1
  10. package/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +2 -2
  11. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerDelegate.java +34 -0
  12. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDomViewManagerInterface.java +18 -0
  13. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDrawViewManagerDelegate.java +34 -0
  14. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaDrawViewManagerInterface.java +18 -0
  15. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerDelegate.java +34 -0
  16. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerInterface.java +18 -0
  17. package/android/src/paper/java/com/shopify/reactnative/skia/NativeSkiaModuleSpec.java +38 -0
  18. package/cpp/rnskia/RNSkView.h +1 -1
  19. package/cpp/rnskia/dom/nodes/JsiImageNode.h +1 -1
  20. package/ios/RNSkia-iOS/SkiaDomView.h +7 -0
  21. package/ios/RNSkia-iOS/SkiaDomView.mm +64 -0
  22. package/ios/RNSkia-iOS/SkiaDomViewManager.mm +1 -1
  23. package/ios/RNSkia-iOS/SkiaDrawView.h +7 -0
  24. package/ios/RNSkia-iOS/SkiaDrawView.mm +72 -0
  25. package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +1 -1
  26. package/ios/RNSkia-iOS/SkiaPictureView.h +7 -0
  27. package/ios/RNSkia-iOS/SkiaPictureView.mm +66 -0
  28. package/ios/RNSkia-iOS/SkiaPictureViewManager.mm +1 -1
  29. package/ios/RNSkia-iOS/SkiaUIView.h +15 -2
  30. package/ios/RNSkia-iOS/SkiaUIView.mm +48 -16
  31. package/ios/RNSkiaModule.h +10 -1
  32. package/ios/RNSkiaModule.mm +8 -1
  33. package/lib/commonjs/Platform/IPlatform.d.ts +1 -3
  34. package/lib/commonjs/Platform/IPlatform.js.map +1 -1
  35. package/lib/commonjs/Platform/Platform.js +0 -2
  36. package/lib/commonjs/Platform/Platform.js.map +1 -1
  37. package/lib/commonjs/Platform/Platform.web.js +0 -4
  38. package/lib/commonjs/Platform/Platform.web.js.map +1 -1
  39. package/lib/commonjs/animation/functions/interpolate.d.ts +1 -1
  40. package/lib/commonjs/animation/timing/functions/types.d.ts +1 -1
  41. package/lib/commonjs/animation/types.d.ts +2 -2
  42. package/lib/commonjs/dom/nodes/Node.d.ts +1 -1
  43. package/lib/commonjs/dom/types/Common.d.ts +8 -8
  44. package/lib/commonjs/dom/types/DeclarationContext.d.ts +1 -1
  45. package/lib/commonjs/dom/types/DrawingContext.js.map +1 -1
  46. package/lib/commonjs/dom/types/Drawings.d.ts +5 -5
  47. package/lib/commonjs/dom/types/Node.d.ts +1 -1
  48. package/lib/commonjs/dom/types/SkDOM.d.ts +4 -4
  49. package/lib/commonjs/external/reanimated/renderHelpers.js +0 -2
  50. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  51. package/lib/commonjs/renderer/Canvas.d.ts +1 -1
  52. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  53. package/lib/commonjs/renderer/DependencyManager.d.ts +3 -3
  54. package/lib/commonjs/renderer/HostConfig.d.ts +12 -12
  55. package/lib/commonjs/renderer/Reconciler.d.ts +1 -1
  56. package/lib/commonjs/renderer/Reconciler.js +1 -0
  57. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  58. package/lib/commonjs/renderer/components/Blend.d.ts +2 -2
  59. package/lib/commonjs/renderer/components/Drawing.d.ts +2 -2
  60. package/lib/commonjs/renderer/components/Group.d.ts +2 -2
  61. package/lib/commonjs/renderer/components/Mask.d.ts +2 -1
  62. package/lib/commonjs/renderer/components/Paint.d.ts +2 -2
  63. package/lib/commonjs/renderer/components/Picture.d.ts +2 -2
  64. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.d.ts +2 -2
  65. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.d.ts +2 -1
  66. package/lib/commonjs/renderer/components/colorFilters/BlendColor.d.ts +2 -2
  67. package/lib/commonjs/renderer/components/colorFilters/Lerp.d.ts +2 -2
  68. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +2 -2
  69. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.d.ts +2 -2
  70. package/lib/commonjs/renderer/components/colorFilters/Matrix.d.ts +2 -2
  71. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +2 -2
  72. package/lib/commonjs/renderer/components/image/Image.d.ts +2 -2
  73. package/lib/commonjs/renderer/components/image/ImageSVG.d.ts +2 -2
  74. package/lib/commonjs/renderer/components/image/ImageShader.d.ts +2 -2
  75. package/lib/commonjs/renderer/components/imageFilters/Blur.d.ts +2 -2
  76. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.d.ts +2 -2
  77. package/lib/commonjs/renderer/components/imageFilters/Morphology.d.ts +2 -2
  78. package/lib/commonjs/renderer/components/imageFilters/Offset.d.ts +2 -2
  79. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.d.ts +2 -2
  80. package/lib/commonjs/renderer/components/imageFilters/Shadow.d.ts +2 -2
  81. package/lib/commonjs/renderer/components/maskFilters/Blur.d.ts +2 -2
  82. package/lib/commonjs/renderer/components/pathEffects/Corner.d.ts +2 -2
  83. package/lib/commonjs/renderer/components/pathEffects/Dash.d.ts +2 -2
  84. package/lib/commonjs/renderer/components/pathEffects/Discrete.d.ts +2 -2
  85. package/lib/commonjs/renderer/components/pathEffects/Line2D.d.ts +2 -2
  86. package/lib/commonjs/renderer/components/pathEffects/Path1D.d.ts +2 -2
  87. package/lib/commonjs/renderer/components/pathEffects/Path2D.d.ts +2 -2
  88. package/lib/commonjs/renderer/components/pathEffects/Sum.d.ts +2 -2
  89. package/lib/commonjs/renderer/components/shaders/Color.d.ts +2 -2
  90. package/lib/commonjs/renderer/components/shaders/FractalNoise.d.ts +2 -2
  91. package/lib/commonjs/renderer/components/shaders/LinearGradient.d.ts +2 -2
  92. package/lib/commonjs/renderer/components/shaders/RadialGradient.d.ts +2 -2
  93. package/lib/commonjs/renderer/components/shaders/Shader.d.ts +2 -2
  94. package/lib/commonjs/renderer/components/shaders/SweepGradient.d.ts +2 -2
  95. package/lib/commonjs/renderer/components/shaders/Turbulence.d.ts +2 -2
  96. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.d.ts +2 -2
  97. package/lib/commonjs/renderer/components/shapes/Box.d.ts +3 -3
  98. package/lib/commonjs/renderer/components/shapes/Circle.d.ts +2 -2
  99. package/lib/commonjs/renderer/components/shapes/DiffRect.d.ts +2 -2
  100. package/lib/commonjs/renderer/components/shapes/Fill.d.ts +2 -2
  101. package/lib/commonjs/renderer/components/shapes/FitBox.d.ts +2 -1
  102. package/lib/commonjs/renderer/components/shapes/Line.d.ts +2 -2
  103. package/lib/commonjs/renderer/components/shapes/Oval.d.ts +2 -2
  104. package/lib/commonjs/renderer/components/shapes/Patch.d.ts +2 -2
  105. package/lib/commonjs/renderer/components/shapes/Path.d.ts +2 -2
  106. package/lib/commonjs/renderer/components/shapes/Points.d.ts +2 -2
  107. package/lib/commonjs/renderer/components/shapes/Rect.d.ts +2 -2
  108. package/lib/commonjs/renderer/components/shapes/RoundedRect.d.ts +2 -2
  109. package/lib/commonjs/renderer/components/shapes/Vertices.d.ts +2 -2
  110. package/lib/commonjs/renderer/components/text/Glyphs.d.ts +2 -2
  111. package/lib/commonjs/renderer/components/text/Text.d.ts +2 -2
  112. package/lib/commonjs/renderer/components/text/TextBlob.d.ts +2 -2
  113. package/lib/commonjs/renderer/components/text/TextPath.d.ts +2 -2
  114. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +6 -6
  115. package/lib/commonjs/skia/NativeSetup.js +5 -1
  116. package/lib/commonjs/skia/NativeSetup.js.map +1 -1
  117. package/lib/commonjs/skia/core/Font.d.ts +2 -2
  118. package/lib/commonjs/skia/types/Color.d.ts +2 -2
  119. package/lib/commonjs/skia/types/ColorFilter/ColorFilter.d.ts +1 -1
  120. package/lib/commonjs/skia/types/ColorFilter/ColorFilterFactory.d.ts +1 -1
  121. package/lib/commonjs/skia/types/Data/Data.d.ts +6 -6
  122. package/lib/commonjs/skia/types/ImageFilter/ImageFilter.d.ts +1 -1
  123. package/lib/commonjs/skia/types/MaskFilter.d.ts +1 -1
  124. package/lib/commonjs/skia/types/Matrix.d.ts +3 -3
  125. package/lib/commonjs/skia/types/Path/Path.d.ts +1 -1
  126. package/lib/commonjs/skia/types/PathEffect.d.ts +1 -1
  127. package/lib/commonjs/skia/types/Point.d.ts +1 -1
  128. package/lib/commonjs/skia/types/RSXform.d.ts +1 -1
  129. package/lib/commonjs/skia/types/Shader/Shader.d.ts +2 -2
  130. package/lib/commonjs/skia/types/TextBlob.d.ts +1 -1
  131. package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -1
  132. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -1
  133. package/lib/commonjs/specs/NativeSkiaModule.d.ts +6 -0
  134. package/lib/commonjs/specs/NativeSkiaModule.js +14 -0
  135. package/lib/commonjs/specs/NativeSkiaModule.js.map +1 -0
  136. package/lib/commonjs/specs/NativeSkiaModule.web.d.ts +2 -0
  137. package/lib/commonjs/specs/NativeSkiaModule.web.js +13 -0
  138. package/lib/commonjs/specs/NativeSkiaModule.web.js.map +1 -0
  139. package/lib/commonjs/specs/SkiaDomViewNativeComponent.d.ts +8 -0
  140. package/lib/commonjs/specs/SkiaDomViewNativeComponent.js +16 -0
  141. package/lib/commonjs/specs/SkiaDomViewNativeComponent.js.map +1 -0
  142. package/lib/commonjs/specs/SkiaDrawViewNativeComponent.d.ts +8 -0
  143. package/lib/commonjs/specs/SkiaDrawViewNativeComponent.js +16 -0
  144. package/lib/commonjs/specs/SkiaDrawViewNativeComponent.js.map +1 -0
  145. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.d.ts +8 -0
  146. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js +16 -0
  147. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js.map +1 -0
  148. package/lib/commonjs/values/selector.d.ts +1 -1
  149. package/lib/commonjs/views/SkiaBaseWebView.d.ts +1 -1
  150. package/lib/commonjs/views/SkiaDomView.d.ts +1 -1
  151. package/lib/commonjs/views/SkiaDomView.js +3 -1
  152. package/lib/commonjs/views/SkiaDomView.js.map +1 -1
  153. package/lib/commonjs/views/SkiaPictureView.d.ts +1 -1
  154. package/lib/commonjs/views/SkiaPictureView.js +3 -3
  155. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  156. package/lib/commonjs/views/SkiaView.d.ts +1 -1
  157. package/lib/commonjs/views/SkiaView.js +3 -4
  158. package/lib/commonjs/views/SkiaView.js.map +1 -1
  159. package/lib/commonjs/views/types.d.ts +6 -6
  160. package/lib/commonjs/web/WithSkiaWeb.d.ts +2 -2
  161. package/lib/module/Platform/IPlatform.d.ts +1 -3
  162. package/lib/module/Platform/IPlatform.js.map +1 -1
  163. package/lib/module/Platform/Platform.js +1 -3
  164. package/lib/module/Platform/Platform.js.map +1 -1
  165. package/lib/module/Platform/Platform.web.js +0 -4
  166. package/lib/module/Platform/Platform.web.js.map +1 -1
  167. package/lib/module/animation/functions/interpolate.d.ts +1 -1
  168. package/lib/module/animation/timing/functions/types.d.ts +1 -1
  169. package/lib/module/animation/types.d.ts +2 -2
  170. package/lib/module/dom/nodes/Node.d.ts +1 -1
  171. package/lib/module/dom/types/Common.d.ts +8 -8
  172. package/lib/module/dom/types/DeclarationContext.d.ts +1 -1
  173. package/lib/module/dom/types/DrawingContext.js.map +1 -1
  174. package/lib/module/dom/types/Drawings.d.ts +5 -5
  175. package/lib/module/dom/types/Node.d.ts +1 -1
  176. package/lib/module/dom/types/SkDOM.d.ts +4 -4
  177. package/lib/module/external/reanimated/renderHelpers.js +0 -2
  178. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  179. package/lib/module/renderer/Canvas.d.ts +1 -1
  180. package/lib/module/renderer/Canvas.js.map +1 -1
  181. package/lib/module/renderer/DependencyManager.d.ts +3 -3
  182. package/lib/module/renderer/HostConfig.d.ts +12 -12
  183. package/lib/module/renderer/Reconciler.d.ts +1 -1
  184. package/lib/module/renderer/Reconciler.js +1 -0
  185. package/lib/module/renderer/Reconciler.js.map +1 -1
  186. package/lib/module/renderer/components/Blend.d.ts +2 -2
  187. package/lib/module/renderer/components/Drawing.d.ts +2 -2
  188. package/lib/module/renderer/components/Group.d.ts +2 -2
  189. package/lib/module/renderer/components/Mask.d.ts +2 -1
  190. package/lib/module/renderer/components/Paint.d.ts +2 -2
  191. package/lib/module/renderer/components/Picture.d.ts +2 -2
  192. package/lib/module/renderer/components/backdrop/BackdropBlur.d.ts +2 -2
  193. package/lib/module/renderer/components/backdrop/BackdropFilter.d.ts +2 -1
  194. package/lib/module/renderer/components/colorFilters/BlendColor.d.ts +2 -2
  195. package/lib/module/renderer/components/colorFilters/Lerp.d.ts +2 -2
  196. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +2 -2
  197. package/lib/module/renderer/components/colorFilters/LumaColorFilter.d.ts +2 -2
  198. package/lib/module/renderer/components/colorFilters/Matrix.d.ts +2 -2
  199. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +2 -2
  200. package/lib/module/renderer/components/image/Image.d.ts +2 -2
  201. package/lib/module/renderer/components/image/ImageSVG.d.ts +2 -2
  202. package/lib/module/renderer/components/image/ImageShader.d.ts +2 -2
  203. package/lib/module/renderer/components/imageFilters/Blur.d.ts +2 -2
  204. package/lib/module/renderer/components/imageFilters/DisplacementMap.d.ts +2 -2
  205. package/lib/module/renderer/components/imageFilters/Morphology.d.ts +2 -2
  206. package/lib/module/renderer/components/imageFilters/Offset.d.ts +2 -2
  207. package/lib/module/renderer/components/imageFilters/RuntimeShader.d.ts +2 -2
  208. package/lib/module/renderer/components/imageFilters/Shadow.d.ts +2 -2
  209. package/lib/module/renderer/components/maskFilters/Blur.d.ts +2 -2
  210. package/lib/module/renderer/components/pathEffects/Corner.d.ts +2 -2
  211. package/lib/module/renderer/components/pathEffects/Dash.d.ts +2 -2
  212. package/lib/module/renderer/components/pathEffects/Discrete.d.ts +2 -2
  213. package/lib/module/renderer/components/pathEffects/Line2D.d.ts +2 -2
  214. package/lib/module/renderer/components/pathEffects/Path1D.d.ts +2 -2
  215. package/lib/module/renderer/components/pathEffects/Path2D.d.ts +2 -2
  216. package/lib/module/renderer/components/pathEffects/Sum.d.ts +2 -2
  217. package/lib/module/renderer/components/shaders/Color.d.ts +2 -2
  218. package/lib/module/renderer/components/shaders/FractalNoise.d.ts +2 -2
  219. package/lib/module/renderer/components/shaders/LinearGradient.d.ts +2 -2
  220. package/lib/module/renderer/components/shaders/RadialGradient.d.ts +2 -2
  221. package/lib/module/renderer/components/shaders/Shader.d.ts +2 -2
  222. package/lib/module/renderer/components/shaders/SweepGradient.d.ts +2 -2
  223. package/lib/module/renderer/components/shaders/Turbulence.d.ts +2 -2
  224. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.d.ts +2 -2
  225. package/lib/module/renderer/components/shapes/Box.d.ts +3 -3
  226. package/lib/module/renderer/components/shapes/Circle.d.ts +2 -2
  227. package/lib/module/renderer/components/shapes/DiffRect.d.ts +2 -2
  228. package/lib/module/renderer/components/shapes/Fill.d.ts +2 -2
  229. package/lib/module/renderer/components/shapes/FitBox.d.ts +2 -1
  230. package/lib/module/renderer/components/shapes/Line.d.ts +2 -2
  231. package/lib/module/renderer/components/shapes/Oval.d.ts +2 -2
  232. package/lib/module/renderer/components/shapes/Patch.d.ts +2 -2
  233. package/lib/module/renderer/components/shapes/Path.d.ts +2 -2
  234. package/lib/module/renderer/components/shapes/Points.d.ts +2 -2
  235. package/lib/module/renderer/components/shapes/Rect.d.ts +2 -2
  236. package/lib/module/renderer/components/shapes/RoundedRect.d.ts +2 -2
  237. package/lib/module/renderer/components/shapes/Vertices.d.ts +2 -2
  238. package/lib/module/renderer/components/text/Glyphs.d.ts +2 -2
  239. package/lib/module/renderer/components/text/Text.d.ts +2 -2
  240. package/lib/module/renderer/components/text/TextBlob.d.ts +2 -2
  241. package/lib/module/renderer/components/text/TextPath.d.ts +2 -2
  242. package/lib/module/renderer/processors/Animations/Animations.d.ts +6 -6
  243. package/lib/module/skia/NativeSetup.js +2 -1
  244. package/lib/module/skia/NativeSetup.js.map +1 -1
  245. package/lib/module/skia/core/Font.d.ts +2 -2
  246. package/lib/module/skia/types/Color.d.ts +2 -2
  247. package/lib/module/skia/types/ColorFilter/ColorFilter.d.ts +1 -1
  248. package/lib/module/skia/types/ColorFilter/ColorFilterFactory.d.ts +1 -1
  249. package/lib/module/skia/types/Data/Data.d.ts +6 -6
  250. package/lib/module/skia/types/ImageFilter/ImageFilter.d.ts +1 -1
  251. package/lib/module/skia/types/MaskFilter.d.ts +1 -1
  252. package/lib/module/skia/types/Matrix.d.ts +3 -3
  253. package/lib/module/skia/types/Path/Path.d.ts +1 -1
  254. package/lib/module/skia/types/PathEffect.d.ts +1 -1
  255. package/lib/module/skia/types/Point.d.ts +1 -1
  256. package/lib/module/skia/types/RSXform.d.ts +1 -1
  257. package/lib/module/skia/types/Shader/Shader.d.ts +2 -2
  258. package/lib/module/skia/types/TextBlob.d.ts +1 -1
  259. package/lib/module/skia/web/JsiSkData.d.ts +1 -1
  260. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -1
  261. package/lib/module/specs/NativeSkiaModule.d.ts +6 -0
  262. package/lib/module/specs/NativeSkiaModule.js +4 -0
  263. package/lib/module/specs/NativeSkiaModule.js.map +1 -0
  264. package/lib/module/specs/NativeSkiaModule.web.d.ts +2 -0
  265. package/lib/module/specs/NativeSkiaModule.web.js +4 -0
  266. package/lib/module/specs/NativeSkiaModule.web.js.map +1 -0
  267. package/lib/module/specs/SkiaDomViewNativeComponent.d.ts +8 -0
  268. package/lib/module/specs/SkiaDomViewNativeComponent.js +4 -0
  269. package/lib/module/specs/SkiaDomViewNativeComponent.js.map +1 -0
  270. package/lib/module/specs/SkiaDrawViewNativeComponent.d.ts +8 -0
  271. package/lib/module/specs/SkiaDrawViewNativeComponent.js +4 -0
  272. package/lib/module/specs/SkiaDrawViewNativeComponent.js.map +1 -0
  273. package/lib/module/specs/SkiaPictureViewNativeComponent.d.ts +8 -0
  274. package/lib/module/specs/SkiaPictureViewNativeComponent.js +4 -0
  275. package/lib/module/specs/SkiaPictureViewNativeComponent.js.map +1 -0
  276. package/lib/module/values/selector.d.ts +1 -1
  277. package/lib/module/views/SkiaBaseWebView.d.ts +1 -1
  278. package/lib/module/views/SkiaDomView.d.ts +1 -1
  279. package/lib/module/views/SkiaDomView.js +2 -1
  280. package/lib/module/views/SkiaDomView.js.map +1 -1
  281. package/lib/module/views/SkiaPictureView.d.ts +1 -1
  282. package/lib/module/views/SkiaPictureView.js +3 -3
  283. package/lib/module/views/SkiaPictureView.js.map +1 -1
  284. package/lib/module/views/SkiaView.d.ts +1 -1
  285. package/lib/module/views/SkiaView.js +3 -3
  286. package/lib/module/views/SkiaView.js.map +1 -1
  287. package/lib/module/views/types.d.ts +6 -6
  288. package/lib/module/web/WithSkiaWeb.d.ts +2 -2
  289. package/lib/typescript/src/Platform/IPlatform.d.ts +1 -3
  290. package/lib/typescript/src/animation/functions/interpolate.d.ts +1 -1
  291. package/lib/typescript/src/animation/timing/functions/types.d.ts +1 -1
  292. package/lib/typescript/src/animation/types.d.ts +2 -2
  293. package/lib/typescript/src/dom/nodes/Node.d.ts +1 -1
  294. package/lib/typescript/src/dom/types/Common.d.ts +8 -8
  295. package/lib/typescript/src/dom/types/DeclarationContext.d.ts +1 -1
  296. package/lib/typescript/src/dom/types/Drawings.d.ts +5 -5
  297. package/lib/typescript/src/dom/types/Node.d.ts +1 -1
  298. package/lib/typescript/src/dom/types/SkDOM.d.ts +4 -4
  299. package/lib/typescript/src/renderer/Canvas.d.ts +1 -1
  300. package/lib/typescript/src/renderer/DependencyManager.d.ts +3 -3
  301. package/lib/typescript/src/renderer/HostConfig.d.ts +12 -12
  302. package/lib/typescript/src/renderer/Reconciler.d.ts +1 -1
  303. package/lib/typescript/src/renderer/components/Blend.d.ts +2 -2
  304. package/lib/typescript/src/renderer/components/Drawing.d.ts +2 -2
  305. package/lib/typescript/src/renderer/components/Group.d.ts +2 -2
  306. package/lib/typescript/src/renderer/components/Mask.d.ts +2 -1
  307. package/lib/typescript/src/renderer/components/Paint.d.ts +2 -2
  308. package/lib/typescript/src/renderer/components/Picture.d.ts +2 -2
  309. package/lib/typescript/src/renderer/components/backdrop/BackdropBlur.d.ts +2 -2
  310. package/lib/typescript/src/renderer/components/backdrop/BackdropFilter.d.ts +2 -1
  311. package/lib/typescript/src/renderer/components/colorFilters/BlendColor.d.ts +2 -2
  312. package/lib/typescript/src/renderer/components/colorFilters/Lerp.d.ts +2 -2
  313. package/lib/typescript/src/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +2 -2
  314. package/lib/typescript/src/renderer/components/colorFilters/LumaColorFilter.d.ts +2 -2
  315. package/lib/typescript/src/renderer/components/colorFilters/Matrix.d.ts +2 -2
  316. package/lib/typescript/src/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +2 -2
  317. package/lib/typescript/src/renderer/components/image/Image.d.ts +2 -2
  318. package/lib/typescript/src/renderer/components/image/ImageSVG.d.ts +2 -2
  319. package/lib/typescript/src/renderer/components/image/ImageShader.d.ts +2 -2
  320. package/lib/typescript/src/renderer/components/imageFilters/Blur.d.ts +2 -2
  321. package/lib/typescript/src/renderer/components/imageFilters/DisplacementMap.d.ts +2 -2
  322. package/lib/typescript/src/renderer/components/imageFilters/Morphology.d.ts +2 -2
  323. package/lib/typescript/src/renderer/components/imageFilters/Offset.d.ts +2 -2
  324. package/lib/typescript/src/renderer/components/imageFilters/RuntimeShader.d.ts +2 -2
  325. package/lib/typescript/src/renderer/components/imageFilters/Shadow.d.ts +2 -2
  326. package/lib/typescript/src/renderer/components/maskFilters/Blur.d.ts +2 -2
  327. package/lib/typescript/src/renderer/components/pathEffects/Corner.d.ts +2 -2
  328. package/lib/typescript/src/renderer/components/pathEffects/Dash.d.ts +2 -2
  329. package/lib/typescript/src/renderer/components/pathEffects/Discrete.d.ts +2 -2
  330. package/lib/typescript/src/renderer/components/pathEffects/Line2D.d.ts +2 -2
  331. package/lib/typescript/src/renderer/components/pathEffects/Path1D.d.ts +2 -2
  332. package/lib/typescript/src/renderer/components/pathEffects/Path2D.d.ts +2 -2
  333. package/lib/typescript/src/renderer/components/pathEffects/Sum.d.ts +2 -2
  334. package/lib/typescript/src/renderer/components/shaders/Color.d.ts +2 -2
  335. package/lib/typescript/src/renderer/components/shaders/FractalNoise.d.ts +2 -2
  336. package/lib/typescript/src/renderer/components/shaders/LinearGradient.d.ts +2 -2
  337. package/lib/typescript/src/renderer/components/shaders/RadialGradient.d.ts +2 -2
  338. package/lib/typescript/src/renderer/components/shaders/Shader.d.ts +2 -2
  339. package/lib/typescript/src/renderer/components/shaders/SweepGradient.d.ts +2 -2
  340. package/lib/typescript/src/renderer/components/shaders/Turbulence.d.ts +2 -2
  341. package/lib/typescript/src/renderer/components/shaders/TwoPointConicalGradient.d.ts +2 -2
  342. package/lib/typescript/src/renderer/components/shapes/Box.d.ts +3 -3
  343. package/lib/typescript/src/renderer/components/shapes/Circle.d.ts +2 -2
  344. package/lib/typescript/src/renderer/components/shapes/DiffRect.d.ts +2 -2
  345. package/lib/typescript/src/renderer/components/shapes/Fill.d.ts +2 -2
  346. package/lib/typescript/src/renderer/components/shapes/FitBox.d.ts +2 -1
  347. package/lib/typescript/src/renderer/components/shapes/Line.d.ts +2 -2
  348. package/lib/typescript/src/renderer/components/shapes/Oval.d.ts +2 -2
  349. package/lib/typescript/src/renderer/components/shapes/Patch.d.ts +2 -2
  350. package/lib/typescript/src/renderer/components/shapes/Path.d.ts +2 -2
  351. package/lib/typescript/src/renderer/components/shapes/Points.d.ts +2 -2
  352. package/lib/typescript/src/renderer/components/shapes/Rect.d.ts +2 -2
  353. package/lib/typescript/src/renderer/components/shapes/RoundedRect.d.ts +2 -2
  354. package/lib/typescript/src/renderer/components/shapes/Vertices.d.ts +2 -2
  355. package/lib/typescript/src/renderer/components/text/Glyphs.d.ts +2 -2
  356. package/lib/typescript/src/renderer/components/text/Text.d.ts +2 -2
  357. package/lib/typescript/src/renderer/components/text/TextBlob.d.ts +2 -2
  358. package/lib/typescript/src/renderer/components/text/TextPath.d.ts +2 -2
  359. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +6 -6
  360. package/lib/typescript/src/skia/core/Font.d.ts +2 -2
  361. package/lib/typescript/src/skia/types/Color.d.ts +2 -2
  362. package/lib/typescript/src/skia/types/ColorFilter/ColorFilter.d.ts +1 -1
  363. package/lib/typescript/src/skia/types/ColorFilter/ColorFilterFactory.d.ts +1 -1
  364. package/lib/typescript/src/skia/types/Data/Data.d.ts +6 -6
  365. package/lib/typescript/src/skia/types/ImageFilter/ImageFilter.d.ts +1 -1
  366. package/lib/typescript/src/skia/types/MaskFilter.d.ts +1 -1
  367. package/lib/typescript/src/skia/types/Matrix.d.ts +3 -3
  368. package/lib/typescript/src/skia/types/Path/Path.d.ts +1 -1
  369. package/lib/typescript/src/skia/types/PathEffect.d.ts +1 -1
  370. package/lib/typescript/src/skia/types/Point.d.ts +1 -1
  371. package/lib/typescript/src/skia/types/RSXform.d.ts +1 -1
  372. package/lib/typescript/src/skia/types/Shader/Shader.d.ts +2 -2
  373. package/lib/typescript/src/skia/types/TextBlob.d.ts +1 -1
  374. package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -1
  375. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -1
  376. package/lib/typescript/src/specs/NativeSkiaModule.d.ts +6 -0
  377. package/lib/typescript/src/specs/NativeSkiaModule.web.d.ts +2 -0
  378. package/lib/typescript/src/specs/SkiaDomViewNativeComponent.d.ts +8 -0
  379. package/lib/typescript/src/specs/SkiaDrawViewNativeComponent.d.ts +8 -0
  380. package/lib/typescript/src/specs/SkiaPictureViewNativeComponent.d.ts +8 -0
  381. package/lib/typescript/src/values/selector.d.ts +1 -1
  382. package/lib/typescript/src/views/SkiaBaseWebView.d.ts +1 -1
  383. package/lib/typescript/src/views/SkiaDomView.d.ts +1 -1
  384. package/lib/typescript/src/views/SkiaPictureView.d.ts +1 -1
  385. package/lib/typescript/src/views/SkiaView.d.ts +1 -1
  386. package/lib/typescript/src/views/types.d.ts +6 -6
  387. package/lib/typescript/src/web/WithSkiaWeb.d.ts +2 -2
  388. package/package.json +18 -6
  389. package/react-native-skia.podspec +11 -3
  390. package/src/Platform/IPlatform.ts +1 -3
  391. package/src/Platform/Platform.ts +0 -4
  392. package/src/Platform/Platform.web.tsx +0 -4
  393. package/src/dom/types/DrawingContext.ts +1 -1
  394. package/src/external/reanimated/renderHelpers.ts +1 -1
  395. package/src/renderer/Canvas.tsx +2 -1
  396. package/src/renderer/Reconciler.tsx +2 -1
  397. package/src/skia/NativeSetup.ts +2 -1
  398. package/src/specs/NativeSkiaModule.ts +9 -0
  399. package/src/specs/NativeSkiaModule.web.ts +4 -0
  400. package/src/specs/SkiaDomViewNativeComponent.ts +10 -0
  401. package/src/specs/SkiaDrawViewNativeComponent.ts +10 -0
  402. package/src/specs/SkiaPictureViewNativeComponent.ts +10 -0
  403. package/src/views/SkiaDomView.tsx +3 -2
  404. package/src/views/SkiaPictureView.tsx +4 -5
  405. package/src/views/SkiaView.tsx +4 -5
  406. /package/cpp/rnskia/dom/props/{ImageProps.h → SkImageProps.h} +0 -0
@@ -26,6 +26,14 @@ def safeExtGet(prop, fallback) {
26
26
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
27
27
  }
28
28
 
29
+ def isNewArchitectureEnabled() {
30
+ // To opt-in for the New Architecture, you can either:
31
+ // - Set `newArchEnabled` to true inside the `gradle.properties` file
32
+ // - Invoke gradle with `-newArchEnabled=true`
33
+ // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
34
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
35
+ }
36
+
29
37
  apply plugin: 'com.android.library'
30
38
 
31
39
  def reactNativeArchitectures() {
@@ -54,6 +62,10 @@ logger.warn("react-native-skia: node_modules/ found at: ${nodeModules}")
54
62
  def sourceBuild = false
55
63
  def defaultDir
56
64
 
65
+ if (isNewArchitectureEnabled()) {
66
+ apply plugin: "com.facebook.react"
67
+ }
68
+
57
69
  if (rootProject.ext.has('reactNativeAndroidRoot')) {
58
70
  defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
59
71
  } else if (findProject(':ReactAndroid') != null) {
@@ -148,6 +160,16 @@ android {
148
160
  }
149
161
  }
150
162
 
163
+ sourceSets.main {
164
+ java {
165
+ if (!isNewArchitectureEnabled()) {
166
+ srcDirs += [
167
+ "src/paper/java",
168
+ ]
169
+ }
170
+ }
171
+ }
172
+
151
173
  externalNativeBuild {
152
174
  cmake {
153
175
  path file('CMakeLists.txt')
@@ -1,7 +1,5 @@
1
1
  package com.shopify.reactnative.skia;
2
2
 
3
- import android.app.Application;
4
- import android.graphics.Bitmap;
5
3
  import android.os.Handler;
6
4
  import android.os.Looper;
7
5
  import android.util.Log;
@@ -10,7 +8,6 @@ import android.view.Choreographer;
10
8
  import com.facebook.jni.HybridData;
11
9
  import com.facebook.proguard.annotations.DoNotStrip;
12
10
  import com.facebook.react.bridge.ReactContext;
13
- import com.facebook.react.turbomodule.core.CallInvokerHolderImpl;
14
11
 
15
12
  import java.io.BufferedInputStream;
16
13
  import java.io.ByteArrayOutputStream;
@@ -21,8 +18,6 @@ import java.net.URI;
21
18
  import java.net.URISyntaxException;
22
19
  import java.net.URL;
23
20
  import java.net.URLConnection;
24
- import java.util.concurrent.ExecutorService;
25
- import java.util.concurrent.Executors;
26
21
 
27
22
  public class PlatformContext {
28
23
  @DoNotStrip
@@ -35,6 +30,9 @@ public class PlatformContext {
35
30
 
36
31
  private final String TAG = "PlatformContext";
37
32
 
33
+ private final Handler mainHandler = new Handler(Looper.getMainLooper());
34
+
35
+
38
36
  public PlatformContext(ReactContext reactContext) {
39
37
  mContext = reactContext;
40
38
  mHybridData = initHybrid(reactContext.getResources().getDisplayMetrics().density);
@@ -66,9 +64,10 @@ public class PlatformContext {
66
64
  Choreographer.getInstance().postFrameCallback(frameCallback);
67
65
  }
68
66
 
67
+
69
68
  @DoNotStrip
70
69
  public void notifyTaskReadyOnMainThread() {
71
- new Handler(Looper.getMainLooper()).post(new Runnable() {
70
+ mainHandler.post(new Runnable() {
72
71
  @Override
73
72
  public void run() {
74
73
  notifyTaskReady();
@@ -83,7 +82,7 @@ public class PlatformContext {
83
82
 
84
83
  @DoNotStrip
85
84
  public void raise(final String message) {
86
- new Handler(Looper.getMainLooper()).post(new Runnable() {
85
+ mainHandler.post(new Runnable() {
87
86
  @Override
88
87
  public void run() {
89
88
  mContext.handleException(new Exception(message));
@@ -97,7 +96,7 @@ public class PlatformContext {
97
96
  return;
98
97
  }
99
98
  _drawLoopActive = true;
100
- new Handler(Looper.getMainLooper()).post(new Runnable() {
99
+ mainHandler.post(new Runnable() {
101
100
  @Override
102
101
  public void run() {
103
102
  postFrameLoop();
@@ -169,7 +168,7 @@ public class PlatformContext {
169
168
  Log.i(TAG, "Resume");
170
169
  if(_drawLoopActive) {
171
170
  // Restart draw loop
172
- new Handler(Looper.getMainLooper()).post(new Runnable() {
171
+ mainHandler.post(new Runnable() {
173
172
  @Override
174
173
  public void run() {
175
174
  postFrameLoop();
@@ -188,4 +187,4 @@ public class PlatformContext {
188
187
  private native HybridData initHybrid(float pixelDensity);
189
188
  private native void notifyDrawLoop();
190
189
  private native void notifyTaskReady();
191
- }
190
+ }
@@ -12,9 +12,9 @@ import com.facebook.react.module.annotations.ReactModule;
12
12
 
13
13
  import java.lang.ref.WeakReference;
14
14
 
15
- @ReactModule(name="RNSkia")
16
- public class RNSkiaModule extends ReactContextBaseJavaModule implements LifecycleEventListener {
17
- public static final String NAME = "RNSkia";
15
+ @ReactModule(name="RNSkiaModule")
16
+ public class RNSkiaModule extends NativeSkiaModuleSpec implements LifecycleEventListener {
17
+ public static final String NAME = "RNSkiaModule";
18
18
 
19
19
  private final WeakReference<ReactApplicationContext> weakReactContext;
20
20
  private SkiaManager skiaManager;
@@ -2,23 +2,77 @@
2
2
 
3
3
  package com.shopify.reactnative.skia;
4
4
 
5
+ import androidx.annotation.Nullable;
6
+
5
7
  import java.util.Arrays;
8
+ import java.util.HashMap;
6
9
  import java.util.List;
10
+ import java.util.Map;
7
11
 
8
- import com.facebook.react.ReactPackage;
12
+ import com.facebook.react.TurboReactPackage;
9
13
  import com.facebook.react.bridge.NativeModule;
10
14
  import com.facebook.react.bridge.ReactApplicationContext;
15
+ import com.facebook.react.module.annotations.ReactModule;
16
+ import com.facebook.react.module.annotations.ReactModuleList;
17
+ import com.facebook.react.module.model.ReactModuleInfo;
18
+ import com.facebook.react.module.model.ReactModuleInfoProvider;
19
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
11
20
  import com.facebook.react.uimanager.ViewManager;
12
21
 
13
- public class RNSkiaPackage implements ReactPackage {
22
+ @ReactModuleList(
23
+ nativeModules = {
24
+ RNSkiaModule.class,
25
+ })
26
+ public class RNSkiaPackage extends TurboReactPackage {
14
27
  @Override
15
28
  public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
16
29
  return Arrays.<NativeModule>asList(new RNSkiaModule(reactContext));
17
30
  }
18
31
 
32
+ @Nullable
33
+ @Override
34
+ public NativeModule getModule(String s, ReactApplicationContext reactApplicationContext) {
35
+ switch (s) {
36
+ case RNSkiaModule.NAME:
37
+ return new RNSkiaModule(reactApplicationContext);
38
+ default:
39
+ return null;
40
+ }
41
+ }
42
+
19
43
  @Override
20
44
  public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
21
45
  return Arrays.<ViewManager>asList(new SkiaDrawViewManager(),
22
46
  new SkiaPictureViewManager(), new SkiaDomViewManager());
23
47
  }
48
+
49
+ @Override
50
+ public ReactModuleInfoProvider getReactModuleInfoProvider() {
51
+ return new ReactModuleInfoProvider() {
52
+ @Override
53
+ public Map<String, ReactModuleInfo> getReactModuleInfos() {
54
+ final Map<String, ReactModuleInfo> reactModuleInfoMap = new HashMap<>();
55
+ Class<? extends NativeModule>[] moduleList =
56
+ new Class[] {
57
+ RNSkiaModule.class,
58
+ };
59
+
60
+ for (Class<? extends NativeModule> moduleClass : moduleList) {
61
+ ReactModule reactModule = moduleClass.getAnnotation(ReactModule.class);
62
+
63
+ reactModuleInfoMap.put(
64
+ reactModule.name(),
65
+ new ReactModuleInfo(
66
+ reactModule.name(),
67
+ moduleClass.getName(),
68
+ reactModule.canOverrideExistingModule(),
69
+ reactModule.needsEagerInit(),
70
+ reactModule.hasConstants(),
71
+ reactModule.isCxxModule(),
72
+ TurboModule.class.isAssignableFrom(moduleClass)));
73
+ }
74
+ return reactModuleInfoMap;
75
+ }
76
+ };
77
+ }
24
78
  }
@@ -157,9 +157,13 @@ public abstract class SkiaBaseView extends ReactViewGroup implements TextureView
157
157
  return false;
158
158
  }
159
159
 
160
+ //private long _prevTimestamp = 0;
160
161
  @Override
161
162
  public void onSurfaceTextureUpdated(SurfaceTexture surface) {
162
- // Nothing special to do here
163
+ // long timestamp = surface.getTimestamp();
164
+ // long frameDuration = (timestamp - _prevTimestamp)/1000000;
165
+ // Log.i(tag, "onSurfaceTextureUpdated "+frameDuration+"ms");
166
+ // _prevTimestamp = timestamp;
163
167
  }
164
168
 
165
169
  protected abstract void surfaceAvailable(Object surface, int width, int height);
@@ -7,7 +7,7 @@ import com.facebook.react.views.view.ReactViewManager;
7
7
  import androidx.annotation.NonNull;
8
8
  import androidx.annotation.Nullable;
9
9
 
10
- public abstract class SkiaBaseViewManager extends ReactViewManager {
10
+ public abstract class SkiaBaseViewManager<T extends SkiaBaseView> extends ReactViewManager {
11
11
 
12
12
  @Override
13
13
  public void setNativeId(@NonNull ReactViewGroup view, @Nullable String nativeId) {
@@ -17,12 +17,12 @@ public abstract class SkiaBaseViewManager extends ReactViewManager {
17
17
  }
18
18
 
19
19
  @ReactProp(name = "mode")
20
- public void setMode(ReactViewGroup view, String mode) {
20
+ public void setMode(T view, String mode) {
21
21
  ((SkiaBaseView)view).setMode(mode);
22
22
  }
23
23
 
24
24
  @ReactProp(name = "debug")
25
- public void setDebug(ReactViewGroup view, boolean show) {
25
+ public void setDebug(T view, boolean show) {
26
26
  ((SkiaBaseView)view).setDebugMode(show);
27
27
  }
28
28
 
@@ -1,9 +1,22 @@
1
1
  package com.shopify.reactnative.skia;
2
2
 
3
3
  import com.facebook.react.uimanager.ThemedReactContext;
4
+ import com.facebook.react.viewmanagers.SkiaDomViewManagerInterface;
5
+ import com.facebook.react.viewmanagers.SkiaDomViewManagerDelegate;
6
+
4
7
  import androidx.annotation.NonNull;
5
8
 
6
- public class SkiaDomViewManager extends SkiaBaseViewManager {
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
+ }
7
20
 
8
21
  @NonNull
9
22
  @Override
@@ -1,9 +1,23 @@
1
1
  package com.shopify.reactnative.skia;
2
2
 
3
3
  import com.facebook.react.uimanager.ThemedReactContext;
4
+ import com.facebook.react.viewmanagers.SkiaDrawViewManagerDelegate;
5
+ import com.facebook.react.viewmanagers.SkiaDrawViewManagerInterface;
6
+
4
7
  import androidx.annotation.NonNull;
5
8
 
6
- public class SkiaDrawViewManager extends SkiaBaseViewManager {
9
+ public class SkiaDrawViewManager extends SkiaBaseViewManager<SkiaDrawView> implements SkiaDrawViewManagerInterface<SkiaDrawView> {
10
+
11
+
12
+ protected SkiaDrawViewManagerDelegate mDelegate;
13
+
14
+ SkiaDrawViewManager() {
15
+ mDelegate = new SkiaDrawViewManagerDelegate(this);
16
+ }
17
+
18
+ protected SkiaDrawViewManagerDelegate getDelegate() {
19
+ return mDelegate;
20
+ }
7
21
 
8
22
  @NonNull
9
23
  @Override
@@ -16,4 +30,5 @@ public class SkiaDrawViewManager extends SkiaBaseViewManager {
16
30
  public SkiaDrawView createViewInstance(@NonNull ThemedReactContext reactContext) {
17
31
  return new SkiaDrawView(reactContext);
18
32
  }
33
+
19
34
  }
@@ -1,9 +1,23 @@
1
1
  package com.shopify.reactnative.skia;
2
2
 
3
3
  import com.facebook.react.uimanager.ThemedReactContext;
4
+ import com.facebook.react.viewmanagers.SkiaPictureViewManagerDelegate;
5
+ import com.facebook.react.viewmanagers.SkiaPictureViewManagerInterface;
6
+
4
7
  import androidx.annotation.NonNull;
5
8
 
6
- public class SkiaPictureViewManager extends SkiaBaseViewManager {
9
+ public class SkiaPictureViewManager extends SkiaBaseViewManager<SkiaPictureView> implements SkiaPictureViewManagerInterface<SkiaPictureView> {
10
+
11
+
12
+ protected SkiaPictureViewManagerDelegate mDelegate;
13
+
14
+ SkiaPictureViewManager() {
15
+ mDelegate = new SkiaPictureViewManagerDelegate(this);
16
+ }
17
+
18
+ protected SkiaPictureViewManagerDelegate getDelegate() {
19
+ return mDelegate;
20
+ }
7
21
 
8
22
  @NonNull
9
23
  @Override
@@ -174,8 +174,8 @@ public class ViewScreenshotService {
174
174
 
175
175
  // Create a new matrix for translation
176
176
  final Matrix translateMatrix = new Matrix();
177
- final float dx = view.getLeft() + view.getPaddingLeft() + view.getTranslationX();
178
- final float dy = view.getTop() + view.getPaddingTop() + view.getTranslationY();
177
+ final float dx = view.getLeft() + view.getPaddingLeft();
178
+ final float dy = view.getTop() + view.getPaddingTop();
179
179
  translateMatrix.setTranslate(dx, dy);
180
180
 
181
181
  // Pre-concatenate the current matrix of the canvas with the translation and transformation matrices of the view
@@ -0,0 +1,34 @@
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 "mode":
25
+ mViewManager.setMode(view, value == null ? null : (String) value);
26
+ break;
27
+ case "debug":
28
+ mViewManager.setDebug(view, value == null ? false : (boolean) value);
29
+ break;
30
+ default:
31
+ super.setProperty(view, propName, value);
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,18 @@
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 setMode(T view, @Nullable String value);
17
+ void setDebug(T view, boolean value);
18
+ }
@@ -0,0 +1,34 @@
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 SkiaDrawViewManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & SkiaDrawViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
18
+ public SkiaDrawViewManagerDelegate(U viewManager) {
19
+ super(viewManager);
20
+ }
21
+ @Override
22
+ public void setProperty(T view, String propName, @Nullable Object value) {
23
+ switch (propName) {
24
+ case "mode":
25
+ mViewManager.setMode(view, value == null ? null : (String) value);
26
+ break;
27
+ case "debug":
28
+ mViewManager.setDebug(view, value == null ? false : (boolean) value);
29
+ break;
30
+ default:
31
+ super.setProperty(view, propName, value);
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,18 @@
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 SkiaDrawViewManagerInterface<T extends View> {
16
+ void setMode(T view, @Nullable String value);
17
+ void setDebug(T view, boolean value);
18
+ }
@@ -0,0 +1,34 @@
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 SkiaPictureViewManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & SkiaPictureViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
18
+ public SkiaPictureViewManagerDelegate(U viewManager) {
19
+ super(viewManager);
20
+ }
21
+ @Override
22
+ public void setProperty(T view, String propName, @Nullable Object value) {
23
+ switch (propName) {
24
+ case "mode":
25
+ mViewManager.setMode(view, value == null ? null : (String) value);
26
+ break;
27
+ case "debug":
28
+ mViewManager.setDebug(view, value == null ? false : (boolean) value);
29
+ break;
30
+ default:
31
+ super.setProperty(view, propName, value);
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,18 @@
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 SkiaPictureViewManagerInterface<T extends View> {
16
+ void setMode(T view, @Nullable String value);
17
+ void setDebug(T view, boolean value);
18
+ }
@@ -0,0 +1,38 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJavaSpec.js
9
+ *
10
+ * @nolint
11
+ */
12
+
13
+ package com.shopify.reactnative.skia;
14
+
15
+ import com.facebook.proguard.annotations.DoNotStrip;
16
+ import com.facebook.react.bridge.ReactApplicationContext;
17
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
18
+ import com.facebook.react.bridge.ReactMethod;
19
+ import com.facebook.react.bridge.ReactModuleWithSpec;
20
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
21
+ import javax.annotation.Nonnull;
22
+
23
+ public abstract class NativeSkiaModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
24
+ public static final String NAME = "RNSkiaModule";
25
+
26
+ public NativeSkiaModuleSpec(ReactApplicationContext reactContext) {
27
+ super(reactContext);
28
+ }
29
+
30
+ @Override
31
+ public @Nonnull String getName() {
32
+ return NAME;
33
+ }
34
+
35
+ @ReactMethod(isBlockingSynchronousMethod = true)
36
+ @DoNotStrip
37
+ public abstract boolean install();
38
+ }
@@ -398,7 +398,7 @@ private:
398
398
 
399
399
  std::shared_ptr<RNSkValue> _onSize;
400
400
  std::function<void()> _onSizeUnsubscribe;
401
- RNSkDrawingMode _drawingMode;
401
+ RNSkDrawingMode _drawingMode = RNSkDrawingMode::Default;
402
402
  size_t _nativeId;
403
403
 
404
404
  size_t _drawingLoopId = 0;
@@ -1,7 +1,7 @@
1
1
  #pragma once
2
2
 
3
- #include "ImageProps.h"
4
3
  #include "JsiDomDrawingNode.h"
4
+ #include "SkImageProps.h"
5
5
 
6
6
  #include <memory>
7
7
 
@@ -0,0 +1,7 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+ #import "SkiaUIView.h"
3
+
4
+ @interface SkiaDomView : SkiaUIView
5
+
6
+ @end
7
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -0,0 +1,64 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+ #import <SkiaDomView.h>
3
+
4
+ #import <RNSkDomView.h>
5
+ #import <RNSkIOSView.h>
6
+ #import <RNSkPlatformContext.h>
7
+
8
+ #import <RNSkiaModule.h>
9
+ #import <SkiaManager.h>
10
+ #import <SkiaUIView.h>
11
+
12
+ #import <React/RCTBridge+Private.h>
13
+ #import <React/RCTConversions.h>
14
+ #import <React/RCTFabricComponentsPlugins.h>
15
+
16
+ #import <react/renderer/components/rnskia/ComponentDescriptors.h>
17
+ #import <react/renderer/components/rnskia/EventEmitters.h>
18
+ #import <react/renderer/components/rnskia/Props.h>
19
+ #import <react/renderer/components/rnskia/RCTComponentViewHelpers.h>
20
+
21
+ using namespace facebook::react;
22
+
23
+ @implementation SkiaDomView
24
+
25
+ - (instancetype)initWithFrame:(CGRect)frame {
26
+ if (self = [super initWithFrame:frame]) {
27
+ auto skManager = [[self skiaManager] skManager];
28
+ // Pass SkManager as a raw pointer to avoid circular dependenciesr
29
+ [self
30
+ initCommon:skManager.get()
31
+ factory:[](std::shared_ptr<RNSkia::RNSkPlatformContext> context) {
32
+ return std::make_shared<RNSkiOSView<RNSkia::RNSkDomView>>(context);
33
+ }];
34
+ static const auto defaultProps = std::make_shared<const SkiaDomViewProps>();
35
+ _props = defaultProps;
36
+ }
37
+ return self;
38
+ }
39
+
40
+ #pragma mark - RCTComponentViewProtocol
41
+
42
+ + (ComponentDescriptorProvider)componentDescriptorProvider {
43
+ return concreteComponentDescriptorProvider<SkiaDomViewComponentDescriptor>();
44
+ }
45
+
46
+ - (void)updateProps:(const Props::Shared &)props
47
+ oldProps:(const Props::Shared &)oldProps {
48
+ const auto &newProps =
49
+ *std::static_pointer_cast<const SkiaDomViewProps>(props);
50
+ [super updateProps:props oldProps:oldProps];
51
+ int nativeId =
52
+ [[RCTConvert NSString:RCTNSStringFromString(newProps.nativeId)] intValue];
53
+ [self setNativeId:nativeId];
54
+ [self setDrawingMode:newProps.mode];
55
+ [self setDebugMode:newProps.debug];
56
+ }
57
+
58
+ @end
59
+
60
+ Class<RCTComponentViewProtocol> SkiaDomViewCls(void) {
61
+ return SkiaDomView.class;
62
+ }
63
+
64
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -16,7 +16,7 @@ RCT_EXPORT_MODULE(SkiaDomView)
16
16
 
17
17
  - (SkiaManager *)skiaManager {
18
18
  auto bridge = [RCTBridge currentBridge];
19
- auto skiaModule = (RNSkiaModule *)[bridge moduleForName:@"RNSkia"];
19
+ auto skiaModule = (RNSkiaModule *)[bridge moduleForName:@"RNSkiaModule"];
20
20
  return [skiaModule manager];
21
21
  }
22
22
 
@@ -0,0 +1,7 @@
1
+ #ifdef RCT_NEW_ARCH_ENABLED
2
+ #import "SkiaUIView.h"
3
+
4
+ @interface SkiaDrawView : SkiaUIView
5
+
6
+ @end
7
+ #endif // RCT_NEW_ARCH_ENABLED