@shopify/react-native-skia 1.7.6 → 1.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. package/android/cpp/rnskia-android/OpenGLWindowContext.h +8 -1
  2. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +4 -4
  3. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +2 -2
  4. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +13 -0
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaTextureView.java +24 -1
  6. package/cpp/rnskia/RNSkJsiViewApi.h +0 -3
  7. package/cpp/rnskia/RNSkView.h +6 -6
  8. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +2 -2
  9. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +2 -2
  10. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  11. package/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +2 -3
  12. package/lib/commonjs/dom/nodes/datatypes/Circle.js +11 -6
  13. package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
  14. package/lib/commonjs/dom/nodes/datatypes/Enum.js +1 -0
  15. package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
  16. package/lib/commonjs/dom/nodes/datatypes/Fitting.js +1 -10
  17. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  18. package/lib/commonjs/dom/nodes/datatypes/Gradient.js +3 -2
  19. package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
  20. package/lib/commonjs/dom/nodes/datatypes/Path.js +4 -1
  21. package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
  22. package/lib/commonjs/dom/nodes/datatypes/Radius.js +1 -0
  23. package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
  24. package/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +3 -1
  25. package/lib/commonjs/dom/nodes/datatypes/Rect.js +17 -7
  26. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
  27. package/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +2 -1
  28. package/lib/commonjs/dom/nodes/datatypes/Transform.js +32 -1
  29. package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
  30. package/lib/commonjs/dom/nodes/drawings/Box.js +4 -5
  31. package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
  32. package/lib/commonjs/dom/nodes/drawings/CircleNode.js +1 -1
  33. package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +1 -1
  34. package/lib/commonjs/dom/types/DeclarationContext.d.ts +4 -4
  35. package/lib/commonjs/dom/types/DeclarationContext.js +8 -2
  36. package/lib/commonjs/dom/types/DeclarationContext.js.map +1 -1
  37. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  38. package/lib/commonjs/external/reanimated/renderHelpers.js +11 -6
  39. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  40. package/lib/commonjs/renderer/HostConfig.js +8 -4
  41. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  42. package/lib/commonjs/renderer/__tests__/setup.d.ts +2 -3
  43. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -2
  44. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  45. package/lib/commonjs/renderer/typeddash.js +5 -1
  46. package/lib/commonjs/renderer/typeddash.js.map +1 -1
  47. package/lib/commonjs/skia/__tests__/setup.d.ts +0 -3
  48. package/lib/commonjs/skia/types/Path/Path.js +5 -1
  49. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  50. package/lib/commonjs/skia/types/Shader/Shader.js +8 -6
  51. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  52. package/lib/commonjs/sksg/Container.d.ts +19 -0
  53. package/lib/commonjs/sksg/Container.js +102 -0
  54. package/lib/commonjs/sksg/Container.js.map +1 -0
  55. package/lib/commonjs/sksg/DrawingContext.d.ts +16 -0
  56. package/lib/commonjs/sksg/DrawingContext.js +186 -0
  57. package/lib/commonjs/sksg/DrawingContext.js.map +1 -0
  58. package/lib/commonjs/sksg/HostConfig.d.ts +19 -0
  59. package/lib/commonjs/sksg/HostConfig.js +168 -0
  60. package/lib/commonjs/sksg/HostConfig.js.map +1 -0
  61. package/lib/commonjs/sksg/Reconciler.d.ts +17 -0
  62. package/lib/commonjs/sksg/Reconciler.js +54 -0
  63. package/lib/commonjs/sksg/Reconciler.js.map +1 -0
  64. package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +57 -0
  65. package/lib/commonjs/sksg/nodes/Node.d.ts +7 -0
  66. package/lib/commonjs/sksg/nodes/Node.js +6 -0
  67. package/lib/commonjs/sksg/nodes/Node.js.map +1 -0
  68. package/lib/commonjs/sksg/nodes/colorFilters.d.ts +7 -0
  69. package/lib/commonjs/sksg/nodes/colorFilters.js +55 -0
  70. package/lib/commonjs/sksg/nodes/colorFilters.js.map +1 -0
  71. package/lib/commonjs/sksg/nodes/context.d.ts +3 -0
  72. package/lib/commonjs/sksg/nodes/context.js +448 -0
  73. package/lib/commonjs/sksg/nodes/context.js.map +1 -0
  74. package/lib/commonjs/sksg/nodes/drawings.d.ts +31 -0
  75. package/lib/commonjs/sksg/nodes/drawings.js +361 -0
  76. package/lib/commonjs/sksg/nodes/drawings.js.map +1 -0
  77. package/lib/commonjs/sksg/nodes/imageFilters.d.ts +14 -0
  78. package/lib/commonjs/sksg/nodes/imageFilters.js +135 -0
  79. package/lib/commonjs/sksg/nodes/imageFilters.js.map +1 -0
  80. package/lib/commonjs/sksg/nodes/index.d.ts +3 -0
  81. package/lib/commonjs/sksg/nodes/index.js +39 -0
  82. package/lib/commonjs/sksg/nodes/index.js.map +1 -0
  83. package/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
  84. package/lib/commonjs/sksg/nodes/paint.js +80 -0
  85. package/lib/commonjs/sksg/nodes/paint.js.map +1 -0
  86. package/lib/commonjs/sksg/nodes/pathEffects.d.ts +8 -0
  87. package/lib/commonjs/sksg/nodes/pathEffects.js +84 -0
  88. package/lib/commonjs/sksg/nodes/pathEffects.js.map +1 -0
  89. package/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
  90. package/lib/commonjs/sksg/nodes/shaders.js +156 -0
  91. package/lib/commonjs/sksg/nodes/shaders.js.map +1 -0
  92. package/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  93. package/lib/commonjs/sksg/nodes/utils.js +25 -0
  94. package/lib/commonjs/sksg/nodes/utils.js.map +1 -0
  95. package/lib/commonjs/views/SkiaPictureView.js +0 -2
  96. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  97. package/lib/commonjs/views/types.d.ts +2 -2
  98. package/lib/commonjs/views/types.js.map +1 -1
  99. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  100. package/lib/module/dom/nodes/datatypes/Circle.d.ts +2 -3
  101. package/lib/module/dom/nodes/datatypes/Circle.js +12 -6
  102. package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
  103. package/lib/module/dom/nodes/datatypes/Enum.js +2 -0
  104. package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
  105. package/lib/module/dom/nodes/datatypes/Fitting.js +2 -10
  106. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  107. package/lib/module/dom/nodes/datatypes/Gradient.js +4 -2
  108. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  109. package/lib/module/dom/nodes/datatypes/Path.js +5 -1
  110. package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
  111. package/lib/module/dom/nodes/datatypes/Radius.js +2 -0
  112. package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
  113. package/lib/module/dom/nodes/datatypes/Rect.d.ts +3 -1
  114. package/lib/module/dom/nodes/datatypes/Rect.js +14 -5
  115. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  116. package/lib/module/dom/nodes/datatypes/Transform.d.ts +2 -1
  117. package/lib/module/dom/nodes/datatypes/Transform.js +31 -0
  118. package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
  119. package/lib/module/dom/nodes/drawings/Box.js +1 -2
  120. package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
  121. package/lib/module/dom/nodes/drawings/CircleNode.js +1 -1
  122. package/lib/module/dom/nodes/drawings/CircleNode.js.map +1 -1
  123. package/lib/module/dom/types/DeclarationContext.d.ts +4 -4
  124. package/lib/module/dom/types/DeclarationContext.js +9 -2
  125. package/lib/module/dom/types/DeclarationContext.js.map +1 -1
  126. package/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  127. package/lib/module/external/reanimated/renderHelpers.js +8 -4
  128. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  129. package/lib/module/renderer/HostConfig.js +8 -4
  130. package/lib/module/renderer/HostConfig.js.map +1 -1
  131. package/lib/module/renderer/__tests__/setup.d.ts +2 -3
  132. package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -2
  133. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  134. package/lib/module/renderer/typeddash.js +5 -1
  135. package/lib/module/renderer/typeddash.js.map +1 -1
  136. package/lib/module/skia/__tests__/setup.d.ts +0 -3
  137. package/lib/module/skia/types/Path/Path.js +5 -1
  138. package/lib/module/skia/types/Path/Path.js.map +1 -1
  139. package/lib/module/skia/types/Shader/Shader.js +9 -6
  140. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  141. package/lib/module/sksg/Container.d.ts +19 -0
  142. package/lib/module/sksg/Container.js +94 -0
  143. package/lib/module/sksg/Container.js.map +1 -0
  144. package/lib/module/sksg/DrawingContext.d.ts +16 -0
  145. package/lib/module/sksg/DrawingContext.js +180 -0
  146. package/lib/module/sksg/DrawingContext.js.map +1 -0
  147. package/lib/module/sksg/HostConfig.d.ts +19 -0
  148. package/lib/module/sksg/HostConfig.js +161 -0
  149. package/lib/module/sksg/HostConfig.js.map +1 -0
  150. package/lib/module/sksg/Reconciler.d.ts +17 -0
  151. package/lib/module/sksg/Reconciler.js +46 -0
  152. package/lib/module/sksg/Reconciler.js.map +1 -0
  153. package/lib/module/sksg/__tests__/MockDeclaration.d.ts +57 -0
  154. package/lib/module/sksg/nodes/Node.d.ts +7 -0
  155. package/lib/module/sksg/nodes/Node.js +2 -0
  156. package/lib/module/sksg/nodes/Node.js.map +1 -0
  157. package/lib/module/sksg/nodes/colorFilters.d.ts +7 -0
  158. package/lib/module/sksg/nodes/colorFilters.js +44 -0
  159. package/lib/module/sksg/nodes/colorFilters.js.map +1 -0
  160. package/lib/module/sksg/nodes/context.d.ts +3 -0
  161. package/lib/module/sksg/nodes/context.js +443 -0
  162. package/lib/module/sksg/nodes/context.js.map +1 -0
  163. package/lib/module/sksg/nodes/drawings.d.ts +31 -0
  164. package/lib/module/sksg/nodes/drawings.js +334 -0
  165. package/lib/module/sksg/nodes/drawings.js.map +1 -0
  166. package/lib/module/sksg/nodes/imageFilters.d.ts +14 -0
  167. package/lib/module/sksg/nodes/imageFilters.js +122 -0
  168. package/lib/module/sksg/nodes/imageFilters.js.map +1 -0
  169. package/lib/module/sksg/nodes/index.d.ts +3 -0
  170. package/lib/module/sksg/nodes/index.js +4 -0
  171. package/lib/module/sksg/nodes/index.js.map +1 -0
  172. package/lib/module/sksg/nodes/paint.d.ts +2 -0
  173. package/lib/module/sksg/nodes/paint.js +74 -0
  174. package/lib/module/sksg/nodes/paint.js.map +1 -0
  175. package/lib/module/sksg/nodes/pathEffects.d.ts +8 -0
  176. package/lib/module/sksg/nodes/pathEffects.js +72 -0
  177. package/lib/module/sksg/nodes/pathEffects.js.map +1 -0
  178. package/lib/module/sksg/nodes/shaders.d.ts +10 -0
  179. package/lib/module/sksg/nodes/shaders.js +142 -0
  180. package/lib/module/sksg/nodes/shaders.js.map +1 -0
  181. package/lib/module/sksg/nodes/utils.d.ts +3 -0
  182. package/lib/module/sksg/nodes/utils.js +18 -0
  183. package/lib/module/sksg/nodes/utils.js.map +1 -0
  184. package/lib/module/views/SkiaPictureView.js +0 -2
  185. package/lib/module/views/SkiaPictureView.js.map +1 -1
  186. package/lib/module/views/types.d.ts +2 -2
  187. package/lib/module/views/types.js.map +1 -1
  188. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +1 -1
  189. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +2 -0
  190. package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +1 -0
  191. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  192. package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +3 -1
  193. package/lib/typescript/lib/commonjs/sksg/Container.d.ts +16 -0
  194. package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +26 -0
  195. package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +50 -0
  196. package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +16 -0
  197. package/lib/typescript/lib/commonjs/sksg/nodes/Node.d.ts +1 -0
  198. package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +7 -0
  199. package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +2 -0
  200. package/lib/typescript/lib/commonjs/sksg/nodes/drawings.d.ts +23 -0
  201. package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +10 -0
  202. package/lib/typescript/lib/commonjs/sksg/nodes/index.d.ts +1 -0
  203. package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
  204. package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +8 -0
  205. package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
  206. package/lib/typescript/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
  207. package/lib/typescript/lib/module/dom/nodes/datatypes/Circle.d.ts +1 -1
  208. package/lib/typescript/lib/module/dom/nodes/datatypes/Rect.d.ts +2 -0
  209. package/lib/typescript/lib/module/dom/nodes/datatypes/Transform.d.ts +1 -0
  210. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
  211. package/lib/typescript/lib/module/mock/index.d.ts +4 -1
  212. package/lib/typescript/lib/module/renderer/HostConfig.d.ts +3 -1
  213. package/lib/typescript/lib/module/sksg/Container.d.ts +15 -0
  214. package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +26 -0
  215. package/lib/typescript/lib/module/sksg/HostConfig.d.ts +49 -0
  216. package/lib/typescript/lib/module/sksg/Reconciler.d.ts +15 -0
  217. package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +6 -0
  218. package/lib/typescript/lib/module/sksg/nodes/context.d.ts +1 -0
  219. package/lib/typescript/lib/module/sksg/nodes/drawings.d.ts +22 -0
  220. package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +9 -0
  221. package/lib/typescript/lib/module/sksg/nodes/index.d.ts +3 -0
  222. package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +1 -0
  223. package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +7 -0
  224. package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +9 -0
  225. package/lib/typescript/lib/module/sksg/nodes/utils.d.ts +2 -0
  226. package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +2 -3
  227. package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +3 -1
  228. package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +2 -1
  229. package/lib/typescript/src/dom/types/DeclarationContext.d.ts +4 -4
  230. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +2 -0
  231. package/lib/typescript/src/renderer/__tests__/setup.d.ts +2 -3
  232. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -2
  233. package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -3
  234. package/lib/typescript/src/sksg/Container.d.ts +19 -0
  235. package/lib/typescript/src/sksg/DrawingContext.d.ts +16 -0
  236. package/lib/typescript/src/sksg/HostConfig.d.ts +19 -0
  237. package/lib/typescript/src/sksg/Reconciler.d.ts +17 -0
  238. package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +57 -0
  239. package/lib/typescript/src/sksg/nodes/Node.d.ts +7 -0
  240. package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +7 -0
  241. package/lib/typescript/src/sksg/nodes/context.d.ts +3 -0
  242. package/lib/typescript/src/sksg/nodes/drawings.d.ts +31 -0
  243. package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +14 -0
  244. package/lib/typescript/src/sksg/nodes/index.d.ts +3 -0
  245. package/lib/typescript/src/sksg/nodes/paint.d.ts +2 -0
  246. package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +8 -0
  247. package/lib/typescript/src/sksg/nodes/shaders.d.ts +10 -0
  248. package/lib/typescript/src/sksg/nodes/utils.d.ts +3 -0
  249. package/lib/typescript/src/views/types.d.ts +2 -2
  250. package/libs/{ios → apple}/libskia.xcframework/Info.plist +15 -0
  251. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  252. package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  253. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  254. package/libs/{ios → apple}/libskottie.xcframework/Info.plist +20 -5
  255. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  256. package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  257. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  258. package/libs/{ios → apple}/libskparagraph.xcframework/Info.plist +20 -5
  259. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  260. package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  261. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  262. package/libs/{ios → apple}/libsksg.xcframework/Info.plist +15 -0
  263. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  264. package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  265. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  266. package/libs/{ios → apple}/libskshaper.xcframework/Info.plist +20 -5
  267. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  268. package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  269. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  270. package/libs/{ios → apple}/libskunicode_core.xcframework/Info.plist +18 -3
  271. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  272. package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  273. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  274. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/Info.plist +15 -0
  275. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  276. package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  277. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  278. package/libs/{ios → apple}/libsvg.xcframework/Info.plist +15 -0
  279. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  280. package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  281. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  282. package/package.json +3 -3
  283. package/react-native-skia.podspec +9 -9
  284. package/src/__tests__/setup.ts +1 -1
  285. package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
  286. package/src/__tests__/snapshots/sksg/breathe.png +0 -0
  287. package/src/__tests__/snapshots/sksg/simple.png +0 -0
  288. package/src/__tests__/snapshots/sksg/simple2.png +0 -0
  289. package/src/dom/nodes/JsiSkDOM.ts +2 -1
  290. package/src/dom/nodes/datatypes/Circle.ts +7 -5
  291. package/src/dom/nodes/datatypes/Enum.ts +2 -0
  292. package/src/dom/nodes/datatypes/Fitting.ts +2 -5
  293. package/src/dom/nodes/datatypes/Gradient.ts +4 -7
  294. package/src/dom/nodes/datatypes/Path.ts +5 -2
  295. package/src/dom/nodes/datatypes/Radius.ts +2 -0
  296. package/src/dom/nodes/datatypes/Rect.ts +40 -6
  297. package/src/dom/nodes/datatypes/Transform.ts +29 -1
  298. package/src/dom/nodes/drawings/Box.ts +1 -29
  299. package/src/dom/nodes/drawings/CircleNode.ts +1 -1
  300. package/src/dom/types/DeclarationContext.ts +12 -2
  301. package/src/external/reanimated/renderHelpers.ts +8 -4
  302. package/src/renderer/HostConfig.ts +10 -4
  303. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +2 -2
  304. package/src/renderer/__tests__/setup.tsx +17 -15
  305. package/src/renderer/processors/Animations/Animations.ts +1 -5
  306. package/src/renderer/typeddash.ts +4 -2
  307. package/src/skia/__tests__/setup.ts +1 -51
  308. package/src/skia/types/Path/Path.ts +4 -2
  309. package/src/skia/types/Shader/Shader.ts +7 -4
  310. package/src/sksg/Container.ts +102 -0
  311. package/src/sksg/DrawingContext.ts +221 -0
  312. package/src/sksg/HostConfig.ts +287 -0
  313. package/src/sksg/Reconciler.ts +59 -0
  314. package/src/sksg/__tests__/Declarations.spec.tsx +235 -0
  315. package/src/sksg/__tests__/MockDeclaration.ts +140 -0
  316. package/src/sksg/__tests__/Simple.spec.tsx +148 -0
  317. package/src/sksg/nodes/Node.ts +8 -0
  318. package/src/sksg/nodes/colorFilters.ts +60 -0
  319. package/src/sksg/nodes/context.ts +489 -0
  320. package/src/sksg/nodes/drawings.ts +393 -0
  321. package/src/sksg/nodes/imageFilters.ts +183 -0
  322. package/src/sksg/nodes/index.ts +3 -0
  323. package/src/sksg/nodes/paint.ts +75 -0
  324. package/src/sksg/nodes/pathEffects.ts +95 -0
  325. package/src/sksg/nodes/shaders.ts +203 -0
  326. package/src/sksg/nodes/utils.ts +23 -0
  327. package/src/views/SkiaPictureView.tsx +0 -2
  328. package/src/views/types.ts +2 -2
  329. package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +0 -1
  330. package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  331. package/lib/module/dom/__tests__/Compose.spec.d.ts +0 -1
  332. package/lib/module/dom/__tests__/Demos.spec.d.ts +0 -1
  333. package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  334. package/lib/module/dom/__tests__/Drawings.spec.d.ts +0 -1
  335. package/lib/module/dom/__tests__/Group.spec.d.ts +0 -1
  336. package/lib/module/dom/__tests__/Paint.spec.d.ts +0 -1
  337. package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  338. package/lib/module/dom/__tests__/Shaders.spec.d.ts +0 -1
  339. package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  340. package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +0 -1
  341. package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +0 -1
  342. package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +0 -1
  343. package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +0 -1
  344. package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +0 -1
  345. package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +0 -1
  346. package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +0 -1
  347. package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +0 -1
  348. package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
  349. package/src/dom/__tests__/Compose.spec.tsx +0 -42
  350. package/src/dom/__tests__/Demos.spec.tsx +0 -145
  351. package/src/dom/__tests__/DrawingContext.spec.tsx +0 -99
  352. package/src/dom/__tests__/Drawings.spec.tsx +0 -95
  353. package/src/dom/__tests__/Group.spec.tsx +0 -132
  354. package/src/dom/__tests__/Paint.spec.tsx +0 -100
  355. package/src/dom/__tests__/RenderNodes.spec.tsx +0 -44
  356. package/src/dom/__tests__/Shaders.spec.tsx +0 -123
  357. package/src/renderer/__tests__/SkiaDOM.spec.tsx +0 -46
  358. /package/lib/commonjs/{dom/__tests__/Compose.spec.d.ts → sksg/__tests__/Declarations.spec.d.ts} +0 -0
  359. /package/lib/commonjs/{dom/__tests__/Demos.spec.d.ts → sksg/__tests__/Simple.spec.d.ts} +0 -0
  360. /package/lib/{commonjs/dom/__tests__/DrawingContext.spec.d.ts → module/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  361. /package/lib/{commonjs/dom/__tests__/Drawings.spec.d.ts → module/sksg/__tests__/Simple.spec.d.ts} +0 -0
  362. /package/lib/{commonjs/dom/__tests__/Group.spec.d.ts → typescript/lib/module/sksg/nodes/Node.d.ts} +0 -0
  363. /package/lib/{commonjs/dom/__tests__/Paint.spec.d.ts → typescript/src/sksg/__tests__/Declarations.spec.d.ts} +0 -0
  364. /package/lib/{commonjs/dom/__tests__/RenderNodes.spec.d.ts → typescript/src/sksg/__tests__/Simple.spec.d.ts} +0 -0
@@ -0,0 +1,361 @@
1
+ "use strict";
2
+ "worklet";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.drawVertices = exports.drawTextPath = exports.drawTextBlob = exports.drawText = exports.drawRect = exports.drawRRect = exports.drawPoints = exports.drawPicture = exports.drawPath = exports.drawPatch = exports.drawParagraph = exports.drawOval = exports.drawLine = exports.drawImageSVG = exports.drawImage = exports.drawGlyphs = exports.drawFill = exports.drawDiffRect = exports.drawCircle = exports.drawBoxShadow = exports.drawBox = exports.drawAtlas = void 0;
8
+ var _nodes = require("../../dom/nodes");
9
+ var _processors = require("../../renderer/processors");
10
+ var _types = require("../../skia/types");
11
+ var _utils = require("./utils");
12
+ const drawLine = (ctx, props) => {
13
+ const {
14
+ p1,
15
+ p2
16
+ } = props;
17
+ ctx.canvas.drawLine(p1.x, p1.y, p2.x, p2.y, ctx.paint);
18
+ };
19
+ exports.drawLine = drawLine;
20
+ const drawOval = (ctx, props) => {
21
+ const rect = (0, _nodes.processRect)(ctx.Skia, props);
22
+ ctx.canvas.drawOval(rect, ctx.paint);
23
+ };
24
+ exports.drawOval = drawOval;
25
+ const drawBox = (ctx, props, children) => {
26
+ const {
27
+ paint,
28
+ Skia,
29
+ canvas
30
+ } = ctx;
31
+ const {
32
+ box: defaultBox
33
+ } = props;
34
+ const opacity = paint.getAlphaf();
35
+ const box = (0, _types.isRRect)(defaultBox) ? defaultBox : Skia.RRectXY(defaultBox, 0, 0);
36
+ const shadows = children.map(node => {
37
+ if (node.type === _nodes.NodeType.BoxShadow) {
38
+ return (0, _utils.materialize)(node.props);
39
+ }
40
+ return null;
41
+ }).filter(n => n !== null);
42
+ shadows.filter(shadow => !shadow.inner).map(shadow => {
43
+ const {
44
+ color = "black",
45
+ blur,
46
+ spread = 0,
47
+ dx = 0,
48
+ dy = 0
49
+ } = shadow;
50
+ const lPaint = Skia.Paint();
51
+ lPaint.setColor(Skia.Color(color));
52
+ lPaint.setAlphaf(paint.getAlphaf() * opacity);
53
+ lPaint.setMaskFilter(Skia.MaskFilter.MakeBlur(_types.BlurStyle.Normal, blur, true));
54
+ canvas.drawRRect((0, _nodes.inflate)(Skia, box, spread, spread, dx, dy), lPaint);
55
+ });
56
+ canvas.drawRRect(box, paint);
57
+ shadows.filter(shadow => shadow.inner).map(shadow => {
58
+ const {
59
+ color = "black",
60
+ blur,
61
+ spread = 0,
62
+ dx = 0,
63
+ dy = 0
64
+ } = shadow;
65
+ const delta = Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));
66
+ canvas.save();
67
+ canvas.clipRRect(box, _types.ClipOp.Intersect, false);
68
+ const lPaint = Skia.Paint();
69
+ lPaint.setColor(Skia.Color(color));
70
+ lPaint.setAlphaf(paint.getAlphaf() * opacity);
71
+ lPaint.setMaskFilter(Skia.MaskFilter.MakeBlur(_types.BlurStyle.Normal, blur, true));
72
+ const inner = (0, _nodes.deflate)(Skia, box, spread, spread, dx, dy);
73
+ const outer = (0, _nodes.inflate)(Skia, box, delta.x, delta.y);
74
+ canvas.drawDRRect(outer, inner, lPaint);
75
+ canvas.restore();
76
+ });
77
+ };
78
+ exports.drawBox = drawBox;
79
+ const drawBoxShadow = (_ctx, _props) => {
80
+ //throw new Error("drawBoxShadow(): not implemented yet");
81
+ };
82
+ exports.drawBoxShadow = drawBoxShadow;
83
+ const drawImage = (ctx, props) => {
84
+ const {
85
+ image
86
+ } = props;
87
+ if (image) {
88
+ var _props$fit;
89
+ const fit = (_props$fit = props.fit) !== null && _props$fit !== void 0 ? _props$fit : "contain";
90
+ const rect = (0, _nodes.processRect)(ctx.Skia, props);
91
+ const {
92
+ src,
93
+ dst
94
+ } = (0, _nodes.fitRects)(fit, {
95
+ x: 0,
96
+ y: 0,
97
+ width: image.width(),
98
+ height: image.height()
99
+ }, rect);
100
+ ctx.canvas.drawImageRect(image, src, dst, ctx.paint);
101
+ }
102
+ };
103
+ exports.drawImage = drawImage;
104
+ const drawPoints = (ctx, props) => {
105
+ const {
106
+ points,
107
+ mode
108
+ } = props;
109
+ ctx.canvas.drawPoints(_types.PointMode[(0, _nodes.enumKey)(mode)], points, ctx.paint);
110
+ };
111
+ exports.drawPoints = drawPoints;
112
+ const drawVertices = (ctx, props) => {
113
+ const {
114
+ mode,
115
+ textures,
116
+ colors,
117
+ indices,
118
+ blendMode
119
+ } = props;
120
+ const vertexMode = mode ? _types.VertexMode[(0, _nodes.enumKey)(mode)] : _types.VertexMode.Triangles;
121
+ const vertices = ctx.Skia.MakeVertices(vertexMode, props.vertices, textures, colors ? colors.map(c => ctx.Skia.Color(c)) : undefined, indices);
122
+ const defaultBlendMode = colors ? _types.BlendMode.DstOver : _types.BlendMode.SrcOver;
123
+ const blend = blendMode ? _types.BlendMode[(0, _nodes.enumKey)(blendMode)] : defaultBlendMode;
124
+ ctx.canvas.drawVertices(vertices, blend, ctx.paint);
125
+ };
126
+ exports.drawVertices = drawVertices;
127
+ const drawDiffRect = (ctx, props) => {
128
+ const {
129
+ outer,
130
+ inner
131
+ } = props;
132
+ ctx.canvas.drawDRRect(outer, inner, ctx.paint);
133
+ };
134
+ exports.drawDiffRect = drawDiffRect;
135
+ const drawTextPath = (ctx, props) => {
136
+ const path = (0, _nodes.processPath)(ctx.Skia, props.path);
137
+ const {
138
+ font,
139
+ initialOffset
140
+ } = props;
141
+ if (font) {
142
+ let {
143
+ text
144
+ } = props;
145
+ const ids = font.getGlyphIDs(text);
146
+ const widths = font.getGlyphWidths(ids);
147
+ const rsx = [];
148
+ const meas = ctx.Skia.ContourMeasureIter(path, false, 1);
149
+ let cont = meas.next();
150
+ let dist = initialOffset;
151
+ for (let i = 0; i < text.length && cont; i++) {
152
+ const width = widths[i];
153
+ dist += width / 2;
154
+ if (dist > cont.length()) {
155
+ // jump to next contour
156
+ cont = meas.next();
157
+ if (!cont) {
158
+ // We have come to the end of the path - terminate the string
159
+ // right here.
160
+ text = text.substring(0, i);
161
+ break;
162
+ }
163
+ dist = width / 2;
164
+ }
165
+ // Gives us the (x, y) coordinates as well as the cos/sin of the tangent
166
+ // line at that position.
167
+ const [p, t] = cont.getPosTan(dist);
168
+ const adjustedX = p.x - width / 2 * t.x;
169
+ const adjustedY = p.y - width / 2 * t.y;
170
+ rsx.push(ctx.Skia.RSXform(t.x, t.y, adjustedX, adjustedY));
171
+ dist += width / 2;
172
+ }
173
+ const derived = ctx.Skia.TextBlob.MakeFromRSXform(text, rsx, font);
174
+ ctx.canvas.drawTextBlob(derived, 0, 0, ctx.paint);
175
+ }
176
+ };
177
+ exports.drawTextPath = drawTextPath;
178
+ const drawText = (ctx, props) => {
179
+ const {
180
+ text,
181
+ x,
182
+ y,
183
+ font
184
+ } = props;
185
+ if (font != null) {
186
+ ctx.canvas.drawText(text, x, y, ctx.paint, font);
187
+ }
188
+ };
189
+ exports.drawText = drawText;
190
+ const drawPatch = (ctx, props) => {
191
+ const {
192
+ texture,
193
+ blendMode,
194
+ patch
195
+ } = props;
196
+ const defaultBlendMode = props.colors ? _types.BlendMode.DstOver : _types.BlendMode.SrcOver;
197
+ const mode = blendMode ? _types.BlendMode[(0, _nodes.enumKey)(blendMode)] : defaultBlendMode;
198
+ // Patch requires a path with the following constraints:
199
+ // M tl
200
+ // C c1 c2 br
201
+ // C c1 c2 bl
202
+ // C c1 c2 tl (the redundant point in the last command is removed)
203
+
204
+ const points = [patch[0].pos, patch[0].c2, patch[1].c1, patch[1].pos, patch[1].c2, patch[2].c1, patch[2].pos, patch[2].c2, patch[3].c1, patch[3].pos, patch[3].c2, patch[0].c1];
205
+ const colors = props.colors ? props.colors.map(c => ctx.Skia.Color(c)) : undefined;
206
+ ctx.canvas.drawPatch(points, colors, texture, mode, ctx.paint);
207
+ };
208
+ exports.drawPatch = drawPatch;
209
+ const drawPath = (ctx, props) => {
210
+ const {
211
+ start: trimStart,
212
+ end: trimEnd,
213
+ fillType,
214
+ stroke,
215
+ ...pathProps
216
+ } = props;
217
+ const start = (0, _processors.saturate)(trimStart);
218
+ const end = (0, _processors.saturate)(trimEnd);
219
+ const hasStartOffset = start !== 0;
220
+ const hasEndOffset = end !== 1;
221
+ const hasStrokeOptions = stroke !== undefined;
222
+ const hasFillType = !!fillType;
223
+ const willMutatePath = hasStartOffset || hasEndOffset || hasStrokeOptions || hasFillType;
224
+ const pristinePath = (0, _nodes.processPath)(ctx.Skia, pathProps.path);
225
+ const path = willMutatePath ? pristinePath.copy() : pristinePath;
226
+ if (hasFillType) {
227
+ path.setFillType(_types.FillType[(0, _nodes.enumKey)(fillType)]);
228
+ }
229
+ if (hasStrokeOptions) {
230
+ path.stroke(stroke);
231
+ }
232
+ if (hasStartOffset || hasEndOffset) {
233
+ path.trim(start, end, false);
234
+ }
235
+ ctx.canvas.drawPath(path, ctx.paint);
236
+ };
237
+ exports.drawPath = drawPath;
238
+ const drawRect = (ctx, props) => {
239
+ const derived = (0, _nodes.processRect)(ctx.Skia, props);
240
+ ctx.canvas.drawRect(derived, ctx.paint);
241
+ };
242
+ exports.drawRect = drawRect;
243
+ const drawRRect = (ctx, props) => {
244
+ const derived = (0, _nodes.processRRect)(ctx.Skia, props);
245
+ ctx.canvas.drawRRect(derived, ctx.paint);
246
+ };
247
+ exports.drawRRect = drawRRect;
248
+ const drawTextBlob = (ctx, props) => {
249
+ const {
250
+ blob,
251
+ x,
252
+ y
253
+ } = props;
254
+ ctx.canvas.drawTextBlob(blob, x, y, ctx.paint);
255
+ };
256
+ exports.drawTextBlob = drawTextBlob;
257
+ const drawGlyphs = (ctx, props) => {
258
+ const derived = props.glyphs.reduce((acc, glyph) => {
259
+ const {
260
+ id,
261
+ pos
262
+ } = glyph;
263
+ acc.glyphs.push(id);
264
+ acc.positions.push(pos);
265
+ return acc;
266
+ }, {
267
+ glyphs: [],
268
+ positions: []
269
+ });
270
+ const {
271
+ glyphs,
272
+ positions
273
+ } = derived;
274
+ const {
275
+ x,
276
+ y,
277
+ font
278
+ } = props;
279
+ if (font) {
280
+ ctx.canvas.drawGlyphs(glyphs, positions, x, y, font, ctx.paint);
281
+ }
282
+ };
283
+ exports.drawGlyphs = drawGlyphs;
284
+ const drawImageSVG = (ctx, props) => {
285
+ const {
286
+ canvas
287
+ } = ctx;
288
+ const {
289
+ svg
290
+ } = props;
291
+ const {
292
+ x,
293
+ y,
294
+ width,
295
+ height
296
+ } = props.rect ? props.rect : {
297
+ x: props.x,
298
+ y: props.y,
299
+ width: props.width,
300
+ height: props.height
301
+ };
302
+ if (svg === null) {
303
+ return;
304
+ }
305
+ canvas.save();
306
+ if (x && y) {
307
+ canvas.translate(x, y);
308
+ }
309
+ canvas.drawSvg(svg, width, height);
310
+ canvas.restore();
311
+ };
312
+ exports.drawImageSVG = drawImageSVG;
313
+ const drawParagraph = (ctx, props) => {
314
+ const {
315
+ paragraph,
316
+ x,
317
+ y,
318
+ width
319
+ } = props;
320
+ if (paragraph) {
321
+ paragraph.layout(width);
322
+ paragraph.paint(ctx.canvas, x, y);
323
+ }
324
+ };
325
+ exports.drawParagraph = drawParagraph;
326
+ const drawPicture = (ctx, props) => {
327
+ const {
328
+ picture
329
+ } = props;
330
+ ctx.canvas.drawPicture(picture);
331
+ };
332
+ exports.drawPicture = drawPicture;
333
+ const drawAtlas = (ctx, props) => {
334
+ const {
335
+ image,
336
+ sprites,
337
+ transforms,
338
+ colors,
339
+ blendMode
340
+ } = props;
341
+ const blend = blendMode ? _types.BlendMode[(0, _nodes.enumKey)(blendMode)] : undefined;
342
+ if (image) {
343
+ ctx.canvas.drawAtlas(image, sprites, transforms, ctx.paint, blend, colors);
344
+ }
345
+ };
346
+ exports.drawAtlas = drawAtlas;
347
+ const drawCircle = (ctx, props) => {
348
+ const {
349
+ c
350
+ } = (0, _nodes.processCircle)(props);
351
+ const {
352
+ r
353
+ } = props;
354
+ ctx.canvas.drawCircle(c.x, c.y, r, ctx.paint);
355
+ };
356
+ exports.drawCircle = drawCircle;
357
+ const drawFill = (ctx, _props) => {
358
+ ctx.canvas.drawPaint(ctx.paint);
359
+ };
360
+ exports.drawFill = drawFill;
361
+ //# sourceMappingURL=drawings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object","defineProperty","exports","value","drawVertices","drawTextPath","drawTextBlob","drawText","drawRect","drawRRect","drawPoints","drawPicture","drawPath","drawPatch","drawParagraph","drawOval","drawLine","drawImageSVG","drawImage","drawGlyphs","drawFill","drawDiffRect","drawCircle","drawBoxShadow","drawBox","drawAtlas","_nodes","require","_processors","_types","_utils","ctx","props","p1","p2","canvas","x","y","paint","rect","processRect","Skia","children","box","defaultBox","opacity","getAlphaf","isRRect","RRectXY","shadows","map","node","type","NodeType","BoxShadow","materialize","filter","n","shadow","inner","color","blur","spread","dx","dy","lPaint","Paint","setColor","Color","setAlphaf","setMaskFilter","MaskFilter","MakeBlur","BlurStyle","Normal","inflate","delta","Point","Math","abs","save","clipRRect","ClipOp","Intersect","deflate","outer","drawDRRect","restore","_ctx","_props","image","_props$fit","fit","src","dst","fitRects","width","height","drawImageRect","points","mode","PointMode","enumKey","textures","colors","indices","blendMode","vertexMode","VertexMode","Triangles","vertices","MakeVertices","c","undefined","defaultBlendMode","BlendMode","DstOver","SrcOver","blend","path","processPath","font","initialOffset","text","ids","getGlyphIDs","widths","getGlyphWidths","rsx","meas","ContourMeasureIter","cont","next","dist","i","length","substring","p","t","getPosTan","adjustedX","adjustedY","push","RSXform","derived","TextBlob","MakeFromRSXform","texture","patch","pos","c2","c1","start","trimStart","end","trimEnd","fillType","stroke","pathProps","saturate","hasStartOffset","hasEndOffset","hasStrokeOptions","hasFillType","willMutatePath","pristinePath","copy","setFillType","FillType","trim","processRRect","blob","glyphs","reduce","acc","glyph","id","positions","svg","translate","drawSvg","paragraph","layout","picture","sprites","transforms","processCircle","r","drawPaint"],"sources":["drawings.ts"],"sourcesContent":["\"worklet\";\n\nimport {\n deflate,\n enumKey,\n fitRects,\n inflate,\n NodeType,\n processCircle,\n processPath,\n processRect,\n processRRect,\n} from \"../../dom/nodes\";\nimport type {\n AtlasProps,\n BoxProps,\n BoxShadowProps,\n CircleProps,\n DiffRectProps,\n DrawingNodeProps,\n GlyphsProps,\n ImageProps,\n ImageSVGProps,\n LineProps,\n OvalProps,\n ParagraphProps,\n PatchProps,\n PathProps,\n PictureProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextBlobProps,\n TextPathProps,\n TextProps,\n VerticesProps,\n} from \"../../dom/types\";\nimport { saturate } from \"../../renderer/processors\";\nimport type {\n SkCanvas,\n SkPaint,\n SkPoint,\n SkRSXform,\n Skia,\n} from \"../../skia/types\";\nimport {\n BlendMode,\n BlurStyle,\n ClipOp,\n FillType,\n isRRect,\n PointMode,\n VertexMode,\n} from \"../../skia/types\";\n\nimport type { Node } from \"./Node\";\nimport { materialize } from \"./utils\";\n\ninterface LocalDrawingContext {\n Skia: Skia;\n canvas: SkCanvas;\n paint: SkPaint;\n}\n\nexport const drawLine = (ctx: LocalDrawingContext, props: LineProps) => {\n const { p1, p2 } = props;\n ctx.canvas.drawLine(p1.x, p1.y, p2.x, p2.y, ctx.paint);\n};\n\nexport const drawOval = (ctx: LocalDrawingContext, props: OvalProps) => {\n const rect = processRect(ctx.Skia, props);\n ctx.canvas.drawOval(rect, ctx.paint);\n};\n\nexport const drawBox = (\n ctx: LocalDrawingContext,\n props: BoxProps,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n children: Node<any>[]\n) => {\n const { paint, Skia, canvas } = ctx;\n const { box: defaultBox } = props;\n const opacity = paint.getAlphaf();\n const box = isRRect(defaultBox) ? defaultBox : Skia.RRectXY(defaultBox, 0, 0);\n const shadows = children\n .map((node) => {\n if (node.type === NodeType.BoxShadow) {\n return materialize(node.props);\n }\n return null;\n })\n .filter((n): n is BoxShadowProps => n !== null);\n shadows\n .filter((shadow) => !shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const lPaint = Skia.Paint();\n lPaint.setColor(Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n lPaint.setMaskFilter(\n Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n canvas.drawRRect(inflate(Skia, box, spread, spread, dx, dy), lPaint);\n });\n\n canvas.drawRRect(box, paint);\n\n shadows\n .filter((shadow) => shadow.inner)\n .map((shadow) => {\n const { color = \"black\", blur, spread = 0, dx = 0, dy = 0 } = shadow;\n const delta = Skia.Point(10 + Math.abs(dx), 10 + Math.abs(dy));\n canvas.save();\n canvas.clipRRect(box, ClipOp.Intersect, false);\n const lPaint = Skia.Paint();\n lPaint.setColor(Skia.Color(color));\n lPaint.setAlphaf(paint.getAlphaf() * opacity);\n\n lPaint.setMaskFilter(\n Skia.MaskFilter.MakeBlur(BlurStyle.Normal, blur, true)\n );\n const inner = deflate(Skia, box, spread, spread, dx, dy);\n const outer = inflate(Skia, box, delta.x, delta.y);\n canvas.drawDRRect(outer, inner, lPaint);\n canvas.restore();\n });\n};\n\nexport const drawBoxShadow = (\n _ctx: LocalDrawingContext,\n _props: BoxShadowProps\n) => {\n //throw new Error(\"drawBoxShadow(): not implemented yet\");\n};\n\nexport const drawImage = (ctx: LocalDrawingContext, props: ImageProps) => {\n const { image } = props;\n if (image) {\n const fit = props.fit ?? \"contain\";\n const rect = processRect(ctx.Skia, props);\n const { src, dst } = fitRects(\n fit,\n {\n x: 0,\n y: 0,\n width: image.width(),\n height: image.height(),\n },\n rect\n );\n ctx.canvas.drawImageRect(image, src, dst, ctx.paint);\n }\n};\n\nexport const drawPoints = (ctx: LocalDrawingContext, props: PointsProps) => {\n const { points, mode } = props;\n ctx.canvas.drawPoints(PointMode[enumKey(mode)], points, ctx.paint);\n};\n\nexport const drawVertices = (\n ctx: LocalDrawingContext,\n props: VerticesProps\n) => {\n const { mode, textures, colors, indices, blendMode } = props;\n const vertexMode = mode ? VertexMode[enumKey(mode)] : VertexMode.Triangles;\n const vertices = ctx.Skia.MakeVertices(\n vertexMode,\n props.vertices,\n textures,\n colors ? colors.map((c) => ctx.Skia.Color(c)) : undefined,\n indices\n );\n const defaultBlendMode = colors ? BlendMode.DstOver : BlendMode.SrcOver;\n const blend = blendMode ? BlendMode[enumKey(blendMode)] : defaultBlendMode;\n\n ctx.canvas.drawVertices(vertices, blend, ctx.paint);\n};\n\nexport const drawDiffRect = (\n ctx: LocalDrawingContext,\n props: DiffRectProps\n) => {\n const { outer, inner } = props;\n ctx.canvas.drawDRRect(outer, inner, ctx.paint);\n};\n\nexport const drawTextPath = (\n ctx: LocalDrawingContext,\n props: TextPathProps\n) => {\n const path = processPath(ctx.Skia, props.path);\n const { font, initialOffset } = props;\n if (font) {\n let { text } = props;\n const ids = font.getGlyphIDs(text);\n const widths = font.getGlyphWidths(ids);\n const rsx: SkRSXform[] = [];\n const meas = ctx.Skia.ContourMeasureIter(path, false, 1);\n let cont = meas.next();\n let dist = initialOffset;\n for (let i = 0; i < text.length && cont; i++) {\n const width = widths[i];\n dist += width / 2;\n if (dist > cont.length()) {\n // jump to next contour\n cont = meas.next();\n if (!cont) {\n // We have come to the end of the path - terminate the string\n // right here.\n text = text.substring(0, i);\n break;\n }\n dist = width / 2;\n }\n // Gives us the (x, y) coordinates as well as the cos/sin of the tangent\n // line at that position.\n const [p, t] = cont.getPosTan(dist);\n const adjustedX = p.x - (width / 2) * t.x;\n const adjustedY = p.y - (width / 2) * t.y;\n rsx.push(ctx.Skia.RSXform(t.x, t.y, adjustedX, adjustedY));\n dist += width / 2;\n }\n const derived = ctx.Skia.TextBlob.MakeFromRSXform(text, rsx, font);\n ctx.canvas.drawTextBlob(derived, 0, 0, ctx.paint);\n }\n};\n\nexport const drawText = (ctx: LocalDrawingContext, props: TextProps) => {\n const { text, x, y, font } = props;\n if (font != null) {\n ctx.canvas.drawText(text, x, y, ctx.paint, font);\n }\n};\n\nexport const drawPatch = (ctx: LocalDrawingContext, props: PatchProps) => {\n const { texture, blendMode, patch } = props;\n const defaultBlendMode = props.colors ? BlendMode.DstOver : BlendMode.SrcOver;\n const mode = blendMode ? BlendMode[enumKey(blendMode)] : defaultBlendMode;\n // Patch requires a path with the following constraints:\n // M tl\n // C c1 c2 br\n // C c1 c2 bl\n // C c1 c2 tl (the redundant point in the last command is removed)\n\n const points = [\n patch[0].pos,\n patch[0].c2,\n patch[1].c1,\n patch[1].pos,\n patch[1].c2,\n patch[2].c1,\n patch[2].pos,\n patch[2].c2,\n patch[3].c1,\n patch[3].pos,\n patch[3].c2,\n patch[0].c1,\n ];\n const colors = props.colors\n ? props.colors.map((c) => ctx.Skia.Color(c))\n : undefined;\n ctx.canvas.drawPatch(points, colors, texture, mode, ctx.paint);\n};\n\nexport const drawPath = (ctx: LocalDrawingContext, props: PathProps) => {\n const {\n start: trimStart,\n end: trimEnd,\n fillType,\n stroke,\n ...pathProps\n } = props;\n const start = saturate(trimStart);\n const end = saturate(trimEnd);\n const hasStartOffset = start !== 0;\n const hasEndOffset = end !== 1;\n const hasStrokeOptions = stroke !== undefined;\n const hasFillType = !!fillType;\n const willMutatePath =\n hasStartOffset || hasEndOffset || hasStrokeOptions || hasFillType;\n const pristinePath = processPath(ctx.Skia, pathProps.path);\n const path = willMutatePath ? pristinePath.copy() : pristinePath;\n if (hasFillType) {\n path.setFillType(FillType[enumKey(fillType)]);\n }\n if (hasStrokeOptions) {\n path.stroke(stroke);\n }\n if (hasStartOffset || hasEndOffset) {\n path.trim(start, end, false);\n }\n ctx.canvas.drawPath(path, ctx.paint);\n};\n\nexport const drawRect = (ctx: LocalDrawingContext, props: RectProps) => {\n const derived = processRect(ctx.Skia, props);\n ctx.canvas.drawRect(derived, ctx.paint);\n};\n\nexport const drawRRect = (\n ctx: LocalDrawingContext,\n props: RoundedRectProps\n) => {\n const derived = processRRect(ctx.Skia, props);\n ctx.canvas.drawRRect(derived, ctx.paint);\n};\n\nexport const drawTextBlob = (\n ctx: LocalDrawingContext,\n props: TextBlobProps\n) => {\n const { blob, x, y } = props;\n ctx.canvas.drawTextBlob(blob, x, y, ctx.paint);\n};\n\ninterface ProcessedGlyphs {\n glyphs: number[];\n positions: SkPoint[];\n}\n\nexport const drawGlyphs = (ctx: LocalDrawingContext, props: GlyphsProps) => {\n const derived = props.glyphs.reduce<ProcessedGlyphs>(\n (acc, glyph) => {\n const { id, pos } = glyph;\n acc.glyphs.push(id);\n acc.positions.push(pos);\n return acc;\n },\n { glyphs: [], positions: [] }\n );\n const { glyphs, positions } = derived;\n const { x, y, font } = props;\n if (font) {\n ctx.canvas.drawGlyphs(glyphs, positions, x, y, font, ctx.paint);\n }\n};\n\nexport const drawImageSVG = (\n ctx: LocalDrawingContext,\n props: ImageSVGProps\n) => {\n const { canvas } = ctx;\n const { svg } = props;\n const { x, y, width, height } = props.rect\n ? props.rect\n : { x: props.x, y: props.y, width: props.width, height: props.height };\n if (svg === null) {\n return;\n }\n canvas.save();\n if (x && y) {\n canvas.translate(x, y);\n }\n canvas.drawSvg(svg, width, height);\n canvas.restore();\n};\n\nexport const drawParagraph = (\n ctx: LocalDrawingContext,\n props: ParagraphProps\n) => {\n const { paragraph, x, y, width } = props;\n if (paragraph) {\n paragraph.layout(width);\n paragraph.paint(ctx.canvas, x, y);\n }\n};\n\nexport const drawPicture = (ctx: LocalDrawingContext, props: PictureProps) => {\n const { picture } = props;\n ctx.canvas.drawPicture(picture);\n};\n\nexport const drawAtlas = (ctx: LocalDrawingContext, props: AtlasProps) => {\n const { image, sprites, transforms, colors, blendMode } = props;\n const blend = blendMode ? BlendMode[enumKey(blendMode)] : undefined;\n if (image) {\n ctx.canvas.drawAtlas(image, sprites, transforms, ctx.paint, blend, colors);\n }\n};\n\nexport const drawCircle = (ctx: LocalDrawingContext, props: CircleProps) => {\n const { c } = processCircle(props);\n const { r } = props;\n ctx.canvas.drawCircle(c.x, c.y, r, ctx.paint);\n};\n\nexport const drawFill = (\n ctx: LocalDrawingContext,\n _props: DrawingNodeProps\n) => {\n ctx.canvas.drawPaint(ctx.paint);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import type { BlendImageFilterProps, BlurImageFilterProps, BlurMaskFilterProps, DeclarationContext, DisplacementMapImageFilterProps, DropShadowImageFilterProps, MorphologyImageFilterProps, OffsetImageFilterProps, RuntimeShaderImageFilterProps } from "../../dom/types";
2
+ import type { SkImageFilter } from "../../skia/types";
3
+ export declare enum MorphologyOperator {
4
+ Erode = 0,
5
+ Dilate = 1
6
+ }
7
+ export declare const makeOffsetImageFilter: (ctx: DeclarationContext, props: OffsetImageFilterProps) => SkImageFilter;
8
+ export declare const declareDisplacementMapImageFilter: (ctx: DeclarationContext, props: DisplacementMapImageFilterProps) => void;
9
+ export declare const makeBlurImageFilter: (ctx: DeclarationContext, props: BlurImageFilterProps) => SkImageFilter;
10
+ export declare const makeDropShadowImageFilter: (ctx: DeclarationContext, props: DropShadowImageFilterProps) => SkImageFilter;
11
+ export declare const makeMorphologyImageFilter: (ctx: DeclarationContext, props: MorphologyImageFilterProps) => SkImageFilter;
12
+ export declare const makeRuntimeShaderImageFilter: (ctx: DeclarationContext, props: RuntimeShaderImageFilterProps) => SkImageFilter;
13
+ export declare const declareBlendImageFilter: (ctx: DeclarationContext, props: BlendImageFilterProps) => void;
14
+ export declare const declareBlurMaskFilter: (ctx: DeclarationContext, props: BlurMaskFilterProps) => void;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ "worklet";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.makeRuntimeShaderImageFilter = exports.makeOffsetImageFilter = exports.makeMorphologyImageFilter = exports.makeDropShadowImageFilter = exports.makeBlurImageFilter = exports.declareDisplacementMapImageFilter = exports.declareBlurMaskFilter = exports.declareBlendImageFilter = exports.MorphologyOperator = void 0;
8
+ var _nodes = require("../../dom/nodes");
9
+ var _types = require("../../skia/types");
10
+ let MorphologyOperator = exports.MorphologyOperator = /*#__PURE__*/function (MorphologyOperator) {
11
+ MorphologyOperator[MorphologyOperator["Erode"] = 0] = "Erode";
12
+ MorphologyOperator[MorphologyOperator["Dilate"] = 1] = "Dilate";
13
+ return MorphologyOperator;
14
+ }({});
15
+ const Black = Float32Array.of(0, 0, 0, 1);
16
+ const MakeInnerShadow = (Skia, shadowOnly, dx, dy, sigmaX, sigmaY, color, input) => {
17
+ const sourceGraphic = Skia.ImageFilter.MakeColorFilter(Skia.ColorFilter.MakeBlend(Black, _types.BlendMode.Dst), null);
18
+ const sourceAlpha = Skia.ImageFilter.MakeColorFilter(Skia.ColorFilter.MakeBlend(Black, _types.BlendMode.SrcIn), null);
19
+ const f1 = Skia.ImageFilter.MakeColorFilter(Skia.ColorFilter.MakeBlend(color, _types.BlendMode.SrcOut), null);
20
+ const f2 = Skia.ImageFilter.MakeOffset(dx, dy, f1);
21
+ const f3 = Skia.ImageFilter.MakeBlur(sigmaX, sigmaY, _types.TileMode.Decal, f2);
22
+ const f4 = Skia.ImageFilter.MakeBlend(_types.BlendMode.SrcIn, sourceAlpha, f3);
23
+ if (shadowOnly) {
24
+ return f4;
25
+ }
26
+ return Skia.ImageFilter.MakeCompose(input, Skia.ImageFilter.MakeBlend(_types.BlendMode.SrcOver, sourceGraphic, f4));
27
+ };
28
+ const input = ctx => {
29
+ var _ctx$imageFilters$pop;
30
+ return (_ctx$imageFilters$pop = ctx.imageFilters.pop()) !== null && _ctx$imageFilters$pop !== void 0 ? _ctx$imageFilters$pop : null;
31
+ };
32
+ const makeOffsetImageFilter = (ctx, props) => {
33
+ const {
34
+ x,
35
+ y
36
+ } = props;
37
+ return ctx.Skia.ImageFilter.MakeOffset(x, y, null);
38
+ };
39
+ exports.makeOffsetImageFilter = makeOffsetImageFilter;
40
+ const declareDisplacementMapImageFilter = (ctx, props) => {
41
+ const {
42
+ channelX,
43
+ channelY,
44
+ scale
45
+ } = props;
46
+ const shader = ctx.shaders.pop();
47
+ if (!shader) {
48
+ throw new Error("DisplacementMap expects a shader as child");
49
+ }
50
+ const map = ctx.Skia.ImageFilter.MakeShader(shader, null);
51
+ const imgf = ctx.Skia.ImageFilter.MakeDisplacementMap(_types.ColorChannel[(0, _nodes.enumKey)(channelX)], _types.ColorChannel[(0, _nodes.enumKey)(channelY)], scale, map, input(ctx));
52
+ ctx.imageFilters.push(imgf);
53
+ };
54
+ exports.declareDisplacementMapImageFilter = declareDisplacementMapImageFilter;
55
+ const makeBlurImageFilter = (ctx, props) => {
56
+ const {
57
+ mode,
58
+ blur
59
+ } = props;
60
+ const sigma = (0, _nodes.processRadius)(ctx.Skia, blur);
61
+ const imgf = ctx.Skia.ImageFilter.MakeBlur(sigma.x, sigma.y, _types.TileMode[(0, _nodes.enumKey)(mode)], input(ctx));
62
+ return imgf;
63
+ };
64
+ exports.makeBlurImageFilter = makeBlurImageFilter;
65
+ const makeDropShadowImageFilter = (ctx, props) => {
66
+ const {
67
+ dx,
68
+ dy,
69
+ blur,
70
+ shadowOnly,
71
+ color: cl,
72
+ inner
73
+ } = props;
74
+ const color = ctx.Skia.Color(cl);
75
+ let factory;
76
+ if (inner) {
77
+ factory = MakeInnerShadow.bind(null, ctx.Skia, shadowOnly);
78
+ } else {
79
+ factory = shadowOnly ? ctx.Skia.ImageFilter.MakeDropShadowOnly.bind(ctx.Skia.ImageFilter) : ctx.Skia.ImageFilter.MakeDropShadow.bind(ctx.Skia.ImageFilter);
80
+ }
81
+ const imgf = factory(dx, dy, blur, blur, color, input(ctx));
82
+ return imgf;
83
+ };
84
+ exports.makeDropShadowImageFilter = makeDropShadowImageFilter;
85
+ const makeMorphologyImageFilter = (ctx, props) => {
86
+ const {
87
+ operator
88
+ } = props;
89
+ const r = (0, _nodes.processRadius)(ctx.Skia, props.radius);
90
+ let imgf;
91
+ if (MorphologyOperator[(0, _nodes.enumKey)(operator)] === MorphologyOperator.Erode) {
92
+ imgf = ctx.Skia.ImageFilter.MakeErode(r.x, r.y, input(ctx));
93
+ } else {
94
+ imgf = ctx.Skia.ImageFilter.MakeDilate(r.x, r.y, input(ctx));
95
+ }
96
+ return imgf;
97
+ };
98
+ exports.makeMorphologyImageFilter = makeMorphologyImageFilter;
99
+ const makeRuntimeShaderImageFilter = (ctx, props) => {
100
+ const {
101
+ source,
102
+ uniforms
103
+ } = props;
104
+ const rtb = ctx.Skia.RuntimeShaderBuilder(source);
105
+ if (uniforms) {
106
+ (0, _types.processUniforms)(source, uniforms, rtb);
107
+ }
108
+ const imgf = ctx.Skia.ImageFilter.MakeRuntimeShader(rtb, null, input(ctx));
109
+ return imgf;
110
+ };
111
+ exports.makeRuntimeShaderImageFilter = makeRuntimeShaderImageFilter;
112
+ const declareBlendImageFilter = (ctx, props) => {
113
+ const {
114
+ mode
115
+ } = props;
116
+ const a = ctx.imageFilters.pop();
117
+ const b = ctx.imageFilters.pop();
118
+ if (!a || !b) {
119
+ throw new Error("BlendImageFilter requires two image filters");
120
+ }
121
+ const imgf = ctx.Skia.ImageFilter.MakeBlend(mode, a, b);
122
+ ctx.imageFilters.push(imgf);
123
+ };
124
+ exports.declareBlendImageFilter = declareBlendImageFilter;
125
+ const declareBlurMaskFilter = (ctx, props) => {
126
+ const {
127
+ blur,
128
+ style,
129
+ respectCTM
130
+ } = props;
131
+ const mf = ctx.Skia.MaskFilter.MakeBlur(_types.BlurStyle[(0, _nodes.enumKey)(style)], blur, respectCTM);
132
+ ctx.maskFilters.push(mf);
133
+ };
134
+ exports.declareBlurMaskFilter = declareBlurMaskFilter;
135
+ //# sourceMappingURL=imageFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object","defineProperty","exports","value","makeRuntimeShaderImageFilter","makeOffsetImageFilter","makeMorphologyImageFilter","makeDropShadowImageFilter","makeBlurImageFilter","declareDisplacementMapImageFilter","declareBlurMaskFilter","declareBlendImageFilter","MorphologyOperator","_nodes","require","_types","Black","Float32Array","of","MakeInnerShadow","Skia","shadowOnly","dx","dy","sigmaX","sigmaY","color","input","sourceGraphic","ImageFilter","MakeColorFilter","ColorFilter","MakeBlend","BlendMode","Dst","sourceAlpha","SrcIn","f1","SrcOut","f2","MakeOffset","f3","MakeBlur","TileMode","Decal","f4","MakeCompose","SrcOver","ctx","_ctx$imageFilters$pop","imageFilters","pop","props","x","y","channelX","channelY","scale","shader","shaders","Error","map","MakeShader","imgf","MakeDisplacementMap","ColorChannel","enumKey","push","mode","blur","sigma","processRadius","cl","inner","Color","factory","bind","MakeDropShadowOnly","MakeDropShadow","operator","r","radius","Erode","MakeErode","MakeDilate","source","uniforms","rtb","RuntimeShaderBuilder","processUniforms","MakeRuntimeShader","a","b","style","respectCTM","mf","MaskFilter","BlurStyle","maskFilters"],"sources":["imageFilters.ts"],"sourcesContent":["\"worklet\";\n\nimport { enumKey, processRadius } from \"../../dom/nodes\";\nimport type {\n BlendImageFilterProps,\n BlurImageFilterProps,\n BlurMaskFilterProps,\n DeclarationContext,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../../dom/types\";\nimport type { SkColor, Skia, SkImageFilter } from \"../../skia/types\";\nimport {\n BlendMode,\n BlurStyle,\n ColorChannel,\n processUniforms,\n TileMode,\n} from \"../../skia/types\";\n\nexport enum MorphologyOperator {\n Erode,\n Dilate,\n}\n\nconst Black = Float32Array.of(0, 0, 0, 1);\n\nconst MakeInnerShadow = (\n Skia: Skia,\n shadowOnly: boolean | undefined,\n dx: number,\n dy: number,\n sigmaX: number,\n sigmaY: number,\n color: SkColor,\n input: SkImageFilter | null\n) => {\n const sourceGraphic = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.Dst),\n null\n );\n const sourceAlpha = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(Black, BlendMode.SrcIn),\n null\n );\n const f1 = Skia.ImageFilter.MakeColorFilter(\n Skia.ColorFilter.MakeBlend(color, BlendMode.SrcOut),\n null\n );\n const f2 = Skia.ImageFilter.MakeOffset(dx, dy, f1);\n const f3 = Skia.ImageFilter.MakeBlur(sigmaX, sigmaY, TileMode.Decal, f2);\n const f4 = Skia.ImageFilter.MakeBlend(BlendMode.SrcIn, sourceAlpha, f3);\n if (shadowOnly) {\n return f4;\n }\n return Skia.ImageFilter.MakeCompose(\n input,\n Skia.ImageFilter.MakeBlend(BlendMode.SrcOver, sourceGraphic, f4)\n );\n};\n\nconst input = (ctx: DeclarationContext) => {\n return ctx.imageFilters.pop() ?? null;\n};\n\nexport const makeOffsetImageFilter = (\n ctx: DeclarationContext,\n props: OffsetImageFilterProps\n) => {\n const { x, y } = props;\n return ctx.Skia.ImageFilter.MakeOffset(x, y, null);\n};\n\nexport const declareDisplacementMapImageFilter = (\n ctx: DeclarationContext,\n props: DisplacementMapImageFilterProps\n) => {\n const { channelX, channelY, scale } = props;\n const shader = ctx.shaders.pop();\n if (!shader) {\n throw new Error(\"DisplacementMap expects a shader as child\");\n }\n const map = ctx.Skia.ImageFilter.MakeShader(shader, null);\n const imgf = ctx.Skia.ImageFilter.MakeDisplacementMap(\n ColorChannel[enumKey(channelX)],\n ColorChannel[enumKey(channelY)],\n scale,\n map,\n input(ctx)\n );\n ctx.imageFilters.push(imgf);\n};\n\nexport const makeBlurImageFilter = (\n ctx: DeclarationContext,\n props: BlurImageFilterProps\n) => {\n const { mode, blur } = props;\n const sigma = processRadius(ctx.Skia, blur);\n const imgf = ctx.Skia.ImageFilter.MakeBlur(\n sigma.x,\n sigma.y,\n TileMode[enumKey(mode)],\n input(ctx)\n );\n return imgf;\n};\n\nexport const makeDropShadowImageFilter = (\n ctx: DeclarationContext,\n props: DropShadowImageFilterProps\n) => {\n const { dx, dy, blur, shadowOnly, color: cl, inner } = props;\n const color = ctx.Skia.Color(cl);\n let factory;\n if (inner) {\n factory = MakeInnerShadow.bind(null, ctx.Skia, shadowOnly);\n } else {\n factory = shadowOnly\n ? ctx.Skia.ImageFilter.MakeDropShadowOnly.bind(ctx.Skia.ImageFilter)\n : ctx.Skia.ImageFilter.MakeDropShadow.bind(ctx.Skia.ImageFilter);\n }\n const imgf = factory(dx, dy, blur, blur, color, input(ctx));\n return imgf;\n};\n\nexport const makeMorphologyImageFilter = (\n ctx: DeclarationContext,\n props: MorphologyImageFilterProps\n) => {\n const { operator } = props;\n const r = processRadius(ctx.Skia, props.radius);\n let imgf;\n if (MorphologyOperator[enumKey(operator)] === MorphologyOperator.Erode) {\n imgf = ctx.Skia.ImageFilter.MakeErode(r.x, r.y, input(ctx));\n } else {\n imgf = ctx.Skia.ImageFilter.MakeDilate(r.x, r.y, input(ctx));\n }\n return imgf;\n};\n\nexport const makeRuntimeShaderImageFilter = (\n ctx: DeclarationContext,\n props: RuntimeShaderImageFilterProps\n) => {\n const { source, uniforms } = props;\n const rtb = ctx.Skia.RuntimeShaderBuilder(source);\n if (uniforms) {\n processUniforms(source, uniforms, rtb);\n }\n const imgf = ctx.Skia.ImageFilter.MakeRuntimeShader(rtb, null, input(ctx));\n return imgf;\n};\n\nexport const declareBlendImageFilter = (\n ctx: DeclarationContext,\n props: BlendImageFilterProps\n) => {\n const { mode } = props;\n const a = ctx.imageFilters.pop();\n const b = ctx.imageFilters.pop();\n if (!a || !b) {\n throw new Error(\"BlendImageFilter requires two image filters\");\n }\n const imgf = ctx.Skia.ImageFilter.MakeBlend(mode, a, b);\n ctx.imageFilters.push(imgf);\n};\n\nexport const declareBlurMaskFilter = (\n ctx: DeclarationContext,\n props: BlurMaskFilterProps\n) => {\n const { blur, style, respectCTM } = props;\n const mf = ctx.Skia.MaskFilter.MakeBlur(\n BlurStyle[enumKey(style)],\n blur,\n respectCTM\n );\n ctx.maskFilters.push(mf);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./Node";
2
+ export * from "./context";
3
+ export * from "./utils";
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Node = require("./Node");
7
+ Object.keys(_Node).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Node[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Node[key];
14
+ }
15
+ });
16
+ });
17
+ var _context = require("./context");
18
+ Object.keys(_context).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _context[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _context[key];
25
+ }
26
+ });
27
+ });
28
+ var _utils = require("./utils");
29
+ Object.keys(_utils).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _utils[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _utils[key];
36
+ }
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Node","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_context","_utils"],"sources":["index.ts"],"sourcesContent":["export * from \"./Node\";\nexport * from \"./context\";\nexport * from \"./utils\";\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { DeclarationContext, PaintProps } from "../../dom/types";
2
+ export declare const declarePaint: (ctx: DeclarationContext, props: PaintProps) => void;