@shopify/react-native-skia 0.1.216 → 0.1.219

Sign up to get free protection for your applications and to get access to all the features.
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