@shopify/react-native-skia 2.3.0 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (818) hide show
  1. package/android/CMakeLists.txt +0 -3
  2. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +4 -1
  3. package/apple/RNSkApplePlatformContext.mm +21 -12
  4. package/apple/SkiaCVPixelBufferUtils.mm +8 -4
  5. package/cpp/api/JsiSkCanvas.h +0 -21
  6. package/cpp/api/JsiSkImage.h +1 -5
  7. package/cpp/api/JsiSkPath.h +1 -1
  8. package/cpp/api/JsiSkPathFactory.h +1 -1
  9. package/cpp/skia/include/android/AHardwareBufferUtils.h +3 -0
  10. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +0 -4
  11. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +0 -4
  12. package/cpp/skia/include/android/SkImageAndroid.h +1 -0
  13. package/cpp/skia/include/codec/SkCodec.h +23 -2
  14. package/cpp/skia/include/codec/SkPngRustDecoder.h +30 -0
  15. package/cpp/skia/include/core/SkBitmap.h +1 -1
  16. package/cpp/skia/include/core/SkCPURecorder.h +5 -0
  17. package/cpp/skia/include/core/SkCanvas.h +2 -0
  18. package/cpp/skia/include/core/SkColorSpace.h +11 -12
  19. package/cpp/skia/include/core/SkContourMeasure.h +6 -2
  20. package/cpp/skia/include/core/SkExecutor.h +18 -0
  21. package/cpp/skia/include/core/SkFont.h +26 -19
  22. package/cpp/skia/include/core/SkImage.h +4 -66
  23. package/cpp/skia/include/core/SkImageGenerator.h +0 -5
  24. package/cpp/skia/include/core/SkMatrix.h +84 -120
  25. package/cpp/skia/include/core/SkMilestone.h +1 -1
  26. package/cpp/skia/include/core/SkPath.h +390 -395
  27. package/cpp/skia/include/core/SkPathBuilder.h +64 -34
  28. package/cpp/skia/include/core/SkPathEffect.h +12 -5
  29. package/cpp/skia/include/core/SkPathIter.h +90 -0
  30. package/cpp/skia/include/core/SkPathMeasure.h +5 -1
  31. package/cpp/skia/include/core/SkPathTypes.h +7 -3
  32. package/cpp/skia/include/core/SkPathUtils.h +20 -13
  33. package/cpp/skia/include/core/SkRRect.h +7 -11
  34. package/cpp/skia/include/core/SkRecorder.h +12 -0
  35. package/cpp/skia/include/core/SkRect.h +33 -8
  36. package/cpp/skia/include/core/SkRegion.h +14 -3
  37. package/cpp/skia/include/core/SkScalar.h +0 -12
  38. package/cpp/skia/include/core/SkShader.h +20 -7
  39. package/cpp/skia/include/core/SkStrokeRec.h +2 -1
  40. package/cpp/skia/include/core/SkTypeface.h +8 -10
  41. package/cpp/skia/include/core/SkTypes.h +4 -0
  42. package/cpp/skia/include/encode/SkJpegEncoder.h +5 -10
  43. package/cpp/skia/include/encode/SkPngEncoder.h +8 -7
  44. package/cpp/skia/include/encode/SkPngRustEncoder.h +88 -0
  45. package/cpp/skia/include/encode/SkWebpEncoder.h +5 -10
  46. package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +5 -2
  47. package/cpp/skia/include/gpu/graphite/BackendTexture.h +5 -2
  48. package/cpp/skia/include/gpu/graphite/Context.h +15 -2
  49. package/cpp/skia/include/gpu/graphite/ContextOptions.h +26 -0
  50. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +75 -0
  51. package/cpp/skia/include/gpu/graphite/Recorder.h +15 -6
  52. package/cpp/skia/include/gpu/graphite/Recording.h +0 -3
  53. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +2 -0
  54. package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +3 -7
  55. package/cpp/skia/include/gpu/graphite/precompile/PrecompileBase.h +2 -10
  56. package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +1 -6
  57. package/cpp/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +1 -5
  58. package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +16 -3
  59. package/cpp/skia/include/gpu/vk/VulkanPreferredFeatures.h +3 -0
  60. package/cpp/skia/{modules/pathops/include → include/pathops}/SkPathOps.h +49 -20
  61. package/cpp/skia/include/ports/SkFontMgr_FontConfigInterface.h +2 -1
  62. package/cpp/skia/include/ports/SkFontMgr_android.h +0 -4
  63. package/cpp/skia/include/ports/SkFontMgr_android_ndk.h +4 -2
  64. package/cpp/skia/include/ports/SkFontMgr_fontconfig.h +0 -3
  65. package/cpp/skia/include/private/SkEncodedInfo.h +73 -54
  66. package/cpp/skia/include/private/SkHdrMetadata.h +173 -0
  67. package/cpp/skia/include/private/SkPathRef.h +117 -146
  68. package/cpp/skia/include/private/base/SkTemplates.h +74 -32
  69. package/cpp/skia/include/utils/SkParsePath.h +9 -1
  70. package/cpp/skia/modules/skcms/src/Transform_inl.h +53 -7
  71. package/cpp/skia/modules/skcms/src/skcms_Transform.h +2 -0
  72. package/cpp/skia/modules/skcms/src/skcms_internals.h +8 -0
  73. package/cpp/skia/modules/skottie/include/TextShaper.h +4 -0
  74. package/cpp/skia/modules/skparagraph/include/FontCollection.h +1 -1
  75. package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +7 -1
  76. package/cpp/skia/modules/skparagraph/include/TextStyle.h +12 -0
  77. package/cpp/skia/modules/sksg/include/SkSGGeometryEffect.h +26 -0
  78. package/cpp/skia/modules/sksg/include/SkSGPath.h +1 -1
  79. package/cpp/skia/modules/skunicode/include/SkUnicode.h +11 -1
  80. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +7 -11
  81. package/cpp/skia/modules/svg/include/SkSVGCircle.h +1 -1
  82. package/cpp/skia/modules/svg/include/SkSVGEllipse.h +1 -2
  83. package/cpp/skia/modules/svg/include/SkSVGFe.h +0 -1
  84. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +0 -1
  85. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +0 -1
  86. package/cpp/skia/modules/svg/include/SkSVGLine.h +1 -1
  87. package/cpp/skia/modules/svg/include/SkSVGNode.h +11 -10
  88. package/cpp/skia/modules/svg/include/SkSVGPath.h +1 -1
  89. package/cpp/skia/modules/svg/include/SkSVGPattern.h +4 -3
  90. package/cpp/skia/modules/svg/include/SkSVGPoly.h +1 -1
  91. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +0 -1
  92. package/cpp/skia/modules/svg/include/SkSVGRect.h +1 -2
  93. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +5 -5
  94. package/cpp/skia/modules/svg/include/SkSVGSVG.h +0 -1
  95. package/cpp/skia/modules/svg/include/SkSVGShape.h +1 -1
  96. package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +2 -2
  97. package/cpp/skia/src/base/SkTLazy.h +8 -0
  98. package/cpp/skia/src/core/SkLRUCache.h +17 -13
  99. package/package.json +9 -8
  100. package/react-native-skia.podspec +1 -2
  101. package/scripts/install-skia.mjs +360 -0
  102. package/cpp/skia/include/android/SkHeifDecoder.h +0 -50
  103. package/lib/commonjs/__tests__/globalSetup.d.ts +0 -9
  104. package/lib/commonjs/__tests__/globalTeardown.d.ts +0 -2
  105. package/lib/commonjs/__tests__/setup.d.ts +0 -36
  106. package/lib/commonjs/mock/__tests__/mock.spec.d.ts +0 -1
  107. package/lib/commonjs/renderer/__tests__/Data.spec.d.ts +0 -1
  108. package/lib/commonjs/renderer/__tests__/Drawings.spec.d.ts +0 -1
  109. package/lib/commonjs/renderer/__tests__/FitBox.spec.d.ts +0 -1
  110. package/lib/commonjs/renderer/__tests__/Glyphs.spec.d.ts +0 -1
  111. package/lib/commonjs/renderer/__tests__/Image.spec.d.ts +0 -1
  112. package/lib/commonjs/renderer/__tests__/Paths.spec.d.ts +0 -1
  113. package/lib/commonjs/renderer/__tests__/Picture.spec.d.ts +0 -1
  114. package/lib/commonjs/renderer/__tests__/Simple.spec.d.ts +0 -1
  115. package/lib/commonjs/renderer/__tests__/Surfaces.spec.d.ts +0 -1
  116. package/lib/commonjs/renderer/__tests__/Text.spec.d.ts +0 -1
  117. package/lib/commonjs/renderer/__tests__/Transform.spec.d.ts +0 -1
  118. package/lib/commonjs/renderer/__tests__/documentation/Group.spec.d.ts +0 -1
  119. package/lib/commonjs/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +0 -1
  120. package/lib/commonjs/renderer/__tests__/documentation/paint/Overview.spec.d.ts +0 -1
  121. package/lib/commonjs/renderer/__tests__/documentation/shapes/Box.spec.d.ts +0 -1
  122. package/lib/commonjs/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +0 -1
  123. package/lib/commonjs/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +0 -1
  124. package/lib/commonjs/renderer/__tests__/e2e/Atlas.spec.d.ts +0 -1
  125. package/lib/commonjs/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +0 -1
  126. package/lib/commonjs/renderer/__tests__/e2e/Blending.spec.d.ts +0 -1
  127. package/lib/commonjs/renderer/__tests__/e2e/Blur.spec.d.ts +0 -1
  128. package/lib/commonjs/renderer/__tests__/e2e/Box.spec.d.ts +0 -1
  129. package/lib/commonjs/renderer/__tests__/e2e/Camera.spec.d.ts +0 -21
  130. package/lib/commonjs/renderer/__tests__/e2e/ColorFilters.spec.d.ts +0 -1
  131. package/lib/commonjs/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +0 -1
  132. package/lib/commonjs/renderer/__tests__/e2e/CoonPatch.spec.d.ts +0 -1
  133. package/lib/commonjs/renderer/__tests__/e2e/DataEncoding.spec.d.ts +0 -1
  134. package/lib/commonjs/renderer/__tests__/e2e/Drawings.spec.d.ts +0 -1
  135. package/lib/commonjs/renderer/__tests__/e2e/FontMgr.spec.d.ts +0 -1
  136. package/lib/commonjs/renderer/__tests__/e2e/Gradient.spec.d.ts +0 -1
  137. package/lib/commonjs/renderer/__tests__/e2e/Group.spec.d.ts +0 -1
  138. package/lib/commonjs/renderer/__tests__/e2e/Image.spec.d.ts +0 -1
  139. package/lib/commonjs/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +0 -1
  140. package/lib/commonjs/renderer/__tests__/e2e/ImageFilter.spec.d.ts +0 -1
  141. package/lib/commonjs/renderer/__tests__/e2e/ImageFilters.spec.d.ts +0 -1
  142. package/lib/commonjs/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +0 -1
  143. package/lib/commonjs/renderer/__tests__/e2e/Mask.spec.d.ts +0 -1
  144. package/lib/commonjs/renderer/__tests__/e2e/Matrix4.spec.d.ts +0 -1
  145. package/lib/commonjs/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +0 -1
  146. package/lib/commonjs/renderer/__tests__/e2e/Offscreen.spec.d.ts +0 -1
  147. package/lib/commonjs/renderer/__tests__/e2e/Opacity.spec.d.ts +0 -1
  148. package/lib/commonjs/renderer/__tests__/e2e/Paint.spec.d.ts +0 -1
  149. package/lib/commonjs/renderer/__tests__/e2e/ParagraphMethods.spec.d.ts +0 -1
  150. package/lib/commonjs/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +0 -1
  151. package/lib/commonjs/renderer/__tests__/e2e/Paragraphs.spec.d.ts +0 -1
  152. package/lib/commonjs/renderer/__tests__/e2e/PathEffects.spec.d.ts +0 -1
  153. package/lib/commonjs/renderer/__tests__/e2e/Paths.spec.d.ts +0 -1
  154. package/lib/commonjs/renderer/__tests__/e2e/Picture.spec.d.ts +0 -1
  155. package/lib/commonjs/renderer/__tests__/e2e/Point.spec.d.ts +0 -1
  156. package/lib/commonjs/renderer/__tests__/e2e/Rect.spec.d.ts +0 -1
  157. package/lib/commonjs/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +0 -1
  158. package/lib/commonjs/renderer/__tests__/e2e/SDF.spec.d.ts +0 -1
  159. package/lib/commonjs/renderer/__tests__/e2e/SVG.spec.d.ts +0 -1
  160. package/lib/commonjs/renderer/__tests__/e2e/Shader.spec.d.ts +0 -1
  161. package/lib/commonjs/renderer/__tests__/e2e/Skottie.spec.d.ts +0 -1
  162. package/lib/commonjs/renderer/__tests__/e2e/Snapshot.spec.d.ts +0 -1
  163. package/lib/commonjs/renderer/__tests__/e2e/Surfaces.spec.d.ts +0 -1
  164. package/lib/commonjs/renderer/__tests__/e2e/Text.spec.d.ts +0 -1
  165. package/lib/commonjs/renderer/__tests__/e2e/TextPath.spec.d.ts +0 -1
  166. package/lib/commonjs/renderer/__tests__/e2e/Transforms.spec.d.ts +0 -1
  167. package/lib/commonjs/renderer/__tests__/e2e/Vertices.spec.d.ts +0 -1
  168. package/lib/commonjs/renderer/__tests__/e2e/Video.d.ts +0 -1
  169. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +0 -20
  170. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +0 -13
  171. package/lib/commonjs/renderer/__tests__/e2e/setup/SkiaObject.d.ts +0 -11
  172. package/lib/commonjs/renderer/__tests__/e2e/setup/index.d.ts +0 -3
  173. package/lib/commonjs/renderer/__tests__/examples/BlendModes.spec.d.ts +0 -1
  174. package/lib/commonjs/renderer/__tests__/setup.d.ts +0 -71
  175. package/lib/commonjs/skia/__tests__/ColorFilter.spec.d.ts +0 -1
  176. package/lib/commonjs/skia/__tests__/Data.spec.d.ts +0 -1
  177. package/lib/commonjs/skia/__tests__/Drawings.spec.d.ts +0 -1
  178. package/lib/commonjs/skia/__tests__/Enums.spec.d.ts +0 -1
  179. package/lib/commonjs/skia/__tests__/Geometry.spec.d.ts +0 -1
  180. package/lib/commonjs/skia/__tests__/ImageFilter.spec.d.ts +0 -1
  181. package/lib/commonjs/skia/__tests__/Mock.spec.d.ts +0 -0
  182. package/lib/commonjs/skia/__tests__/Paint.spec.d.ts +0 -1
  183. package/lib/commonjs/skia/__tests__/Path.spec.d.ts +0 -1
  184. package/lib/commonjs/skia/__tests__/RuntimeEffect.spec.d.ts +0 -1
  185. package/lib/commonjs/skia/__tests__/Shader.spec.d.ts +0 -1
  186. package/lib/commonjs/skia/__tests__/Text.spec.d.ts +0 -1
  187. package/lib/commonjs/skia/__tests__/Transform.spec.d.ts +0 -1
  188. package/lib/commonjs/skia/__tests__/Vertices.spec.d.ts +0 -1
  189. package/lib/commonjs/skia/__tests__/setup.d.ts +0 -16
  190. package/lib/commonjs/sksg/__tests__/Simple.spec.d.ts +0 -1
  191. package/lib/module/__tests__/globalSetup.d.ts +0 -9
  192. package/lib/module/__tests__/globalTeardown.d.ts +0 -2
  193. package/lib/module/__tests__/setup.d.ts +0 -36
  194. package/lib/module/mock/__tests__/mock.spec.d.ts +0 -1
  195. package/lib/module/renderer/__tests__/Data.spec.d.ts +0 -1
  196. package/lib/module/renderer/__tests__/Drawings.spec.d.ts +0 -1
  197. package/lib/module/renderer/__tests__/FitBox.spec.d.ts +0 -1
  198. package/lib/module/renderer/__tests__/Glyphs.spec.d.ts +0 -1
  199. package/lib/module/renderer/__tests__/Image.spec.d.ts +0 -1
  200. package/lib/module/renderer/__tests__/Paths.spec.d.ts +0 -1
  201. package/lib/module/renderer/__tests__/Picture.spec.d.ts +0 -1
  202. package/lib/module/renderer/__tests__/Simple.spec.d.ts +0 -1
  203. package/lib/module/renderer/__tests__/Surfaces.spec.d.ts +0 -1
  204. package/lib/module/renderer/__tests__/Text.spec.d.ts +0 -1
  205. package/lib/module/renderer/__tests__/Transform.spec.d.ts +0 -1
  206. package/lib/module/renderer/__tests__/documentation/Group.spec.d.ts +0 -1
  207. package/lib/module/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +0 -1
  208. package/lib/module/renderer/__tests__/documentation/paint/Overview.spec.d.ts +0 -1
  209. package/lib/module/renderer/__tests__/documentation/shapes/Box.spec.d.ts +0 -1
  210. package/lib/module/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +0 -1
  211. package/lib/module/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +0 -1
  212. package/lib/module/renderer/__tests__/e2e/Atlas.spec.d.ts +0 -1
  213. package/lib/module/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +0 -1
  214. package/lib/module/renderer/__tests__/e2e/Blending.spec.d.ts +0 -1
  215. package/lib/module/renderer/__tests__/e2e/Blur.spec.d.ts +0 -1
  216. package/lib/module/renderer/__tests__/e2e/Box.spec.d.ts +0 -1
  217. package/lib/module/renderer/__tests__/e2e/Camera.spec.d.ts +0 -21
  218. package/lib/module/renderer/__tests__/e2e/ColorFilters.spec.d.ts +0 -1
  219. package/lib/module/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +0 -1
  220. package/lib/module/renderer/__tests__/e2e/CoonPatch.spec.d.ts +0 -1
  221. package/lib/module/renderer/__tests__/e2e/DataEncoding.spec.d.ts +0 -1
  222. package/lib/module/renderer/__tests__/e2e/Drawings.spec.d.ts +0 -1
  223. package/lib/module/renderer/__tests__/e2e/FontMgr.spec.d.ts +0 -1
  224. package/lib/module/renderer/__tests__/e2e/Gradient.spec.d.ts +0 -1
  225. package/lib/module/renderer/__tests__/e2e/Group.spec.d.ts +0 -1
  226. package/lib/module/renderer/__tests__/e2e/Image.spec.d.ts +0 -1
  227. package/lib/module/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +0 -1
  228. package/lib/module/renderer/__tests__/e2e/ImageFilter.spec.d.ts +0 -1
  229. package/lib/module/renderer/__tests__/e2e/ImageFilters.spec.d.ts +0 -1
  230. package/lib/module/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +0 -1
  231. package/lib/module/renderer/__tests__/e2e/Mask.spec.d.ts +0 -1
  232. package/lib/module/renderer/__tests__/e2e/Matrix4.spec.d.ts +0 -1
  233. package/lib/module/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +0 -1
  234. package/lib/module/renderer/__tests__/e2e/Offscreen.spec.d.ts +0 -1
  235. package/lib/module/renderer/__tests__/e2e/Opacity.spec.d.ts +0 -1
  236. package/lib/module/renderer/__tests__/e2e/Paint.spec.d.ts +0 -1
  237. package/lib/module/renderer/__tests__/e2e/ParagraphMethods.spec.d.ts +0 -1
  238. package/lib/module/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +0 -1
  239. package/lib/module/renderer/__tests__/e2e/Paragraphs.spec.d.ts +0 -1
  240. package/lib/module/renderer/__tests__/e2e/PathEffects.spec.d.ts +0 -1
  241. package/lib/module/renderer/__tests__/e2e/Paths.spec.d.ts +0 -1
  242. package/lib/module/renderer/__tests__/e2e/Picture.spec.d.ts +0 -1
  243. package/lib/module/renderer/__tests__/e2e/Point.spec.d.ts +0 -1
  244. package/lib/module/renderer/__tests__/e2e/Rect.spec.d.ts +0 -1
  245. package/lib/module/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +0 -1
  246. package/lib/module/renderer/__tests__/e2e/SDF.spec.d.ts +0 -1
  247. package/lib/module/renderer/__tests__/e2e/SVG.spec.d.ts +0 -1
  248. package/lib/module/renderer/__tests__/e2e/Shader.spec.d.ts +0 -1
  249. package/lib/module/renderer/__tests__/e2e/Skottie.spec.d.ts +0 -1
  250. package/lib/module/renderer/__tests__/e2e/Snapshot.spec.d.ts +0 -1
  251. package/lib/module/renderer/__tests__/e2e/Surfaces.spec.d.ts +0 -1
  252. package/lib/module/renderer/__tests__/e2e/Text.spec.d.ts +0 -1
  253. package/lib/module/renderer/__tests__/e2e/TextPath.spec.d.ts +0 -1
  254. package/lib/module/renderer/__tests__/e2e/Transforms.spec.d.ts +0 -1
  255. package/lib/module/renderer/__tests__/e2e/Vertices.spec.d.ts +0 -1
  256. package/lib/module/renderer/__tests__/e2e/Video.d.ts +0 -1
  257. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +0 -20
  258. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +0 -13
  259. package/lib/module/renderer/__tests__/e2e/setup/SkiaObject.d.ts +0 -11
  260. package/lib/module/renderer/__tests__/e2e/setup/index.d.ts +0 -3
  261. package/lib/module/renderer/__tests__/examples/BlendModes.spec.d.ts +0 -1
  262. package/lib/module/renderer/__tests__/setup.d.ts +0 -71
  263. package/lib/module/skia/__tests__/ColorFilter.spec.d.ts +0 -1
  264. package/lib/module/skia/__tests__/Data.spec.d.ts +0 -1
  265. package/lib/module/skia/__tests__/Drawings.spec.d.ts +0 -1
  266. package/lib/module/skia/__tests__/Enums.spec.d.ts +0 -1
  267. package/lib/module/skia/__tests__/Geometry.spec.d.ts +0 -1
  268. package/lib/module/skia/__tests__/ImageFilter.spec.d.ts +0 -1
  269. package/lib/module/skia/__tests__/Mock.spec.d.ts +0 -0
  270. package/lib/module/skia/__tests__/Paint.spec.d.ts +0 -1
  271. package/lib/module/skia/__tests__/Path.spec.d.ts +0 -1
  272. package/lib/module/skia/__tests__/RuntimeEffect.spec.d.ts +0 -1
  273. package/lib/module/skia/__tests__/Shader.spec.d.ts +0 -1
  274. package/lib/module/skia/__tests__/Text.spec.d.ts +0 -1
  275. package/lib/module/skia/__tests__/Transform.spec.d.ts +0 -1
  276. package/lib/module/skia/__tests__/Vertices.spec.d.ts +0 -1
  277. package/lib/module/skia/__tests__/setup.d.ts +0 -16
  278. package/lib/module/sksg/__tests__/Simple.spec.d.ts +0 -1
  279. package/lib/typescript/src/__tests__/globalSetup.d.ts +0 -9
  280. package/lib/typescript/src/__tests__/globalTeardown.d.ts +0 -2
  281. package/lib/typescript/src/__tests__/setup.d.ts +0 -36
  282. package/lib/typescript/src/mock/__tests__/mock.spec.d.ts +0 -1
  283. package/lib/typescript/src/renderer/__tests__/Data.spec.d.ts +0 -1
  284. package/lib/typescript/src/renderer/__tests__/Drawings.spec.d.ts +0 -1
  285. package/lib/typescript/src/renderer/__tests__/FitBox.spec.d.ts +0 -1
  286. package/lib/typescript/src/renderer/__tests__/Glyphs.spec.d.ts +0 -1
  287. package/lib/typescript/src/renderer/__tests__/Image.spec.d.ts +0 -1
  288. package/lib/typescript/src/renderer/__tests__/Paths.spec.d.ts +0 -1
  289. package/lib/typescript/src/renderer/__tests__/Picture.spec.d.ts +0 -1
  290. package/lib/typescript/src/renderer/__tests__/Simple.spec.d.ts +0 -1
  291. package/lib/typescript/src/renderer/__tests__/Surfaces.spec.d.ts +0 -1
  292. package/lib/typescript/src/renderer/__tests__/Text.spec.d.ts +0 -1
  293. package/lib/typescript/src/renderer/__tests__/Transform.spec.d.ts +0 -1
  294. package/lib/typescript/src/renderer/__tests__/documentation/Group.spec.d.ts +0 -1
  295. package/lib/typescript/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +0 -1
  296. package/lib/typescript/src/renderer/__tests__/documentation/paint/Overview.spec.d.ts +0 -1
  297. package/lib/typescript/src/renderer/__tests__/documentation/shapes/Box.spec.d.ts +0 -1
  298. package/lib/typescript/src/renderer/__tests__/e2e/AdvancedImageFilters.spec.d.ts +0 -1
  299. package/lib/typescript/src/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +0 -1
  300. package/lib/typescript/src/renderer/__tests__/e2e/Atlas.spec.d.ts +0 -1
  301. package/lib/typescript/src/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +0 -1
  302. package/lib/typescript/src/renderer/__tests__/e2e/Blending.spec.d.ts +0 -1
  303. package/lib/typescript/src/renderer/__tests__/e2e/Blur.spec.d.ts +0 -1
  304. package/lib/typescript/src/renderer/__tests__/e2e/Box.spec.d.ts +0 -1
  305. package/lib/typescript/src/renderer/__tests__/e2e/Camera.spec.d.ts +0 -21
  306. package/lib/typescript/src/renderer/__tests__/e2e/ColorFilters.spec.d.ts +0 -1
  307. package/lib/typescript/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +0 -1
  308. package/lib/typescript/src/renderer/__tests__/e2e/CoonPatch.spec.d.ts +0 -1
  309. package/lib/typescript/src/renderer/__tests__/e2e/DataEncoding.spec.d.ts +0 -1
  310. package/lib/typescript/src/renderer/__tests__/e2e/Drawings.spec.d.ts +0 -1
  311. package/lib/typescript/src/renderer/__tests__/e2e/FontMgr.spec.d.ts +0 -1
  312. package/lib/typescript/src/renderer/__tests__/e2e/Gradient.spec.d.ts +0 -1
  313. package/lib/typescript/src/renderer/__tests__/e2e/Group.spec.d.ts +0 -1
  314. package/lib/typescript/src/renderer/__tests__/e2e/Image.spec.d.ts +0 -1
  315. package/lib/typescript/src/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +0 -1
  316. package/lib/typescript/src/renderer/__tests__/e2e/ImageFilter.spec.d.ts +0 -1
  317. package/lib/typescript/src/renderer/__tests__/e2e/ImageFilters.spec.d.ts +0 -1
  318. package/lib/typescript/src/renderer/__tests__/e2e/LightingImageFilters.spec.d.ts +0 -1
  319. package/lib/typescript/src/renderer/__tests__/e2e/Mask.spec.d.ts +0 -1
  320. package/lib/typescript/src/renderer/__tests__/e2e/Matrix4.spec.d.ts +0 -1
  321. package/lib/typescript/src/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +0 -1
  322. package/lib/typescript/src/renderer/__tests__/e2e/Offscreen.spec.d.ts +0 -1
  323. package/lib/typescript/src/renderer/__tests__/e2e/Opacity.spec.d.ts +0 -1
  324. package/lib/typescript/src/renderer/__tests__/e2e/Paint.spec.d.ts +0 -1
  325. package/lib/typescript/src/renderer/__tests__/e2e/ParagraphMethods.spec.d.ts +0 -1
  326. package/lib/typescript/src/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +0 -1
  327. package/lib/typescript/src/renderer/__tests__/e2e/Paragraphs.spec.d.ts +0 -1
  328. package/lib/typescript/src/renderer/__tests__/e2e/PathEffects.spec.d.ts +0 -1
  329. package/lib/typescript/src/renderer/__tests__/e2e/Paths.spec.d.ts +0 -1
  330. package/lib/typescript/src/renderer/__tests__/e2e/Picture.spec.d.ts +0 -1
  331. package/lib/typescript/src/renderer/__tests__/e2e/Point.spec.d.ts +0 -1
  332. package/lib/typescript/src/renderer/__tests__/e2e/Rect.spec.d.ts +0 -1
  333. package/lib/typescript/src/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +0 -1
  334. package/lib/typescript/src/renderer/__tests__/e2e/SDF.spec.d.ts +0 -1
  335. package/lib/typescript/src/renderer/__tests__/e2e/SVG.spec.d.ts +0 -1
  336. package/lib/typescript/src/renderer/__tests__/e2e/Shader.spec.d.ts +0 -1
  337. package/lib/typescript/src/renderer/__tests__/e2e/Skottie.spec.d.ts +0 -1
  338. package/lib/typescript/src/renderer/__tests__/e2e/Snapshot.spec.d.ts +0 -1
  339. package/lib/typescript/src/renderer/__tests__/e2e/Surfaces.spec.d.ts +0 -1
  340. package/lib/typescript/src/renderer/__tests__/e2e/Text.spec.d.ts +0 -1
  341. package/lib/typescript/src/renderer/__tests__/e2e/TextPath.spec.d.ts +0 -1
  342. package/lib/typescript/src/renderer/__tests__/e2e/Transforms.spec.d.ts +0 -1
  343. package/lib/typescript/src/renderer/__tests__/e2e/Vertices.spec.d.ts +0 -1
  344. package/lib/typescript/src/renderer/__tests__/e2e/Video.d.ts +0 -1
  345. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +0 -20
  346. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +0 -13
  347. package/lib/typescript/src/renderer/__tests__/e2e/setup/SkiaObject.d.ts +0 -11
  348. package/lib/typescript/src/renderer/__tests__/e2e/setup/index.d.ts +0 -3
  349. package/lib/typescript/src/renderer/__tests__/examples/BlendModes.spec.d.ts +0 -1
  350. package/lib/typescript/src/renderer/__tests__/setup.d.ts +0 -71
  351. package/lib/typescript/src/skia/__tests__/ColorFilter.spec.d.ts +0 -1
  352. package/lib/typescript/src/skia/__tests__/Data.spec.d.ts +0 -1
  353. package/lib/typescript/src/skia/__tests__/Drawings.spec.d.ts +0 -1
  354. package/lib/typescript/src/skia/__tests__/Enums.spec.d.ts +0 -1
  355. package/lib/typescript/src/skia/__tests__/Geometry.spec.d.ts +0 -1
  356. package/lib/typescript/src/skia/__tests__/ImageFilter.spec.d.ts +0 -1
  357. package/lib/typescript/src/skia/__tests__/Mock.spec.d.ts +0 -0
  358. package/lib/typescript/src/skia/__tests__/Paint.spec.d.ts +0 -1
  359. package/lib/typescript/src/skia/__tests__/Path.spec.d.ts +0 -1
  360. package/lib/typescript/src/skia/__tests__/RuntimeEffect.spec.d.ts +0 -1
  361. package/lib/typescript/src/skia/__tests__/Shader.spec.d.ts +0 -1
  362. package/lib/typescript/src/skia/__tests__/Text.spec.d.ts +0 -1
  363. package/lib/typescript/src/skia/__tests__/Transform.spec.d.ts +0 -1
  364. package/lib/typescript/src/skia/__tests__/Vertices.spec.d.ts +0 -1
  365. package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -16
  366. package/lib/typescript/src/sksg/__tests__/Simple.spec.d.ts +0 -1
  367. package/libs/android/arm64-v8a/libjsonreader.a +0 -0
  368. package/libs/android/arm64-v8a/libpathops.a +0 -0
  369. package/libs/android/arm64-v8a/libskia.a +0 -0
  370. package/libs/android/arm64-v8a/libskottie.a +0 -0
  371. package/libs/android/arm64-v8a/libskparagraph.a +0 -0
  372. package/libs/android/arm64-v8a/libsksg.a +0 -0
  373. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  374. package/libs/android/arm64-v8a/libskunicode_core.a +0 -0
  375. package/libs/android/arm64-v8a/libskunicode_icu.a +0 -0
  376. package/libs/android/arm64-v8a/libsvg.a +0 -0
  377. package/libs/android/armeabi-v7a/libjsonreader.a +0 -0
  378. package/libs/android/armeabi-v7a/libpathops.a +0 -0
  379. package/libs/android/armeabi-v7a/libskia.a +0 -0
  380. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  381. package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
  382. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  383. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  384. package/libs/android/armeabi-v7a/libskunicode_core.a +0 -0
  385. package/libs/android/armeabi-v7a/libskunicode_icu.a +0 -0
  386. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  387. package/libs/android/x86/libjsonreader.a +0 -0
  388. package/libs/android/x86/libpathops.a +0 -0
  389. package/libs/android/x86/libskia.a +0 -0
  390. package/libs/android/x86/libskottie.a +0 -0
  391. package/libs/android/x86/libskparagraph.a +0 -0
  392. package/libs/android/x86/libsksg.a +0 -0
  393. package/libs/android/x86/libskshaper.a +0 -0
  394. package/libs/android/x86/libskunicode_core.a +0 -0
  395. package/libs/android/x86/libskunicode_icu.a +0 -0
  396. package/libs/android/x86/libsvg.a +0 -0
  397. package/libs/android/x86_64/libjsonreader.a +0 -0
  398. package/libs/android/x86_64/libpathops.a +0 -0
  399. package/libs/android/x86_64/libskia.a +0 -0
  400. package/libs/android/x86_64/libskottie.a +0 -0
  401. package/libs/android/x86_64/libskparagraph.a +0 -0
  402. package/libs/android/x86_64/libsksg.a +0 -0
  403. package/libs/android/x86_64/libskshaper.a +0 -0
  404. package/libs/android/x86_64/libskunicode_core.a +0 -0
  405. package/libs/android/x86_64/libskunicode_icu.a +0 -0
  406. package/libs/android/x86_64/libsvg.a +0 -0
  407. package/libs/apple/libpathops.xcframework/Info.plist +0 -111
  408. package/libs/apple/libpathops.xcframework/ios-arm64_arm64e/libpathops.a +0 -0
  409. package/libs/apple/libpathops.xcframework/ios-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
  410. package/libs/apple/libpathops.xcframework/ios-arm64_x86_64-maccatalyst/libpathops.a +0 -0
  411. package/libs/apple/libpathops.xcframework/macos-arm64_x86_64/libpathops.a +0 -0
  412. package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e/libpathops.a +0 -0
  413. package/libs/apple/libpathops.xcframework/tvos-arm64_arm64e_x86_64-simulator/libpathops.a +0 -0
  414. package/libs/apple/libskia.xcframework/Info.plist +0 -111
  415. package/libs/apple/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  416. package/libs/apple/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  417. package/libs/apple/libskia.xcframework/ios-arm64_x86_64-maccatalyst/libskia.a +0 -0
  418. package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
  419. package/libs/apple/libskia.xcframework/tvos-arm64_arm64e/libskia.a +0 -0
  420. package/libs/apple/libskia.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  421. package/libs/apple/libskottie.xcframework/Info.plist +0 -111
  422. package/libs/apple/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  423. package/libs/apple/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  424. package/libs/apple/libskottie.xcframework/ios-arm64_x86_64-maccatalyst/libskottie.a +0 -0
  425. package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
  426. package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e/libskottie.a +0 -0
  427. package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  428. package/libs/apple/libskparagraph.xcframework/Info.plist +0 -111
  429. package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  430. package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  431. package/libs/apple/libskparagraph.xcframework/ios-arm64_x86_64-maccatalyst/libskparagraph.a +0 -0
  432. package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
  433. package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e/libskparagraph.a +0 -0
  434. package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  435. package/libs/apple/libsksg.xcframework/Info.plist +0 -111
  436. package/libs/apple/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  437. package/libs/apple/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  438. package/libs/apple/libsksg.xcframework/ios-arm64_x86_64-maccatalyst/libsksg.a +0 -0
  439. package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
  440. package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e/libsksg.a +0 -0
  441. package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  442. package/libs/apple/libskshaper.xcframework/Info.plist +0 -111
  443. package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  444. package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  445. package/libs/apple/libskshaper.xcframework/ios-arm64_x86_64-maccatalyst/libskshaper.a +0 -0
  446. package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
  447. package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e/libskshaper.a +0 -0
  448. package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  449. package/libs/apple/libskunicode_core.xcframework/Info.plist +0 -111
  450. package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
  451. package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  452. package/libs/apple/libskunicode_core.xcframework/ios-arm64_x86_64-maccatalyst/libskunicode_core.a +0 -0
  453. package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
  454. package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e/libskunicode_core.a +0 -0
  455. package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
  456. package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +0 -111
  457. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  458. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  459. package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_x86_64-maccatalyst/libskunicode_libgrapheme.a +0 -0
  460. package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
  461. package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
  462. package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
  463. package/libs/apple/libsvg.xcframework/Info.plist +0 -111
  464. package/libs/apple/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  465. package/libs/apple/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  466. package/libs/apple/libsvg.xcframework/ios-arm64_x86_64-maccatalyst/libsvg.a +0 -0
  467. package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
  468. package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e/libsvg.a +0 -0
  469. package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  470. package/src/__tests__/globalSetup.ts +0 -53
  471. package/src/__tests__/globalTeardown.ts +0 -11
  472. package/src/__tests__/setup.ts +0 -192
  473. package/src/__tests__/snapshots/animated-images/bird.png +0 -0
  474. package/src/__tests__/snapshots/animations/green.png +0 -0
  475. package/src/__tests__/snapshots/animations/lightblue.png +0 -0
  476. package/src/__tests__/snapshots/animations/quarter-lightblue.png +0 -0
  477. package/src/__tests__/snapshots/animations/red.png +0 -0
  478. package/src/__tests__/snapshots/atlas/identity.png +0 -0
  479. package/src/__tests__/snapshots/atlas/rsxform.png +0 -0
  480. package/src/__tests__/snapshots/atlas/rsxform1.png +0 -0
  481. package/src/__tests__/snapshots/atlas/simple.png +0 -0
  482. package/src/__tests__/snapshots/atlas/simple2.png +0 -0
  483. package/src/__tests__/snapshots/box/box-shadow-opacity.png +0 -0
  484. package/src/__tests__/snapshots/box/box-shadow.png +0 -0
  485. package/src/__tests__/snapshots/box/box-shadow2.png +0 -0
  486. package/src/__tests__/snapshots/box/box-shadow3.png +0 -0
  487. package/src/__tests__/snapshots/box/box-stroke.png +0 -0
  488. package/src/__tests__/snapshots/color-filter/color-filter-composition.png +0 -0
  489. package/src/__tests__/snapshots/color-filter/matrix1.png +0 -0
  490. package/src/__tests__/snapshots/color-filter/matrix3.png +0 -0
  491. package/src/__tests__/snapshots/color-filter/zurich-sepia.png +0 -0
  492. package/src/__tests__/snapshots/coons-patch/patch-with-opacity.png +0 -0
  493. package/src/__tests__/snapshots/coons-patch/simple.png +0 -0
  494. package/src/__tests__/snapshots/cyan-buffer.png +0 -0
  495. package/src/__tests__/snapshots/data/oslo.png +0 -0
  496. package/src/__tests__/snapshots/data/red.png +0 -0
  497. package/src/__tests__/snapshots/data/zurich.png +0 -0
  498. package/src/__tests__/snapshots/demos/apple-breathe.png +0 -0
  499. package/src/__tests__/snapshots/demos/apple-breathe1.png +0 -0
  500. package/src/__tests__/snapshots/demos/breathe.png +0 -0
  501. package/src/__tests__/snapshots/demos/breathe2.png +0 -0
  502. package/src/__tests__/snapshots/demos/product.png +0 -0
  503. package/src/__tests__/snapshots/demos/product2.png +0 -0
  504. package/src/__tests__/snapshots/demos/skia-neon.png +0 -0
  505. package/src/__tests__/snapshots/demos/skia-neon1.png +0 -0
  506. package/src/__tests__/snapshots/drawings/arc.png +0 -0
  507. package/src/__tests__/snapshots/drawings/blend-mode-multiply.png +0 -0
  508. package/src/__tests__/snapshots/drawings/blend-modes.png +0 -0
  509. package/src/__tests__/snapshots/drawings/blur-node.png +0 -0
  510. package/src/__tests__/snapshots/drawings/blur.png +0 -0
  511. package/src/__tests__/snapshots/drawings/blur2.png +0 -0
  512. package/src/__tests__/snapshots/drawings/custom-drawing.png +0 -0
  513. package/src/__tests__/snapshots/drawings/cyan-circle.png +0 -0
  514. package/src/__tests__/snapshots/drawings/cyan.png +0 -0
  515. package/src/__tests__/snapshots/drawings/default-props.png +0 -0
  516. package/src/__tests__/snapshots/drawings/hello-world.png +0 -0
  517. package/src/__tests__/snapshots/drawings/image-default-props.png +0 -0
  518. package/src/__tests__/snapshots/drawings/lightblue-quarter-circle.png +0 -0
  519. package/src/__tests__/snapshots/drawings/lightblue-rect.png +0 -0
  520. package/src/__tests__/snapshots/drawings/line.png +0 -0
  521. package/src/__tests__/snapshots/drawings/multiple-paints.png +0 -0
  522. package/src/__tests__/snapshots/drawings/nested-shader.png +0 -0
  523. package/src/__tests__/snapshots/drawings/nested-shader2.png +0 -0
  524. package/src/__tests__/snapshots/drawings/opacity-image.png +0 -0
  525. package/src/__tests__/snapshots/drawings/opacity-multiplication.png +0 -0
  526. package/src/__tests__/snapshots/drawings/opacity-multiplication2.png +0 -0
  527. package/src/__tests__/snapshots/drawings/points.png +0 -0
  528. package/src/__tests__/snapshots/drawings/purple.png +0 -0
  529. package/src/__tests__/snapshots/drawings/rotated-image.png +0 -0
  530. package/src/__tests__/snapshots/drawings/rotated-scaled-image.png +0 -0
  531. package/src/__tests__/snapshots/drawings/rrect-aa.png +0 -0
  532. package/src/__tests__/snapshots/drawings/rrect-no-aa.png +0 -0
  533. package/src/__tests__/snapshots/drawings/scaled-image.png +0 -0
  534. package/src/__tests__/snapshots/drawings/scaled-image2.png +0 -0
  535. package/src/__tests__/snapshots/drawings/semi-transparent-layer.png +0 -0
  536. package/src/__tests__/snapshots/drawings/shader-opacity-reference.png +0 -0
  537. package/src/__tests__/snapshots/drawings/skew-transform.png +0 -0
  538. package/src/__tests__/snapshots/drawings/skew-transform2.png +0 -0
  539. package/src/__tests__/snapshots/drawings/small-lightblue-rect.png +0 -0
  540. package/src/__tests__/snapshots/drawings/stroke.png +0 -0
  541. package/src/__tests__/snapshots/drawings/transform-origin.png +0 -0
  542. package/src/__tests__/snapshots/drawings/transparent-layer.png +0 -0
  543. package/src/__tests__/snapshots/drawings/transparent.png +0 -0
  544. package/src/__tests__/snapshots/drawings/violet.png +0 -0
  545. package/src/__tests__/snapshots/font/green.png +0 -0
  546. package/src/__tests__/snapshots/font/red.png +0 -0
  547. package/src/__tests__/snapshots/glyphs/simple.png +0 -0
  548. package/src/__tests__/snapshots/gradient/linear-with-opacity.png +0 -0
  549. package/src/__tests__/snapshots/gradient/linear.png +0 -0
  550. package/src/__tests__/snapshots/green.png +0 -0
  551. package/src/__tests__/snapshots/image-filter/blur.png +0 -0
  552. package/src/__tests__/snapshots/image-filter/test-shadow.png +0 -0
  553. package/src/__tests__/snapshots/images/bundle-android.png +0 -0
  554. package/src/__tests__/snapshots/images/bundle-ios.png +0 -0
  555. package/src/__tests__/snapshots/images/bundle-node.png +0 -0
  556. package/src/__tests__/snapshots/images/bundle.png +0 -0
  557. package/src/__tests__/snapshots/images/filter.png +0 -0
  558. package/src/__tests__/snapshots/leak.png +0 -0
  559. package/src/__tests__/snapshots/matrix4/camera-corner.png +0 -0
  560. package/src/__tests__/snapshots/matrix4/camera-offset.png +0 -0
  561. package/src/__tests__/snapshots/matrix4/camera-top-left-center.png +0 -0
  562. package/src/__tests__/snapshots/matrix4/camera-zoom-out.png +0 -0
  563. package/src/__tests__/snapshots/matrix4/full-rect.png +0 -0
  564. package/src/__tests__/snapshots/matrix4/perspective.png +0 -0
  565. package/src/__tests__/snapshots/matrix4/rect.png +0 -0
  566. package/src/__tests__/snapshots/matrix4/scaled-rect.png +0 -0
  567. package/src/__tests__/snapshots/matrix4/test-perspective.png +0 -0
  568. package/src/__tests__/snapshots/matrix4/test-perspective2.png +0 -0
  569. package/src/__tests__/snapshots/paint/blend-mode.png +0 -0
  570. package/src/__tests__/snapshots/paint/circle.png +0 -0
  571. package/src/__tests__/snapshots/paint/colors.png +0 -0
  572. package/src/__tests__/snapshots/paint/dither.png +0 -0
  573. package/src/__tests__/snapshots/paint/path-paint.png +0 -0
  574. package/src/__tests__/snapshots/paint/without-dither.png +0 -0
  575. package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-android.png +0 -0
  576. package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-ios.png +0 -0
  577. package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-android.png +0 -0
  578. package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-ios.png +0 -0
  579. package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-node.png +0 -0
  580. package/src/__tests__/snapshots/paragraph/paragraph-ellipse-android.png +0 -0
  581. package/src/__tests__/snapshots/paragraph/paragraph-ellipse-ios.png +0 -0
  582. package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-android.png +0 -0
  583. package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-ios.png +0 -0
  584. package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-android.png +0 -0
  585. package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-ios.png +0 -0
  586. package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-android.png +0 -0
  587. package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-ios.png +0 -0
  588. package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-android.png +0 -0
  589. package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-ios.png +0 -0
  590. package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-android.png +0 -0
  591. package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-ios.png +0 -0
  592. package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-android.png +0 -0
  593. package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-ios.png +0 -0
  594. package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-android.png +0 -0
  595. package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-ios.png +0 -0
  596. package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-android.png +0 -0
  597. package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-ios.png +0 -0
  598. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-android.png +0 -0
  599. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-ios.png +0 -0
  600. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android-box.png +0 -0
  601. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android.png +0 -0
  602. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios-box.png +0 -0
  603. package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios.png +0 -0
  604. package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-android.png +0 -0
  605. package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-ios.png +0 -0
  606. package/src/__tests__/snapshots/paragraph/simple-paragraph-android.png +0 -0
  607. package/src/__tests__/snapshots/paragraph/simple-paragraph-ios.png +0 -0
  608. package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-android.png +0 -0
  609. package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-ios.png +0 -0
  610. package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-node.png +0 -0
  611. package/src/__tests__/snapshots/path/interpolate.png +0 -0
  612. package/src/__tests__/snapshots/path/logo.png +0 -0
  613. package/src/__tests__/snapshots/path-effects/discrete.png +0 -0
  614. package/src/__tests__/snapshots/path-effects/sum.png +0 -0
  615. package/src/__tests__/snapshots/path-effects/sum2.png +0 -0
  616. package/src/__tests__/snapshots/paths/arc.png +0 -0
  617. package/src/__tests__/snapshots/paths/emptyPath.png +0 -0
  618. package/src/__tests__/snapshots/paths/interpolation1.png +0 -0
  619. package/src/__tests__/snapshots/paths/oval.png +0 -0
  620. package/src/__tests__/snapshots/paths/pattern.png +0 -0
  621. package/src/__tests__/snapshots/paths/poly.png +0 -0
  622. package/src/__tests__/snapshots/paths/rrect.png +0 -0
  623. package/src/__tests__/snapshots/paths/skia-trimmed.png +0 -0
  624. package/src/__tests__/snapshots/paths/skia.png +0 -0
  625. package/src/__tests__/snapshots/pictures/create-picture.png +0 -0
  626. package/src/__tests__/snapshots/pictures/green.png +0 -0
  627. package/src/__tests__/snapshots/pictures/hello-world.png +0 -0
  628. package/src/__tests__/snapshots/pictures/red.png +0 -0
  629. package/src/__tests__/snapshots/pictures/simple-picture.png +0 -0
  630. package/src/__tests__/snapshots/platform-buffer-bgra.png +0 -0
  631. package/src/__tests__/snapshots/platform-buffer.png +0 -0
  632. package/src/__tests__/snapshots/points/points.png +0 -0
  633. package/src/__tests__/snapshots/points/points2.png +0 -0
  634. package/src/__tests__/snapshots/render-nodes/simple.png +0 -0
  635. package/src/__tests__/snapshots/render-nodes/simple2.png +0 -0
  636. package/src/__tests__/snapshots/runtime-effects/blend-color-burn.png +0 -0
  637. package/src/__tests__/snapshots/runtime-effects/blend-color-burn2.png +0 -0
  638. package/src/__tests__/snapshots/runtime-effects/blend-color-burn3.png +0 -0
  639. package/src/__tests__/snapshots/runtime-effects/blend-color-dodge.png +0 -0
  640. package/src/__tests__/snapshots/runtime-effects/blend-multiply.png +0 -0
  641. package/src/__tests__/snapshots/runtime-effects/int-uniform.png +0 -0
  642. package/src/__tests__/snapshots/runtime-effects/linear-gradient.png +0 -0
  643. package/src/__tests__/snapshots/runtime-effects/linear-gradient2.png +0 -0
  644. package/src/__tests__/snapshots/runtime-effects/small-spiral.png +0 -0
  645. package/src/__tests__/snapshots/runtime-effects/spiral.png +0 -0
  646. package/src/__tests__/snapshots/runtime-shader/scaled-circle.png +0 -0
  647. package/src/__tests__/snapshots/runtime-shader/scaled-circle2.png +0 -0
  648. package/src/__tests__/snapshots/runtime-shader/simple.png +0 -0
  649. package/src/__tests__/snapshots/runtime-shader/spiral.png +0 -0
  650. package/src/__tests__/snapshots/runtime-shader/unscaled-image.png +0 -0
  651. package/src/__tests__/snapshots/screens/snapshot1-android-ci.png +0 -0
  652. package/src/__tests__/snapshots/screens/snapshot1-android.png +0 -0
  653. package/src/__tests__/snapshots/screens/snapshot1-ios.png +0 -0
  654. package/src/__tests__/snapshots/screens/snapshot2-android-ci.png +0 -0
  655. package/src/__tests__/snapshots/screens/snapshot2-android.png +0 -0
  656. package/src/__tests__/snapshots/screens/snapshot2-ios.png +0 -0
  657. package/src/__tests__/snapshots/screens/snapshot3-android-ci.png +0 -0
  658. package/src/__tests__/snapshots/screens/snapshot3-android.png +0 -0
  659. package/src/__tests__/snapshots/screens/snapshot3-ios.png +0 -0
  660. package/src/__tests__/snapshots/screens/snapshot4-android-ci.png +0 -0
  661. package/src/__tests__/snapshots/screens/snapshot4-android.png +0 -0
  662. package/src/__tests__/snapshots/screens/snapshot4-ios.png +0 -0
  663. package/src/__tests__/snapshots/screens/snapshot5-android.png +0 -0
  664. package/src/__tests__/snapshots/screens/snapshot5-ios.png +0 -0
  665. package/src/__tests__/snapshots/sdf/circle.png +0 -0
  666. package/src/__tests__/snapshots/sdf/heart.png +0 -0
  667. package/src/__tests__/snapshots/sdf/line.png +0 -0
  668. package/src/__tests__/snapshots/sdf/rectangle.png +0 -0
  669. package/src/__tests__/snapshots/shader/bilinear-interpolation.png +0 -0
  670. package/src/__tests__/snapshots/shader/hue.png +0 -0
  671. package/src/__tests__/snapshots/shader/hue2.png +0 -0
  672. package/src/__tests__/snapshots/shader/shader1.png +0 -0
  673. package/src/__tests__/snapshots/shader/shader2.png +0 -0
  674. package/src/__tests__/snapshots/shader/sweep-gradient.png +0 -0
  675. package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
  676. package/src/__tests__/snapshots/sksg/breathe.png +0 -0
  677. package/src/__tests__/snapshots/sksg/simple.png +0 -0
  678. package/src/__tests__/snapshots/sksg/simple2.png +0 -0
  679. package/src/__tests__/snapshots/text/text-bounds-android.png +0 -0
  680. package/src/__tests__/snapshots/text/text-bounds-ios.png +0 -0
  681. package/src/__tests__/snapshots/text/text-default-font-android.png +0 -0
  682. package/src/__tests__/snapshots/text/text-default-font-ios.png +0 -0
  683. package/src/__tests__/snapshots/text/text-path-bug-android.png +0 -0
  684. package/src/__tests__/snapshots/text/text-path-bug-ios.png +0 -0
  685. package/src/__tests__/snapshots/text/text-path-bug-node.png +0 -0
  686. package/src/__tests__/snapshots/text/text-path1-android.png +0 -0
  687. package/src/__tests__/snapshots/text/text-path1-ios.png +0 -0
  688. package/src/__tests__/snapshots/text/text-path1-node.png +0 -0
  689. package/src/__tests__/snapshots/text/text-path2-android.png +0 -0
  690. package/src/__tests__/snapshots/text/text-path2-ios.png +0 -0
  691. package/src/__tests__/snapshots/text/text-path2-node.png +0 -0
  692. package/src/__tests__/snapshots/transform/rectangles.png +0 -0
  693. package/src/__tests__/snapshots/transform/rotate-radiants.png +0 -0
  694. package/src/__tests__/snapshots/transform/rotate.png +0 -0
  695. package/src/__tests__/snapshots/transform/scale-origin.png +0 -0
  696. package/src/__tests__/snapshots/transform/scale.png +0 -0
  697. package/src/__tests__/snapshots/transform/skew.png +0 -0
  698. package/src/__tests__/snapshots/transparent.png +0 -0
  699. package/src/__tests__/snapshots/vertices/billinear-gradient.png +0 -0
  700. package/src/__tests__/snapshots/vertices/strip.png +0 -0
  701. package/src/__tests__/snapshots/vertices/vertices.png +0 -0
  702. package/src/mock/__tests__/mock.spec.ts +0 -47
  703. package/src/renderer/__tests__/Data.spec.tsx +0 -66
  704. package/src/renderer/__tests__/Drawings.spec.tsx +0 -96
  705. package/src/renderer/__tests__/FitBox.spec.tsx +0 -677
  706. package/src/renderer/__tests__/Glyphs.spec.tsx +0 -46
  707. package/src/renderer/__tests__/Image.spec.tsx +0 -45
  708. package/src/renderer/__tests__/Paths.spec.tsx +0 -75
  709. package/src/renderer/__tests__/Picture.spec.tsx +0 -83
  710. package/src/renderer/__tests__/Simple.spec.tsx +0 -81
  711. package/src/renderer/__tests__/Surfaces.spec.tsx +0 -68
  712. package/src/renderer/__tests__/Text.spec.tsx +0 -134
  713. package/src/renderer/__tests__/Transform.spec.tsx +0 -72
  714. package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -170
  715. package/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.tsx +0 -51
  716. package/src/renderer/__tests__/documentation/paint/Overview.spec.tsx +0 -84
  717. package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +0 -46
  718. package/src/renderer/__tests__/e2e/AdvancedImageFilters.spec.tsx +0 -492
  719. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -87
  720. package/src/renderer/__tests__/e2e/Atlas.spec.tsx +0 -358
  721. package/src/renderer/__tests__/e2e/BackdropFilters.spec.tsx +0 -164
  722. package/src/renderer/__tests__/e2e/Blending.spec.tsx +0 -115
  723. package/src/renderer/__tests__/e2e/Blur.spec.tsx +0 -56
  724. package/src/renderer/__tests__/e2e/Box.spec.tsx +0 -105
  725. package/src/renderer/__tests__/e2e/Camera.spec.tsx +0 -475
  726. package/src/renderer/__tests__/e2e/ColorFilters.spec.tsx +0 -227
  727. package/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.tsx +0 -102
  728. package/src/renderer/__tests__/e2e/CoonPatch.spec.tsx +0 -74
  729. package/src/renderer/__tests__/e2e/DataEncoding.spec.tsx +0 -79
  730. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -254
  731. package/src/renderer/__tests__/e2e/FontMgr.spec.tsx +0 -150
  732. package/src/renderer/__tests__/e2e/Gradient.spec.tsx +0 -40
  733. package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -128
  734. package/src/renderer/__tests__/e2e/Image.spec.tsx +0 -77
  735. package/src/renderer/__tests__/e2e/ImageEncoding.spec.tsx +0 -255
  736. package/src/renderer/__tests__/e2e/ImageFilter.spec.tsx +0 -99
  737. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -320
  738. package/src/renderer/__tests__/e2e/LightingImageFilters.spec.tsx +0 -1478
  739. package/src/renderer/__tests__/e2e/Mask.spec.tsx +0 -85
  740. package/src/renderer/__tests__/e2e/Matrix4.spec.tsx +0 -367
  741. package/src/renderer/__tests__/e2e/NativeBuffer.spec.tsx +0 -158
  742. package/src/renderer/__tests__/e2e/Offscreen.spec.tsx +0 -109
  743. package/src/renderer/__tests__/e2e/Opacity.spec.tsx +0 -301
  744. package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -230
  745. package/src/renderer/__tests__/e2e/ParagraphMethods.spec.tsx +0 -388
  746. package/src/renderer/__tests__/e2e/ParagraphPaint.spec.tsx +0 -262
  747. package/src/renderer/__tests__/e2e/Paragraphs.spec.tsx +0 -615
  748. package/src/renderer/__tests__/e2e/PathEffects.spec.tsx +0 -73
  749. package/src/renderer/__tests__/e2e/Paths.spec.tsx +0 -394
  750. package/src/renderer/__tests__/e2e/Picture.spec.tsx +0 -134
  751. package/src/renderer/__tests__/e2e/Point.spec.tsx +0 -35
  752. package/src/renderer/__tests__/e2e/Rect.spec.tsx +0 -139
  753. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -323
  754. package/src/renderer/__tests__/e2e/SDF.spec.tsx +0 -148
  755. package/src/renderer/__tests__/e2e/SVG.spec.tsx +0 -192
  756. package/src/renderer/__tests__/e2e/Shader.spec.tsx +0 -353
  757. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +0 -463
  758. package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +0 -29
  759. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +0 -17
  760. package/src/renderer/__tests__/e2e/Text.spec.tsx +0 -109
  761. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -43
  762. package/src/renderer/__tests__/e2e/Transforms.spec.tsx +0 -63
  763. package/src/renderer/__tests__/e2e/Vertices.spec.tsx +0 -30
  764. package/src/renderer/__tests__/e2e/Video.ts +0 -68
  765. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +0 -60
  766. package/src/renderer/__tests__/e2e/setup/SVG.ts +0 -31
  767. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +0 -31
  768. package/src/renderer/__tests__/e2e/setup/index.ts +0 -3
  769. package/src/renderer/__tests__/e2e/setup/skottie/basic_slots.json +0 -1118
  770. package/src/renderer/__tests__/e2e/setup/skottie/color-props.json +0 -1
  771. package/src/renderer/__tests__/e2e/setup/skottie/confetti.json +0 -5899
  772. package/src/renderer/__tests__/e2e/setup/skottie/drinks.json +0 -43857
  773. package/src/renderer/__tests__/e2e/setup/skottie/fingerprint.json +0 -1
  774. package/src/renderer/__tests__/e2e/setup/skottie/lego_loader.json +0 -29540
  775. package/src/renderer/__tests__/e2e/setup/skottie/new-drop.json +0 -1
  776. package/src/renderer/__tests__/e2e/setup/skottie/onboarding.json +0 -1
  777. package/src/renderer/__tests__/e2e/setup/skottie/text-layer.json +0 -1
  778. package/src/renderer/__tests__/examples/BlendModes.spec.tsx +0 -123
  779. package/src/renderer/__tests__/setup.tsx +0 -525
  780. package/src/skia/__tests__/ColorFilter.spec.ts +0 -67
  781. package/src/skia/__tests__/Data.spec.ts +0 -29
  782. package/src/skia/__tests__/Drawings.spec.ts +0 -119
  783. package/src/skia/__tests__/Enums.spec.ts +0 -136
  784. package/src/skia/__tests__/Geometry.spec.ts +0 -39
  785. package/src/skia/__tests__/ImageFilter.spec.ts +0 -19
  786. package/src/skia/__tests__/Mock.spec.ts +0 -7
  787. package/src/skia/__tests__/Paint.spec.ts +0 -25
  788. package/src/skia/__tests__/Path.spec.ts +0 -384
  789. package/src/skia/__tests__/RuntimeEffect.spec.ts +0 -66
  790. package/src/skia/__tests__/Shader.spec.ts +0 -96
  791. package/src/skia/__tests__/Text.spec.ts +0 -32
  792. package/src/skia/__tests__/Transform.spec.ts +0 -89
  793. package/src/skia/__tests__/Vertices.spec.ts +0 -40
  794. package/src/skia/__tests__/assets/Avenir-Heavy.ttf +0 -0
  795. package/src/skia/__tests__/assets/DIN-Medium.ttf +0 -0
  796. package/src/skia/__tests__/assets/NotoColorEmoji.ttf +0 -0
  797. package/src/skia/__tests__/assets/NotoSansSC-Regular.otf +0 -0
  798. package/src/skia/__tests__/assets/Pacifico-Regular.ttf +0 -0
  799. package/src/skia/__tests__/assets/Roboto-BlackItalic.ttf +0 -0
  800. package/src/skia/__tests__/assets/Roboto-Bold.ttf +0 -0
  801. package/src/skia/__tests__/assets/Roboto-Italic.ttf +0 -0
  802. package/src/skia/__tests__/assets/Roboto-Medium.ttf +0 -0
  803. package/src/skia/__tests__/assets/Roboto-Regular.ttf +0 -0
  804. package/src/skia/__tests__/assets/UberMove-Medium_mono.ttf +0 -0
  805. package/src/skia/__tests__/assets/bird.gif +0 -0
  806. package/src/skia/__tests__/assets/box.png +0 -0
  807. package/src/skia/__tests__/assets/box2.png +0 -0
  808. package/src/skia/__tests__/assets/card.png +0 -0
  809. package/src/skia/__tests__/assets/mask.png +0 -0
  810. package/src/skia/__tests__/assets/oslo-mini.jpg +0 -0
  811. package/src/skia/__tests__/assets/oslo.jpg +0 -0
  812. package/src/skia/__tests__/assets/product.png +0 -0
  813. package/src/skia/__tests__/assets/skia_logo.png +0 -0
  814. package/src/skia/__tests__/assets/skia_logo_jpeg.jpg +0 -0
  815. package/src/skia/__tests__/assets/tiger.svg +0 -724
  816. package/src/skia/__tests__/assets/zurich.jpg +0 -0
  817. package/src/skia/__tests__/setup.ts +0 -27
  818. package/src/sksg/__tests__/Simple.spec.tsx +0 -148
@@ -9,8 +9,10 @@
9
9
  #define SkPathRef_DEFINED
10
10
 
11
11
  #include "include/core/SkArc.h"
12
+ #include "include/core/SkMatrix.h"
12
13
  #include "include/core/SkPathTypes.h" // IWYU pragma: keep
13
14
  #include "include/core/SkPoint.h"
15
+ #include "include/core/SkRRect.h"
14
16
  #include "include/core/SkRect.h"
15
17
  #include "include/core/SkRefCnt.h"
16
18
  #include "include/core/SkScalar.h"
@@ -27,7 +29,63 @@
27
29
  #include <tuple>
28
30
 
29
31
  class SkMatrix;
30
- class SkRRect;
32
+
33
+ /*
34
+ * These "info" structs are used to return identifying information, when a path
35
+ * is queried if it is a special "shape". (e.g. isOval(), isRRect())
36
+ */
37
+
38
+ struct SkPathRectInfo {
39
+ SkRect fRect;
40
+ SkPathDirection fDirection;
41
+ uint8_t fStartIndex;
42
+ };
43
+
44
+ struct SkPathOvalInfo {
45
+ SkRect fBounds;
46
+ SkPathDirection fDirection;
47
+ uint8_t fStartIndex;
48
+ };
49
+
50
+ struct SkPathRRectInfo {
51
+ SkRRect fRRect;
52
+ SkPathDirection fDirection;
53
+ uint8_t fStartIndex;
54
+ };
55
+
56
+ /*
57
+ * Paths can be tagged with a "Type" -- the IsAType
58
+ * This signals that it was built from a high-level shape: oval, rrect, arc, wedge.
59
+ * We try to retain this tag, but still build the explicitly line/quad/conic/cubic
60
+ * structure need to represent that shape. Thus a user of path can always just look
61
+ * at the points and verbs, and draw it correctly.
62
+ *
63
+ * The GPU backend sometimes will sniff the path for this tag/type, and may have a
64
+ * more optimal way to draw the shape if they know its "really" an oval or whatever.
65
+ *
66
+ * Path's can also identify as a "rect" -- but we don't store any special tag for this.
67
+ *
68
+ * Here are the special "types" we have APIs for (e.g. isRRect()) and what we store:
69
+ *
70
+ * kGeneral : no identifying shape, no extra data
71
+ * (Rect) : no tag, but isRect() will examing the points/verbs, and try to
72
+ * deduce that it represents a rect.
73
+ * kOval : the path bounds is also the oval's bounds -- we store the direction
74
+ * and start_index (important for dashing). see SkPathMakers.h
75
+ * kRRect : same as kOval for implicit bounds, direction and start_index.
76
+ * Note: we don't store its radii -- we deduce those when isRRect() is
77
+ * called, by examining the points/verbs.
78
+ */
79
+ enum class SkPathIsAType : uint8_t {
80
+ kGeneral,
81
+ kOval,
82
+ kRRect,
83
+ };
84
+
85
+ struct SkPathIsAData {
86
+ uint8_t fStartIndex;
87
+ SkPathDirection fDirection;
88
+ };
31
89
 
32
90
  /**
33
91
  * Holds the path verbs and points. It is versioned by a generation ID. None of its public methods
@@ -49,18 +107,11 @@ public:
49
107
  // See https://bugs.chromium.org/p/skia/issues/detail?id=13817 for how these sizes were
50
108
  // determined.
51
109
  using PointsArray = skia_private::STArray<4, SkPoint>;
52
- using VerbsArray = skia_private::STArray<4, uint8_t>;
53
- using ConicWeightsArray = skia_private::STArray<2, SkScalar>;
54
-
55
- enum class PathType : uint8_t {
56
- kGeneral,
57
- kOval,
58
- kRRect,
59
- kArc,
60
- };
110
+ using VerbsArray = skia_private::STArray<4, SkPathVerb>;
111
+ using ConicWeightsArray = skia_private::STArray<2, float>;
61
112
 
62
- SkPathRef(SkSpan<const SkPoint> points, SkSpan<const uint8_t> verbs,
63
- SkSpan<const SkScalar> weights, unsigned segmentMask)
113
+ SkPathRef(SkSpan<const SkPoint> points, SkSpan<const SkPathVerb> verbs,
114
+ SkSpan<const SkScalar> weights, unsigned segmentMask, const SkMatrix* mx)
64
115
  : fPoints(points)
65
116
  , fVerbs(verbs)
66
117
  , fConicWeights(weights)
@@ -68,15 +119,11 @@ public:
68
119
  fBoundsIsDirty = true; // this also invalidates fIsFinite
69
120
  fGenerationID = 0; // recompute
70
121
  fSegmentMask = segmentMask;
71
- fType = PathType::kGeneral;
72
- // The next two values don't matter unless fType is kOval or kRRect
73
- fRRectOrOvalIsCCW = false;
74
- fRRectOrOvalStartIdx = 0xAC;
75
- fArcOval.setEmpty();
76
- fArcStartAngle = fArcSweepAngle = 0.0f;
77
- fArcType = SkArc::Type::kArc;
122
+ fType = SkPathIsAType::kGeneral;
78
123
  SkDEBUGCODE(fEditorsAttached.store(0);)
79
-
124
+ if (mx && !mx->isIdentity()) {
125
+ mx->mapPoints(fPoints);
126
+ }
80
127
  this->computeBounds(); // do this now, before we worry about multiple owners/threads
81
128
  SkDEBUGCODE(this->validate();)
82
129
  }
@@ -107,7 +154,7 @@ public:
107
154
  * return value is a pointer to where the points for the verb should be written.
108
155
  * 'weight' is only used if 'verb' is kConic_Verb
109
156
  */
110
- SkPoint* growForVerb(int /*SkPath::Verb*/ verb, SkScalar weight = 0) {
157
+ SkPoint* growForVerb(SkPathVerb verb, SkScalar weight = 0) {
111
158
  SkDEBUGCODE(fPathRef->validate();)
112
159
  return fPathRef->growForVerb(verb, weight);
113
160
  }
@@ -119,7 +166,7 @@ public:
119
166
  * If 'verb' is kConic_Verb, 'weights' will return a pointer to the
120
167
  * space for the conic weights (indexed normally).
121
168
  */
122
- SkPoint* growForRepeatedVerb(int /*SkPath::Verb*/ verb,
169
+ SkPoint* growForRepeatedVerb(SkPathVerb verb,
123
170
  int numVbs,
124
171
  SkScalar** weights = nullptr) {
125
172
  return fPathRef->growForRepeatedVerb(verb, numVbs, weights);
@@ -149,16 +196,12 @@ public:
149
196
  */
150
197
  SkPathRef* pathRef() { return fPathRef; }
151
198
 
152
- void setIsOval(bool isCCW, unsigned start) {
153
- fPathRef->setIsOval(isCCW, start);
154
- }
155
-
156
- void setIsRRect(bool isCCW, unsigned start) {
157
- fPathRef->setIsRRect(isCCW, start);
199
+ void setIsOval(SkPathDirection dir, unsigned start) {
200
+ fPathRef->setIsOval(dir, start);
158
201
  }
159
202
 
160
- void setIsArc(const SkArc& arc) {
161
- fPathRef->setIsArc(arc);
203
+ void setIsRRect(SkPathDirection dir, unsigned start) {
204
+ fPathRef->setIsRRect(dir, start);
162
205
  }
163
206
 
164
207
  void setBounds(const SkRect& rect) { fPathRef->setBounds(rect); }
@@ -167,34 +210,6 @@ public:
167
210
  SkPathRef* fPathRef;
168
211
  };
169
212
 
170
- class SK_API Iter {
171
- public:
172
- Iter();
173
- Iter(const SkPathRef&);
174
-
175
- void setPathRef(const SkPathRef&);
176
-
177
- /** Return the next verb in this iteration of the path. When all
178
- segments have been visited, return kDone_Verb.
179
-
180
- If any point in the path is non-finite, return kDone_Verb immediately.
181
-
182
- @param pts The points representing the current verb and/or segment
183
- This must not be NULL.
184
- @return The verb for the current segment
185
- */
186
- uint8_t next(SkPoint pts[4]);
187
- uint8_t peek() const;
188
-
189
- SkScalar conicWeight() const { return *fConicWeights; }
190
-
191
- private:
192
- const SkPoint* fPts;
193
- const uint8_t* fVerbs;
194
- const uint8_t* fVerbStop;
195
- const SkScalar* fConicWeights;
196
- };
197
-
198
213
  public:
199
214
  /**
200
215
  * Gets a path ref with no verbs or points.
@@ -219,46 +234,23 @@ public:
219
234
  */
220
235
  uint32_t getSegmentMasks() const { return fSegmentMask; }
221
236
 
222
- /** Returns true if the path is an oval.
223
- *
224
- * @param rect returns the bounding rect of this oval. It's a circle
225
- * if the height and width are the same.
226
- * @param isCCW is the oval CCW (or CW if false).
227
- * @param start indicates where the contour starts on the oval (see
228
- * SkPath::addOval for intepretation of the index).
229
- *
230
- * @return true if this path is an oval.
231
- * Tracking whether a path is an oval is considered an
232
- * optimization for performance and so some paths that are in
233
- * fact ovals can report false.
237
+ /** Returns Info struct if the path is an oval, else return {}.
238
+ * Tracking whether a path is an oval is considered an
239
+ * optimization for performance and so some paths that are in
240
+ * fact ovals can report {}.
234
241
  */
235
- bool isOval(SkRect* rect, bool* isCCW, unsigned* start) const {
236
- if (fType == PathType::kOval) {
237
- if (rect) {
238
- *rect = this->getBounds();
239
- }
240
- if (isCCW) {
241
- *isCCW = SkToBool(fRRectOrOvalIsCCW);
242
- }
243
- if (start) {
244
- *start = fRRectOrOvalStartIdx;
245
- }
242
+ std::optional<SkPathOvalInfo> isOval() const {
243
+ if (fType == SkPathIsAType::kOval) {
244
+ return {{
245
+ this->getBounds(),
246
+ fIsA.fDirection,
247
+ fIsA.fStartIndex,
248
+ }};
246
249
  }
247
-
248
- return fType == PathType::kOval;
250
+ return {};
249
251
  }
250
252
 
251
- bool isRRect(SkRRect* rrect, bool* isCCW, unsigned* start) const;
252
-
253
- bool isArc(SkArc* arc) const {
254
- if (fType == PathType::kArc) {
255
- if (arc) {
256
- *arc = SkArc::Make(fArcOval, fArcStartAngle, fArcSweepAngle, fArcType);
257
- }
258
- }
259
-
260
- return fType == PathType::kArc;
261
- }
253
+ std::optional<SkPathRRectInfo> isRRect() const;
262
254
 
263
255
  bool hasComputedBounds() const {
264
256
  return !fBoundsIsDirty;
@@ -304,16 +296,15 @@ public:
304
296
  /**
305
297
  * Returns a pointer one beyond the first logical verb (last verb in memory order).
306
298
  */
307
- const uint8_t* verbsBegin() const { return fVerbs.begin(); }
299
+ const SkPathVerb* verbsBegin() const { return fVerbs.begin(); }
308
300
 
309
301
  /**
310
302
  * Returns a const pointer to the first verb in memory (which is the last logical verb).
311
303
  */
312
- const uint8_t* verbsEnd() const { return fVerbs.end(); }
304
+ const SkPathVerb* verbsEnd() const { return fVerbs.end(); }
305
+
306
+ SkSpan<const SkPathVerb> verbs() const { return fVerbs; }
313
307
 
314
- SkSpan<const SkPathVerb> verbs() const {
315
- return {reinterpret_cast<const SkPathVerb*>(fVerbs.begin()), fVerbs.size()};
316
- }
317
308
  /**
318
309
  * Returns a const pointer to the first point.
319
310
  */
@@ -324,14 +315,18 @@ public:
324
315
  */
325
316
  const SkPoint* pointsEnd() const { return this->points() + this->countPoints(); }
326
317
 
318
+ SkSpan<const SkPoint> pointSpan() const { return fPoints; }
319
+ SkSpan<const float> conicSpan() const { return fConicWeights; }
320
+
327
321
  const SkScalar* conicWeights() const { return fConicWeights.begin(); }
328
322
  const SkScalar* conicWeightsEnd() const { return fConicWeights.end(); }
329
323
 
324
+
330
325
  /**
331
326
  * Convenience methods for getting to a verb or point by index.
332
327
  */
333
- uint8_t atVerb(int index) const { return fVerbs[index]; }
334
- const SkPoint& atPoint(int index) const { return fPoints[index]; }
328
+ SkPathVerb atVerb(int index) const { return fVerbs[index]; }
329
+ SkPoint atPoint(int index) const { return fPoints[index]; }
335
330
 
336
331
  bool operator== (const SkPathRef& ref) const;
337
332
 
@@ -375,13 +370,8 @@ private:
375
370
  fBoundsIsDirty = true; // this also invalidates fIsFinite
376
371
  fGenerationID = kEmptyGenID;
377
372
  fSegmentMask = 0;
378
- fType = PathType::kGeneral;
379
- // The next two values don't matter unless fType is kOval or kRRect
380
- fRRectOrOvalIsCCW = false;
381
- fRRectOrOvalStartIdx = 0xAC;
382
- fArcOval.setEmpty();
383
- fArcStartAngle = fArcSweepAngle = 0.0f;
384
- fArcType = SkArc::Type::kArc;
373
+ fType = SkPathIsAType::kGeneral;
374
+
385
375
  if (numPoints > 0) {
386
376
  fPoints.reserve_exact(numPoints);
387
377
  }
@@ -448,7 +438,7 @@ private:
448
438
  fGenerationID = 0;
449
439
 
450
440
  fSegmentMask = 0;
451
- fType = PathType::kGeneral;
441
+ fType = SkPathIsAType::kGeneral;
452
442
  }
453
443
 
454
444
  /** Resets the path ref with verbCount verbs and pointCount points, all uninitialized. Also
@@ -475,14 +465,14 @@ private:
475
465
  * verb. If 'verb' is kConic_Verb, 'weights' will return a pointer to the
476
466
  * uninitialized conic weights.
477
467
  */
478
- SkPoint* growForRepeatedVerb(int /*SkPath::Verb*/ verb, int numVbs, SkScalar** weights);
468
+ SkPoint* growForRepeatedVerb(SkPathVerb, int numVbs, SkScalar** weights);
479
469
 
480
470
  /**
481
471
  * Increases the verb count 1, records the new verb, and creates room for the requisite number
482
472
  * of additional points. A pointer to the first point is returned. Any new points are
483
473
  * uninitialized.
484
474
  */
485
- SkPoint* growForVerb(int /*SkPath::Verb*/ verb, SkScalar weight);
475
+ SkPoint* growForVerb(SkPathVerb, SkScalar weight);
486
476
 
487
477
  /**
488
478
  * Concatenates all verbs from 'path' onto our own verbs array. Increases the point count by the
@@ -495,37 +485,29 @@ private:
495
485
  /**
496
486
  * Private, non-const-ptr version of the public function verbsMemBegin().
497
487
  */
498
- uint8_t* verbsBeginWritable() { return fVerbs.begin(); }
488
+ uint8_t* verbsBeginWritable() { return (uint8_t*)fVerbs.begin(); }
499
489
 
500
490
  /**
501
491
  * Called the first time someone calls CreateEmpty to actually create the singleton.
502
492
  */
503
493
  friend SkPathRef* sk_create_empty_pathref();
504
494
 
505
- void setIsOval(bool isCCW, unsigned start) {
506
- fType = PathType::kOval;
507
- fRRectOrOvalIsCCW = isCCW;
508
- fRRectOrOvalStartIdx = SkToU8(start);
509
- }
510
-
511
- void setIsRRect(bool isCCW, unsigned start) {
512
- fType = PathType::kRRect;
513
- fRRectOrOvalIsCCW = isCCW;
514
- fRRectOrOvalStartIdx = SkToU8(start);
495
+ void setIsOval(SkPathDirection dir, unsigned start) {
496
+ fType = SkPathIsAType::kOval;
497
+ fIsA.fDirection = dir;
498
+ fIsA.fStartIndex = SkToU8(start);
515
499
  }
516
500
 
517
- void setIsArc(const SkArc& arc) {
518
- fType = PathType::kArc;
519
- fArcOval = arc.fOval;
520
- fArcStartAngle = arc.fStartAngle;
521
- fArcSweepAngle = arc.fSweepAngle;
522
- fArcType = arc.fType;
501
+ void setIsRRect(SkPathDirection dir, unsigned start) {
502
+ fType = SkPathIsAType::kRRect;
503
+ fIsA.fDirection = dir;
504
+ fIsA.fStartIndex = SkToU8(start);
523
505
  }
524
506
 
525
507
  // called only by the editor. Note that this is not a const function.
526
508
  SkPoint* getWritablePoints() {
527
509
  SkDEBUGCODE(this->validate();)
528
- fType = PathType::kGeneral;
510
+ fType = SkPathIsAType::kGeneral;
529
511
  return fPoints.begin();
530
512
  }
531
513
 
@@ -541,7 +523,6 @@ private:
541
523
  ConicWeightsArray fConicWeights;
542
524
 
543
525
  mutable SkRect fBounds;
544
- SkRect fArcOval;
545
526
 
546
527
  enum {
547
528
  kEmptyGenID = 1, // GenID reserved for path ref with zero points and zero verbs.
@@ -551,23 +532,13 @@ private:
551
532
 
552
533
  SkDEBUGCODE(std::atomic<int> fEditorsAttached;) // assert only one editor in use at any time.
553
534
 
554
- SkScalar fArcStartAngle;
555
- SkScalar fArcSweepAngle;
556
-
557
- PathType fType;
558
-
559
- mutable uint8_t fBoundsIsDirty;
560
-
561
- uint8_t fRRectOrOvalStartIdx;
562
- uint8_t fSegmentMask;
563
- // If the path is an arc, these four variables store that information.
564
- // We should just store an SkArc, but alignment would cost us 8 more bytes.
565
- SkArc::Type fArcType;
535
+ // based on fType
536
+ SkPathIsAData fIsA {};
566
537
 
567
- mutable bool fIsFinite; // only meaningful if bounds are valid
568
- // Both the circle and rrect special cases have a notion of direction and starting point
569
- // The next two variables store that information for either.
570
- bool fRRectOrOvalIsCCW;
538
+ SkPathIsAType fType;
539
+ uint8_t fSegmentMask;
540
+ mutable bool fBoundsIsDirty;
541
+ mutable bool fIsFinite; // only meaningful if bounds are valid
571
542
 
572
543
  friend class PathRefTest_Private;
573
544
  friend class ForceIsRRect_Private; // unit test isRRect
@@ -102,17 +102,17 @@ template <typename T> class AutoTArray {
102
102
  public:
103
103
  AutoTArray() {}
104
104
  // Allocate size number of T elements
105
- explicit AutoTArray(size_t size) {
106
- fSize = check_size_bytes_too_big<T>(size);
107
- fData.reset(size > 0 ? new T[size] : nullptr);
108
- }
105
+ explicit AutoTArray(size_t size)
106
+ : fData(size > 0 ? new T[check_size_bytes_too_big<T>(size)] : nullptr)
107
+ , fSize(size) {}
109
108
 
110
109
  // TODO: remove when all uses are gone.
111
110
  explicit AutoTArray(int size) : AutoTArray(SkToSizeT(size)) {}
112
111
 
113
- AutoTArray(AutoTArray&& other) : fData(std::move(other.fData)) {
114
- fSize = std::exchange(other.fSize, 0);
115
- }
112
+ AutoTArray(AutoTArray&& other)
113
+ : fData(std::move(other.fData))
114
+ , fSize(std::exchange(other.fSize, 0)) {}
115
+
116
116
  AutoTArray& operator=(AutoTArray&& other) {
117
117
  if (this != &other) {
118
118
  fData = std::move(other.fData);
@@ -122,6 +122,7 @@ public:
122
122
  }
123
123
 
124
124
  // Reallocates given a new count. Reallocation occurs even if new count equals old count.
125
+ [[clang::reinitializes]]
125
126
  void reset(size_t count = 0) {
126
127
  *this = AutoTArray(count);
127
128
  }
@@ -166,26 +167,38 @@ private:
166
167
  size_t fSize = 0;
167
168
  };
168
169
 
169
- /** Like AutoTArray with room for kCountRequested elements preallocated on
170
- * the Stack. If count exceeds the space of the preallocation, the elements
171
- * will live on the heap. Once this goes out of scope, the elements will be
172
- * cleaned up "auto"matically.
170
+ /** Like AutoTArray with storage for some number of elements "nested within". The requested number
171
+ * of elements to fit in the storage is specified by kCountRequested. kCount is the actual number
172
+ * of elements that will fit in the storage. If the runtime number of elements exceeds the space of
173
+ * the storage, the elements will live on the heap.
173
174
  */
174
175
  template <int kCountRequested, typename T> class AutoSTArray {
175
176
  public:
176
- AutoSTArray(AutoSTArray&&) = delete;
177
177
  AutoSTArray(const AutoSTArray&) = delete;
178
- AutoSTArray& operator=(AutoSTArray&&) = delete;
179
178
  AutoSTArray& operator=(const AutoSTArray&) = delete;
180
179
 
180
+ AutoSTArray(AutoSTArray&& that) {
181
+ if (that.fArray == nullptr) {
182
+ fArray = nullptr;
183
+ fCount = 0;
184
+ } else if (that.fArray == (T*) that.fStorage) {
185
+ fArray = (T*) fStorage;
186
+ fCount = that.fCount;
187
+ std::uninitialized_move(that.fArray, that.fArray + that.fCount, fArray);
188
+ } else {
189
+ fArray = std::exchange(that.fArray, nullptr);
190
+ fCount = std::exchange(that.fCount, 0);
191
+ }
192
+ }
193
+ AutoSTArray& operator=(AutoSTArray&&) = delete;
194
+
181
195
  /** Initialize with no objects */
182
196
  AutoSTArray() {
183
197
  fArray = nullptr;
184
198
  fCount = 0;
185
199
  }
186
200
 
187
- /** Allocate count number of T elements
188
- */
201
+ /** Allocate count number of T elements */
189
202
  AutoSTArray(int count) {
190
203
  fArray = nullptr;
191
204
  fCount = 0;
@@ -197,18 +210,17 @@ public:
197
210
  }
198
211
 
199
212
  /** Destroys previous objects in the array and default constructs count number of objects */
213
+ [[clang::reinitializes]]
200
214
  void reset(int count) {
201
- T* start = fArray;
202
- T* iter = start + fCount;
215
+ T* start = begin();
216
+ T* iter = end();
203
217
  while (iter > start) {
204
218
  (--iter)->~T();
205
219
  }
206
220
 
207
221
  SkASSERT(count >= 0);
208
222
  if (fCount != count) {
209
- if (fCount > kCount) {
210
- // 'fArray' was allocated last time so free it now
211
- SkASSERT((T*) fStorage != fArray);
223
+ if (fArray != (T*) fStorage) {
212
224
  sk_free(fArray);
213
225
  }
214
226
 
@@ -223,19 +235,31 @@ public:
223
235
  fCount = count;
224
236
  }
225
237
 
226
- iter = fArray;
227
- T* stop = fArray + count;
238
+ iter = begin();
239
+ T* stop = end();
228
240
  while (iter < stop) {
229
241
  new (iter++) T;
230
242
  }
231
243
  }
232
244
 
233
- /** Return the number of T elements in the array
234
- */
245
+ /* Removes elements with index >= count */
246
+ void trimTo(int count) {
247
+ SkASSERT(count >= 0);
248
+ if (count >= fCount) {
249
+ return;
250
+ }
251
+ T* start = begin() + count;
252
+ T* iter = end();
253
+ while (iter > start) {
254
+ (--iter)->~T();
255
+ }
256
+ fCount = count;
257
+ }
258
+
259
+ /** Return the number of T elements in the array */
235
260
  int count() const { return fCount; }
236
261
 
237
- /** Return the array of T elements. Will be NULL if count == 0
238
- */
262
+ /** Return the array of T elements. Will be nullptr if count == 0 */
239
263
  T* get() const { return fArray; }
240
264
 
241
265
  T* begin() { return fArray; }
@@ -246,8 +270,7 @@ public:
246
270
 
247
271
  const T* end() const { return fArray + fCount; }
248
272
 
249
- /** Return the nth element in the array
250
- */
273
+ /** Return the nth element in the array */
251
274
  T& operator[](int index) const {
252
275
  return fArray[sk_collection_check_bounds(index, fCount)];
253
276
  }
@@ -274,9 +297,11 @@ private:
274
297
  // Thus, we can expand how many elements are stored on the stack to make use of this
275
298
  // (e.g. 1 extra element for 4 byte T if kCountRequested was even).
276
299
  static_assert(alignof(int) <= alignof(T*) || alignof(int) <= alignof(T));
300
+ public:
277
301
  static constexpr int kCount =
278
302
  SkAlignTo(kMinCount*sizeof(T) + sizeof(int), std::max(alignof(T*), alignof(T))) / sizeof(T);
279
303
 
304
+ private:
280
305
  T* fArray;
281
306
  alignas(T) std::byte fStorage[kCount * sizeof(T)];
282
307
  int fCount;
@@ -306,6 +331,7 @@ public:
306
331
  }
307
332
 
308
333
  /** Resize the memory area pointed to by the current ptr without preserving contents. */
334
+ [[clang::reinitializes]]
309
335
  T* reset(size_t count = 0) {
310
336
  fPtr.reset(count ? (T*)sk_malloc_throw(count, sizeof(T)) : nullptr);
311
337
  return this->get();
@@ -354,11 +380,21 @@ public:
354
380
  }
355
381
  }
356
382
 
357
- AutoSTMalloc(AutoSTMalloc&&) = delete;
358
383
  AutoSTMalloc(const AutoSTMalloc&) = delete;
359
- AutoSTMalloc& operator=(AutoSTMalloc&&) = delete;
360
384
  AutoSTMalloc& operator=(const AutoSTMalloc&) = delete;
361
385
 
386
+ AutoSTMalloc(AutoSTMalloc&& that) {
387
+ if (that.fPtr == nullptr) {
388
+ fPtr = nullptr;
389
+ } else if (that.fPtr == that.fTStorage) {
390
+ fPtr = fTStorage;
391
+ memcpy(fPtr, that.fPtr, kCount * sizeof(T));
392
+ } else {
393
+ fPtr = std::exchange(that.fPtr, nullptr);
394
+ }
395
+ }
396
+ AutoSTMalloc& operator=(AutoSTMalloc&&) = delete;
397
+
362
398
  ~AutoSTMalloc() {
363
399
  if (fPtr != fTStorage) {
364
400
  sk_free(fPtr);
@@ -366,6 +402,7 @@ public:
366
402
  }
367
403
 
368
404
  // doesn't preserve contents
405
+ [[clang::reinitializes]]
369
406
  T* reset(size_t count) {
370
407
  if (fPtr != fTStorage) {
371
408
  sk_free(fPtr);
@@ -427,13 +464,18 @@ private:
427
464
  // Stack frame size is limited for SK_BUILD_FOR_GOOGLE3. 4k is less than the actual max, but some functions
428
465
  // have multiple large stack allocations.
429
466
  static constexpr size_t kMaxBytes = 4 * 1024;
430
- static constexpr size_t kCount = kCountRequested * sizeof(T) > kMaxBytes
467
+ static constexpr size_t kMinCount = kCountRequested * sizeof(T) > kMaxBytes
431
468
  ? kMaxBytes / sizeof(T)
432
469
  : kCountWithPadding;
433
470
  #else
434
- static constexpr size_t kCount = kCountWithPadding;
471
+ static constexpr size_t kMinCount = kCountWithPadding;
435
472
  #endif
436
473
 
474
+ public:
475
+ static constexpr size_t kCount = kMinCount;
476
+
477
+ private:
478
+
437
479
  T* fPtr;
438
480
  union {
439
481
  uint32_t fStorage32[SkAlign4(kCount*sizeof(T)) >> 2];
@@ -16,7 +16,15 @@ class SkString;
16
16
 
17
17
  class SK_API SkParsePath {
18
18
  public:
19
- static bool FromSVGString(const char str[], SkPath*);
19
+ static std::optional<SkPath> FromSVGString(const char str[]);
20
+ // Deprecated
21
+ static bool FromSVGString(const char str[], SkPath* outPath) {
22
+ if (auto result = FromSVGString(str)) {
23
+ *outPath = *result;
24
+ return true;
25
+ }
26
+ return false;
27
+ }
20
28
 
21
29
  enum class PathEncoding { Absolute, Relative };
22
30
  static SkString ToSVGString(const SkPath&, PathEncoding = PathEncoding::Absolute);