@shopify/react-native-skia 0.1.122 → 0.1.125

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 (466) hide show
  1. package/android/CMakeLists.txt +6 -1
  2. package/android/build.gradle +1 -1
  3. package/android/cpp/jni/JniSkiaDrawView.cpp +14 -71
  4. package/android/cpp/jni/JniSkiaManager.cpp +1 -1
  5. package/android/cpp/jni/include/JniSkiaDrawView.h +18 -22
  6. package/android/cpp/jni/include/JniSkiaManager.h +4 -4
  7. package/android/cpp/rnskia-android/RNSkDrawViewImpl.cpp +68 -0
  8. package/android/cpp/rnskia-android/RNSkDrawViewImpl.h +48 -0
  9. package/android/cpp/{jni/include/JniPlatformContextWrapper.h → rnskia-android/RNSkPlatformContextImpl.h} +4 -4
  10. package/android/cpp/{jni → rnskia-android}/SkiaOpenGLRenderer.cpp +39 -54
  11. package/android/cpp/{jni/include → rnskia-android}/SkiaOpenGLRenderer.h +2 -31
  12. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaViewManager.java +1 -1
  13. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +21 -28
  14. package/cpp/api/JsiSkApi.h +3 -1
  15. package/cpp/api/JsiSkCanvas.h +1 -1
  16. package/cpp/api/JsiSkColor.h +41 -7
  17. package/cpp/api/JsiSkColorFilterFactory.h +2 -1
  18. package/cpp/api/JsiSkImageFilter.h +0 -2
  19. package/cpp/api/JsiSkImageFilterFactory.h +37 -17
  20. package/cpp/api/JsiSkMatrix.h +44 -2
  21. package/cpp/api/JsiSkPaint.h +4 -7
  22. package/cpp/api/JsiSkRuntimeEffect.h +7 -0
  23. package/cpp/api/JsiSkRuntimeEffectFactory.h +3 -2
  24. package/cpp/api/JsiSkRuntimeShaderBuilder.h +70 -0
  25. package/cpp/api/JsiSkShaderFactory.h +2 -2
  26. package/cpp/api/JsiSkVertices.h +1 -1
  27. package/cpp/api/third_party/CSSColorParser.cpp +194 -0
  28. package/cpp/api/third_party/CSSColorParser.h +1 -191
  29. package/cpp/jsi/JsiSimpleValueWrapper.h +98 -0
  30. package/cpp/rnskia/RNSkAnimation.h +0 -2
  31. package/cpp/rnskia/RNSkDrawView.cpp +84 -126
  32. package/cpp/rnskia/RNSkDrawView.h +7 -37
  33. package/cpp/rnskia/RNSkJsiViewApi.h +8 -5
  34. package/cpp/rnskia/RNSkManager.cpp +2 -2
  35. package/cpp/rnskia/RNSkManager.h +2 -2
  36. package/cpp/rnskia/RNSkPlatformContext.h +1 -1
  37. package/cpp/rnskia/RNSkValueApi.h +6 -2
  38. package/cpp/rnskia/values/RNSkClockValue.h +18 -10
  39. package/cpp/rnskia/values/RNSkDerivedValue.h +12 -5
  40. package/cpp/rnskia/values/RNSkReadonlyValue.h +25 -17
  41. package/cpp/rnskia/values/RNSkValue.h +8 -3
  42. package/cpp/utils/RNSkTimingInfo.h +13 -1
  43. package/ios/RNSkia-iOS/PlatformContext.h +30 -4
  44. package/ios/RNSkia-iOS/RNSkDrawViewImpl.h +8 -10
  45. package/ios/RNSkia-iOS/RNSkDrawViewImpl.mm +25 -10
  46. package/ios/RNSkia-iOS/SkiaDrawView.mm +22 -20
  47. package/lib/commonjs/{values/animation → animation}/decay/decay.js +0 -0
  48. package/lib/commonjs/{values/animation → animation}/decay/decay.js.map +0 -0
  49. package/lib/commonjs/{values/animation → animation}/decay/index.js +0 -0
  50. package/lib/commonjs/{values/animation → animation}/decay/index.js.map +0 -0
  51. package/lib/commonjs/{values/animation → animation}/decay/runDecay.js +1 -1
  52. package/lib/commonjs/animation/decay/runDecay.js.map +1 -0
  53. package/lib/commonjs/{values/animation → animation}/decay/types.js +0 -0
  54. package/lib/commonjs/{values/animation → animation}/decay/types.js.map +0 -0
  55. package/lib/commonjs/{values/animation → animation}/functions/index.js +0 -0
  56. package/lib/commonjs/{values/animation → animation}/functions/index.js.map +0 -0
  57. package/lib/commonjs/animation/functions/interpolate.js +141 -0
  58. package/lib/commonjs/animation/functions/interpolate.js.map +1 -0
  59. package/lib/commonjs/animation/functions/interpolateColors.js +39 -0
  60. package/lib/commonjs/animation/functions/interpolateColors.js.map +1 -0
  61. package/lib/commonjs/{values/animation → animation}/index.js +0 -0
  62. package/lib/commonjs/{values/animation → animation}/index.js.map +0 -0
  63. package/lib/commonjs/{values/animation → animation}/spring/Spring.js +0 -0
  64. package/lib/commonjs/{values/animation → animation}/spring/Spring.js.map +0 -0
  65. package/lib/commonjs/{values/animation → animation}/spring/functions/index.js +0 -0
  66. package/lib/commonjs/{values/animation → animation}/spring/functions/index.js.map +0 -0
  67. package/lib/commonjs/{values/animation → animation}/spring/functions/spring.js +0 -0
  68. package/lib/commonjs/{values/animation → animation}/spring/functions/spring.js.map +0 -0
  69. package/lib/commonjs/{values/animation → animation}/spring/index.js +0 -0
  70. package/lib/commonjs/{values/animation → animation}/spring/index.js.map +0 -0
  71. package/lib/commonjs/{values/animation → animation}/spring/runSpring.js +0 -0
  72. package/lib/commonjs/animation/spring/runSpring.js.map +1 -0
  73. package/lib/commonjs/{values/animation → animation}/spring/types.js +0 -0
  74. package/lib/commonjs/{values/animation → animation}/spring/types.js.map +0 -0
  75. package/lib/commonjs/{values/animation → animation}/spring/useSpring.js +0 -0
  76. package/lib/commonjs/animation/spring/useSpring.js.map +1 -0
  77. package/lib/commonjs/{values/animation → animation}/timing/Easing.js +0 -0
  78. package/lib/commonjs/{values/animation → animation}/timing/Easing.js.map +0 -0
  79. package/lib/commonjs/{values/animation → animation}/timing/createTiming.js +1 -1
  80. package/lib/commonjs/animation/timing/createTiming.js.map +1 -0
  81. package/lib/commonjs/{values/animation → animation}/timing/functions/bezier.js +0 -0
  82. package/lib/commonjs/{values/animation → animation}/timing/functions/bezier.js.map +0 -0
  83. package/lib/commonjs/{values/animation → animation}/timing/functions/getResolvedParams.js +3 -3
  84. package/lib/commonjs/animation/timing/functions/getResolvedParams.js.map +1 -0
  85. package/lib/commonjs/{values/animation → animation}/timing/functions/index.js +0 -0
  86. package/lib/commonjs/{values/animation → animation}/timing/functions/index.js.map +0 -0
  87. package/lib/commonjs/{values/animation → animation}/timing/functions/timing.js +0 -0
  88. package/lib/commonjs/{values/animation → animation}/timing/functions/timing.js.map +1 -1
  89. package/lib/commonjs/{values/animation → animation}/timing/functions/types.js +0 -0
  90. package/lib/commonjs/{values/animation → animation}/timing/functions/types.js.map +0 -0
  91. package/lib/commonjs/{values/animation → animation}/timing/index.js +0 -0
  92. package/lib/commonjs/{values/animation → animation}/timing/index.js.map +0 -0
  93. package/lib/commonjs/{values/animation → animation}/timing/runTiming.js +0 -0
  94. package/lib/commonjs/animation/timing/runTiming.js.map +1 -0
  95. package/lib/commonjs/{values/animation → animation}/timing/useLoop.js +0 -0
  96. package/lib/commonjs/{values/animation → animation}/timing/useLoop.js.map +0 -0
  97. package/lib/commonjs/{values/animation → animation}/timing/useTiming.js +1 -1
  98. package/lib/commonjs/animation/timing/useTiming.js.map +1 -0
  99. package/lib/commonjs/{values/animation → animation}/types.js +0 -0
  100. package/lib/commonjs/{values/animation → animation}/types.js.map +0 -0
  101. package/lib/commonjs/index.js +13 -0
  102. package/lib/commonjs/index.js.map +1 -1
  103. package/lib/commonjs/renderer/Canvas.js +17 -8
  104. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  105. package/lib/commonjs/renderer/components/Paint.js +1 -1
  106. package/lib/commonjs/renderer/components/Paint.js.map +1 -1
  107. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js.map +1 -1
  108. package/lib/commonjs/renderer/components/colorFilters/Lerp.js +1 -1
  109. package/lib/commonjs/renderer/components/colorFilters/Lerp.js.map +1 -1
  110. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js +4 -2
  111. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js.map +1 -1
  112. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js +37 -0
  113. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js.map +1 -0
  114. package/lib/commonjs/renderer/components/imageFilters/index.js +13 -0
  115. package/lib/commonjs/renderer/components/imageFilters/index.js.map +1 -1
  116. package/lib/commonjs/renderer/components/shaders/Gradient.js +1 -1
  117. package/lib/commonjs/renderer/components/shaders/Gradient.js.map +1 -1
  118. package/lib/commonjs/renderer/components/shaders/Shader.js +2 -2
  119. package/lib/commonjs/renderer/components/shaders/Shader.js.map +1 -1
  120. package/lib/commonjs/renderer/components/shapes/Path.js +9 -1
  121. package/lib/commonjs/renderer/components/shapes/Path.js.map +1 -1
  122. package/lib/commonjs/renderer/processors/Circles.js +3 -2
  123. package/lib/commonjs/renderer/processors/Circles.js.map +1 -1
  124. package/lib/commonjs/renderer/processors/Font.js +1 -1
  125. package/lib/commonjs/renderer/processors/Font.js.map +1 -1
  126. package/lib/commonjs/renderer/processors/Paint.js +6 -1
  127. package/lib/commonjs/renderer/processors/Paint.js.map +1 -1
  128. package/lib/commonjs/renderer/processors/Rects.js +11 -21
  129. package/lib/commonjs/renderer/processors/Rects.js.map +1 -1
  130. package/lib/commonjs/renderer/processors/math/Matrix3.js +42 -63
  131. package/lib/commonjs/renderer/processors/math/Matrix3.js.map +1 -1
  132. package/lib/commonjs/renderer/processors/math/Vector.js +4 -5
  133. package/lib/commonjs/renderer/processors/math/Vector.js.map +1 -1
  134. package/lib/commonjs/skia/Color.js +14 -38
  135. package/lib/commonjs/skia/Color.js.map +1 -1
  136. package/lib/commonjs/skia/ImageFilter/ImageFilterFactory.js.map +1 -1
  137. package/lib/commonjs/skia/Matrix.js.map +1 -1
  138. package/lib/commonjs/skia/Paint/Paint.js +13 -1
  139. package/lib/commonjs/skia/Paint/Paint.js.map +1 -1
  140. package/lib/commonjs/skia/Paint/usePaint.js +2 -4
  141. package/lib/commonjs/skia/Paint/usePaint.js.map +1 -1
  142. package/lib/commonjs/skia/Shader/useShader.js +4 -1
  143. package/lib/commonjs/skia/Shader/useShader.js.map +1 -1
  144. package/lib/commonjs/skia/Skia.js +3 -43
  145. package/lib/commonjs/skia/Skia.js.map +1 -1
  146. package/lib/commonjs/skia/SkiaApi.js +4 -0
  147. package/lib/commonjs/skia/SkiaApi.js.map +1 -0
  148. package/lib/commonjs/values/api.js +4 -6
  149. package/lib/commonjs/values/api.js.map +1 -1
  150. package/lib/commonjs/values/api.web.js +18 -0
  151. package/lib/commonjs/values/api.web.js.map +1 -0
  152. package/lib/commonjs/values/index.js +0 -13
  153. package/lib/commonjs/values/index.js.map +1 -1
  154. package/lib/commonjs/values/web/RNSkAnimation.js +46 -0
  155. package/lib/commonjs/values/web/RNSkAnimation.js.map +1 -0
  156. package/lib/commonjs/values/web/RNSkClockValue.js +75 -0
  157. package/lib/commonjs/values/web/RNSkClockValue.js.map +1 -0
  158. package/lib/commonjs/values/web/RNSkDerivedValue.js +51 -0
  159. package/lib/commonjs/values/web/RNSkDerivedValue.js.map +1 -0
  160. package/lib/commonjs/values/web/RNSkReadonlyValue.js +45 -0
  161. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -0
  162. package/lib/commonjs/values/web/RNSkValue.js +73 -0
  163. package/lib/commonjs/values/web/RNSkValue.js.map +1 -0
  164. package/lib/commonjs/values/web/api.js +31 -0
  165. package/lib/commonjs/values/web/api.js.map +1 -0
  166. package/lib/commonjs/values/web/index.js +19 -0
  167. package/lib/commonjs/values/web/index.js.map +1 -0
  168. package/lib/commonjs/views/SkiaView.js +13 -10
  169. package/lib/commonjs/views/SkiaView.js.map +1 -1
  170. package/lib/commonjs/views/api.js +11 -0
  171. package/lib/commonjs/views/api.js.map +1 -0
  172. package/lib/commonjs/views/types.js.map +1 -1
  173. package/lib/module/{values/animation → animation}/decay/decay.js +0 -0
  174. package/lib/module/{values/animation → animation}/decay/decay.js.map +0 -0
  175. package/lib/module/{values/animation → animation}/decay/index.js +0 -0
  176. package/lib/module/{values/animation → animation}/decay/index.js.map +0 -0
  177. package/lib/module/{values/animation → animation}/decay/runDecay.js +1 -1
  178. package/lib/module/animation/decay/runDecay.js.map +1 -0
  179. package/lib/module/{values/animation → animation}/decay/types.js +0 -0
  180. package/lib/module/{values/animation → animation}/decay/types.js.map +0 -0
  181. package/lib/module/{values/animation → animation}/functions/index.js +0 -0
  182. package/lib/module/{values/animation → animation}/functions/index.js.map +0 -0
  183. package/lib/module/animation/functions/interpolate.js +132 -0
  184. package/lib/module/animation/functions/interpolate.js.map +1 -0
  185. package/lib/module/animation/functions/interpolateColors.js +23 -0
  186. package/lib/module/animation/functions/interpolateColors.js.map +1 -0
  187. package/lib/module/{values/animation → animation}/index.js +0 -0
  188. package/lib/module/{values/animation → animation}/index.js.map +0 -0
  189. package/lib/module/{values/animation → animation}/spring/Spring.js +0 -0
  190. package/lib/module/{values/animation → animation}/spring/Spring.js.map +0 -0
  191. package/lib/module/{values/animation → animation}/spring/functions/index.js +0 -0
  192. package/lib/module/{values/animation → animation}/spring/functions/index.js.map +0 -0
  193. package/lib/module/{values/animation → animation}/spring/functions/spring.js +0 -0
  194. package/lib/module/{values/animation → animation}/spring/functions/spring.js.map +0 -0
  195. package/lib/module/{values/animation → animation}/spring/index.js +0 -0
  196. package/lib/module/{values/animation → animation}/spring/index.js.map +0 -0
  197. package/lib/module/{values/animation → animation}/spring/runSpring.js +0 -0
  198. package/lib/module/animation/spring/runSpring.js.map +1 -0
  199. package/lib/module/{values/animation → animation}/spring/types.js +0 -0
  200. package/lib/module/{values/animation → animation}/spring/types.js.map +0 -0
  201. package/lib/module/{values/animation → animation}/spring/useSpring.js +0 -0
  202. package/lib/module/animation/spring/useSpring.js.map +1 -0
  203. package/lib/module/{values/animation → animation}/timing/Easing.js +0 -0
  204. package/lib/module/{values/animation → animation}/timing/Easing.js.map +0 -0
  205. package/lib/module/{values/animation → animation}/timing/createTiming.js +1 -1
  206. package/lib/module/animation/timing/createTiming.js.map +1 -0
  207. package/lib/module/{values/animation → animation}/timing/functions/bezier.js +0 -0
  208. package/lib/module/{values/animation → animation}/timing/functions/bezier.js.map +0 -0
  209. package/lib/module/{values/animation → animation}/timing/functions/getResolvedParams.js +3 -3
  210. package/lib/module/animation/timing/functions/getResolvedParams.js.map +1 -0
  211. package/lib/module/{values/animation → animation}/timing/functions/index.js +0 -0
  212. package/lib/module/{values/animation → animation}/timing/functions/index.js.map +0 -0
  213. package/lib/module/{values/animation → animation}/timing/functions/timing.js +0 -0
  214. package/lib/module/{values/animation → animation}/timing/functions/timing.js.map +1 -1
  215. package/lib/module/{values/animation → animation}/timing/functions/types.js +0 -0
  216. package/lib/module/{values/animation → animation}/timing/functions/types.js.map +0 -0
  217. package/lib/module/{values/animation → animation}/timing/index.js +0 -0
  218. package/lib/module/{values/animation → animation}/timing/index.js.map +0 -0
  219. package/lib/module/{values/animation → animation}/timing/runTiming.js +0 -0
  220. package/lib/module/animation/timing/runTiming.js.map +1 -0
  221. package/lib/module/{values/animation → animation}/timing/useLoop.js +0 -0
  222. package/lib/module/{values/animation → animation}/timing/useLoop.js.map +0 -0
  223. package/lib/module/{values/animation → animation}/timing/useTiming.js +1 -1
  224. package/lib/module/animation/timing/useTiming.js.map +1 -0
  225. package/lib/module/{values/animation → animation}/types.js +0 -0
  226. package/lib/module/{values/animation → animation}/types.js.map +0 -0
  227. package/lib/module/index.js +1 -0
  228. package/lib/module/index.js.map +1 -1
  229. package/lib/module/renderer/Canvas.js +12 -6
  230. package/lib/module/renderer/Canvas.js.map +1 -1
  231. package/lib/module/renderer/components/Paint.js +2 -2
  232. package/lib/module/renderer/components/Paint.js.map +1 -1
  233. package/lib/module/renderer/components/colorFilters/BlendColor.js.map +1 -1
  234. package/lib/module/renderer/components/colorFilters/Lerp.js +1 -1
  235. package/lib/module/renderer/components/colorFilters/Lerp.js.map +1 -1
  236. package/lib/module/renderer/components/imageFilters/InnerShadow.js +3 -2
  237. package/lib/module/renderer/components/imageFilters/InnerShadow.js.map +1 -1
  238. package/lib/module/renderer/components/imageFilters/RuntimeShader.js +19 -0
  239. package/lib/module/renderer/components/imageFilters/RuntimeShader.js.map +1 -0
  240. package/lib/module/renderer/components/imageFilters/index.js +1 -0
  241. package/lib/module/renderer/components/imageFilters/index.js.map +1 -1
  242. package/lib/module/renderer/components/shaders/Gradient.js +2 -2
  243. package/lib/module/renderer/components/shaders/Gradient.js.map +1 -1
  244. package/lib/module/renderer/components/shaders/Shader.js +3 -2
  245. package/lib/module/renderer/components/shaders/Shader.js.map +1 -1
  246. package/lib/module/renderer/components/shapes/Path.js +9 -2
  247. package/lib/module/renderer/components/shapes/Path.js.map +1 -1
  248. package/lib/module/renderer/processors/Circles.js +3 -2
  249. package/lib/module/renderer/processors/Circles.js.map +1 -1
  250. package/lib/module/renderer/processors/Font.js +1 -1
  251. package/lib/module/renderer/processors/Font.js.map +1 -1
  252. package/lib/module/renderer/processors/Paint.js +6 -1
  253. package/lib/module/renderer/processors/Paint.js.map +1 -1
  254. package/lib/module/renderer/processors/Rects.js +9 -21
  255. package/lib/module/renderer/processors/Rects.js.map +1 -1
  256. package/lib/module/renderer/processors/math/Matrix3.js +52 -72
  257. package/lib/module/renderer/processors/math/Matrix3.js.map +1 -1
  258. package/lib/module/renderer/processors/math/Vector.js +3 -5
  259. package/lib/module/renderer/processors/math/Vector.js.map +1 -1
  260. package/lib/module/skia/Color.js +9 -25
  261. package/lib/module/skia/Color.js.map +1 -1
  262. package/lib/module/skia/ImageFilter/ImageFilterFactory.js.map +1 -1
  263. package/lib/module/skia/Matrix.js.map +1 -1
  264. package/lib/module/skia/Paint/Paint.js +6 -0
  265. package/lib/module/skia/Paint/Paint.js.map +1 -1
  266. package/lib/module/skia/Paint/usePaint.js +2 -3
  267. package/lib/module/skia/Paint/usePaint.js.map +1 -1
  268. package/lib/module/skia/Shader/useShader.js +4 -1
  269. package/lib/module/skia/Shader/useShader.js.map +1 -1
  270. package/lib/module/skia/Skia.js +2 -44
  271. package/lib/module/skia/Skia.js.map +1 -1
  272. package/lib/module/skia/SkiaApi.js +2 -0
  273. package/lib/module/skia/SkiaApi.js.map +1 -0
  274. package/lib/module/values/api.js +4 -6
  275. package/lib/module/values/api.js.map +1 -1
  276. package/lib/module/values/api.web.js +7 -0
  277. package/lib/module/values/api.web.js.map +1 -0
  278. package/lib/module/values/index.js +0 -1
  279. package/lib/module/values/index.js.map +1 -1
  280. package/lib/module/values/web/RNSkAnimation.js +36 -0
  281. package/lib/module/values/web/RNSkAnimation.js.map +1 -0
  282. package/lib/module/values/web/RNSkClockValue.js +65 -0
  283. package/lib/module/values/web/RNSkClockValue.js.map +1 -0
  284. package/lib/module/values/web/RNSkDerivedValue.js +41 -0
  285. package/lib/module/values/web/RNSkDerivedValue.js.map +1 -0
  286. package/lib/module/values/web/RNSkReadonlyValue.js +36 -0
  287. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -0
  288. package/lib/module/values/web/RNSkValue.js +63 -0
  289. package/lib/module/values/web/RNSkValue.js.map +1 -0
  290. package/lib/module/values/web/api.js +19 -0
  291. package/lib/module/values/web/api.js.map +1 -0
  292. package/lib/module/values/web/index.js +2 -0
  293. package/lib/module/values/web/index.js.map +1 -0
  294. package/lib/module/views/SkiaView.js +1 -3
  295. package/lib/module/views/SkiaView.js.map +1 -1
  296. package/lib/module/views/api.js +4 -0
  297. package/lib/module/views/api.js.map +1 -0
  298. package/lib/module/views/types.js.map +1 -1
  299. package/lib/typescript/src/{values/animation → animation}/decay/decay.d.ts +0 -0
  300. package/lib/typescript/src/{values/animation → animation}/decay/index.d.ts +0 -0
  301. package/lib/typescript/src/{values/animation → animation}/decay/runDecay.d.ts +2 -2
  302. package/lib/typescript/src/{values/animation → animation}/decay/types.d.ts +1 -1
  303. package/lib/typescript/src/{values/animation → animation}/functions/index.d.ts +0 -0
  304. package/lib/typescript/src/animation/functions/interpolate.d.ts +11 -0
  305. package/lib/typescript/src/animation/functions/interpolateColors.d.ts +3 -0
  306. package/lib/typescript/src/{values/animation → animation}/index.d.ts +0 -0
  307. package/lib/typescript/src/{values/animation → animation}/spring/Spring.d.ts +0 -0
  308. package/lib/typescript/src/{values/animation → animation}/spring/functions/index.d.ts +0 -0
  309. package/lib/typescript/src/{values/animation → animation}/spring/functions/spring.d.ts +0 -0
  310. package/lib/typescript/src/{values/animation → animation}/spring/index.d.ts +0 -0
  311. package/lib/typescript/src/{values/animation → animation}/spring/runSpring.d.ts +1 -1
  312. package/lib/typescript/src/{values/animation → animation}/spring/types.d.ts +0 -0
  313. package/lib/typescript/src/{values/animation → animation}/spring/useSpring.d.ts +1 -1
  314. package/lib/typescript/src/{values/animation → animation}/timing/Easing.d.ts +0 -0
  315. package/lib/typescript/src/{values/animation → animation}/timing/createTiming.d.ts +2 -2
  316. package/lib/typescript/src/{values/animation → animation}/timing/functions/bezier.d.ts +0 -0
  317. package/lib/typescript/src/{values/animation → animation}/timing/functions/getResolvedParams.d.ts +0 -0
  318. package/lib/typescript/src/{values/animation → animation}/timing/functions/index.d.ts +0 -0
  319. package/lib/typescript/src/{values/animation → animation}/timing/functions/timing.d.ts +1 -1
  320. package/lib/typescript/src/{values/animation → animation}/timing/functions/types.d.ts +0 -0
  321. package/lib/typescript/src/{values/animation → animation}/timing/index.d.ts +0 -0
  322. package/lib/typescript/src/{values/animation → animation}/timing/runTiming.d.ts +1 -1
  323. package/lib/typescript/src/{values/animation → animation}/timing/useLoop.d.ts +0 -0
  324. package/lib/typescript/src/{values/animation → animation}/timing/useTiming.d.ts +1 -1
  325. package/lib/typescript/src/{values/animation → animation}/types.d.ts +5 -5
  326. package/lib/typescript/src/index.d.ts +1 -0
  327. package/lib/typescript/src/renderer/Canvas.d.ts +6 -0
  328. package/lib/typescript/src/renderer/components/colorFilters/BlendColor.d.ts +1 -1
  329. package/lib/typescript/src/renderer/components/imageFilters/RuntimeShader.d.ts +7 -0
  330. package/lib/typescript/src/renderer/components/imageFilters/index.d.ts +1 -0
  331. package/lib/typescript/src/renderer/components/shaders/Gradient.d.ts +1 -1
  332. package/lib/typescript/src/renderer/components/shaders/Shader.d.ts +2 -2
  333. package/lib/typescript/src/renderer/components/shapes/Circle.d.ts +1 -4
  334. package/lib/typescript/src/renderer/components/shapes/Path.d.ts +3 -1
  335. package/lib/typescript/src/renderer/processors/Paint.d.ts +2 -1
  336. package/lib/typescript/src/renderer/processors/Rects.d.ts +9 -41
  337. package/lib/typescript/src/renderer/processors/math/Matrix3.d.ts +1 -5
  338. package/lib/typescript/src/renderer/processors/math/Vector.d.ts +5 -17
  339. package/lib/typescript/src/skia/Color.d.ts +8 -9
  340. package/lib/typescript/src/skia/ImageFilter/ImageFilterFactory.d.ts +16 -0
  341. package/lib/typescript/src/skia/Matrix.d.ts +7 -1
  342. package/lib/typescript/src/skia/Paint/Paint.d.ts +1 -0
  343. package/lib/typescript/src/skia/RuntimeEffect/RuntimeEffect.d.ts +2 -1
  344. package/lib/typescript/src/skia/RuntimeEffect/RuntimeEffectFactory.d.ts +2 -2
  345. package/lib/typescript/src/skia/Shader/useShader.d.ts +1 -1
  346. package/lib/typescript/src/skia/Skia.d.ts +28 -95
  347. package/lib/typescript/src/skia/SkiaApi.d.ts +71 -0
  348. package/lib/typescript/src/skia/Surface/Surface.d.ts +1 -1
  349. package/lib/typescript/src/skia/Surface/SurfaceFactory.d.ts +2 -2
  350. package/lib/typescript/src/values/api.d.ts +2 -25
  351. package/lib/typescript/src/values/api.web.d.ts +2 -0
  352. package/lib/typescript/src/values/index.d.ts +0 -1
  353. package/lib/typescript/src/values/types.d.ts +24 -1
  354. package/lib/typescript/src/values/web/RNSkAnimation.d.ts +9 -0
  355. package/lib/typescript/src/values/web/RNSkClockValue.d.ts +13 -0
  356. package/lib/typescript/src/values/web/RNSkDerivedValue.d.ts +9 -0
  357. package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +11 -0
  358. package/lib/typescript/src/values/web/RNSkValue.d.ts +14 -0
  359. package/lib/typescript/src/values/web/api.d.ts +2 -0
  360. package/lib/typescript/src/values/web/index.d.ts +1 -0
  361. package/lib/typescript/src/views/SkiaView.d.ts +3 -36
  362. package/lib/typescript/src/views/api.d.ts +5 -0
  363. package/lib/typescript/src/views/types.d.ts +32 -0
  364. package/package.json +2 -2
  365. package/src/{values/animation → animation}/decay/decay.ts +0 -0
  366. package/src/{values/animation → animation}/decay/index.ts +0 -0
  367. package/src/{values/animation → animation}/decay/runDecay.ts +2 -2
  368. package/src/{values/animation → animation}/decay/types.ts +1 -1
  369. package/src/{values/animation → animation}/functions/index.ts +0 -0
  370. package/src/animation/functions/interpolate.ts +182 -0
  371. package/src/animation/functions/interpolateColors.ts +58 -0
  372. package/src/{values/animation → animation}/index.ts +0 -0
  373. package/src/{values/animation → animation}/spring/Spring.ts +0 -0
  374. package/src/{values/animation → animation}/spring/functions/index.ts +0 -0
  375. package/src/{values/animation → animation}/spring/functions/spring.ts +0 -0
  376. package/src/{values/animation → animation}/spring/index.ts +0 -0
  377. package/src/{values/animation → animation}/spring/runSpring.ts +1 -1
  378. package/src/{values/animation → animation}/spring/types.ts +0 -0
  379. package/src/{values/animation → animation}/spring/useSpring.ts +1 -1
  380. package/src/{values/animation → animation}/timing/Easing.ts +0 -0
  381. package/src/{values/animation → animation}/timing/createTiming.ts +2 -2
  382. package/src/{values/animation → animation}/timing/functions/__tests__/timing.spec.ts +0 -0
  383. package/src/{values/animation → animation}/timing/functions/bezier.ts +0 -0
  384. package/src/{values/animation → animation}/timing/functions/getResolvedParams.ts +2 -2
  385. package/src/{values/animation → animation}/timing/functions/index.ts +0 -0
  386. package/src/{values/animation → animation}/timing/functions/timing.ts +1 -1
  387. package/src/{values/animation → animation}/timing/functions/types.ts +0 -0
  388. package/src/{values/animation → animation}/timing/index.ts +0 -0
  389. package/src/{values/animation → animation}/timing/runTiming.ts +1 -1
  390. package/src/{values/animation → animation}/timing/useLoop.ts +0 -0
  391. package/src/{values/animation → animation}/timing/useTiming.ts +2 -2
  392. package/src/{values/animation → animation}/types.ts +5 -5
  393. package/src/index.ts +1 -0
  394. package/src/renderer/Canvas.tsx +13 -6
  395. package/src/renderer/components/Paint.tsx +2 -2
  396. package/src/renderer/components/colorFilters/BlendColor.tsx +1 -1
  397. package/src/renderer/components/colorFilters/Lerp.tsx +1 -1
  398. package/src/renderer/components/imageFilters/InnerShadow.tsx +4 -2
  399. package/src/renderer/components/imageFilters/RuntimeShader.tsx +23 -0
  400. package/src/renderer/components/imageFilters/index.ts +1 -0
  401. package/src/renderer/components/shaders/Gradient.ts +2 -4
  402. package/src/renderer/components/shaders/Shader.tsx +3 -3
  403. package/src/renderer/components/shapes/Path.tsx +11 -3
  404. package/src/renderer/processors/Circles.ts +2 -1
  405. package/src/renderer/processors/Font.ts +1 -1
  406. package/src/renderer/processors/Paint.ts +5 -0
  407. package/src/renderer/processors/Rects.ts +9 -14
  408. package/src/renderer/processors/math/Matrix3.ts +24 -105
  409. package/src/renderer/processors/math/Vector.ts +3 -2
  410. package/src/skia/Color.ts +13 -27
  411. package/src/skia/ImageFilter/ImageFilterFactory.ts +20 -0
  412. package/src/skia/Matrix.ts +8 -1
  413. package/src/skia/Paint/Paint.ts +7 -0
  414. package/src/skia/Paint/usePaint.ts +2 -4
  415. package/src/skia/RuntimeEffect/RuntimeEffect.ts +3 -1
  416. package/src/skia/RuntimeEffect/RuntimeEffectFactory.ts +2 -2
  417. package/src/skia/Shader/useShader.ts +4 -1
  418. package/src/skia/Skia.ts +4 -123
  419. package/src/skia/SkiaApi.ts +86 -0
  420. package/src/skia/Surface/Surface.ts +1 -1
  421. package/src/skia/Surface/SurfaceFactory.ts +2 -2
  422. package/src/values/api.ts +3 -42
  423. package/src/values/api.web.ts +5 -0
  424. package/src/values/index.ts +0 -1
  425. package/src/values/types.ts +30 -1
  426. package/src/values/web/RNSkAnimation.ts +33 -0
  427. package/src/values/web/RNSkClockValue.ts +58 -0
  428. package/src/values/web/RNSkDerivedValue.ts +38 -0
  429. package/src/values/web/RNSkReadonlyValue.ts +32 -0
  430. package/src/values/web/RNSkValue.ts +57 -0
  431. package/src/values/web/__tests__/RNSkAnimation.spec.ts +21 -0
  432. package/src/values/web/__tests__/RNSkDerivedValue.spec.ts +15 -0
  433. package/src/values/web/__tests__/RNSkReadonlyValue.spec.ts +8 -0
  434. package/src/values/web/__tests__/RNSkValue.spec.ts +11 -0
  435. package/src/values/web/api.ts +33 -0
  436. package/src/values/web/index.ts +1 -0
  437. package/src/views/SkiaView.tsx +3 -49
  438. package/src/views/api.ts +7 -0
  439. package/src/views/types.ts +40 -0
  440. package/lib/commonjs/values/animation/decay/runDecay.js.map +0 -1
  441. package/lib/commonjs/values/animation/functions/interpolate.js +0 -139
  442. package/lib/commonjs/values/animation/functions/interpolate.js.map +0 -1
  443. package/lib/commonjs/values/animation/functions/interpolateColors.js +0 -47
  444. package/lib/commonjs/values/animation/functions/interpolateColors.js.map +0 -1
  445. package/lib/commonjs/values/animation/spring/runSpring.js.map +0 -1
  446. package/lib/commonjs/values/animation/spring/useSpring.js.map +0 -1
  447. package/lib/commonjs/values/animation/timing/createTiming.js.map +0 -1
  448. package/lib/commonjs/values/animation/timing/functions/getResolvedParams.js.map +0 -1
  449. package/lib/commonjs/values/animation/timing/runTiming.js.map +0 -1
  450. package/lib/commonjs/values/animation/timing/useTiming.js.map +0 -1
  451. package/lib/module/values/animation/decay/runDecay.js.map +0 -1
  452. package/lib/module/values/animation/functions/interpolate.js +0 -132
  453. package/lib/module/values/animation/functions/interpolate.js.map +0 -1
  454. package/lib/module/values/animation/functions/interpolateColors.js +0 -32
  455. package/lib/module/values/animation/functions/interpolateColors.js.map +0 -1
  456. package/lib/module/values/animation/spring/runSpring.js.map +0 -1
  457. package/lib/module/values/animation/spring/useSpring.js.map +0 -1
  458. package/lib/module/values/animation/timing/createTiming.js.map +0 -1
  459. package/lib/module/values/animation/timing/functions/getResolvedParams.js.map +0 -1
  460. package/lib/module/values/animation/timing/runTiming.js.map +0 -1
  461. package/lib/module/values/animation/timing/useTiming.js.map +0 -1
  462. package/lib/typescript/scripts/install-npm.d.ts +0 -1
  463. package/lib/typescript/src/values/animation/functions/interpolate.d.ts +0 -7
  464. package/lib/typescript/src/values/animation/functions/interpolateColors.d.ts +0 -3
  465. package/src/values/animation/functions/interpolate.ts +0 -169
  466. package/src/values/animation/functions/interpolateColors.ts +0 -62
@@ -1,46 +1,14 @@
1
1
  import type { SkRect, SkRRect } from "../../skia";
2
2
  import type { Radius } from "./Radius";
3
- export declare const point: (x: number, y: number) => {
4
- x: number;
5
- y: number;
6
- };
7
- export declare const rect: (x: number, y: number, width: number, height: number) => {
8
- x: number;
9
- y: number;
10
- width: number;
11
- height: number;
12
- };
13
- export declare const rrect: (r: SkRect, rx: number, ry: number) => {
14
- rect: SkRect;
15
- rx: number;
16
- ry: number;
17
- };
18
- export declare const bounds: (rects: SkRect[]) => {
19
- x: number;
20
- y: number;
21
- width: number;
22
- height: number;
23
- };
24
- export declare const topLeft: (r: SkRect | SkRRect) => {
25
- x: number;
26
- y: number;
27
- };
28
- export declare const topRight: (r: SkRect | SkRRect) => {
29
- x: number;
30
- y: number;
31
- };
32
- export declare const bottomLeft: (r: SkRect | SkRRect) => {
33
- x: number;
34
- y: number;
35
- };
36
- export declare const bottomRight: (r: SkRect | SkRRect) => {
37
- x: number;
38
- y: number;
39
- };
40
- export declare const center: (r: SkRect | SkRRect) => {
41
- x: number;
42
- y: number;
43
- };
3
+ export declare const point: (x: number, y: number) => import("../../skia").SkPoint;
4
+ export declare const rect: (x: number, y: number, width: number, height: number) => SkRect;
5
+ export declare const rrect: (r: SkRect, rx: number, ry: number) => SkRRect;
6
+ export declare const bounds: (rects: SkRect[]) => SkRect;
7
+ export declare const topLeft: (r: SkRect | SkRRect) => import("../../skia").SkPoint;
8
+ export declare const topRight: (r: SkRect | SkRRect) => import("../../skia").SkPoint;
9
+ export declare const bottomLeft: (r: SkRect | SkRRect) => import("../../skia").SkPoint;
10
+ export declare const bottomRight: (r: SkRect | SkRRect) => import("../../skia").SkPoint;
11
+ export declare const center: (r: SkRect | SkRRect) => import("../../skia").SkPoint;
44
12
  export declare const isRRect: (def: SkRect | SkRRect) => def is SkRRect;
45
13
  export interface RectCtor {
46
14
  x: number;
@@ -1,6 +1,3 @@
1
- import type { SkMatrix } from "../../../skia/Matrix";
2
- export declare type Vec3 = readonly [number, number, number];
3
- export declare type Matrix3 = readonly [Vec3, Vec3, Vec3];
4
1
  declare type Transform2dName = "translateX" | "translateY" | "scale" | "skewX" | "skewY" | "scaleX" | "scaleY" | "rotateZ" | "rotate";
5
2
  export interface TransformProp {
6
3
  transform?: Transforms2d;
@@ -9,6 +6,5 @@ declare type Transformations = {
9
6
  readonly [Name in Transform2dName]: number;
10
7
  };
11
8
  export declare type Transforms2d = readonly (Pick<Transformations, "translateX"> | Pick<Transformations, "translateY"> | Pick<Transformations, "scale"> | Pick<Transformations, "scaleX"> | Pick<Transformations, "scaleY"> | Pick<Transformations, "skewX"> | Pick<Transformations, "skewY"> | Pick<Transformations, "rotate">)[];
12
- export declare const matrixVecMul3: (m: Matrix3, v: Vec3) => readonly [number, number, number];
13
- export declare const processTransform2d: (transforms: Transforms2d) => SkMatrix;
9
+ export declare const processTransform2d: (transforms: Transforms2d) => import("../../../skia").SkMatrix;
14
10
  export {};
@@ -1,24 +1,12 @@
1
- import { interpolate } from "../../../values/animation/functions/interpolate";
1
+ import { interpolate } from "../../../animation/functions/interpolate";
2
2
  export interface Vector {
3
3
  x: number;
4
4
  y: number;
5
5
  }
6
- export declare const vec: (x?: number, y?: number | undefined) => {
7
- x: number;
8
- y: number;
9
- };
10
- export declare const neg: (a: Vector) => {
11
- x: number;
12
- y: number;
13
- };
14
- export declare const add: (a: Vector, b: Vector) => {
15
- x: number;
16
- y: number;
17
- };
18
- export declare const sub: (a: Vector, b: Vector) => {
19
- x: number;
20
- y: number;
21
- };
6
+ export declare const vec: (x?: number, y?: number | undefined) => import("../../../skia").SkPoint;
7
+ export declare const neg: (a: Vector) => import("../../../skia").SkPoint;
8
+ export declare const add: (a: Vector, b: Vector) => import("../../../skia").SkPoint;
9
+ export declare const sub: (a: Vector, b: Vector) => import("../../../skia").SkPoint;
22
10
  export declare const dist: (a: Vector, b: Vector) => number;
23
11
  export declare const translate: ({ x, y }: Vector) => readonly [{
24
12
  readonly translateX: number;
@@ -1,9 +1,8 @@
1
- export declare type SkColor = number;
2
- export declare type Color = string | number;
3
- export declare const alphaf: (c: number) => number;
4
- export declare const red: (c: number) => number;
5
- export declare const green: (c: number) => number;
6
- export declare const blue: (c: number) => number;
7
- export declare const rgbaColor: (r: number, g: number, b: number, af: number) => number;
8
- export declare const processColor: (cl: Color, currentOpacity: number) => number;
9
- export declare const processColorAsUnitArray: (cl: Color, currentOpacity: number) => readonly [number, number, number, number];
1
+ export declare type SkColor = Float32Array;
2
+ export declare type Color = string | Float32Array | number;
3
+ export declare const RED = 0;
4
+ export declare const GREEN = 1;
5
+ export declare const BLUE = 2;
6
+ export declare const ALPHA = 3;
7
+ export declare const rgbaColor: (r: number, g: number, b: number, a: number) => Float32Array;
8
+ export declare const processColor: (cl: Color, currentOpacity: number) => Float32Array;
@@ -3,6 +3,7 @@ import type { SkColorFilter } from "../ColorFilter/ColorFilter";
3
3
  import type { SkShader } from "../Shader/Shader";
4
4
  import type { SkRect } from "../Rect";
5
5
  import type { BlendMode } from "../Paint/BlendMode";
6
+ import type { SkRuntimeShaderBuilder } from "../RuntimeEffect";
6
7
  import type { SkImageFilter, TileMode } from "./ImageFilter";
7
8
  export declare enum ColorChannel {
8
9
  R = 0,
@@ -111,4 +112,19 @@ export interface ImageFilterFactory {
111
112
  * @cropRect Optional rectangle to crop input and output.
112
113
  */
113
114
  MakeBlend: (mode: BlendMode, background: SkImageFilter, foreground: SkImageFilter | null, cropRect?: SkRect) => SkImageFilter;
115
+ /**
116
+ * Create a filter that fills the output with the per-pixel evaluation of the SkShader produced
117
+ * by the SkRuntimeShaderBuilder. The shader is defined in the image filter's local coordinate
118
+ * system, so it will automatically be affected by SkCanvas' transform.
119
+ *
120
+ * @param builder The builder used to produce the runtime shader, that will in turn
121
+ * fill the result image
122
+ * @param childShaderName The name of the child shader defined in the builder that will be
123
+ * bound to the input param (or the source image if the input param
124
+ * is null). If null the builder can have exactly one child shader,
125
+ * which automatically binds the input param.
126
+ * @param input The image filter that will be provided as input to the runtime
127
+ * shader. If null the implicit source image is used instead
128
+ */
129
+ MakeRuntimeShader: (builder: SkRuntimeShaderBuilder, childShaderName: string | null, input: SkImageFilter | null) => SkImageFilter;
114
130
  }
@@ -1,3 +1,4 @@
1
+ import type { SkJSIInstance } from "./JsiInstance";
1
2
  export declare enum MatrixIndex {
2
3
  ScaleX = 0,
3
4
  SkewX = 1,
@@ -9,7 +10,7 @@ export declare enum MatrixIndex {
9
10
  Persp1 = 7,
10
11
  persp2 = 8
11
12
  }
12
- export interface SkMatrix {
13
+ export interface SkMatrix extends SkJSIInstance<"Matrix"> {
13
14
  0: number;
14
15
  1: number;
15
16
  2: number;
@@ -19,4 +20,9 @@ export interface SkMatrix {
19
20
  6: number;
20
21
  7: number;
21
22
  8: number;
23
+ preConcat: (matrix: SkMatrix) => void;
24
+ preTranslate: (x: number, y: number) => void;
25
+ preScale: (x: number, y: number) => void;
26
+ preSkew: (x: number, y: number) => void;
27
+ preRotate: (theta: number) => void;
22
28
  }
@@ -20,6 +20,7 @@ export declare enum StrokeJoin {
20
20
  Miter = 1,
21
21
  Round = 2
22
22
  }
23
+ export declare const SkiaPaint: () => SkPaint;
23
24
  export declare const isPaint: (obj: SkJSIInstance<string> | null) => obj is SkPaint;
24
25
  export interface SkPaint extends SkJSIInstance<"Paint"> {
25
26
  /**
@@ -8,7 +8,8 @@ export interface SkSLUniform {
8
8
  slot: number;
9
9
  isInteger: boolean;
10
10
  }
11
- export interface IRuntimeEffect extends SkJSIInstance<"RuntimeEffect"> {
11
+ export declare type SkRuntimeShaderBuilder = SkJSIInstance<"RuntimeShaderBuilder">;
12
+ export interface SkRuntimeEffect extends SkJSIInstance<"RuntimeEffect"> {
12
13
  /**
13
14
  * Returns a shader executed using the given uniform data.
14
15
  * @param uniforms
@@ -1,4 +1,4 @@
1
- import type { IRuntimeEffect } from "./RuntimeEffect";
1
+ import type { SkRuntimeEffect } from "./RuntimeEffect";
2
2
  export interface RuntimeEffectFactory {
3
3
  /**
4
4
  * Compiles a RuntimeEffect from the given shader code.
@@ -6,5 +6,5 @@ export interface RuntimeEffectFactory {
6
6
  * @param callback - will be called with any compilation error. If not provided, errors will
7
7
  * be printed to console.log().
8
8
  */
9
- Make: (sksl: string) => IRuntimeEffect | null;
9
+ Make: (sksl: string) => SkRuntimeEffect | null;
10
10
  }
@@ -1 +1 @@
1
- export declare const useShader: (sksl: string) => import("..").IRuntimeEffect | null;
1
+ export declare const useShader: (sksl: string) => import("..").SkRuntimeEffect | null;
@@ -1,108 +1,41 @@
1
- import type { ImageFilterFactory } from "./ImageFilter";
2
- import type { PathFactory } from "./Path";
3
- import type { ColorFilterFactory } from "./ColorFilter";
4
- import type { SkFont } from "./Font";
5
- import type { SkTypeface, TypefaceFactory } from "./Typeface";
6
- import type { ImageFactory } from "./Image";
7
- import type { MaskFilterFactory } from "./MaskFilter";
8
- import type { SkPaint } from "./Paint";
9
- import type { SkRect } from "./Rect";
10
- import type { SkRRect } from "./RRect";
11
- import type { RuntimeEffectFactory } from "./RuntimeEffect";
12
- import type { ShaderFactory } from "./Shader";
13
- import type { SkMatrix } from "./Matrix";
14
- import type { PathEffectFactory } from "./PathEffect";
15
- import type { SkPoint } from "./Point";
16
- import type { SkVertices, VertexMode } from "./Vertices/Vertices";
17
- import type { DataFactory } from "./Data";
18
- import type { SVGFactory } from "./SVG";
19
- import type { TextBlobFactory } from "./TextBlob";
20
- import type { FontMgrFactory } from "./FontMgr/FontMgrFactory";
21
- import type { SurfaceFactory } from "./Surface";
22
1
  import "./NativeSetup";
23
- import type { SkRSXform } from "./RSXform";
24
- import type { SkPath } from "./Path/Path";
25
- import type { SkContourMeasureIter } from "./ContourMeasure";
26
- import type { PictureFactory, SkPictureRecorder } from "./Picture";
27
- import type { Color, SkColor } from "./Color";
28
- /**
29
- * Declares the interface for the native Skia API
30
- */
31
- export interface Skia {
32
- Point: (x: number, y: number) => SkPoint;
33
- XYWHRect: (x: number, y: number, width: number, height: number) => SkRect;
34
- RRectXY: (rect: SkRect, rx: number, ry: number) => SkRRect;
35
- RSXform: (scos: number, ssin: number, tx: number, ty: number) => SkRSXform;
36
- Color: (color: Color) => SkColor;
37
- parseColorString: (color: string) => SkColor | undefined;
38
- ContourMeasureIter: (path: SkPath, forceClosed: boolean, resScale: number) => SkContourMeasureIter;
39
- Paint: () => SkPaint;
40
- PictureRecorder: () => SkPictureRecorder;
41
- Picture: PictureFactory;
42
- Path: PathFactory;
43
- Matrix: () => SkMatrix;
44
- ColorFilter: ColorFilterFactory;
45
- Font: (typeface?: SkTypeface, size?: number) => SkFont;
46
- Typeface: TypefaceFactory;
47
- MaskFilter: MaskFilterFactory;
48
- RuntimeEffect: RuntimeEffectFactory;
49
- ImageFilter: ImageFilterFactory;
50
- Shader: ShaderFactory;
51
- PathEffect: PathEffectFactory;
52
- /**
53
- * Returns an Vertices based on the given positions and optional parameters.
54
- * See SkVertices.h (especially the Builder) for more details.
55
- * @param mode
56
- * @param positions
57
- * @param textureCoordinates
58
- * @param colors - either a list of int colors or a flattened color array.
59
- * @param indices
60
- * @param isVolatile
61
- */
62
- MakeVertices(mode: VertexMode, positions: SkPoint[], textureCoordinates?: SkPoint[] | null, colors?: SkColor[], indices?: number[] | null, isVolatile?: boolean): SkVertices;
63
- Data: DataFactory;
64
- Image: ImageFactory;
65
- SVG: SVGFactory;
66
- FontMgr: FontMgrFactory;
67
- TextBlob: TextBlobFactory;
68
- Surface: SurfaceFactory;
69
- }
2
+ import type { SkiaApi as SkSkiaApi } from "./SkiaApi";
70
3
  /**
71
4
  * Declares the SkiaApi as an available object in the global scope
72
5
  */
73
6
  declare global {
74
- var SkiaApi: Skia;
7
+ var SkiaApi: SkSkiaApi;
75
8
  }
76
9
  /**
77
10
  * Declares the implemented API with overrides.
78
11
  */
79
12
  export declare const Skia: {
80
- Typeface: TypefaceFactory;
81
- MaskFilter: MaskFilterFactory;
82
- RuntimeEffect: RuntimeEffectFactory;
83
- Shader: ShaderFactory;
84
- ImageFilter: ImageFilterFactory;
85
- PathEffect: PathEffectFactory;
86
- Data: DataFactory;
87
- SVG: SVGFactory;
88
- FontMgr: FontMgrFactory;
89
- TextBlob: TextBlobFactory;
90
- Matrix: () => SkMatrix;
91
- Font: (typeface?: SkTypeface | undefined, size?: number | undefined) => SkFont;
92
- Point: (x: number, y: number) => SkPoint;
93
- XYWHRect: (x: number, y: number, width: number, height: number) => SkRect;
94
- RRectXY: (rect: SkRect, rx: number, ry: number) => SkRRect;
95
- Paint: () => SkPaint;
96
- PictureRecorder: () => SkPictureRecorder;
97
- Picture: PictureFactory;
98
- Path: PathFactory;
99
- ColorFilter: ColorFilterFactory;
100
- ContourMeasureIter: (path: SkPath, forceClosed: boolean, resScale: number) => SkContourMeasureIter;
101
- Color: (cl: Color) => number;
102
- parseColorString: (color: string) => SkColor | undefined;
103
- RSXform: (scos: number, ssin: number, tx: number, ty: number) => SkRSXform;
104
- MakeSurface: (width: number, height: number) => import("./Surface").ISurface | null;
13
+ Typeface: import("./Typeface").TypefaceFactory;
14
+ MaskFilter: import("./MaskFilter").MaskFilterFactory;
15
+ RuntimeEffect: import("./RuntimeEffect").RuntimeEffectFactory;
16
+ Shader: import("./Shader").ShaderFactory;
17
+ ImageFilter: import("./ImageFilter").ImageFilterFactory;
18
+ PathEffect: import("./PathEffect").PathEffectFactory;
19
+ Data: import("./Data").DataFactory;
20
+ SVG: import("./SVG").SVGFactory;
21
+ FontMgr: import("./FontMgr").FontMgrFactory;
22
+ TextBlob: import("./TextBlob").TextBlobFactory;
23
+ Matrix: () => import("./Matrix").SkMatrix;
24
+ Font: (typeface?: import("./Typeface").SkTypeface | undefined, size?: number | undefined) => import("./Font").SkFont;
25
+ Point: (x: number, y: number) => import("./Point").SkPoint;
26
+ XYWHRect: (x: number, y: number, width: number, height: number) => import("./Rect").SkRect;
27
+ RRectXY: (rect: import("./Rect").SkRect, rx: number, ry: number) => import("./RRect").SkRRect;
28
+ RuntimeShaderBuilder: (rt: import("./RuntimeEffect").SkRuntimeEffect) => import("./RuntimeEffect").SkRuntimeShaderBuilder;
29
+ Paint: () => import("./Paint").SkPaint;
30
+ PictureRecorder: () => import("./Picture").SkPictureRecorder;
31
+ Picture: import("./Picture").PictureFactory;
32
+ Path: import("./Path").PathFactory;
33
+ ColorFilter: import("./ColorFilter").ColorFilterFactory;
34
+ ContourMeasureIter: (path: import("./Path").SkPath, forceClosed: boolean, resScale: number) => import("./ContourMeasure").SkContourMeasureIter;
35
+ Color: (color: import("./Color").Color) => Float32Array;
36
+ RSXform: (scos: number, ssin: number, tx: number, ty: number) => import("./RSXform").SkRSXform;
37
+ MakeSurface: (width: number, height: number) => import("./Surface").SkSurface | null;
105
38
  MakeImageFromEncoded: (encoded: import("./Data").Data) => import("./Image").SkImage | null;
106
39
  MakeImage: (info: import("./Image").ImageInfo, data: import("./Data").Data, bytesPerRow: number) => import("./Image").SkImage | null;
107
- MakeVertices: (mode: VertexMode, positions: SkPoint[], textureCoordinates?: SkPoint[] | null | undefined, colors?: number[] | undefined, indices?: number[] | null | undefined, isVolatile?: boolean | undefined) => SkVertices;
40
+ MakeVertices: (mode: import("./Vertices").VertexMode, positions: import("./Point").SkPoint[], textureCoordinates?: import("./Point").SkPoint[] | null | undefined, colors?: Float32Array[] | undefined, indices?: number[] | null | undefined, isVolatile?: boolean | undefined) => import("./Vertices").SkVertices;
108
41
  };
@@ -0,0 +1,71 @@
1
+ import type { ImageFilterFactory } from "./ImageFilter";
2
+ import type { PathFactory } from "./Path";
3
+ import type { ColorFilterFactory } from "./ColorFilter";
4
+ import type { SkFont } from "./Font";
5
+ import type { SkTypeface, TypefaceFactory } from "./Typeface";
6
+ import type { ImageFactory } from "./Image";
7
+ import type { MaskFilterFactory } from "./MaskFilter";
8
+ import type { SkPaint } from "./Paint";
9
+ import type { SkRect } from "./Rect";
10
+ import type { SkRRect } from "./RRect";
11
+ import type { RuntimeEffectFactory } from "./RuntimeEffect";
12
+ import type { ShaderFactory } from "./Shader";
13
+ import type { SkMatrix } from "./Matrix";
14
+ import type { PathEffectFactory } from "./PathEffect";
15
+ import type { SkPoint } from "./Point";
16
+ import type { SkVertices, VertexMode } from "./Vertices/Vertices";
17
+ import type { DataFactory } from "./Data";
18
+ import type { SVGFactory } from "./SVG";
19
+ import type { TextBlobFactory } from "./TextBlob";
20
+ import type { FontMgrFactory } from "./FontMgr/FontMgrFactory";
21
+ import type { SurfaceFactory } from "./Surface";
22
+ import "./NativeSetup";
23
+ import type { SkRSXform } from "./RSXform";
24
+ import type { SkPath } from "./Path/Path";
25
+ import type { SkContourMeasureIter } from "./ContourMeasure";
26
+ import type { PictureFactory, SkPictureRecorder } from "./Picture";
27
+ import type { Color, SkColor } from "./Color";
28
+ import type { SkRuntimeShaderBuilder, SkRuntimeEffect } from "./RuntimeEffect/RuntimeEffect";
29
+ /**
30
+ * Declares the interface for the native Skia API
31
+ */
32
+ export interface SkiaApi {
33
+ Point: (x: number, y: number) => SkPoint;
34
+ XYWHRect: (x: number, y: number, width: number, height: number) => SkRect;
35
+ RuntimeShaderBuilder: (rt: SkRuntimeEffect) => SkRuntimeShaderBuilder;
36
+ RRectXY: (rect: SkRect, rx: number, ry: number) => SkRRect;
37
+ RSXform: (scos: number, ssin: number, tx: number, ty: number) => SkRSXform;
38
+ Color: (color: Color) => SkColor;
39
+ parseColorString: (color: string) => SkColor | undefined;
40
+ ContourMeasureIter: (path: SkPath, forceClosed: boolean, resScale: number) => SkContourMeasureIter;
41
+ Paint: () => SkPaint;
42
+ PictureRecorder: () => SkPictureRecorder;
43
+ Picture: PictureFactory;
44
+ Path: PathFactory;
45
+ Matrix: () => SkMatrix;
46
+ ColorFilter: ColorFilterFactory;
47
+ Font: (typeface?: SkTypeface, size?: number) => SkFont;
48
+ Typeface: TypefaceFactory;
49
+ MaskFilter: MaskFilterFactory;
50
+ RuntimeEffect: RuntimeEffectFactory;
51
+ ImageFilter: ImageFilterFactory;
52
+ Shader: ShaderFactory;
53
+ PathEffect: PathEffectFactory;
54
+ /**
55
+ * Returns an Vertices based on the given positions and optional parameters.
56
+ * See SkVertices.h (especially the Builder) for more details.
57
+ * @param mode
58
+ * @param positions
59
+ * @param textureCoordinates
60
+ * @param colors - either a list of int colors or a flattened color array.
61
+ * @param indices
62
+ * @param isVolatile
63
+ */
64
+ MakeVertices(mode: VertexMode, positions: SkPoint[], textureCoordinates?: SkPoint[] | null, colors?: SkColor[], indices?: number[] | null, isVolatile?: boolean): SkVertices;
65
+ Data: DataFactory;
66
+ Image: ImageFactory;
67
+ SVG: SVGFactory;
68
+ FontMgr: FontMgrFactory;
69
+ TextBlob: TextBlobFactory;
70
+ Surface: SurfaceFactory;
71
+ }
@@ -2,7 +2,7 @@ import type { SkImage } from "../Image";
2
2
  import type { SkCanvas } from "../Canvas";
3
3
  import type { SkJSIInstance } from "../JsiInstance";
4
4
  import type { SkRect } from "../Rect";
5
- export interface ISurface extends SkJSIInstance<"Surface"> {
5
+ export interface SkSurface extends SkJSIInstance<"Surface"> {
6
6
  /** Returns Canvas that draws into the surface. Subsequent calls return the
7
7
  same Canvas. Canvas returned is managed and owned by Surface, and is
8
8
  deleted when Surface is deleted.
@@ -1,4 +1,4 @@
1
- import type { ISurface } from "./Surface";
1
+ import type { SkSurface } from "./Surface";
2
2
  export interface SurfaceFactory {
3
3
  /**
4
4
  * Returns a CPU backed surface with the given dimensions, an SRGB colorspace, Unpremul
@@ -7,5 +7,5 @@ export interface SurfaceFactory {
7
7
  * @param width - number of pixels of the width of the drawable area.
8
8
  * @param height - number of pixels of the height of the drawable area.
9
9
  */
10
- Make: (width: number, height: number) => ISurface | null;
10
+ Make: (width: number, height: number) => SkSurface | null;
11
11
  }
@@ -1,29 +1,6 @@
1
- import type { SkiaAnimation, AnimationState, SkiaReadonlyValue, SkiaClockValue, SkiaValue } from "./types";
2
- export interface ISkiaValueApi {
3
- /**
4
- * Creates a new value that holds the initial value and that
5
- * can be changed.
6
- */
7
- createValue: <T>(initialValue: T) => SkiaValue<T>;
8
- /**
9
- * Creates a derived value. This is a calculated value that returns the result of
10
- * a function that is called with the values of the dependencies.
11
- */
12
- createDerivedValue: <R>(cb: () => R, values: Array<SkiaReadonlyValue<unknown>>) => SkiaReadonlyValue<R>;
13
- /**
14
- * Creates a clock value where the value is the number of milliseconds elapsed
15
- * since the clock was created
16
- */
17
- createClockValue: () => SkiaClockValue;
18
- /**
19
- * Creates an animation that is driven from a clock and updated every frame.
20
- * @param cb Callback to calculate next value from time.
21
- * @returns An animation object that can control a value.
22
- */
23
- createAnimation: <S extends AnimationState = AnimationState>(cb: (t: number, state: S | undefined) => S) => SkiaAnimation;
24
- }
1
+ import type { ISkiaValueApi } from "./types";
25
2
  declare global {
26
3
  var SkiaValueApi: ISkiaValueApi;
27
4
  }
28
5
  export declare const ValueApi: ISkiaValueApi;
29
- export declare const createValue: <T>(initialValue: T) => SkiaValue<T>, createDerivedValue: <R>(cb: () => R, values: Array<SkiaReadonlyValue<unknown>>) => SkiaReadonlyValue<R>;
6
+ export declare const createValue: <T>(initialValue: T) => import("./types").SkiaValue<T>, createDerivedValue: <R>(cb: () => R, values: import("./types").SkiaReadonlyValue<unknown>[]) => import("./types").SkiaReadonlyValue<R>;
@@ -0,0 +1,2 @@
1
+ export declare const ValueApi: import("./types").ISkiaValueApi;
2
+ export declare const createValue: <T>(initialValue: T) => import("./types").SkiaValue<T>, createDerivedValue: <R>(cb: () => R, values: import("./types").SkiaReadonlyValue<unknown>[]) => import("./types").SkiaReadonlyValue<R>;
@@ -1,4 +1,3 @@
1
1
  export * from "./types";
2
2
  export * from "./hooks";
3
- export * from "./animation";
4
3
  export * from "./api";
@@ -27,10 +27,33 @@ export interface SkiaClockValue extends SkiaReadonlyValue<number> {
27
27
  start: () => void;
28
28
  stop: () => void;
29
29
  }
30
- export interface SkiaAnimation {
30
+ export interface SkiaAnimation extends SkiaClockValue {
31
31
  cancel: () => void;
32
32
  }
33
33
  export interface AnimationState {
34
34
  current: number;
35
35
  finished: boolean;
36
36
  }
37
+ export interface ISkiaValueApi {
38
+ /**
39
+ * Creates a new value that holds the initial value and that
40
+ * can be changed.
41
+ */
42
+ createValue: <T>(initialValue: T) => SkiaValue<T>;
43
+ /**
44
+ * Creates a derived value. This is a calculated value that returns the result of
45
+ * a function that is called with the values of the dependencies.
46
+ */
47
+ createDerivedValue: <R>(cb: () => R, values: Array<SkiaReadonlyValue<unknown>>) => SkiaReadonlyValue<R>;
48
+ /**
49
+ * Creates a clock value where the value is the number of milliseconds elapsed
50
+ * since the clock was created
51
+ */
52
+ createClockValue: () => SkiaClockValue;
53
+ /**
54
+ * Creates an animation that is driven from a clock and updated every frame.
55
+ * @param cb Callback to calculate next value from time.
56
+ * @returns An animation object that can control a value.
57
+ */
58
+ createAnimation: <S extends AnimationState = AnimationState>(cb: (t: number, state: S | undefined) => S) => SkiaAnimation;
59
+ }
@@ -0,0 +1,9 @@
1
+ import type { AnimationState, SkiaAnimation } from "../types";
2
+ import { RNSkClockValue } from "./RNSkClockValue";
3
+ export declare class RNSkAnimation<S extends AnimationState = AnimationState> extends RNSkClockValue implements SkiaAnimation {
4
+ constructor(callback: (t: number, state: S | undefined) => S, raf: (callback: (time: number) => void) => number);
5
+ private _callback;
6
+ private _animationState;
7
+ cancel(): void;
8
+ protected update(nextValue: number): void;
9
+ }
@@ -0,0 +1,13 @@
1
+ import type { SkiaClockValue } from "../types";
2
+ import { RNSkReadonlyValue } from "./RNSkReadonlyValue";
3
+ export declare class RNSkClockValue extends RNSkReadonlyValue<number> implements SkiaClockValue {
4
+ constructor(raf: (callback: (time: number) => void) => number);
5
+ private _raf;
6
+ private _start;
7
+ private _stop;
8
+ private _state;
9
+ private notifyUpdate;
10
+ protected tick(value: number): void;
11
+ start(): void;
12
+ stop(): void;
13
+ }
@@ -0,0 +1,9 @@
1
+ import type { DependencyList } from "react";
2
+ import { RNSkReadonlyValue } from "./RNSkReadonlyValue";
3
+ export declare class RNSkDerivedValue<T> extends RNSkReadonlyValue<T> {
4
+ constructor(callback: () => T, dependencies: DependencyList);
5
+ private dependecyUpdated;
6
+ private _callback;
7
+ private _unsubscribers;
8
+ unsubscribe(): void;
9
+ }
@@ -0,0 +1,11 @@
1
+ import type { SkiaReadonlyValue } from "../types";
2
+ export declare class RNSkReadonlyValue<T> implements SkiaReadonlyValue<T> {
3
+ constructor(value: T);
4
+ private _current;
5
+ private _listeners;
6
+ private notifyListeners;
7
+ protected update(nextValue: T): void;
8
+ readonly __typename__ = "RNSkValue";
9
+ get current(): T;
10
+ addListener(cb: (value: T) => void): () => void;
11
+ }
@@ -0,0 +1,14 @@
1
+ import type { SkiaAnimation, SkiaValue } from "../types";
2
+ import { RNSkReadonlyValue } from "./RNSkReadonlyValue";
3
+ export declare class RNSkValue<T> extends RNSkReadonlyValue<T> implements SkiaValue<T> {
4
+ constructor(value: T);
5
+ set current(value: T);
6
+ get current(): T;
7
+ private _unsubscribe;
8
+ private unsubscribe;
9
+ private subscribe;
10
+ private animationDidUpdate;
11
+ private _animation;
12
+ get animation(): SkiaAnimation | undefined;
13
+ set animation(v: SkiaAnimation | undefined);
14
+ }
@@ -0,0 +1,2 @@
1
+ import type { ISkiaValueApi } from "../types";
2
+ export declare const ValueApi: ISkiaValueApi;
@@ -0,0 +1 @@
1
+ export * from "./api";