@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,615 @@
1
+ import { resolveFile, surface } from "../setup";
2
+ import { checkImage, docPath, itRunsE2eOnly } from "../../../__tests__/setup";
3
+ import {
4
+ FontStyle,
5
+ TextAlign,
6
+ TextDirection,
7
+ TextDecoration,
8
+ } from "../../../skia/types";
9
+
10
+ const Pacifico = Array.from(
11
+ resolveFile("skia/__tests__/assets/Pacifico-Regular.ttf")
12
+ );
13
+
14
+ const RobotoMedium = Array.from(
15
+ resolveFile("skia/__tests__/assets/Roboto-Medium.ttf")
16
+ );
17
+
18
+ const RobotoRegular = Array.from(
19
+ resolveFile("skia/__tests__/assets/Roboto-Regular.ttf")
20
+ );
21
+
22
+ const RobotoBold = Array.from(
23
+ resolveFile("skia/__tests__/assets/Roboto-Bold.ttf")
24
+ );
25
+
26
+ const RobotoItalic = Array.from(
27
+ resolveFile("skia/__tests__/assets/Roboto-Italic.ttf")
28
+ );
29
+
30
+ const Noto = Array.from(
31
+ resolveFile("skia/__tests__/assets/NotoColorEmoji.ttf")
32
+ );
33
+
34
+ describe("Paragraphs", () => {
35
+ it("Should build the first example from the documentation", async () => {
36
+ const img = await surface.drawOffscreen(
37
+ (Skia, canvas, ctx) => {
38
+ const robotoMedium = Skia.Typeface.MakeFreeTypeFaceFromData(
39
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoMedium))
40
+ )!;
41
+ const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
42
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
43
+ )!;
44
+ const provider = Skia.TypefaceFontProvider.Make();
45
+ provider.registerFont(robotoMedium, "Roboto");
46
+ provider.registerFont(robotoRegular, "Roboto");
47
+ if (ctx.OS === "node") {
48
+ const noto = Skia.Typeface.MakeFreeTypeFaceFromData(
49
+ Skia.Data.fromBytes(new Uint8Array(ctx.Noto))
50
+ )!;
51
+ provider.registerFont(noto, "Noto");
52
+ }
53
+ const textStyle = {
54
+ color: Skia.Color("black"),
55
+ fontFamilies: ["Roboto", "Noto"],
56
+ fontSize: 50,
57
+ };
58
+ const para = Skia.ParagraphBuilder.Make(
59
+ {
60
+ textAlign: ctx.textAlign,
61
+ },
62
+ provider
63
+ )
64
+ .pushStyle(textStyle)
65
+ .addText("Say Hello to ")
66
+ .pushStyle({ ...textStyle, fontStyle: { weight: 500 } })
67
+ .addText("Skia 🎨")
68
+ .pop()
69
+ .build();
70
+ para.layout(ctx.width);
71
+ para.paint(canvas, 0, 0);
72
+ },
73
+ {
74
+ RobotoRegular,
75
+ RobotoMedium,
76
+ Noto: surface.OS === "node" ? Noto : [],
77
+ OS: surface.OS,
78
+ textAlign: TextAlign.Center,
79
+ width: surface.width,
80
+ }
81
+ );
82
+ checkImage(img, docPath(`paragraph/hello-world-${surface.OS}.png`), {
83
+ // In CI, the emoji font is different
84
+ maxPixelDiff: 15000,
85
+ });
86
+ });
87
+ it("Should build the example from the documentation with text styles", async () => {
88
+ const img = await surface.drawOffscreen(
89
+ (Skia, canvas, ctx) => {
90
+ const robotoBold = Skia.Typeface.MakeFreeTypeFaceFromData(
91
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoBold))
92
+ )!;
93
+ const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
94
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
95
+ )!;
96
+ const robotoItalic = Skia.Typeface.MakeFreeTypeFaceFromData(
97
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoItalic))
98
+ )!;
99
+ const provider = Skia.TypefaceFontProvider.Make();
100
+ provider.registerFont(robotoBold, "Roboto");
101
+ provider.registerFont(robotoRegular, "Roboto");
102
+ provider.registerFont(robotoItalic, "Roboto");
103
+ const textStyle = {
104
+ color: Skia.Color("black"),
105
+ fontFamilies: ["Roboto"],
106
+ fontSize: 24,
107
+ };
108
+ const para = Skia.ParagraphBuilder.Make({}, provider)
109
+ .pushStyle({ ...textStyle, fontStyle: ctx.Bold })
110
+ .addText("This text is bold\n")
111
+ .pop()
112
+ .pushStyle({ ...textStyle, fontStyle: ctx.Normal })
113
+ .addText("This text is regular\n")
114
+ .pop()
115
+ .pushStyle({ ...textStyle, fontStyle: ctx.Italic })
116
+ .addText("This text is italic")
117
+ .pop()
118
+ .build();
119
+ para.layout(ctx.width);
120
+ para.paint(canvas, 0, 0);
121
+ },
122
+ {
123
+ RobotoRegular,
124
+ RobotoBold,
125
+ RobotoItalic,
126
+ Bold: FontStyle.Bold,
127
+ Normal: FontStyle.Normal,
128
+ Italic: FontStyle.Italic,
129
+ width: surface.width,
130
+ }
131
+ );
132
+ checkImage(img, docPath(`paragraph/font-style-${surface.OS}.png`));
133
+ });
134
+ itRunsE2eOnly("should render simple paragraph", async () => {
135
+ const img = await surface.drawOffscreen(
136
+ (Skia, canvas, ctx) => {
137
+ const para = Skia.ParagraphBuilder.Make()
138
+ .pushStyle({ color: Skia.Color("black") })
139
+ .addText("Hello from Skia!")
140
+ .build();
141
+ para.layout(ctx.width);
142
+ para.paint(canvas, 0, 0);
143
+ },
144
+ { width: surface.width }
145
+ );
146
+ checkImage(img, `snapshots/paragraph/simple-paragraph-${surface.OS}.png`);
147
+ });
148
+ it("should render simple paragraph with custom font", async () => {
149
+ const img = await surface.drawOffscreen(
150
+ (Skia, canvas, ctx) => {
151
+ const tf = Skia.Typeface.MakeFreeTypeFaceFromData(
152
+ Skia.Data.fromBytes(new Uint8Array(ctx.Pacifico))
153
+ )!;
154
+ const provider = Skia.TypefaceFontProvider.Make();
155
+ provider.registerFont(tf, "Pacifico");
156
+ const para = Skia.ParagraphBuilder.Make({}, provider)
157
+ .pushStyle({
158
+ fontFamilies: ["Pacifico"],
159
+ fontSize: 50,
160
+ color: Skia.Color("blakc"),
161
+ })
162
+ .addText("Hello from Skia!")
163
+ .build();
164
+ para.layout(ctx.width);
165
+ para.paint(canvas, 0, 0);
166
+ },
167
+ { Pacifico, width: surface.width }
168
+ );
169
+ checkImage(
170
+ img,
171
+ `snapshots/paragraph/simple-paragraph-with-provider-${surface.OS}.png`
172
+ );
173
+ });
174
+
175
+ itRunsE2eOnly("should render paragraph linebreaks", async () => {
176
+ const img = await surface.drawOffscreen(
177
+ (Skia, canvas, ctx) => {
178
+ const para = Skia.ParagraphBuilder.Make()
179
+ .pushStyle({ color: Skia.Color("black") })
180
+ .addText("Hello\nfrom Skia")
181
+ .build();
182
+ para.layout(ctx.width);
183
+ para.paint(canvas, 0, 0);
184
+ },
185
+ { width: surface.width }
186
+ );
187
+ checkImage(
188
+ img,
189
+ `snapshots/paragraph/paragraph-linebreaks-${surface.OS}.png`
190
+ );
191
+ });
192
+
193
+ itRunsE2eOnly("should break when line is long", async () => {
194
+ const img = await surface.drawOffscreen((Skia, canvas) => {
195
+ const para = Skia.ParagraphBuilder.Make()
196
+ .pushStyle({ color: Skia.Color("black") })
197
+ .addText("Hello from a really, really long line - and from Skia!")
198
+ .build();
199
+ para.layout(50); // Layout width set to 50 as in the original test
200
+ para.paint(canvas, 0, 0);
201
+ });
202
+ checkImage(
203
+ img,
204
+ `snapshots/paragraph/paragraph-auto-linebreaks-${surface.OS}.png`
205
+ );
206
+ });
207
+
208
+ itRunsE2eOnly("should align text to the right", async () => {
209
+ const img = await surface.drawOffscreen(
210
+ (Skia, canvas, { textAlign, width }) => {
211
+ const para = Skia.ParagraphBuilder.Make({
212
+ textAlign,
213
+ })
214
+ .pushStyle({ color: Skia.Color("black") })
215
+ .addText("Hello Skia!")
216
+ .build();
217
+ para.layout(width);
218
+ para.paint(canvas, 0, 0);
219
+ },
220
+ { width: surface.width, textAlign: TextAlign.Right }
221
+ );
222
+ checkImage(
223
+ img,
224
+ `snapshots/paragraph/paragraph-text-align-right-${surface.OS}.png`
225
+ );
226
+ });
227
+
228
+ itRunsE2eOnly("should align text centered", async () => {
229
+ const img = await surface.drawOffscreen(
230
+ (Skia, canvas, { width, textAlign }) => {
231
+ const para = Skia.ParagraphBuilder.Make({
232
+ textAlign,
233
+ })
234
+ .pushStyle({ color: Skia.Color("black") })
235
+ .addText("Hello Skia!")
236
+ .build();
237
+ para.layout(width);
238
+ para.paint(canvas, 0, 0);
239
+ },
240
+ { width: surface.width, textAlign: TextAlign.Center }
241
+ );
242
+ checkImage(
243
+ img,
244
+ `snapshots/paragraph/paragraph-text-align-center-${surface.OS}.png`
245
+ );
246
+ });
247
+
248
+ itRunsE2eOnly("should align text justified", async () => {
249
+ const img = await surface.drawOffscreen(
250
+ (Skia, canvas, { textAlign, width }) => {
251
+ const para = Skia.ParagraphBuilder.Make({
252
+ textAlign,
253
+ textStyle: {
254
+ color: Skia.Color("black"),
255
+ },
256
+ })
257
+ .addText(
258
+ "Hello Skia this text should be justified - what do you think? Is it justified?"
259
+ )
260
+ .build();
261
+ para.layout(width);
262
+ para.paint(canvas, 0, 0);
263
+ },
264
+ { textAlign: TextAlign.Justify, width: surface.width }
265
+ );
266
+ checkImage(
267
+ img,
268
+ `snapshots/paragraph/paragraph-text-align-justify-${surface.OS}.png`
269
+ );
270
+ });
271
+
272
+ itRunsE2eOnly("should align text justified", async () => {
273
+ const img = await surface.drawOffscreen(
274
+ (Skia, canvas, { textAlign, width }) => {
275
+ const para = Skia.ParagraphBuilder.Make({
276
+ textAlign,
277
+ textStyle: {
278
+ color: Skia.Color("black"),
279
+ },
280
+ })
281
+ .addText(
282
+ "Hello Skia this text should be justified - what do you think? Is it justified?"
283
+ )
284
+ .build();
285
+ para.layout(width);
286
+ para.paint(canvas, 0, 0);
287
+ },
288
+ { width: surface.width, textAlign: TextAlign.Justify }
289
+ );
290
+ checkImage(
291
+ img,
292
+ `snapshots/paragraph/paragraph-text-align-justify-${surface.OS}.png`
293
+ );
294
+ });
295
+
296
+ itRunsE2eOnly("should render text right to left", async () => {
297
+ const img = await surface.drawOffscreen(
298
+ (Skia, canvas, { textDirection }) => {
299
+ const para = Skia.ParagraphBuilder.Make({
300
+ textDirection,
301
+ textStyle: {
302
+ color: Skia.Color("black"),
303
+ },
304
+ })
305
+ .addText("Hello Skia RTL\nThis is a new line")
306
+ .build();
307
+ para.layout(150);
308
+ para.paint(canvas, 0, 0);
309
+ },
310
+ { textDirection: TextDirection.RTL }
311
+ );
312
+ checkImage(
313
+ img,
314
+ `snapshots/paragraph/paragraph-text-align-rtl-${surface.OS}.png`
315
+ );
316
+ });
317
+
318
+ itRunsE2eOnly(
319
+ "should show ellipse when line count is above max lines",
320
+ async () => {
321
+ const img = await surface.drawOffscreen(
322
+ (Skia, canvas) => {
323
+ const para = Skia.ParagraphBuilder.Make({
324
+ maxLines: 1,
325
+ ellipsis: "...",
326
+ textStyle: {
327
+ color: Skia.Color("black"),
328
+ },
329
+ })
330
+ .addText("Hello Skia - maxLine is 1!")
331
+ .build();
332
+ para.layout(50);
333
+ para.paint(canvas, 0, 0);
334
+ },
335
+ { width: 50 }
336
+ );
337
+ checkImage(
338
+ img,
339
+ `snapshots/paragraph/paragraph-ellipse-${surface.OS}.png`
340
+ );
341
+ }
342
+ );
343
+
344
+ itRunsE2eOnly("should use textstyle in paraphstyle", async () => {
345
+ const img = await surface.drawOffscreen((Skia, canvas) => {
346
+ const para = Skia.ParagraphBuilder.Make()
347
+ .pushStyle({ color: Skia.Color("red") })
348
+ .addText("Hello Skia!")
349
+ .build();
350
+ para.layout(50);
351
+ para.paint(canvas, 0, 0);
352
+ });
353
+ checkImage(
354
+ img,
355
+ `snapshots/paragraph/paragraph-text-style-in-paragraph-style-${surface.OS}.png`
356
+ );
357
+ });
358
+
359
+ itRunsE2eOnly("should support colors", async () => {
360
+ const img = await surface.drawOffscreen((Skia, canvas) => {
361
+ const para = Skia.ParagraphBuilder.Make()
362
+ .pushStyle({ color: Skia.Color("red") })
363
+ .addText("Hello Skia in red color")
364
+ .pop()
365
+ .pushStyle({ backgroundColor: Skia.Color("blue") })
366
+ .addText("Hello Skia in blue backgroundcolor")
367
+ .pop()
368
+ .pushStyle({ foregroundColor: Skia.Color("yellow") })
369
+ .addText("Hello Skia with yellow foregroundcolor")
370
+ .pop()
371
+ .build();
372
+ para.layout(150);
373
+ para.paint(canvas, 0, 0);
374
+ });
375
+ checkImage(
376
+ img,
377
+ `snapshots/paragraph/paragraph-text-style-colors-${surface.OS}.png`
378
+ );
379
+ });
380
+
381
+ itRunsE2eOnly("should support text decoration", async () => {
382
+ const img = await surface.drawOffscreen(
383
+ (Skia, canvas, { underline, overline, lineThrough }) => {
384
+ const para = Skia.ParagraphBuilder.Make()
385
+ .pushStyle({
386
+ decoration: underline,
387
+ decorationColor: Skia.Color("blue"),
388
+ color: Skia.Color("black"),
389
+ })
390
+ .addText("Hello Skia with blue underline")
391
+ .pop()
392
+ .pushStyle({
393
+ decoration: lineThrough,
394
+ decorationColor: Skia.Color("red"),
395
+ color: Skia.Color("black"),
396
+ })
397
+ .addText("Hello Skia with red strike-through")
398
+ .pop()
399
+ .pushStyle({
400
+ decoration: overline,
401
+ decorationColor: Skia.Color("green"),
402
+ color: Skia.Color("black"),
403
+ })
404
+ .addText("Hello Skia with green overline")
405
+ .pop()
406
+ .build();
407
+ para.layout(150);
408
+ para.paint(canvas, 0, 0);
409
+ },
410
+ {
411
+ underline: TextDecoration.Underline,
412
+ lineThrough: TextDecoration.LineThrough,
413
+ overline: TextDecoration.Overline,
414
+ }
415
+ );
416
+ checkImage(
417
+ img,
418
+ `snapshots/paragraph/paragraph-text-style-decoration-${surface.OS}.png`
419
+ );
420
+ });
421
+
422
+ itRunsE2eOnly("should support font styling", async () => {
423
+ const img = await surface.drawOffscreen(
424
+ (Skia, canvas, { bold, boldItalic, italic }) => {
425
+ const para = Skia.ParagraphBuilder.Make()
426
+ .pushStyle({
427
+ fontStyle: italic,
428
+ color: Skia.Color("black"),
429
+ })
430
+ .addText("Hello Skia in italic")
431
+ .pop()
432
+ .pushStyle({ fontStyle: bold, color: Skia.Color("black") })
433
+ .addText("Hello Skia in bold")
434
+ .pop()
435
+ .pushStyle({
436
+ fontStyle: boldItalic,
437
+ color: Skia.Color("black"),
438
+ })
439
+ .addText("Hello Skia in bold-italic")
440
+ .pop()
441
+ .build();
442
+ para.layout(150);
443
+ para.paint(canvas, 0, 0);
444
+ },
445
+ {
446
+ bold: FontStyle.Bold,
447
+ italic: FontStyle.Italic,
448
+ boldItalic: FontStyle.BoldItalic,
449
+ }
450
+ );
451
+ checkImage(
452
+ img,
453
+ `snapshots/paragraph/paragraph-text-style-font-style-${surface.OS}.png`
454
+ );
455
+ });
456
+
457
+ itRunsE2eOnly("should draw the bounding box (1)", async () => {
458
+ const img = await surface.drawOffscreen(
459
+ (Skia, canvas, { bold, boldItalic, italic }) => {
460
+ const para = Skia.ParagraphBuilder.Make()
461
+ .pushStyle({
462
+ fontStyle: italic,
463
+ color: Skia.Color("black"),
464
+ })
465
+ .addText("Hello Skia in italic")
466
+ .pop()
467
+ .pushStyle({ fontStyle: bold, color: Skia.Color("black") })
468
+ .addText("Hello Skia in bold")
469
+ .pop()
470
+ .pushStyle({
471
+ fontStyle: boldItalic,
472
+ color: Skia.Color("black"),
473
+ })
474
+ .addText("Hello Skia in bold-italic")
475
+ .pop()
476
+ .build();
477
+ para.layout(150);
478
+ const paint = Skia.Paint();
479
+ paint.setColor(Skia.Color("cyan"));
480
+ canvas.drawRect(
481
+ Skia.XYWHRect(0, 0, para.getMaxWidth(), para.getHeight()),
482
+ paint
483
+ );
484
+ para.paint(canvas, 0, 0);
485
+ },
486
+ {
487
+ bold: FontStyle.Bold,
488
+ italic: FontStyle.Italic,
489
+ boldItalic: FontStyle.BoldItalic,
490
+ }
491
+ );
492
+ checkImage(
493
+ img,
494
+ `snapshots/paragraph/paragraph-text-style-font-style-${surface.OS}-box.png`
495
+ );
496
+ });
497
+
498
+ it("should draw the bounding box (2)", async () => {
499
+ const img = await surface.drawOffscreen(
500
+ (Skia, canvas, ctx) => {
501
+ const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
502
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
503
+ )!;
504
+ const provider = Skia.TypefaceFontProvider.Make();
505
+ provider.registerFont(robotoRegular, "Roboto");
506
+ const para = Skia.ParagraphBuilder.Make({}, provider)
507
+ .pushStyle({
508
+ fontFamilies: ["Roboto"],
509
+ color: Skia.Color("black"),
510
+ fontSize: 30,
511
+ })
512
+ .addText("Say Hello to React Native Skia")
513
+ .pop()
514
+ .build();
515
+ para.layout(150);
516
+ const paint = Skia.Paint();
517
+ paint.setColor(Skia.Color("cyan"));
518
+ const height = para.getHeight();
519
+ const width = para.getLongestLine();
520
+ canvas.drawRect(Skia.XYWHRect(0, 0, width, height), paint);
521
+ para.paint(canvas, 0, 0);
522
+ },
523
+ {
524
+ RobotoRegular,
525
+ }
526
+ );
527
+ checkImage(
528
+ img,
529
+ `snapshots/paragraph/paragraph-bounding-box-${surface.OS}.png`
530
+ );
531
+ });
532
+ it("should draw the bounding box (3)", async () => {
533
+ const img = await surface.drawOffscreen(
534
+ (Skia, canvas, ctx) => {
535
+ const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
536
+ Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
537
+ )!;
538
+ const provider = Skia.TypefaceFontProvider.Make();
539
+ provider.registerFont(robotoRegular, "Roboto");
540
+ const para = Skia.ParagraphBuilder.Make({}, provider)
541
+ .pushStyle({
542
+ fontFamilies: ["Roboto"],
543
+ color: Skia.Color("black"),
544
+ fontSize: 30,
545
+ })
546
+ .addText("Say Hello to React Native Skia")
547
+ .pop()
548
+ .build();
549
+ const maxWidth = ctx.canvasWidth * 0.78125;
550
+ para.layout(maxWidth);
551
+ const paint = Skia.Paint();
552
+ paint.setColor(Skia.Color("magenta"));
553
+ const height = para.getHeight();
554
+ const width = para.getLongestLine();
555
+ canvas.drawRect(Skia.XYWHRect(0, 0, maxWidth, ctx.canvasHeight), paint);
556
+ paint.setColor(Skia.Color("cyan"));
557
+ canvas.drawRect(Skia.XYWHRect(0, 0, width, height), paint);
558
+ para.paint(canvas, 0, 0);
559
+ },
560
+ {
561
+ RobotoRegular,
562
+ canvasWidth: surface.width,
563
+ canvasHeight: surface.height,
564
+ }
565
+ );
566
+ checkImage(img, docPath(`paragraph/boundingbox-${surface.OS}.png`));
567
+ });
568
+
569
+ itRunsE2eOnly("should return the paragraph height", async () => {
570
+ const { width, height } = await surface.eval((Skia) => {
571
+ const para = Skia.ParagraphBuilder.Make()
572
+ .pushStyle({
573
+ color: Skia.Color("black"),
574
+ fontSize: 25,
575
+ shadows: [
576
+ {
577
+ color: Skia.Color("#ff000044"),
578
+ blurRadius: 4,
579
+ offset: { x: 4, y: 4 },
580
+ },
581
+ ],
582
+ })
583
+ .addText("Hello Skia with red shadow")
584
+ .build();
585
+ para.layout(150);
586
+ return { height: para.getHeight(), width: para.getMaxWidth() };
587
+ });
588
+ expect(width).toBe(150);
589
+ expect(height).toBeGreaterThan(25);
590
+ });
591
+ itRunsE2eOnly("should support font shadows", async () => {
592
+ const img = await surface.drawOffscreen((Skia, canvas) => {
593
+ const para = Skia.ParagraphBuilder.Make()
594
+ .pushStyle({
595
+ color: Skia.Color("black"),
596
+ fontSize: 25,
597
+ shadows: [
598
+ {
599
+ color: Skia.Color("#ff000044"),
600
+ blurRadius: 4,
601
+ offset: { x: 4, y: 4 },
602
+ },
603
+ ],
604
+ })
605
+ .addText("Hello Skia with red shadow")
606
+ .build();
607
+ para.layout(150);
608
+ para.paint(canvas, 0, 0);
609
+ });
610
+ checkImage(
611
+ img,
612
+ `snapshots/paragraph/paragraph-text-style-font-shadow-${surface.OS}.png`
613
+ );
614
+ });
615
+ });
@@ -0,0 +1,73 @@
1
+ import React from "react";
2
+
3
+ import type { Skia } from "../../../skia/types";
4
+ import { checkImage, itRunsE2eOnly } from "../../../__tests__/setup";
5
+ import {
6
+ DiscretePathEffect,
7
+ Fill,
8
+ Path,
9
+ SumPathEffect,
10
+ } from "../../components";
11
+ import { surface, importSkia } from "../setup";
12
+
13
+ const star = (Skia: Skia) => {
14
+ const R = 115.2;
15
+ const C = 128.0;
16
+ const path = Skia.Path.Make();
17
+ path.moveTo(C + R, C);
18
+ for (let i = 1; i < 8; ++i) {
19
+ const a = 2.6927937 * i;
20
+ path.lineTo(C + R * Math.cos(a), C + R * Math.sin(a));
21
+ }
22
+ return path;
23
+ };
24
+
25
+ describe("Path Effects", () => {
26
+ // Everything noise related, we don't want to run on a CPU backend
27
+ itRunsE2eOnly("should apply the discrete path effect nicely", async () => {
28
+ const { Skia } = importSkia();
29
+ const path = star(Skia);
30
+ const img = await surface.draw(
31
+ <>
32
+ <Fill color="white" />
33
+ <Path path={path} style="stroke" strokeWidth={2} color="lightblue">
34
+ <DiscretePathEffect length={10} deviation={4} seed={0} />
35
+ </Path>
36
+ </>
37
+ );
38
+ checkImage(img, "snapshots/path-effects/discrete.png");
39
+ });
40
+ itRunsE2eOnly("should sum two path effects", async () => {
41
+ const { Skia } = importSkia();
42
+ const path = star(Skia);
43
+ let img = await surface.draw(
44
+ <>
45
+ <Fill color="white" />
46
+ <Path path={path} style="stroke" strokeWidth={2} color="lightblue">
47
+ <SumPathEffect>
48
+ <DiscretePathEffect length={10} deviation={4} seed={0} />
49
+ <DiscretePathEffect length={10} deviation={4} seed={12345} />
50
+ </SumPathEffect>
51
+ </Path>
52
+ </>
53
+ );
54
+ checkImage(img, "snapshots/path-effects/discrete.png", {
55
+ shouldFail: true,
56
+ });
57
+ checkImage(img, "snapshots/path-effects/sum.png");
58
+ img = await surface.draw(
59
+ <>
60
+ <Fill color="white" />
61
+ <Path path={path} style="stroke" strokeWidth={2} color="lightblue">
62
+ <SumPathEffect>
63
+ <DiscretePathEffect length={10} deviation={4} seed={0} />
64
+ <DiscretePathEffect length={10} deviation={4} seed={12345} />
65
+ <DiscretePathEffect length={10} deviation={4} seed={123456789} />
66
+ </SumPathEffect>
67
+ </Path>
68
+ </>
69
+ );
70
+ checkImage(img, "snapshots/path-effects/sum.png", { shouldFail: true });
71
+ checkImage(img, "snapshots/path-effects/sum2.png");
72
+ });
73
+ });