@shopify/react-native-skia 1.3.12 → 1.3.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (616) hide show
  1. package/lib/commonjs/__tests__/globalSetup.d.ts +9 -0
  2. package/lib/commonjs/__tests__/globalTeardown.d.ts +2 -0
  3. package/lib/commonjs/__tests__/setup.d.ts +18 -0
  4. package/lib/commonjs/dom/__tests__/Compose.spec.d.ts +1 -0
  5. package/lib/commonjs/dom/__tests__/Demos.spec.d.ts +1 -0
  6. package/lib/commonjs/dom/__tests__/DrawingContext.spec.d.ts +1 -0
  7. package/lib/commonjs/dom/__tests__/Drawings.spec.d.ts +1 -0
  8. package/lib/commonjs/dom/__tests__/Group.spec.d.ts +1 -0
  9. package/lib/commonjs/dom/__tests__/Paint.spec.d.ts +1 -0
  10. package/lib/commonjs/dom/__tests__/RenderNodes.spec.d.ts +1 -0
  11. package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +1 -0
  12. package/lib/commonjs/renderer/__tests__/Data.spec.d.ts +1 -0
  13. package/lib/commonjs/renderer/__tests__/Drawings.spec.d.ts +1 -0
  14. package/lib/commonjs/renderer/__tests__/FitBox.spec.d.ts +1 -0
  15. package/lib/commonjs/renderer/__tests__/Glyphs.spec.d.ts +1 -0
  16. package/lib/commonjs/renderer/__tests__/Image.spec.d.ts +1 -0
  17. package/lib/commonjs/renderer/__tests__/Paths.spec.d.ts +1 -0
  18. package/lib/commonjs/renderer/__tests__/Picture.spec.d.ts +1 -0
  19. package/lib/commonjs/renderer/__tests__/Simple.spec.d.ts +1 -0
  20. package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +1 -0
  21. package/lib/commonjs/renderer/__tests__/Surfaces.spec.d.ts +1 -0
  22. package/lib/commonjs/renderer/__tests__/Text.spec.d.ts +1 -0
  23. package/lib/commonjs/renderer/__tests__/TouchHandler.spec.d.ts +1 -0
  24. package/lib/commonjs/renderer/__tests__/Transform.spec.d.ts +1 -0
  25. package/lib/commonjs/renderer/__tests__/documentation/Group.spec.d.ts +1 -0
  26. package/lib/commonjs/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +1 -0
  27. package/lib/commonjs/renderer/__tests__/documentation/paint/Overview.spec.d.ts +1 -0
  28. package/lib/commonjs/renderer/__tests__/documentation/shapes/Box.spec.d.ts +1 -0
  29. package/lib/commonjs/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +1 -0
  30. package/lib/commonjs/renderer/__tests__/e2e/Atlas.spec.d.ts +1 -0
  31. package/lib/commonjs/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +1 -0
  32. package/lib/commonjs/renderer/__tests__/e2e/Blending.spec.d.ts +1 -0
  33. package/lib/commonjs/renderer/__tests__/e2e/Blur.spec.d.ts +1 -0
  34. package/lib/commonjs/renderer/__tests__/e2e/Box.spec.d.ts +1 -0
  35. package/lib/commonjs/renderer/__tests__/e2e/ColorFilters.spec.d.ts +1 -0
  36. package/lib/commonjs/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +1 -0
  37. package/lib/commonjs/renderer/__tests__/e2e/CoonPatch.spec.d.ts +1 -0
  38. package/lib/commonjs/renderer/__tests__/e2e/DataEncoding.spec.d.ts +1 -0
  39. package/lib/commonjs/renderer/__tests__/e2e/Drawings.spec.d.ts +1 -0
  40. package/lib/commonjs/renderer/__tests__/e2e/FontMgr.spec.d.ts +1 -0
  41. package/lib/commonjs/renderer/__tests__/e2e/Gradient.spec.d.ts +1 -0
  42. package/lib/commonjs/renderer/__tests__/e2e/Group.spec.d.ts +1 -0
  43. package/lib/commonjs/renderer/__tests__/e2e/Image.spec.d.ts +1 -0
  44. package/lib/commonjs/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +1 -0
  45. package/lib/commonjs/renderer/__tests__/e2e/ImageFilters.spec.d.ts +1 -0
  46. package/lib/commonjs/renderer/__tests__/e2e/Mask.spec.d.ts +1 -0
  47. package/lib/commonjs/renderer/__tests__/e2e/Matrix4.spec.d.ts +1 -0
  48. package/lib/commonjs/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +1 -0
  49. package/lib/commonjs/renderer/__tests__/e2e/Offscreen.spec.d.ts +1 -0
  50. package/lib/commonjs/renderer/__tests__/e2e/Opacity.spec.d.ts +1 -0
  51. package/lib/commonjs/renderer/__tests__/e2e/Paint.spec.d.ts +1 -0
  52. package/lib/commonjs/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +1 -0
  53. package/lib/commonjs/renderer/__tests__/e2e/Paragraphs.spec.d.ts +1 -0
  54. package/lib/commonjs/renderer/__tests__/e2e/PathEffects.spec.d.ts +1 -0
  55. package/lib/commonjs/renderer/__tests__/e2e/Paths.spec.d.ts +1 -0
  56. package/lib/commonjs/renderer/__tests__/e2e/Picture.spec.d.ts +1 -0
  57. package/lib/commonjs/renderer/__tests__/e2e/Point.spec.d.ts +1 -0
  58. package/lib/commonjs/renderer/__tests__/e2e/Rect.spec.d.ts +1 -0
  59. package/lib/commonjs/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +1 -0
  60. package/lib/commonjs/renderer/__tests__/e2e/SDF.spec.d.ts +1 -0
  61. package/lib/commonjs/renderer/__tests__/e2e/SVG.spec.d.ts +1 -0
  62. package/lib/commonjs/renderer/__tests__/e2e/Shader.spec.d.ts +1 -0
  63. package/lib/commonjs/renderer/__tests__/e2e/Snapshot.spec.d.ts +1 -0
  64. package/lib/commonjs/renderer/__tests__/e2e/Surfaces.spec.d.ts +1 -0
  65. package/lib/commonjs/renderer/__tests__/e2e/Text.spec.d.ts +1 -0
  66. package/lib/commonjs/renderer/__tests__/e2e/TextPath.spec.d.ts +1 -0
  67. package/lib/commonjs/renderer/__tests__/e2e/Transforms.spec.d.ts +1 -0
  68. package/lib/commonjs/renderer/__tests__/e2e/Vertices.spec.d.ts +1 -0
  69. package/lib/commonjs/renderer/__tests__/e2e/Video.d.ts +1 -0
  70. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +19 -0
  71. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +12 -0
  72. package/lib/commonjs/renderer/__tests__/e2e/setup/SkiaObject.d.ts +11 -0
  73. package/lib/commonjs/renderer/__tests__/e2e/setup/index.d.ts +3 -0
  74. package/lib/commonjs/renderer/__tests__/examples/BlendModes.spec.d.ts +1 -0
  75. package/lib/commonjs/renderer/__tests__/setup.d.ts +66 -0
  76. package/lib/commonjs/skia/__tests__/ColorFilter.spec.d.ts +1 -0
  77. package/lib/commonjs/skia/__tests__/Data.spec.d.ts +1 -0
  78. package/lib/commonjs/skia/__tests__/Drawings.spec.d.ts +1 -0
  79. package/lib/commonjs/skia/__tests__/Enums.spec.d.ts +1 -0
  80. package/lib/commonjs/skia/__tests__/Geometry.spec.d.ts +1 -0
  81. package/lib/commonjs/skia/__tests__/ImageFilter.spec.d.ts +1 -0
  82. package/lib/commonjs/skia/__tests__/Mock.spec.d.ts +0 -0
  83. package/lib/commonjs/skia/__tests__/Paint.spec.d.ts +1 -0
  84. package/lib/commonjs/skia/__tests__/Path.spec.d.ts +1 -0
  85. package/lib/commonjs/skia/__tests__/RuntimeEffect.spec.d.ts +1 -0
  86. package/lib/commonjs/skia/__tests__/Shader.spec.d.ts +1 -0
  87. package/lib/commonjs/skia/__tests__/Text.spec.d.ts +1 -0
  88. package/lib/commonjs/skia/__tests__/Transform.spec.d.ts +1 -0
  89. package/lib/commonjs/skia/__tests__/Vertices.spec.d.ts +1 -0
  90. package/lib/commonjs/skia/__tests__/setup.d.ts +19 -0
  91. package/lib/module/__tests__/globalSetup.d.ts +9 -0
  92. package/lib/module/__tests__/globalTeardown.d.ts +2 -0
  93. package/lib/module/__tests__/setup.d.ts +18 -0
  94. package/lib/module/dom/__tests__/Compose.spec.d.ts +1 -0
  95. package/lib/module/dom/__tests__/Demos.spec.d.ts +1 -0
  96. package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +1 -0
  97. package/lib/module/dom/__tests__/Drawings.spec.d.ts +1 -0
  98. package/lib/module/dom/__tests__/Group.spec.d.ts +1 -0
  99. package/lib/module/dom/__tests__/Paint.spec.d.ts +1 -0
  100. package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +1 -0
  101. package/lib/module/dom/__tests__/Shaders.spec.d.ts +1 -0
  102. package/lib/module/renderer/__tests__/Data.spec.d.ts +1 -0
  103. package/lib/module/renderer/__tests__/Drawings.spec.d.ts +1 -0
  104. package/lib/module/renderer/__tests__/FitBox.spec.d.ts +1 -0
  105. package/lib/module/renderer/__tests__/Glyphs.spec.d.ts +1 -0
  106. package/lib/module/renderer/__tests__/Image.spec.d.ts +1 -0
  107. package/lib/module/renderer/__tests__/Paths.spec.d.ts +1 -0
  108. package/lib/module/renderer/__tests__/Picture.spec.d.ts +1 -0
  109. package/lib/module/renderer/__tests__/Simple.spec.d.ts +1 -0
  110. package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +1 -0
  111. package/lib/module/renderer/__tests__/Surfaces.spec.d.ts +1 -0
  112. package/lib/module/renderer/__tests__/Text.spec.d.ts +1 -0
  113. package/lib/module/renderer/__tests__/TouchHandler.spec.d.ts +1 -0
  114. package/lib/module/renderer/__tests__/Transform.spec.d.ts +1 -0
  115. package/lib/module/renderer/__tests__/documentation/Group.spec.d.ts +1 -0
  116. package/lib/module/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +1 -0
  117. package/lib/module/renderer/__tests__/documentation/paint/Overview.spec.d.ts +1 -0
  118. package/lib/module/renderer/__tests__/documentation/shapes/Box.spec.d.ts +1 -0
  119. package/lib/module/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +1 -0
  120. package/lib/module/renderer/__tests__/e2e/Atlas.spec.d.ts +1 -0
  121. package/lib/module/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +1 -0
  122. package/lib/module/renderer/__tests__/e2e/Blending.spec.d.ts +1 -0
  123. package/lib/module/renderer/__tests__/e2e/Blur.spec.d.ts +1 -0
  124. package/lib/module/renderer/__tests__/e2e/Box.spec.d.ts +1 -0
  125. package/lib/module/renderer/__tests__/e2e/ColorFilters.spec.d.ts +1 -0
  126. package/lib/module/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +1 -0
  127. package/lib/module/renderer/__tests__/e2e/CoonPatch.spec.d.ts +1 -0
  128. package/lib/module/renderer/__tests__/e2e/DataEncoding.spec.d.ts +1 -0
  129. package/lib/module/renderer/__tests__/e2e/Drawings.spec.d.ts +1 -0
  130. package/lib/module/renderer/__tests__/e2e/FontMgr.spec.d.ts +1 -0
  131. package/lib/module/renderer/__tests__/e2e/Gradient.spec.d.ts +1 -0
  132. package/lib/module/renderer/__tests__/e2e/Group.spec.d.ts +1 -0
  133. package/lib/module/renderer/__tests__/e2e/Image.spec.d.ts +1 -0
  134. package/lib/module/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +1 -0
  135. package/lib/module/renderer/__tests__/e2e/ImageFilters.spec.d.ts +1 -0
  136. package/lib/module/renderer/__tests__/e2e/Mask.spec.d.ts +1 -0
  137. package/lib/module/renderer/__tests__/e2e/Matrix4.spec.d.ts +1 -0
  138. package/lib/module/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +1 -0
  139. package/lib/module/renderer/__tests__/e2e/Offscreen.spec.d.ts +1 -0
  140. package/lib/module/renderer/__tests__/e2e/Opacity.spec.d.ts +1 -0
  141. package/lib/module/renderer/__tests__/e2e/Paint.spec.d.ts +1 -0
  142. package/lib/module/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +1 -0
  143. package/lib/module/renderer/__tests__/e2e/Paragraphs.spec.d.ts +1 -0
  144. package/lib/module/renderer/__tests__/e2e/PathEffects.spec.d.ts +1 -0
  145. package/lib/module/renderer/__tests__/e2e/Paths.spec.d.ts +1 -0
  146. package/lib/module/renderer/__tests__/e2e/Picture.spec.d.ts +1 -0
  147. package/lib/module/renderer/__tests__/e2e/Point.spec.d.ts +1 -0
  148. package/lib/module/renderer/__tests__/e2e/Rect.spec.d.ts +1 -0
  149. package/lib/module/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +1 -0
  150. package/lib/module/renderer/__tests__/e2e/SDF.spec.d.ts +1 -0
  151. package/lib/module/renderer/__tests__/e2e/SVG.spec.d.ts +1 -0
  152. package/lib/module/renderer/__tests__/e2e/Shader.spec.d.ts +1 -0
  153. package/lib/module/renderer/__tests__/e2e/Snapshot.spec.d.ts +1 -0
  154. package/lib/module/renderer/__tests__/e2e/Surfaces.spec.d.ts +1 -0
  155. package/lib/module/renderer/__tests__/e2e/Text.spec.d.ts +1 -0
  156. package/lib/module/renderer/__tests__/e2e/TextPath.spec.d.ts +1 -0
  157. package/lib/module/renderer/__tests__/e2e/Transforms.spec.d.ts +1 -0
  158. package/lib/module/renderer/__tests__/e2e/Vertices.spec.d.ts +1 -0
  159. package/lib/module/renderer/__tests__/e2e/Video.d.ts +1 -0
  160. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +19 -0
  161. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +12 -0
  162. package/lib/module/renderer/__tests__/e2e/setup/SkiaObject.d.ts +11 -0
  163. package/lib/module/renderer/__tests__/e2e/setup/index.d.ts +3 -0
  164. package/lib/module/renderer/__tests__/examples/BlendModes.spec.d.ts +1 -0
  165. package/lib/module/renderer/__tests__/setup.d.ts +66 -0
  166. package/lib/module/skia/__tests__/ColorFilter.spec.d.ts +1 -0
  167. package/lib/module/skia/__tests__/Data.spec.d.ts +1 -0
  168. package/lib/module/skia/__tests__/Drawings.spec.d.ts +1 -0
  169. package/lib/module/skia/__tests__/Enums.spec.d.ts +1 -0
  170. package/lib/module/skia/__tests__/Geometry.spec.d.ts +1 -0
  171. package/lib/module/skia/__tests__/ImageFilter.spec.d.ts +1 -0
  172. package/lib/module/skia/__tests__/Mock.spec.d.ts +0 -0
  173. package/lib/module/skia/__tests__/Paint.spec.d.ts +1 -0
  174. package/lib/module/skia/__tests__/Path.spec.d.ts +1 -0
  175. package/lib/module/skia/__tests__/RuntimeEffect.spec.d.ts +1 -0
  176. package/lib/module/skia/__tests__/Shader.spec.d.ts +1 -0
  177. package/lib/module/skia/__tests__/Text.spec.d.ts +1 -0
  178. package/lib/module/skia/__tests__/Transform.spec.d.ts +1 -0
  179. package/lib/module/skia/__tests__/Vertices.spec.d.ts +1 -0
  180. package/lib/module/skia/__tests__/setup.d.ts +19 -0
  181. package/lib/typescript/src/__tests__/globalSetup.d.ts +9 -0
  182. package/lib/typescript/src/__tests__/globalTeardown.d.ts +2 -0
  183. package/lib/typescript/src/__tests__/setup.d.ts +18 -0
  184. package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +1 -0
  185. package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +1 -0
  186. package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +1 -0
  187. package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +1 -0
  188. package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +1 -0
  189. package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +1 -0
  190. package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +1 -0
  191. package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +1 -0
  192. package/lib/typescript/src/renderer/__tests__/Data.spec.d.ts +1 -0
  193. package/lib/typescript/src/renderer/__tests__/Drawings.spec.d.ts +1 -0
  194. package/lib/typescript/src/renderer/__tests__/FitBox.spec.d.ts +1 -0
  195. package/lib/typescript/src/renderer/__tests__/Glyphs.spec.d.ts +1 -0
  196. package/lib/typescript/src/renderer/__tests__/Image.spec.d.ts +1 -0
  197. package/lib/typescript/src/renderer/__tests__/Paths.spec.d.ts +1 -0
  198. package/lib/typescript/src/renderer/__tests__/Picture.spec.d.ts +1 -0
  199. package/lib/typescript/src/renderer/__tests__/Simple.spec.d.ts +1 -0
  200. package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +1 -0
  201. package/lib/typescript/src/renderer/__tests__/Surfaces.spec.d.ts +1 -0
  202. package/lib/typescript/src/renderer/__tests__/Text.spec.d.ts +1 -0
  203. package/lib/typescript/src/renderer/__tests__/TouchHandler.spec.d.ts +1 -0
  204. package/lib/typescript/src/renderer/__tests__/Transform.spec.d.ts +1 -0
  205. package/lib/typescript/src/renderer/__tests__/documentation/Group.spec.d.ts +1 -0
  206. package/lib/typescript/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +1 -0
  207. package/lib/typescript/src/renderer/__tests__/documentation/paint/Overview.spec.d.ts +1 -0
  208. package/lib/typescript/src/renderer/__tests__/documentation/shapes/Box.spec.d.ts +1 -0
  209. package/lib/typescript/src/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +1 -0
  210. package/lib/typescript/src/renderer/__tests__/e2e/Atlas.spec.d.ts +1 -0
  211. package/lib/typescript/src/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +1 -0
  212. package/lib/typescript/src/renderer/__tests__/e2e/Blending.spec.d.ts +1 -0
  213. package/lib/typescript/src/renderer/__tests__/e2e/Blur.spec.d.ts +1 -0
  214. package/lib/typescript/src/renderer/__tests__/e2e/Box.spec.d.ts +1 -0
  215. package/lib/typescript/src/renderer/__tests__/e2e/ColorFilters.spec.d.ts +1 -0
  216. package/lib/typescript/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +1 -0
  217. package/lib/typescript/src/renderer/__tests__/e2e/CoonPatch.spec.d.ts +1 -0
  218. package/lib/typescript/src/renderer/__tests__/e2e/DataEncoding.spec.d.ts +1 -0
  219. package/lib/typescript/src/renderer/__tests__/e2e/Drawings.spec.d.ts +1 -0
  220. package/lib/typescript/src/renderer/__tests__/e2e/FontMgr.spec.d.ts +1 -0
  221. package/lib/typescript/src/renderer/__tests__/e2e/Gradient.spec.d.ts +1 -0
  222. package/lib/typescript/src/renderer/__tests__/e2e/Group.spec.d.ts +1 -0
  223. package/lib/typescript/src/renderer/__tests__/e2e/Image.spec.d.ts +1 -0
  224. package/lib/typescript/src/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +1 -0
  225. package/lib/typescript/src/renderer/__tests__/e2e/ImageFilters.spec.d.ts +1 -0
  226. package/lib/typescript/src/renderer/__tests__/e2e/Mask.spec.d.ts +1 -0
  227. package/lib/typescript/src/renderer/__tests__/e2e/Matrix4.spec.d.ts +1 -0
  228. package/lib/typescript/src/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +1 -0
  229. package/lib/typescript/src/renderer/__tests__/e2e/Offscreen.spec.d.ts +1 -0
  230. package/lib/typescript/src/renderer/__tests__/e2e/Opacity.spec.d.ts +1 -0
  231. package/lib/typescript/src/renderer/__tests__/e2e/Paint.spec.d.ts +1 -0
  232. package/lib/typescript/src/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +1 -0
  233. package/lib/typescript/src/renderer/__tests__/e2e/Paragraphs.spec.d.ts +1 -0
  234. package/lib/typescript/src/renderer/__tests__/e2e/PathEffects.spec.d.ts +1 -0
  235. package/lib/typescript/src/renderer/__tests__/e2e/Paths.spec.d.ts +1 -0
  236. package/lib/typescript/src/renderer/__tests__/e2e/Picture.spec.d.ts +1 -0
  237. package/lib/typescript/src/renderer/__tests__/e2e/Point.spec.d.ts +1 -0
  238. package/lib/typescript/src/renderer/__tests__/e2e/Rect.spec.d.ts +1 -0
  239. package/lib/typescript/src/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +1 -0
  240. package/lib/typescript/src/renderer/__tests__/e2e/SDF.spec.d.ts +1 -0
  241. package/lib/typescript/src/renderer/__tests__/e2e/SVG.spec.d.ts +1 -0
  242. package/lib/typescript/src/renderer/__tests__/e2e/Shader.spec.d.ts +1 -0
  243. package/lib/typescript/src/renderer/__tests__/e2e/Snapshot.spec.d.ts +1 -0
  244. package/lib/typescript/src/renderer/__tests__/e2e/Surfaces.spec.d.ts +1 -0
  245. package/lib/typescript/src/renderer/__tests__/e2e/Text.spec.d.ts +1 -0
  246. package/lib/typescript/src/renderer/__tests__/e2e/TextPath.spec.d.ts +1 -0
  247. package/lib/typescript/src/renderer/__tests__/e2e/Transforms.spec.d.ts +1 -0
  248. package/lib/typescript/src/renderer/__tests__/e2e/Vertices.spec.d.ts +1 -0
  249. package/lib/typescript/src/renderer/__tests__/e2e/Video.d.ts +1 -0
  250. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +19 -0
  251. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +12 -0
  252. package/lib/typescript/src/renderer/__tests__/e2e/setup/SkiaObject.d.ts +11 -0
  253. package/lib/typescript/src/renderer/__tests__/e2e/setup/index.d.ts +3 -0
  254. package/lib/typescript/src/renderer/__tests__/examples/BlendModes.spec.d.ts +1 -0
  255. package/lib/typescript/src/renderer/__tests__/setup.d.ts +66 -0
  256. package/lib/typescript/src/skia/__tests__/ColorFilter.spec.d.ts +1 -0
  257. package/lib/typescript/src/skia/__tests__/Data.spec.d.ts +1 -0
  258. package/lib/typescript/src/skia/__tests__/Drawings.spec.d.ts +1 -0
  259. package/lib/typescript/src/skia/__tests__/Enums.spec.d.ts +1 -0
  260. package/lib/typescript/src/skia/__tests__/Geometry.spec.d.ts +1 -0
  261. package/lib/typescript/src/skia/__tests__/ImageFilter.spec.d.ts +1 -0
  262. package/lib/typescript/src/skia/__tests__/Mock.spec.d.ts +0 -0
  263. package/lib/typescript/src/skia/__tests__/Paint.spec.d.ts +1 -0
  264. package/lib/typescript/src/skia/__tests__/Path.spec.d.ts +1 -0
  265. package/lib/typescript/src/skia/__tests__/RuntimeEffect.spec.d.ts +1 -0
  266. package/lib/typescript/src/skia/__tests__/Shader.spec.d.ts +1 -0
  267. package/lib/typescript/src/skia/__tests__/Text.spec.d.ts +1 -0
  268. package/lib/typescript/src/skia/__tests__/Transform.spec.d.ts +1 -0
  269. package/lib/typescript/src/skia/__tests__/Vertices.spec.d.ts +1 -0
  270. package/lib/typescript/src/skia/__tests__/setup.d.ts +19 -0
  271. package/libs/ios/libskia.xcframework/Info.plist +46 -0
  272. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  273. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  274. package/libs/ios/libskottie.xcframework/Info.plist +46 -0
  275. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  276. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  277. package/libs/ios/libskparagraph.xcframework/Info.plist +46 -0
  278. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  279. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  280. package/libs/ios/libsksg.xcframework/Info.plist +46 -0
  281. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  282. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  283. package/libs/ios/libskshaper.xcframework/Info.plist +46 -0
  284. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  285. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  286. package/libs/ios/libskunicode.xcframework/Info.plist +46 -0
  287. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  288. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  289. package/libs/ios/libsvg.xcframework/Info.plist +46 -0
  290. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  291. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  292. package/package.json +11 -14
  293. package/src/__tests__/globalSetup.ts +51 -0
  294. package/src/__tests__/globalTeardown.ts +11 -0
  295. package/src/__tests__/setup.ts +129 -0
  296. package/src/__tests__/snapshots/animated-images/bird.png +0 -0
  297. package/src/__tests__/snapshots/animations/green.png +0 -0
  298. package/src/__tests__/snapshots/animations/lightblue.png +0 -0
  299. package/src/__tests__/snapshots/animations/quarter-lightblue.png +0 -0
  300. package/src/__tests__/snapshots/animations/red.png +0 -0
  301. package/src/__tests__/snapshots/atlas/identity.png +0 -0
  302. package/src/__tests__/snapshots/atlas/rsxform.png +0 -0
  303. package/src/__tests__/snapshots/atlas/rsxform1.png +0 -0
  304. package/src/__tests__/snapshots/atlas/simple.png +0 -0
  305. package/src/__tests__/snapshots/atlas/simple2.png +0 -0
  306. package/src/__tests__/snapshots/box/box-shadow.png +0 -0
  307. package/src/__tests__/snapshots/box/box-shadow2.png +0 -0
  308. package/src/__tests__/snapshots/box/box-shadow3.png +0 -0
  309. package/src/__tests__/snapshots/box/box-stroke.png +0 -0
  310. package/src/__tests__/snapshots/color-filter/color-filter-composition.png +0 -0
  311. package/src/__tests__/snapshots/color-filter/matrix1.png +0 -0
  312. package/src/__tests__/snapshots/color-filter/matrix3.png +0 -0
  313. package/src/__tests__/snapshots/color-filter/zurich-sepia.png +0 -0
  314. package/src/__tests__/snapshots/coons-patch/patch-with-opacity.png +0 -0
  315. package/src/__tests__/snapshots/coons-patch/simple.png +0 -0
  316. package/src/__tests__/snapshots/cyan-buffer.png +0 -0
  317. package/src/__tests__/snapshots/data/oslo.png +0 -0
  318. package/src/__tests__/snapshots/data/red.png +0 -0
  319. package/src/__tests__/snapshots/data/zurich.png +0 -0
  320. package/src/__tests__/snapshots/demos/apple-breathe.png +0 -0
  321. package/src/__tests__/snapshots/demos/apple-breathe1.png +0 -0
  322. package/src/__tests__/snapshots/demos/breathe.png +0 -0
  323. package/src/__tests__/snapshots/demos/breathe2.png +0 -0
  324. package/src/__tests__/snapshots/demos/product.png +0 -0
  325. package/src/__tests__/snapshots/demos/product2.png +0 -0
  326. package/src/__tests__/snapshots/demos/skia-neon.png +0 -0
  327. package/src/__tests__/snapshots/demos/skia-neon1.png +0 -0
  328. package/src/__tests__/snapshots/drawings/arc.png +0 -0
  329. package/src/__tests__/snapshots/drawings/blend-mode-multiply.png +0 -0
  330. package/src/__tests__/snapshots/drawings/blend-modes.png +0 -0
  331. package/src/__tests__/snapshots/drawings/blur-node.png +0 -0
  332. package/src/__tests__/snapshots/drawings/blur.png +0 -0
  333. package/src/__tests__/snapshots/drawings/blur2.png +0 -0
  334. package/src/__tests__/snapshots/drawings/custom-drawing.png +0 -0
  335. package/src/__tests__/snapshots/drawings/cyan-circle.png +0 -0
  336. package/src/__tests__/snapshots/drawings/cyan.png +0 -0
  337. package/src/__tests__/snapshots/drawings/default-props.png +0 -0
  338. package/src/__tests__/snapshots/drawings/hello-world.png +0 -0
  339. package/src/__tests__/snapshots/drawings/image-default-props.png +0 -0
  340. package/src/__tests__/snapshots/drawings/lightblue-quarter-circle.png +0 -0
  341. package/src/__tests__/snapshots/drawings/lightblue-rect.png +0 -0
  342. package/src/__tests__/snapshots/drawings/line.png +0 -0
  343. package/src/__tests__/snapshots/drawings/multiple-paints.png +0 -0
  344. package/src/__tests__/snapshots/drawings/nested-shader.png +0 -0
  345. package/src/__tests__/snapshots/drawings/nested-shader2.png +0 -0
  346. package/src/__tests__/snapshots/drawings/opacity-image.png +0 -0
  347. package/src/__tests__/snapshots/drawings/opacity-multiplication.png +0 -0
  348. package/src/__tests__/snapshots/drawings/opacity-multiplication2.png +0 -0
  349. package/src/__tests__/snapshots/drawings/points.png +0 -0
  350. package/src/__tests__/snapshots/drawings/purple.png +0 -0
  351. package/src/__tests__/snapshots/drawings/rotated-image.png +0 -0
  352. package/src/__tests__/snapshots/drawings/rotated-scaled-image.png +0 -0
  353. package/src/__tests__/snapshots/drawings/rrect-aa.png +0 -0
  354. package/src/__tests__/snapshots/drawings/rrect-no-aa.png +0 -0
  355. package/src/__tests__/snapshots/drawings/scaled-image.png +0 -0
  356. package/src/__tests__/snapshots/drawings/scaled-image2.png +0 -0
  357. package/src/__tests__/snapshots/drawings/shader-opacity-reference.png +0 -0
  358. package/src/__tests__/snapshots/drawings/skew-transform.png +0 -0
  359. package/src/__tests__/snapshots/drawings/skew-transform2.png +0 -0
  360. package/src/__tests__/snapshots/drawings/small-lightblue-rect.png +0 -0
  361. package/src/__tests__/snapshots/drawings/stroke.png +0 -0
  362. package/src/__tests__/snapshots/drawings/transform-origin.png +0 -0
  363. package/src/__tests__/snapshots/drawings/transparent.png +0 -0
  364. package/src/__tests__/snapshots/drawings/violet.png +0 -0
  365. package/src/__tests__/snapshots/font/green.png +0 -0
  366. package/src/__tests__/snapshots/font/red.png +0 -0
  367. package/src/__tests__/snapshots/glyphs/simple.png +0 -0
  368. package/src/__tests__/snapshots/gradient/linear-with-opacity.png +0 -0
  369. package/src/__tests__/snapshots/gradient/linear.png +0 -0
  370. package/src/__tests__/snapshots/green.png +0 -0
  371. package/src/__tests__/snapshots/image-filter/blur.png +0 -0
  372. package/src/__tests__/snapshots/image-filter/test-shadow.png +0 -0
  373. package/src/__tests__/snapshots/images/bundle-android.png +0 -0
  374. package/src/__tests__/snapshots/images/bundle-ios.png +0 -0
  375. package/src/__tests__/snapshots/images/bundle-node.png +0 -0
  376. package/src/__tests__/snapshots/images/bundle.png +0 -0
  377. package/src/__tests__/snapshots/images/filter.png +0 -0
  378. package/src/__tests__/snapshots/leak.png +0 -0
  379. package/src/__tests__/snapshots/matrix4/perspective.png +0 -0
  380. package/src/__tests__/snapshots/paint/blend-mode.png +0 -0
  381. package/src/__tests__/snapshots/paint/circle.png +0 -0
  382. package/src/__tests__/snapshots/paint/colors.png +0 -0
  383. package/src/__tests__/snapshots/paint/dither.png +0 -0
  384. package/src/__tests__/snapshots/paint/path-paint.png +0 -0
  385. package/src/__tests__/snapshots/paint/without-dither.png +0 -0
  386. package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-android.png +0 -0
  387. package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-ios.png +0 -0
  388. package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-android.png +0 -0
  389. package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-ios.png +0 -0
  390. package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-node.png +0 -0
  391. package/src/__tests__/snapshots/paragraph/paragraph-ellipse-android.png +0 -0
  392. package/src/__tests__/snapshots/paragraph/paragraph-ellipse-ios.png +0 -0
  393. package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-android.png +0 -0
  394. package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-ios.png +0 -0
  395. package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-android.png +0 -0
  396. package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-ios.png +0 -0
  397. package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-android.png +0 -0
  398. package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-ios.png +0 -0
  399. package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-android.png +0 -0
  400. package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-ios.png +0 -0
  401. package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-android.png +0 -0
  402. package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-ios.png +0 -0
  403. package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-android.png +0 -0
  404. package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-ios.png +0 -0
  405. package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-android.png +0 -0
  406. package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-ios.png +0 -0
  407. package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-android.png +0 -0
  408. package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-ios.png +0 -0
  409. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-android.png +0 -0
  410. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-ios.png +0 -0
  411. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android-box.png +0 -0
  412. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android.png +0 -0
  413. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios-box.png +0 -0
  414. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios.png +0 -0
  415. package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-android.png +0 -0
  416. package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-ios.png +0 -0
  417. package/src/__tests__/snapshots/paragraph/simple-paragraph-android.png +0 -0
  418. package/src/__tests__/snapshots/paragraph/simple-paragraph-ios.png +0 -0
  419. package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-android.png +0 -0
  420. package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-ios.png +0 -0
  421. package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-node.png +0 -0
  422. package/src/__tests__/snapshots/path/interpolate.png +0 -0
  423. package/src/__tests__/snapshots/path/logo.png +0 -0
  424. package/src/__tests__/snapshots/path-effects/discrete.png +0 -0
  425. package/src/__tests__/snapshots/path-effects/sum.png +0 -0
  426. package/src/__tests__/snapshots/path-effects/sum2.png +0 -0
  427. package/src/__tests__/snapshots/paths/arc.png +0 -0
  428. package/src/__tests__/snapshots/paths/emptyPath.png +0 -0
  429. package/src/__tests__/snapshots/paths/interpolation1.png +0 -0
  430. package/src/__tests__/snapshots/paths/oval.png +0 -0
  431. package/src/__tests__/snapshots/paths/pattern.png +0 -0
  432. package/src/__tests__/snapshots/paths/poly.png +0 -0
  433. package/src/__tests__/snapshots/paths/rrect.png +0 -0
  434. package/src/__tests__/snapshots/paths/skia-trimmed.png +0 -0
  435. package/src/__tests__/snapshots/paths/skia.png +0 -0
  436. package/src/__tests__/snapshots/pictures/create-picture.png +0 -0
  437. package/src/__tests__/snapshots/pictures/green.png +0 -0
  438. package/src/__tests__/snapshots/pictures/hello-world.png +0 -0
  439. package/src/__tests__/snapshots/pictures/red.png +0 -0
  440. package/src/__tests__/snapshots/pictures/simple-picture.png +0 -0
  441. package/src/__tests__/snapshots/platform-buffer-bgra.png +0 -0
  442. package/src/__tests__/snapshots/platform-buffer.png +0 -0
  443. package/src/__tests__/snapshots/points/points.png +0 -0
  444. package/src/__tests__/snapshots/points/points2.png +0 -0
  445. package/src/__tests__/snapshots/render-nodes/simple.png +0 -0
  446. package/src/__tests__/snapshots/render-nodes/simple2.png +0 -0
  447. package/src/__tests__/snapshots/runtime-effects/blend-color-burn.png +0 -0
  448. package/src/__tests__/snapshots/runtime-effects/blend-color-burn2.png +0 -0
  449. package/src/__tests__/snapshots/runtime-effects/blend-color-burn3.png +0 -0
  450. package/src/__tests__/snapshots/runtime-effects/blend-color-dodge.png +0 -0
  451. package/src/__tests__/snapshots/runtime-effects/blend-multiply.png +0 -0
  452. package/src/__tests__/snapshots/runtime-effects/int-uniform.png +0 -0
  453. package/src/__tests__/snapshots/runtime-effects/linear-gradient.png +0 -0
  454. package/src/__tests__/snapshots/runtime-effects/linear-gradient2.png +0 -0
  455. package/src/__tests__/snapshots/runtime-effects/small-spiral.png +0 -0
  456. package/src/__tests__/snapshots/runtime-effects/spiral.png +0 -0
  457. package/src/__tests__/snapshots/runtime-shader/scaled-circle.png +0 -0
  458. package/src/__tests__/snapshots/runtime-shader/scaled-circle2.png +0 -0
  459. package/src/__tests__/snapshots/runtime-shader/simple.png +0 -0
  460. package/src/__tests__/snapshots/runtime-shader/spiral.png +0 -0
  461. package/src/__tests__/snapshots/runtime-shader/unscaled-image.png +0 -0
  462. package/src/__tests__/snapshots/screens/snapshot1-android-ci.png +0 -0
  463. package/src/__tests__/snapshots/screens/snapshot1-android.png +0 -0
  464. package/src/__tests__/snapshots/screens/snapshot1-ios.png +0 -0
  465. package/src/__tests__/snapshots/screens/snapshot2-android-ci.png +0 -0
  466. package/src/__tests__/snapshots/screens/snapshot2-android.png +0 -0
  467. package/src/__tests__/snapshots/screens/snapshot2-ios.png +0 -0
  468. package/src/__tests__/snapshots/screens/snapshot3-android-ci.png +0 -0
  469. package/src/__tests__/snapshots/screens/snapshot3-android.png +0 -0
  470. package/src/__tests__/snapshots/screens/snapshot3-ios.png +0 -0
  471. package/src/__tests__/snapshots/screens/snapshot4-android-ci.png +0 -0
  472. package/src/__tests__/snapshots/screens/snapshot4-android.png +0 -0
  473. package/src/__tests__/snapshots/screens/snapshot4-ios.png +0 -0
  474. package/src/__tests__/snapshots/screens/snapshot5-android.png +0 -0
  475. package/src/__tests__/snapshots/screens/snapshot5-ios.png +0 -0
  476. package/src/__tests__/snapshots/sdf/circle.png +0 -0
  477. package/src/__tests__/snapshots/sdf/heart.png +0 -0
  478. package/src/__tests__/snapshots/sdf/line.png +0 -0
  479. package/src/__tests__/snapshots/sdf/rectangle.png +0 -0
  480. package/src/__tests__/snapshots/shader/bilinear-interpolation.png +0 -0
  481. package/src/__tests__/snapshots/shader/hue.png +0 -0
  482. package/src/__tests__/snapshots/shader/hue2.png +0 -0
  483. package/src/__tests__/snapshots/shader/shader1.png +0 -0
  484. package/src/__tests__/snapshots/shader/shader2.png +0 -0
  485. package/src/__tests__/snapshots/shader/sweep-gradient.png +0 -0
  486. package/src/__tests__/snapshots/text/text-bounds-android.png +0 -0
  487. package/src/__tests__/snapshots/text/text-bounds-ios.png +0 -0
  488. package/src/__tests__/snapshots/text/text-default-font-android.png +0 -0
  489. package/src/__tests__/snapshots/text/text-default-font-ios.png +0 -0
  490. package/src/__tests__/snapshots/text/text-path-bug-android.png +0 -0
  491. package/src/__tests__/snapshots/text/text-path-bug-ios.png +0 -0
  492. package/src/__tests__/snapshots/text/text-path-bug-node.png +0 -0
  493. package/src/__tests__/snapshots/text/text-path1-android.png +0 -0
  494. package/src/__tests__/snapshots/text/text-path1-ios.png +0 -0
  495. package/src/__tests__/snapshots/text/text-path1-node.png +0 -0
  496. package/src/__tests__/snapshots/text/text-path2-android.png +0 -0
  497. package/src/__tests__/snapshots/text/text-path2-ios.png +0 -0
  498. package/src/__tests__/snapshots/text/text-path2-node.png +0 -0
  499. package/src/__tests__/snapshots/transform/rectangles.png +0 -0
  500. package/src/__tests__/snapshots/transform/rotate-radiants.png +0 -0
  501. package/src/__tests__/snapshots/transform/rotate.png +0 -0
  502. package/src/__tests__/snapshots/transform/scale-origin.png +0 -0
  503. package/src/__tests__/snapshots/transform/scale.png +0 -0
  504. package/src/__tests__/snapshots/transform/skew.png +0 -0
  505. package/src/__tests__/snapshots/transparent.png +0 -0
  506. package/src/__tests__/snapshots/vertices/billinear-gradient.png +0 -0
  507. package/src/__tests__/snapshots/vertices/strip.png +0 -0
  508. package/src/__tests__/snapshots/vertices/vertices.png +0 -0
  509. package/src/dom/__tests__/Compose.spec.tsx +42 -0
  510. package/src/dom/__tests__/Demos.spec.tsx +145 -0
  511. package/src/dom/__tests__/DrawingContext.spec.tsx +99 -0
  512. package/src/dom/__tests__/Drawings.spec.tsx +95 -0
  513. package/src/dom/__tests__/Group.spec.tsx +132 -0
  514. package/src/dom/__tests__/Paint.spec.tsx +100 -0
  515. package/src/dom/__tests__/RenderNodes.spec.tsx +44 -0
  516. package/src/dom/__tests__/Shaders.spec.tsx +123 -0
  517. package/src/renderer/__tests__/Data.spec.tsx +67 -0
  518. package/src/renderer/__tests__/Drawings.spec.tsx +96 -0
  519. package/src/renderer/__tests__/FitBox.spec.tsx +126 -0
  520. package/src/renderer/__tests__/Glyphs.spec.tsx +46 -0
  521. package/src/renderer/__tests__/Image.spec.tsx +45 -0
  522. package/src/renderer/__tests__/Paths.spec.tsx +75 -0
  523. package/src/renderer/__tests__/Picture.spec.tsx +82 -0
  524. package/src/renderer/__tests__/Simple.spec.tsx +81 -0
  525. package/src/renderer/__tests__/SkiaDOM.spec.tsx +46 -0
  526. package/src/renderer/__tests__/Surfaces.spec.tsx +73 -0
  527. package/src/renderer/__tests__/Text.spec.tsx +134 -0
  528. package/src/renderer/__tests__/TouchHandler.spec.tsx +113 -0
  529. package/src/renderer/__tests__/Transform.spec.tsx +72 -0
  530. package/src/renderer/__tests__/documentation/Group.spec.tsx +171 -0
  531. package/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.tsx +51 -0
  532. package/src/renderer/__tests__/documentation/paint/Overview.spec.tsx +84 -0
  533. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +46 -0
  534. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +88 -0
  535. package/src/renderer/__tests__/e2e/Atlas.spec.tsx +358 -0
  536. package/src/renderer/__tests__/e2e/BackdropFilters.spec.tsx +141 -0
  537. package/src/renderer/__tests__/e2e/Blending.spec.tsx +115 -0
  538. package/src/renderer/__tests__/e2e/Blur.spec.tsx +56 -0
  539. package/src/renderer/__tests__/e2e/Box.spec.tsx +83 -0
  540. package/src/renderer/__tests__/e2e/ColorFilters.spec.tsx +212 -0
  541. package/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.tsx +81 -0
  542. package/src/renderer/__tests__/e2e/CoonPatch.spec.tsx +74 -0
  543. package/src/renderer/__tests__/e2e/DataEncoding.spec.tsx +75 -0
  544. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +209 -0
  545. package/src/renderer/__tests__/e2e/FontMgr.spec.tsx +150 -0
  546. package/src/renderer/__tests__/e2e/Gradient.spec.tsx +40 -0
  547. package/src/renderer/__tests__/e2e/Group.spec.tsx +129 -0
  548. package/src/renderer/__tests__/e2e/Image.spec.tsx +139 -0
  549. package/src/renderer/__tests__/e2e/ImageEncoding.spec.tsx +255 -0
  550. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +230 -0
  551. package/src/renderer/__tests__/e2e/Mask.spec.tsx +85 -0
  552. package/src/renderer/__tests__/e2e/Matrix4.spec.tsx +275 -0
  553. package/src/renderer/__tests__/e2e/NativeBuffer.spec.tsx +156 -0
  554. package/src/renderer/__tests__/e2e/Offscreen.spec.tsx +109 -0
  555. package/src/renderer/__tests__/e2e/Opacity.spec.tsx +278 -0
  556. package/src/renderer/__tests__/e2e/Paint.spec.tsx +170 -0
  557. package/src/renderer/__tests__/e2e/ParagraphPaint.spec.tsx +262 -0
  558. package/src/renderer/__tests__/e2e/Paragraphs.spec.tsx +615 -0
  559. package/src/renderer/__tests__/e2e/PathEffects.spec.tsx +73 -0
  560. package/src/renderer/__tests__/e2e/Paths.spec.tsx +390 -0
  561. package/src/renderer/__tests__/e2e/Picture.spec.tsx +134 -0
  562. package/src/renderer/__tests__/e2e/Point.spec.tsx +35 -0
  563. package/src/renderer/__tests__/e2e/Rect.spec.tsx +139 -0
  564. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +324 -0
  565. package/src/renderer/__tests__/e2e/SDF.spec.tsx +148 -0
  566. package/src/renderer/__tests__/e2e/SVG.spec.tsx +191 -0
  567. package/src/renderer/__tests__/e2e/Shader.spec.tsx +260 -0
  568. package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +29 -0
  569. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +17 -0
  570. package/src/renderer/__tests__/e2e/Text.spec.tsx +109 -0
  571. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +45 -0
  572. package/src/renderer/__tests__/e2e/Transforms.spec.tsx +63 -0
  573. package/src/renderer/__tests__/e2e/Vertices.spec.tsx +30 -0
  574. package/src/renderer/__tests__/e2e/Video.ts +69 -0
  575. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +56 -0
  576. package/src/renderer/__tests__/e2e/setup/SVG.ts +27 -0
  577. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +31 -0
  578. package/src/renderer/__tests__/e2e/setup/index.ts +3 -0
  579. package/src/renderer/__tests__/examples/BlendModes.spec.tsx +123 -0
  580. package/src/renderer/__tests__/setup.tsx +489 -0
  581. package/src/skia/__tests__/ColorFilter.spec.ts +67 -0
  582. package/src/skia/__tests__/Data.spec.ts +29 -0
  583. package/src/skia/__tests__/Drawings.spec.ts +119 -0
  584. package/src/skia/__tests__/Enums.spec.ts +114 -0
  585. package/src/skia/__tests__/Geometry.spec.ts +39 -0
  586. package/src/skia/__tests__/ImageFilter.spec.ts +19 -0
  587. package/src/skia/__tests__/Mock.spec.ts +7 -0
  588. package/src/skia/__tests__/Paint.spec.ts +25 -0
  589. package/src/skia/__tests__/Path.spec.ts +386 -0
  590. package/src/skia/__tests__/RuntimeEffect.spec.ts +66 -0
  591. package/src/skia/__tests__/Shader.spec.ts +96 -0
  592. package/src/skia/__tests__/Text.spec.ts +32 -0
  593. package/src/skia/__tests__/Transform.spec.ts +89 -0
  594. package/src/skia/__tests__/Vertices.spec.ts +40 -0
  595. package/src/skia/__tests__/assets/DIN-Medium.ttf +0 -0
  596. package/src/skia/__tests__/assets/NotoColorEmoji.ttf +0 -0
  597. package/src/skia/__tests__/assets/NotoSansSC-Regular.otf +0 -0
  598. package/src/skia/__tests__/assets/Pacifico-Regular.ttf +0 -0
  599. package/src/skia/__tests__/assets/Roboto-BlackItalic.ttf +0 -0
  600. package/src/skia/__tests__/assets/Roboto-Bold.ttf +0 -0
  601. package/src/skia/__tests__/assets/Roboto-Italic.ttf +0 -0
  602. package/src/skia/__tests__/assets/Roboto-Medium.ttf +0 -0
  603. package/src/skia/__tests__/assets/Roboto-Regular.ttf +0 -0
  604. package/src/skia/__tests__/assets/UberMove-Medium_mono.ttf +0 -0
  605. package/src/skia/__tests__/assets/bird.gif +0 -0
  606. package/src/skia/__tests__/assets/box.png +0 -0
  607. package/src/skia/__tests__/assets/box2.png +0 -0
  608. package/src/skia/__tests__/assets/card.png +0 -0
  609. package/src/skia/__tests__/assets/mask.png +0 -0
  610. package/src/skia/__tests__/assets/oslo.jpg +0 -0
  611. package/src/skia/__tests__/assets/product.png +0 -0
  612. package/src/skia/__tests__/assets/skia_logo.png +0 -0
  613. package/src/skia/__tests__/assets/skia_logo_jpeg.jpg +0 -0
  614. package/src/skia/__tests__/assets/tiger.svg +724 -0
  615. package/src/skia/__tests__/assets/zurich.jpg +0 -0
  616. package/src/skia/__tests__/setup.ts +77 -0
@@ -0,0 +1,191 @@
1
+ import fs from "fs";
2
+
3
+ import React from "react";
4
+
5
+ import { checkImage, docPath, itRunsE2eOnly } from "../../../__tests__/setup";
6
+ import { importSkia, surface } from "../setup";
7
+ import {
8
+ Blur,
9
+ ColorMatrix,
10
+ Fill,
11
+ Group,
12
+ ImageSVG,
13
+ OpacityMatrix,
14
+ Paint,
15
+ fitbox,
16
+ } from "../../components";
17
+
18
+ import { SVGAsset } from "./setup";
19
+
20
+ const circle = new SVGAsset(
21
+ `<svg viewBox='0 0 20 20' width="20" height="20" xmlns='http://www.w3.org/2000/svg'>
22
+ <circle cx='10' cy='10' r='10' fill='#00FFFF'/>
23
+ </svg>`,
24
+ 20,
25
+ 20
26
+ );
27
+
28
+ const circleWithText = new SVGAsset(
29
+ `<svg viewBox='0 0 20 20' width="20" height="20" xmlns='http://www.w3.org/2000/svg'>
30
+ <circle cx='10' cy='10' r='10' fill='#00FFFF'/>
31
+ <text x="20" y="35" class="small">My</text>
32
+ </svg>`,
33
+ 20,
34
+ 20
35
+ );
36
+
37
+ const tiger = new SVGAsset(
38
+ fs.readFileSync("src/skia/__tests__/assets/tiger.svg", "utf-8"),
39
+ 800,
40
+ 800
41
+ );
42
+
43
+ const svgWithoutSize = new SVGAsset(
44
+ `<svg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'>
45
+ <circle cx='10' cy='10' r='10' fill='#00FFFF'/>
46
+ </svg>`,
47
+ -1,
48
+ -1
49
+ );
50
+
51
+ describe("Displays SVGs", () => {
52
+ itRunsE2eOnly(
53
+ "should return the with and height of the SVG canvas",
54
+ async () => {
55
+ const [width, height] = await surface.eval((Skia) => {
56
+ const svg = Skia.SVG
57
+ .MakeFromString(`<svg viewBox='0 0 20 20' width="20" height="20" xmlns='http://www.w3.org/2000/svg'>
58
+ <circle cx='10' cy='10' r='10' fill='#00ffff'/>
59
+ </svg>`)!;
60
+ return [svg.width(), svg.height()];
61
+ });
62
+ expect(width).toBe(20);
63
+ expect(height).toBe(20);
64
+ }
65
+ );
66
+ itRunsE2eOnly("should render the SVG scaled properly", async () => {
67
+ const { rect } = importSkia();
68
+ const { width, height } = surface;
69
+ const src = rect(0, 0, circle.width(), circle.height());
70
+ const dst = rect(0, 0, width, height);
71
+ const image = await surface.draw(
72
+ <>
73
+ <Fill color="white" />
74
+ <Group transform={fitbox("contain", src, dst)}>
75
+ <ImageSVG svg={circle} />
76
+ </Group>
77
+ </>
78
+ );
79
+ checkImage(image, docPath("svg.png"));
80
+ });
81
+
82
+ itRunsE2eOnly("should set the SVG base layer", async () => {
83
+ const { width, height } = surface;
84
+ const image = await surface.draw(
85
+ <>
86
+ <Fill color="white" />
87
+ <ImageSVG svg={svgWithoutSize} width={width} height={height} />
88
+ </>
89
+ );
90
+ checkImage(image, docPath("svg.png"));
91
+ });
92
+
93
+ itRunsE2eOnly("should set the SVG base layer", async () => {
94
+ const { width, height } = surface;
95
+ const image = await surface.draw(
96
+ <>
97
+ <Fill color="white" />
98
+ <ImageSVG
99
+ svg={svgWithoutSize}
100
+ x={width / 2}
101
+ y={height / 2}
102
+ width={width / 2}
103
+ height={height / 2}
104
+ />
105
+ </>
106
+ );
107
+ checkImage(image, docPath("svg2.png"));
108
+ });
109
+
110
+ itRunsE2eOnly(
111
+ "should set the SVG base layer using the rect prop",
112
+ async () => {
113
+ const { Skia } = importSkia();
114
+ const { width, height } = surface;
115
+ const image = await surface.draw(
116
+ <>
117
+ <Fill color="white" />
118
+ <ImageSVG
119
+ svg={svgWithoutSize}
120
+ rect={Skia.XYWHRect(width / 2, height / 2, width / 2, height / 2)}
121
+ />
122
+ </>
123
+ );
124
+ checkImage(image, docPath("svg2.png"));
125
+ }
126
+ );
127
+
128
+ itRunsE2eOnly("should apply an image filter to the svg", async () => {
129
+ const { rect } = importSkia();
130
+ const { width, height } = surface;
131
+
132
+ const src = rect(0, 0, tiger.width(), tiger.height());
133
+ const dst = rect(0, 0, width, height);
134
+ const image = await surface.draw(
135
+ <>
136
+ <Fill color="white" />
137
+ <Group
138
+ transform={fitbox("contain", src, dst)}
139
+ layer={
140
+ <Paint>
141
+ <Blur blur={10} />
142
+ </Paint>
143
+ }
144
+ >
145
+ <ImageSVG svg={tiger} x={0} y={0} width={800} height={800} />
146
+ </Group>
147
+ </>
148
+ );
149
+ checkImage(image, docPath("blurred-tiger.png"));
150
+ });
151
+
152
+ itRunsE2eOnly("should apply an opacity filter to the svg", async () => {
153
+ const { rect } = importSkia();
154
+ const { width, height } = surface;
155
+
156
+ const src = rect(0, 0, tiger.width(), tiger.height());
157
+ const dst = rect(0, 0, width, height);
158
+ const image = await surface.draw(
159
+ <>
160
+ <Fill color="white" />
161
+ <Group
162
+ transform={fitbox("contain", src, dst)}
163
+ layer={
164
+ <Paint>
165
+ <ColorMatrix matrix={OpacityMatrix(0.5)} />
166
+ </Paint>
167
+ }
168
+ >
169
+ <ImageSVG svg={tiger} x={0} y={0} width={800} height={800} />
170
+ </Group>
171
+ </>
172
+ );
173
+ checkImage(image, docPath("opacity-tiger.png"));
174
+ });
175
+
176
+ itRunsE2eOnly("text shouldn't crash on iOS", async () => {
177
+ const { rect } = importSkia();
178
+ const { width, height } = surface;
179
+ const src = rect(0, 0, circle.width(), circle.height());
180
+ const dst = rect(0, 0, width, height);
181
+ const image = await surface.draw(
182
+ <>
183
+ <Fill color="white" />
184
+ <Group transform={fitbox("contain", src, dst)}>
185
+ <ImageSVG svg={circleWithText} />
186
+ </Group>
187
+ </>
188
+ );
189
+ checkImage(image, docPath("svg.png"));
190
+ });
191
+ });
@@ -0,0 +1,260 @@
1
+ import React from "react";
2
+
3
+ import { checkImage, docPath } from "../../../__tests__/setup";
4
+ import {
5
+ Fill,
6
+ Group,
7
+ LinearGradient,
8
+ ShaderLib,
9
+ Shader,
10
+ ColorShader,
11
+ } from "../../components";
12
+ import { images, importSkia, surface } from "../setup";
13
+ import { ImageShader } from "../../components/image/ImageShader";
14
+
15
+ const bilinearInterpolation = `
16
+ uniform vec4 position;
17
+ uniform vec4 colors[4];
18
+
19
+ vec4 main(vec2 pos) {
20
+ vec2 uv = (pos - vec2(position.x, position.y))/vec2(position.z, position.w);
21
+ vec4 colorA = mix(colors[0], colors[1], uv.x);
22
+ vec4 colorB = mix(colors[2], colors[3], uv.x);
23
+ return mix(colorA, colorB, uv.y);
24
+ }`;
25
+
26
+ const hue = `
27
+ uniform float2 c;
28
+ uniform float r;
29
+
30
+ ${ShaderLib.Math}
31
+ ${ShaderLib.Colors}
32
+
33
+ float quadraticIn(float t) {
34
+ return t * t;
35
+ }
36
+
37
+ half4 main(vec2 uv) {
38
+ float mag = distance(uv, c);
39
+ float theta = normalizeRad(canvas2Polar(uv, c).x);
40
+ if (mag > r) {
41
+ return vec4(0.0, 0.0, 0.0, 1.0);
42
+ }
43
+ return hsv2rgb(vec3(theta/TAU, quadraticIn(mag/r), 1.0));
44
+ }`;
45
+
46
+ const spiral = `
47
+ uniform float scale;
48
+ uniform float2 center;
49
+ uniform float4 colors[2];
50
+ half4 main(float2 p) {
51
+ float2 pp = p - center;
52
+ float radius = sqrt(dot(pp, pp));
53
+ radius = sqrt(radius);
54
+ float angle = atan(pp.y / pp.x);
55
+ float t = (angle + 3.1415926/2) / (3.1415926);
56
+ t += radius * scale;
57
+ t = fract(t);
58
+ return half4(mix(colors[0], colors[1], t));
59
+ }`;
60
+
61
+ describe("Test Shader component", () => {
62
+ it("should cast int to a float properly", async () => {
63
+ const { Skia } = importSkia();
64
+ const source = Skia.RuntimeEffect.Make(`
65
+ uniform int opacity;
66
+
67
+ half4 main(float2 p) {
68
+ return vec4(0.33, 0.66, 1.0, float(opacity)/255.0);
69
+ }
70
+ `)!;
71
+ expect(source).toBeTruthy();
72
+ const img = await surface.draw(
73
+ <>
74
+ <Fill color="white" />
75
+ <Group>
76
+ <Shader
77
+ source={source}
78
+ uniforms={{
79
+ opacity: 128,
80
+ }}
81
+ />
82
+ <Fill />
83
+ </Group>
84
+ </>
85
+ );
86
+ checkImage(img, "snapshots/runtime-effects/int-uniform.png");
87
+ });
88
+ it("should display a green and red spiral", async () => {
89
+ const { width, height } = surface;
90
+ const { Skia } = importSkia();
91
+ const source = Skia.RuntimeEffect.Make(spiral)!;
92
+ expect(source).toBeTruthy();
93
+ const img = await surface.draw(
94
+ <>
95
+ <Group>
96
+ <Shader
97
+ source={source}
98
+ uniforms={{
99
+ scale: 0.6,
100
+ center: { x: width / 2, y: height / 2 },
101
+ colors: [
102
+ [1, 0, 0, 1], // red
103
+ [0, 1, 0, 1], // green
104
+ ],
105
+ }}
106
+ />
107
+ <Fill />
108
+ </Group>
109
+ </>
110
+ );
111
+ checkImage(img, "snapshots/runtime-effects/spiral.png");
112
+ });
113
+
114
+ it("should flatten shader uniforms", async () => {
115
+ const { width, height } = surface;
116
+ const { Skia } = importSkia();
117
+ const source = Skia.RuntimeEffect.Make(bilinearInterpolation)!;
118
+ expect(source).toBeTruthy();
119
+ const img = await surface.draw(
120
+ <Group>
121
+ <Shader
122
+ source={source}
123
+ uniforms={{
124
+ position: [0, 0, width, height],
125
+ colors: ["#dafb61", "#61DAFB", "#fb61da", "#61fbcf"].map(
126
+ Skia.Color
127
+ ),
128
+ }}
129
+ />
130
+ <Fill />
131
+ </Group>
132
+ );
133
+ checkImage(img, "snapshots/shader/bilinear-interpolation.png");
134
+ });
135
+
136
+ it("should display a hue wheel", async () => {
137
+ const { width, height } = surface;
138
+ const { Skia } = importSkia();
139
+ const source = Skia.RuntimeEffect.Make(hue)!;
140
+ expect(source).toBeTruthy();
141
+ const img = await surface.draw(
142
+ <Group>
143
+ <Shader
144
+ source={source}
145
+ uniforms={{
146
+ c: { x: width / 2, y: height / 2 },
147
+ r: width / 2,
148
+ }}
149
+ />
150
+ <Fill />
151
+ </Group>
152
+ );
153
+ checkImage(img, "snapshots/shader/hue.png");
154
+ });
155
+
156
+ it("should display a hue wheel with transform", async () => {
157
+ const { width, height } = surface;
158
+ const { Skia, vec } = importSkia();
159
+ const source = Skia.RuntimeEffect.Make(hue)!;
160
+ expect(source).toBeTruthy();
161
+ const img = await surface.draw(
162
+ <Group>
163
+ <Shader
164
+ source={source}
165
+ uniforms={{
166
+ c: { x: width / 2, y: height / 2 },
167
+ r: width / 2,
168
+ }}
169
+ origin={vec(width / 2, height / 2)}
170
+ transform={[{ scale: 2 }]}
171
+ />
172
+ <Fill />
173
+ </Group>
174
+ );
175
+ checkImage(img, "snapshots/shader/hue2.png");
176
+ });
177
+
178
+ it("should display a linear gradient", async () => {
179
+ const { width, height } = surface;
180
+ const img = await surface.draw(
181
+ <Group>
182
+ <LinearGradient
183
+ colors={["cyan", "magenta", "yellow"]}
184
+ start={{ x: 0, y: 0 }}
185
+ end={{ x: width, y: height }}
186
+ />
187
+ <Fill />
188
+ </Group>
189
+ );
190
+ checkImage(img, "snapshots/runtime-effects/linear-gradient.png");
191
+ });
192
+
193
+ it("should display a linear gradient with transform", async () => {
194
+ const { vec } = importSkia();
195
+ const { width, height } = surface;
196
+ const img = await surface.draw(
197
+ <Group>
198
+ <LinearGradient
199
+ colors={["cyan", "magenta", "yellow"]}
200
+ start={{ x: 0, y: 0 }}
201
+ end={{ x: width, y: height }}
202
+ origin={vec(width / 2, height / 2)}
203
+ transform={[{ scale: 2 }]}
204
+ />
205
+ <Fill />
206
+ </Group>
207
+ );
208
+ checkImage(img, "snapshots/runtime-effects/linear-gradient2.png");
209
+ });
210
+
211
+ it("should display a color", async () => {
212
+ const img = await surface.draw(
213
+ <Fill>
214
+ <ColorShader color="lightblue" />
215
+ </Fill>
216
+ );
217
+ checkImage(img, docPath("shaders/color.png"));
218
+ });
219
+
220
+ it("should display an image and respect the transform", async () => {
221
+ const { oslo } = images;
222
+ const { width, height } = surface;
223
+ const { vec } = importSkia();
224
+
225
+ const img = await surface.draw(
226
+ <Fill>
227
+ <ImageShader
228
+ image={oslo}
229
+ x={0}
230
+ y={0}
231
+ width={width}
232
+ height={height}
233
+ fit="cover"
234
+ transform={[{ scale: 2 }]}
235
+ origin={vec(width / 2, height / 2)}
236
+ />
237
+ </Fill>
238
+ );
239
+ checkImage(img, docPath("shaders/image-with-transform.png"));
240
+ });
241
+
242
+ it("should display a lightblue color", async () => {
243
+ const { Skia } = importSkia();
244
+ const colorSelection = Skia.RuntimeEffect.Make(`uniform shader child1;
245
+ uniform shader child2;
246
+
247
+ vec4 main(vec2 pos) {
248
+ return child1.eval(pos);
249
+ }`)!;
250
+ const img = await surface.draw(
251
+ <Fill>
252
+ <Shader source={colorSelection}>
253
+ <ColorShader color="lightblue" />
254
+ <ColorShader color="red" />
255
+ </Shader>
256
+ </Fill>
257
+ );
258
+ checkImage(img, docPath("shaders/color.png"));
259
+ });
260
+ });
@@ -0,0 +1,29 @@
1
+ import { CI, checkImage, itRunsE2eOnly } from "../../../__tests__/setup";
2
+ import { surface } from "../setup";
3
+
4
+ const testSnapshot = async (name: string, maxPixelDiff = 200) => {
5
+ const img = await surface.screen(name);
6
+ checkImage(img, output(name.toLowerCase()), { maxPixelDiff });
7
+ };
8
+
9
+ const output = (name: string) =>
10
+ `snapshots/screens/${name}-${surface.OS}${CI ? "-ci" : ""}.png`;
11
+
12
+ describe("Snapshot", () => {
13
+ itRunsE2eOnly("should capture a simple snapshot", async () => {
14
+ await testSnapshot("Snapshot1");
15
+ });
16
+ itRunsE2eOnly("should capture a somewhat complex snapshot", async () => {
17
+ // text spacing on the fabric example app is slightly different
18
+ await testSnapshot("Snapshot2", 4000);
19
+ });
20
+ itRunsE2eOnly("should respect overflow: hidden", async () => {
21
+ await testSnapshot("Snapshot3");
22
+ });
23
+ itRunsE2eOnly("should respect overflow: hidden", async () => {
24
+ await testSnapshot("Snapshot4");
25
+ });
26
+ // itRunsE2eOnly("should respect ScrollView offset and padding", async () => {
27
+ // await testSnapshot("Snapshot5");
28
+ // });
29
+ });
@@ -0,0 +1,17 @@
1
+ import { surface } from "../setup";
2
+
3
+ describe("Surfaces", () => {
4
+ it("surface has width and height", async () => {
5
+ const result = await surface.eval((Skia) => {
6
+ const surface1 = Skia.Surface.Make(1920, 1080)!;
7
+ const surface2 = Skia.Surface.MakeOffscreen(1920, 1080)!;
8
+ return [
9
+ surface1.width(),
10
+ surface1.height(),
11
+ surface2.width(),
12
+ surface2.height(),
13
+ ];
14
+ });
15
+ expect(result).toEqual([1920, 1080, 1920, 1080]);
16
+ });
17
+ });
@@ -0,0 +1,109 @@
1
+ import React from "react";
2
+
3
+ import {
4
+ checkImage,
5
+ itRunsCIAndNodeOnly,
6
+ itRunsE2eOnly,
7
+ } from "../../../__tests__/setup";
8
+ import { Fill, Group, Rect, Text, TextPath } from "../../components";
9
+ import { fonts, importSkia, surface } from "../setup";
10
+
11
+ describe("Text", () => {
12
+ // The NotoColorEmoji font is not supported on iOS
13
+ itRunsCIAndNodeOnly("Glyph emojis", async () => {
14
+ const font = fonts.NotoColorEmoji;
15
+ const result = await surface.eval(
16
+ (_Skia, ctx) => {
17
+ return ctx.font.getGlyphIDs("😉😍");
18
+ },
19
+ { font }
20
+ );
21
+ expect(result).toEqual([892, 896]);
22
+ });
23
+ it("Should calculate chinese text width correctly", async () => {
24
+ const font = fonts.NotoSansSCRegular;
25
+ const result = await surface.eval(
26
+ (_Skia, ctx) => {
27
+ return ctx.font.getTextWidth("欢迎");
28
+ },
29
+ { font }
30
+ );
31
+ expect(result).toBe(64);
32
+ });
33
+ itRunsE2eOnly("Should calculate text width correctly", async () => {
34
+ const font = fonts.DinMedium;
35
+ const result = await surface.eval(
36
+ (_Skia, ctx) => {
37
+ return ctx.font.measureText(
38
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do"
39
+ ).width;
40
+ },
41
+ { font }
42
+ );
43
+ expect(result).toBeLessThan(1000);
44
+ });
45
+
46
+ itRunsE2eOnly("should draw the text bound measure correctly", async () => {
47
+ const font = fonts.DinMedium;
48
+ const bounds = await surface.eval(
49
+ (_Skia, ctx) => {
50
+ return ctx.font.measureText("Lorem ipsum");
51
+ },
52
+ { font }
53
+ );
54
+ const image = await surface.draw(
55
+ <>
56
+ <Fill color="white" />
57
+ <Group>
58
+ <Rect
59
+ color="orange"
60
+ x={bounds.x + 0}
61
+ y={bounds.y + 64}
62
+ width={bounds.width}
63
+ height={bounds.height}
64
+ />
65
+ <Text x={0} y={64} text="Lorem ipsum" font={font} />
66
+ </Group>
67
+ </>
68
+ );
69
+ checkImage(image, `snapshots/text/text-bounds-${surface.OS}.png`);
70
+ });
71
+
72
+ it("Should draw text along a circle", async () => {
73
+ const font = fonts.RobotoMedium;
74
+ const { Skia } = importSkia();
75
+ const path = Skia.Path.Make();
76
+ const r = surface.width / 2;
77
+ path.addCircle(r, r, r / 2);
78
+ const image = await surface.draw(
79
+ <>
80
+ <Fill color="white" />
81
+ <Group transform={[{ rotate: Math.PI }]} origin={Skia.Point(r, r)}>
82
+ <TextPath font={font} path={path} text="Hello World!" />
83
+ </Group>
84
+ </>
85
+ );
86
+ checkImage(image, `snapshots/text/text-path1-${surface.OS}.png`);
87
+ });
88
+
89
+ it("Should draw text along a path", async () => {
90
+ const font = fonts.NotoSansSCRegular;
91
+ const { Skia } = importSkia();
92
+ const path = Skia.Path.Make();
93
+ const r = surface.width / 2;
94
+ path.addCircle(r, r, r / 2);
95
+ const image = await surface.draw(
96
+ <>
97
+ <Fill color="white" />
98
+ <Group>
99
+ <TextPath
100
+ font={font}
101
+ path="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50"
102
+ text="Quick brown fox jumps over the lazy dog."
103
+ />
104
+ </Group>
105
+ </>
106
+ );
107
+ checkImage(image, `snapshots/text/text-path2-${surface.OS}.png`);
108
+ });
109
+ });
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+
3
+ import { checkImage } from "../../../__tests__/setup";
4
+ import { Fill, Group, TextPath, fitbox } from "../../components";
5
+ import { fonts, importSkia, surface } from "../setup";
6
+
7
+ describe("Text Paths", () => {
8
+ // The NotoColorEmoji font is not supported on iOS
9
+ it("Should draw text along a path", async () => {
10
+ const { Skia, rect, processTransform2d } = importSkia();
11
+ const circlePath = Skia.Path.MakeFromSVGString(
12
+ // eslint-disable-next-line max-len
13
+ "M332 172Q332 175.928 331.807 179.851Q331.615 183.774 331.23 187.683Q330.845 191.592 330.268 195.477Q329.692 199.362 328.926 203.214Q328.159 207.067 327.205 210.877Q326.251 214.687 325.11 218.446Q323.97 222.204 322.647 225.902Q321.324 229.601 319.821 233.229Q318.318 236.858 316.638 240.409Q314.959 243.959 313.107 247.423Q311.256 250.887 309.237 254.256Q307.217 257.625 305.035 260.891Q302.853 264.157 300.513 267.312Q298.173 270.467 295.682 273.503Q293.19 276.539 290.552 279.449Q287.914 282.36 285.137 285.137Q282.36 287.914 279.449 290.552Q276.539 293.19 273.503 295.682Q270.467 298.173 267.312 300.513Q264.157 302.853 260.891 305.035Q257.625 307.217 254.256 309.237Q250.887 311.256 247.423 313.107Q243.959 314.959 240.409 316.638Q236.858 318.318 233.229 319.821Q229.601 321.324 225.902 322.647Q222.204 323.97 218.446 325.11Q214.687 326.251 210.877 327.205Q207.067 328.159 203.214 328.926Q199.362 329.692 195.477 330.268Q191.592 330.845 187.683 331.23Q183.774 331.615 179.851 331.807Q175.928 332 172 332Q168.072 332 164.149 331.807Q160.226 331.615 156.317 331.23Q152.408 330.845 148.523 330.268Q144.638 329.692 140.786 328.926Q136.933 328.159 133.123 327.205Q129.313 326.251 125.554 325.11Q121.796 323.97 118.098 322.647Q114.399 321.324 110.771 319.821Q107.142 318.318 103.591 316.638Q100.041 314.959 96.5765 313.107Q93.1125 311.256 89.7435 309.237Q86.3746 307.217 83.1087 305.035Q79.8429 302.853 76.6881 300.513Q73.5333 298.173 70.4971 295.682Q67.4609 293.19 64.5506 290.552Q61.6403 287.914 58.8629 285.137Q56.0855 282.36 53.4478 279.449Q50.8101 276.539 48.3183 273.503Q45.8266 270.467 43.4868 267.312Q41.147 264.157 38.9649 260.891Q36.7827 257.625 34.7634 254.256Q32.7441 250.887 30.8926 247.423Q29.0411 243.959 27.3617 240.409Q25.6824 236.858 24.1793 233.229Q22.6762 229.601 21.3529 225.902Q20.0297 222.204 18.8895 218.446Q17.7494 214.687 16.795 210.877Q15.8406 207.067 15.0744 203.214Q14.3081 199.362 13.7318 195.477Q13.1554 191.592 12.7704 187.683Q12.3855 183.774 12.1927 179.851Q12 175.928 12 172Q12 168.072 12.1927 164.149Q12.3855 160.226 12.7704 156.317Q13.1554 152.408 13.7318 148.523Q14.3081 144.638 15.0744 140.786Q15.8406 136.933 16.795 133.123Q17.7494 129.313 18.8895 125.554Q20.0297 121.796 21.3529 118.098Q22.6762 114.399 24.1793 110.771Q25.6824 107.142 27.3617 103.591Q29.0411 100.041 30.8926 96.5765Q32.7441 93.1125 34.7634 89.7435Q36.7827 86.3746 38.9649 83.1087Q41.147 79.8429 43.4868 76.6881Q45.8266 73.5333 48.3183 70.4971Q50.8101 67.4609 53.4478 64.5506Q56.0855 61.6403 58.8629 58.8629Q61.6403 56.0855 64.5506 53.4478Q67.4609 50.8101 70.4971 48.3183Q73.5333 45.8266 76.6881 43.4868Q79.8429 41.147 83.1087 38.9649Q86.3746 36.7827 89.7435 34.7634Q93.1125 32.7441 96.5765 30.8926Q100.041 29.0411 103.591 27.3617Q107.142 25.6824 110.771 24.1793Q114.399 22.6762 118.098 21.3529Q121.796 20.0297 125.554 18.8895Q129.313 17.7494 133.123 16.795Q136.933 15.8406 140.786 15.0744Q144.638 14.3081 148.523 13.7318Q152.408 13.1554 156.317 12.7704Q160.226 12.3855 164.149 12.1927Q168.072 12 172 12Q175.928 12 179.851 12.1927Q183.774 12.3855 187.683 12.7704Q191.592 13.1554 195.477 13.7318Q199.362 14.3081 203.214 15.0744Q207.067 15.8406 210.877 16.795Q214.687 17.7494 218.446 18.8895Q222.204 20.0297 225.902 21.3529Q229.601 22.6762 233.229 24.1793Q236.858 25.6824 240.409 27.3617Q243.959 29.0411 247.423 30.8926Q250.887 32.7441 254.256 34.7634Q257.625 36.7827 260.891 38.9649Q264.157 41.147 267.312 43.4868Q270.467 45.8266 273.503 48.3183Q276.539 50.8101 279.449 53.4478Q282.36 56.0855 285.137 58.8629Q287.914 61.6403 290.552 64.5506Q293.19 67.4609 295.682 70.4971Q298.173 73.5333 300.513 76.6881Q302.853 79.8429 305.035 83.1087Q307.217 86.3746 309.237 89.7435Q311.256 93.1125 313.107 96.5765Q314.959 100.041 316.638 103.591Q318.318 107.142 319.821 110.771Q321.324 114.399 322.647 118.098Q323.97 121.796 325.11 125.554Q326.251 129.313 327.205 133.123Q328.159 136.933 328.926 140.786Q329.692 144.638 330.268 148.523Q330.845 152.408 331.23 156.317Q331.615 160.226 331.807 164.149Q332 168.072 332 172Z"
14
+ )!;
15
+
16
+ const reversedPath = Skia.Path.MakeFromSVGString(
17
+ // eslint-disable-next-line max-len
18
+ "M 344 172 Q 344 167.778 343.793 163.56 Q 343.586 159.343 343.172 155.141 Q 342.758 150.939 342.138 146.762 Q 341.519 142.586 340.695 138.444 Q 339.871 134.303 338.845 130.207 Q 337.819 126.112 336.594 122.071 Q 335.368 118.03 333.946 114.055 Q 332.523 110.079 330.907 106.178 Q 329.291 102.277 327.486 98.4605 Q 325.681 94.6435 323.69 90.9198 Q 321.7 87.196 319.529 83.5743 Q 317.359 79.9527 315.013 76.4419 Q 312.667 72.9311 310.152 69.5397 Q 307.636 66.1483 304.958 62.8844 Q 302.279 59.6204 299.444 56.4919 Q 296.608 53.3633 293.622 50.3776 Q 290.637 47.392 287.508 44.5564 Q 284.38 41.7208 281.116 39.0422 Q 277.852 36.3636 274.46 33.8483 Q 271.069 31.333 267.558 28.9872 Q 264.047 26.6414 260.426 24.4707 Q 256.804 22.2999 253.08 20.3095 Q 249.356 18.3191 245.539 16.5138 Q 241.722 14.7085 237.822 13.0927 Q 233.921 11.4769 229.945 10.0544 Q 225.969 8.63195 221.929 7.40626 Q 217.888 6.18057 213.793 5.15462 Q 209.697 4.12867 205.556 3.30493 Q 201.414 2.48119 197.238 1.86164 Q 193.061 1.24209 188.859 0.828227 Q 184.657 0.414363 180.44 0.207182 Q 176.222 0 172 0 Q 167.778 0 163.56 0.207182 Q 159.343 0.414363 155.141 0.828227 Q 150.939 1.24209 146.762 1.86164 Q 142.586 2.48119 138.444 3.30493 Q 134.303 4.12867 130.207 5.15462 Q 126.112 6.18057 122.071 7.40626 Q 118.03 8.63195 114.055 10.0544 Q 110.079 11.4769 106.178 13.0927 Q 102.277 14.7085 98.4605 16.5138 Q 94.6435 18.3191 90.9198 20.3095 Q 87.196 22.2999 83.5743 24.4707 Q 79.9527 26.6414 76.4419 28.9872 Q 72.9311 31.333 69.5397 33.8483 Q 66.1483 36.3636 62.8844 39.0422 Q 59.6204 41.7208 56.4919 44.5564 Q 53.3633 47.392 50.3776 50.3776 Q 47.392 53.3633 44.5564 56.4919 Q 41.7208 59.6204 39.0422 62.8844 Q 36.3636 66.1483 33.8483 69.5397 Q 31.333 72.9311 28.9872 76.4419 Q 26.6414 79.9527 24.4707 83.5743 Q 22.2999 87.196 20.3095 90.9198 Q 18.3191 94.6435 16.5138 98.4605 Q 14.7085 102.277 13.0927 106.178 Q 11.4769 110.079 10.0544 114.055 Q 8.63195 118.03 7.40626 122.071 Q 6.18057 126.112 5.15462 130.207 Q 4.12867 134.303 3.30493 138.444 Q 2.48119 142.586 1.86164 146.762 Q 1.24209 150.939 0.828227 155.141 Q 0.414363 159.343 0.207182 163.56 Q 0 167.778 0 172 Q 0 176.222 0.207182 180.44 Q 0.414363 184.657 0.828227 188.859 Q 1.24209 193.061 1.86164 197.238 Q 2.48119 201.414 3.30493 205.556 Q 4.12867 209.697 5.15462 213.793 Q 6.18057 217.888 7.40626 221.929 Q 8.63195 225.969 10.0544 229.945 Q 11.4769 233.921 13.0927 237.822 Q 14.7085 241.722 16.5138 245.539 Q 18.3191 249.356 20.3095 253.08 Q 22.2999 256.804 24.4707 260.426 Q 26.6414 264.047 28.9872 267.558 Q 31.333 271.069 33.8483 274.46 Q 36.3636 277.852 39.0422 281.116 Q 41.7208 284.38 44.5564 287.508 Q 47.392 290.637 50.3776 293.622 Q 53.3633 296.608 56.4919 299.444 Q 59.6204 302.279 62.8844 304.958 Q 66.1483 307.636 69.5397 310.152 Q 72.9311 312.667 76.4419 315.013 Q 79.9527 317.359 83.5743 319.529 Q 87.196 321.7 90.9198 323.69 Q 94.6435 325.681 98.4605 327.486 Q 102.277 329.291 106.178 330.907 Q 110.079 332.523 114.055 333.946 Q 118.03 335.368 122.071 336.594 Q 126.112 337.819 130.207 338.845 Q 134.303 339.871 138.444 340.695 Q 142.586 341.519 146.762 342.138 Q 150.939 342.758 155.141 343.172 Q 159.343 343.586 163.56 343.793 Q 167.778 344 172 344 Q 176.222 344 180.44 343.793 Q 184.657 343.586 188.859 343.172 Q 193.061 342.758 197.238 342.138 Q 201.414 341.519 205.556 340.695 Q 209.697 339.871 213.793 338.845 Q 217.888 337.819 221.929 336.594 Q 225.969 335.368 229.945 333.946 Q 233.921 332.523 237.822 330.907 Q 241.722 329.291 245.539 327.486 Q 249.356 325.681 253.08 323.69 Q 256.804 321.7 260.426 319.529 Q 264.047 317.359 267.558 315.013 Q 271.069 312.667 274.46 310.152 Q 277.852 307.636 281.116 304.958 Q 284.38 302.279 287.508 299.444 Q 290.637 296.608 293.622 293.622 Q 296.608 290.637 299.444 287.508 Q 302.279 284.38 304.958 281.116 Q 307.636 277.852 310.152 274.46 Q 312.667 271.069 315.013 267.558 Q 317.359 264.047 319.529 260.426 Q 321.7 256.804 323.69 253.08 Q 325.681 249.356 327.486 245.539 Q 329.291 241.722 330.907 237.822 Q 332.523 233.921 333.946 229.945 Q 335.368 225.969 336.594 221.929 Q 337.819 217.888 338.845 213.793 Q 339.871 209.697 340.695 205.556 Q 341.519 201.414 342.138 197.238 Q 342.758 193.061 343.172 188.859 Q 343.586 184.657 343.793 180.44 Q 344 176.222 344 172 Z"
19
+ )!;
20
+ const font = fonts.UberMoveMediumMono;
21
+ const dst = rect(16, 16, surface.width - 32, surface.height - 32);
22
+ circlePath.transform(
23
+ processTransform2d(
24
+ fitbox("contain", circlePath.computeTightBounds(), dst)
25
+ )
26
+ );
27
+ reversedPath.transform(
28
+ processTransform2d(
29
+ fitbox("contain", reversedPath.computeTightBounds(), dst)
30
+ )
31
+ );
32
+ const image = await surface.draw(
33
+ <>
34
+ <Fill color="white" />
35
+ <Group>
36
+ <TextPath font={font} path={circlePath} text="5 Kts" />
37
+ </Group>
38
+ <Group>
39
+ <TextPath font={font} path={reversedPath} text="5 Kts" />
40
+ </Group>
41
+ </>
42
+ );
43
+ checkImage(image, `snapshots/text/text-path-bug-${surface.OS}.png`);
44
+ });
45
+ });