@shopify/react-native-skia 0.1.129 → 0.1.132

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1104) hide show
  1. package/README.md +8 -0
  2. package/android/cpp/jni/JniSkiaDrawView.cpp +3 -2
  3. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +1 -0
  4. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +2 -1
  5. package/cpp/api/JsiSkCanvas.h +2 -2
  6. package/cpp/api/JsiSkFont.h +6 -2
  7. package/cpp/api/JsiSkMatrix.h +40 -27
  8. package/cpp/api/JsiSkPaint.h +3 -1
  9. package/cpp/api/JsiSkPath.h +67 -61
  10. package/cpp/api/JsiSkPathFactory.h +14 -1
  11. package/cpp/api/JsiSkRuntimeEffect.h +7 -9
  12. package/cpp/api/JsiSkRuntimeShaderBuilder.h +18 -0
  13. package/cpp/api/JsiSkTypeface.h +11 -2
  14. package/cpp/api/JsiSkTypefaceFactory.h +5 -1
  15. package/cpp/api/JsiSkVertices.h +0 -2
  16. package/cpp/rnskia/RNSkInfoParameter.h +2 -0
  17. package/cpp/rnskia/values/RNSkValue.h +1 -1
  18. package/cpp/skia/include/codec/SkCodec.h +7 -1
  19. package/cpp/skia/include/core/SkAlphaType.h +45 -0
  20. package/cpp/skia/include/core/SkBitmap.h +4 -2
  21. package/cpp/skia/include/core/SkCanvas.h +31 -20
  22. package/cpp/skia/include/core/SkColor.h +1 -1
  23. package/cpp/skia/include/core/SkColorFilter.h +1 -0
  24. package/cpp/skia/include/core/SkColorType.h +66 -0
  25. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +1 -1
  26. package/cpp/skia/include/core/SkDrawable.h +7 -0
  27. package/cpp/skia/include/core/SkEncodedImageFormat.h +1 -0
  28. package/cpp/skia/include/core/SkFont.h +4 -3
  29. package/cpp/skia/include/core/SkFontArguments.h +33 -1
  30. package/cpp/skia/include/core/SkGraphics.h +13 -0
  31. package/cpp/skia/include/core/SkImage.h +67 -22
  32. package/cpp/skia/include/core/SkImageEncoder.h +0 -3
  33. package/cpp/skia/include/core/SkImageGenerator.h +4 -3
  34. package/cpp/skia/include/core/SkImageInfo.h +35 -142
  35. package/cpp/skia/include/core/SkMesh.h +303 -0
  36. package/cpp/skia/include/core/SkMilestone.h +1 -1
  37. package/cpp/skia/include/core/SkOpenTypeSVGDecoder.h +30 -0
  38. package/cpp/skia/include/core/SkPaint.h +4 -19
  39. package/cpp/skia/include/core/SkPath.h +20 -33
  40. package/cpp/skia/include/core/SkPathBuilder.h +1 -6
  41. package/cpp/skia/include/core/SkPixelRef.h +1 -1
  42. package/cpp/skia/include/core/SkPixmap.h +3 -2
  43. package/cpp/skia/include/core/SkRSXform.h +1 -1
  44. package/cpp/skia/include/core/SkSamplingOptions.h +16 -5
  45. package/cpp/skia/include/core/SkSpan.h +5 -5
  46. package/cpp/skia/include/core/SkString.h +5 -8
  47. package/cpp/skia/include/core/SkSurface.h +21 -0
  48. package/cpp/skia/include/core/SkTypeface.h +20 -4
  49. package/cpp/skia/include/core/SkTypes.h +9 -5
  50. package/cpp/skia/include/effects/SkGradientShader.h +9 -18
  51. package/cpp/skia/include/effects/SkRuntimeEffect.h +16 -12
  52. package/cpp/skia/include/gpu/GpuTypes.h +32 -0
  53. package/cpp/skia/include/gpu/GrBackendSemaphore.h +1 -1
  54. package/cpp/skia/include/gpu/GrBackendSurface.h +6 -5
  55. package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +1 -1
  56. package/cpp/skia/include/gpu/GrContextOptions.h +11 -20
  57. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +7 -0
  58. package/cpp/skia/include/gpu/GrDirectContext.h +16 -11
  59. package/cpp/skia/include/gpu/GrDriverBugWorkaroundsAutogen.h +0 -2
  60. package/cpp/skia/include/gpu/GrRecordingContext.h +14 -7
  61. package/cpp/skia/include/gpu/GrSurfaceInfo.h +6 -6
  62. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +1 -1
  63. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +3 -1
  64. package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -2
  65. package/cpp/skia/include/gpu/graphite/BackendTexture.h +64 -0
  66. package/cpp/skia/include/gpu/graphite/Context.h +124 -0
  67. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +71 -0
  68. package/cpp/skia/include/gpu/graphite/Recorder.h +104 -0
  69. package/cpp/skia/include/gpu/graphite/Recording.h +39 -0
  70. package/cpp/skia/include/gpu/graphite/SkStuff.h +47 -0
  71. package/cpp/skia/include/gpu/graphite/TextureInfo.h +91 -0
  72. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +24 -0
  73. package/cpp/skia/include/gpu/graphite/mtl/MtlTypes.h +68 -0
  74. package/cpp/skia/include/gpu/mock/GrMockTypes.h +1 -2
  75. package/cpp/skia/include/ports/SkCFObject.h +0 -4
  76. package/cpp/skia/include/ports/SkTypeface_win.h +2 -2
  77. package/cpp/skia/include/private/{GrSingleOwner.h → SingleOwner.h} +17 -10
  78. package/cpp/skia/include/private/SkChecksum.h +11 -0
  79. package/cpp/skia/include/private/SkEncodedInfo.h +22 -5
  80. package/cpp/skia/include/private/SkFloatingPoint.h +0 -53
  81. package/cpp/skia/include/private/SkImageInfoPriv.h +8 -2
  82. package/cpp/skia/include/private/SkMacros.h +13 -18
  83. package/cpp/skia/include/private/SkMutex.h +8 -0
  84. package/cpp/skia/include/private/SkPathRef.h +2 -16
  85. package/cpp/skia/include/private/SkSLDefines.h +9 -1
  86. package/cpp/skia/include/private/SkSLIRNode.h +6 -5
  87. package/cpp/skia/include/private/SkSLLayout.h +11 -10
  88. package/cpp/skia/include/private/SkSLModifiers.h +4 -3
  89. package/cpp/skia/include/private/SkSLProgramElement.h +2 -2
  90. package/cpp/skia/include/private/SkSLProgramKind.h +8 -5
  91. package/cpp/skia/include/private/SkSLStatement.h +2 -3
  92. package/cpp/skia/include/private/SkSLString.h +17 -56
  93. package/cpp/skia/include/private/SkSLSymbol.h +4 -4
  94. package/cpp/skia/include/private/SkShadowFlags.h +3 -1
  95. package/cpp/skia/include/private/SkStringView.h +47 -0
  96. package/cpp/skia/include/private/SkTArray.h +4 -3
  97. package/cpp/skia/include/private/SkTHash.h +66 -24
  98. package/cpp/skia/include/private/SkTLogic.h +2 -32
  99. package/cpp/skia/include/private/SkTemplates.h +2 -2
  100. package/cpp/skia/include/private/SkThreadAnnotations.h +4 -4
  101. package/cpp/skia/include/private/SkVx.h +28 -28
  102. package/cpp/skia/include/private/chromium/GrSlug.h +40 -3
  103. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +12 -6
  104. package/cpp/skia/include/private/{GrContext_Base.h → gpu/ganesh/GrContext_Base.h} +7 -0
  105. package/cpp/skia/include/private/{GrD3DTypesMinimal.h → gpu/ganesh/GrD3DTypesMinimal.h} +0 -0
  106. package/cpp/skia/include/private/{GrDawnTypesPriv.h → gpu/ganesh/GrDawnTypesPriv.h} +0 -0
  107. package/cpp/skia/include/private/{GrGLTypesPriv.h → gpu/ganesh/GrGLTypesPriv.h} +1 -0
  108. package/cpp/skia/include/private/{GrImageContext.h → gpu/ganesh/GrImageContext.h} +4 -4
  109. package/cpp/skia/include/private/{GrMockTypesPriv.h → gpu/ganesh/GrMockTypesPriv.h} +0 -0
  110. package/cpp/skia/include/private/{GrMtlTypesPriv.h → gpu/ganesh/GrMtlTypesPriv.h} +0 -0
  111. package/cpp/skia/include/private/{GrTypesPriv.h → gpu/ganesh/GrTypesPriv.h} +25 -367
  112. package/cpp/skia/include/private/{GrVkTypesPriv.h → gpu/ganesh/GrVkTypesPriv.h} +0 -0
  113. package/cpp/skia/include/private/gpu/graphite/MtlTypesPriv.h +74 -0
  114. package/cpp/skia/include/sksl/DSL.h +4 -0
  115. package/cpp/skia/include/sksl/DSLBlock.h +8 -3
  116. package/cpp/skia/include/sksl/DSLCase.h +6 -6
  117. package/cpp/skia/include/sksl/DSLCore.h +89 -78
  118. package/cpp/skia/include/sksl/DSLExpression.h +78 -45
  119. package/cpp/skia/include/sksl/DSLFunction.h +23 -18
  120. package/cpp/skia/include/sksl/DSLLayout.h +14 -16
  121. package/cpp/skia/include/sksl/DSLModifiers.h +7 -5
  122. package/cpp/skia/include/sksl/DSLRuntimeEffects.h +1 -1
  123. package/cpp/skia/include/sksl/DSLStatement.h +16 -10
  124. package/cpp/skia/include/sksl/DSLSymbols.h +7 -7
  125. package/cpp/skia/include/sksl/DSLType.h +27 -23
  126. package/cpp/skia/include/sksl/DSLVar.h +72 -61
  127. package/cpp/skia/include/sksl/SkSLErrorReporter.h +12 -49
  128. package/cpp/skia/include/sksl/SkSLOperator.h +151 -0
  129. package/cpp/skia/include/sksl/SkSLPosition.h +102 -0
  130. package/cpp/skia/include/svg/SkSVGCanvas.h +5 -1
  131. package/cpp/skia/include/utils/SkAnimCodecPlayer.h +7 -0
  132. package/cpp/skia/include/utils/SkCamera.h +2 -0
  133. package/cpp/skia/include/utils/SkCanvasStateUtils.h +4 -1
  134. package/cpp/skia/include/utils/SkCustomTypeface.h +6 -4
  135. package/cpp/skia/include/utils/SkNWayCanvas.h +34 -0
  136. package/cpp/skia/include/utils/SkNullCanvas.h +5 -1
  137. package/cpp/skia/include/utils/SkOrderedFontMgr.h +12 -0
  138. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +30 -1
  139. package/cpp/skia/include/utils/SkParse.h +2 -0
  140. package/cpp/skia/include/utils/SkShadowUtils.h +3 -2
  141. package/cpp/skia/include/utils/SkTextUtils.h +8 -4
  142. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +27 -1
  143. package/cpp/skia/modules/svg/include/SkSVGDOM.h +4 -0
  144. package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +32 -0
  145. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  146. package/cpp/skia/modules/svg/include/SkSVGSVG.h +2 -0
  147. package/cpp/skia/modules/svg/include/SkSVGTypes.h +48 -9
  148. package/cpp/utils/RNSkLog.h +27 -0
  149. package/ios/RNSkia-iOS/PlatformContext.h +1 -1
  150. package/ios/RNSkia-iOS/RNSkDrawViewImpl.mm +1 -0
  151. package/ios/RNSkia-iOS/SkiaDrawView.mm +3 -2
  152. package/lib/commonjs/animation/functions/index.js +47 -17
  153. package/lib/commonjs/animation/functions/index.js.map +1 -1
  154. package/lib/commonjs/animation/functions/interpolatePaths.js +45 -0
  155. package/lib/commonjs/animation/functions/interpolatePaths.js.map +1 -0
  156. package/lib/commonjs/animation/functions/interpolateVector.js +20 -0
  157. package/lib/commonjs/animation/functions/interpolateVector.js.map +1 -0
  158. package/lib/commonjs/index.js +13 -0
  159. package/lib/commonjs/index.js.map +1 -1
  160. package/lib/commonjs/renderer/Canvas.js +19 -35
  161. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  162. package/lib/commonjs/renderer/HostConfig.js +2 -2
  163. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  164. package/lib/commonjs/renderer/components/Blend.js +10 -7
  165. package/lib/commonjs/renderer/components/Blend.js.map +1 -1
  166. package/lib/commonjs/renderer/components/Compose.js +9 -6
  167. package/lib/commonjs/renderer/components/Compose.js.map +1 -1
  168. package/lib/commonjs/renderer/components/Group.js +7 -6
  169. package/lib/commonjs/renderer/components/Group.js.map +1 -1
  170. package/lib/commonjs/renderer/components/Mask.js +13 -10
  171. package/lib/commonjs/renderer/components/Mask.js.map +1 -1
  172. package/lib/commonjs/renderer/components/Paint.js +7 -4
  173. package/lib/commonjs/renderer/components/Paint.js.map +1 -1
  174. package/lib/commonjs/renderer/components/Picture.js.map +1 -1
  175. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js +1 -1
  176. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js.map +1 -1
  177. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js +7 -6
  178. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js.map +1 -1
  179. package/lib/commonjs/renderer/components/colorFilters/Compose.js +6 -6
  180. package/lib/commonjs/renderer/components/colorFilters/Compose.js.map +1 -1
  181. package/lib/commonjs/renderer/components/colorFilters/Lerp.js +8 -7
  182. package/lib/commonjs/renderer/components/colorFilters/Lerp.js.map +1 -1
  183. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js +6 -6
  184. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -1
  185. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js +6 -6
  186. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js.map +1 -1
  187. package/lib/commonjs/renderer/components/colorFilters/Matrix.js +6 -7
  188. package/lib/commonjs/renderer/components/colorFilters/Matrix.js.map +1 -1
  189. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js +6 -6
  190. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -1
  191. package/lib/commonjs/renderer/components/image/BoxFit.js +7 -9
  192. package/lib/commonjs/renderer/components/image/BoxFit.js.map +1 -1
  193. package/lib/commonjs/renderer/components/image/Image.js +3 -2
  194. package/lib/commonjs/renderer/components/image/Image.js.map +1 -1
  195. package/lib/commonjs/renderer/components/image/ImageSVG.js +3 -2
  196. package/lib/commonjs/renderer/components/image/ImageSVG.js.map +1 -1
  197. package/lib/commonjs/renderer/components/image/ImageShader.js +9 -6
  198. package/lib/commonjs/renderer/components/image/ImageShader.js.map +1 -1
  199. package/lib/commonjs/renderer/components/imageFilters/Blur.js +7 -4
  200. package/lib/commonjs/renderer/components/imageFilters/Blur.js.map +1 -1
  201. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js +10 -7
  202. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js.map +1 -1
  203. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js +10 -15
  204. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js.map +1 -1
  205. package/lib/commonjs/renderer/components/imageFilters/Morphology.js +7 -6
  206. package/lib/commonjs/renderer/components/imageFilters/Morphology.js.map +1 -1
  207. package/lib/commonjs/renderer/components/imageFilters/Offset.js +5 -4
  208. package/lib/commonjs/renderer/components/imageFilters/Offset.js.map +1 -1
  209. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js +13 -6
  210. package/lib/commonjs/renderer/components/imageFilters/RuntimeShader.js.map +1 -1
  211. package/lib/commonjs/renderer/components/imageFilters/Shadow.js +8 -7
  212. package/lib/commonjs/renderer/components/imageFilters/Shadow.js.map +1 -1
  213. package/lib/commonjs/renderer/components/imageFilters/getInput.js +7 -7
  214. package/lib/commonjs/renderer/components/imageFilters/getInput.js.map +1 -1
  215. package/lib/commonjs/renderer/components/maskFilters/Blur.js +6 -3
  216. package/lib/commonjs/renderer/components/maskFilters/Blur.js.map +1 -1
  217. package/lib/commonjs/renderer/components/pathEffects/Corner.js +8 -6
  218. package/lib/commonjs/renderer/components/pathEffects/Corner.js.map +1 -1
  219. package/lib/commonjs/renderer/components/pathEffects/Dash.js +8 -6
  220. package/lib/commonjs/renderer/components/pathEffects/Dash.js.map +1 -1
  221. package/lib/commonjs/renderer/components/pathEffects/Discrete.js +8 -6
  222. package/lib/commonjs/renderer/components/pathEffects/Discrete.js.map +1 -1
  223. package/lib/commonjs/renderer/components/pathEffects/Line2D.js +8 -6
  224. package/lib/commonjs/renderer/components/pathEffects/Line2D.js.map +1 -1
  225. package/lib/commonjs/renderer/components/pathEffects/Path1D.js +8 -6
  226. package/lib/commonjs/renderer/components/pathEffects/Path1D.js.map +1 -1
  227. package/lib/commonjs/renderer/components/pathEffects/Path2D.js +8 -6
  228. package/lib/commonjs/renderer/components/pathEffects/Path2D.js.map +1 -1
  229. package/lib/commonjs/renderer/components/pathEffects/Sum.js +7 -4
  230. package/lib/commonjs/renderer/components/pathEffects/Sum.js.map +1 -1
  231. package/lib/commonjs/renderer/components/shaders/Color.js +7 -4
  232. package/lib/commonjs/renderer/components/shaders/Color.js.map +1 -1
  233. package/lib/commonjs/renderer/components/shaders/FractalNoise.js +5 -4
  234. package/lib/commonjs/renderer/components/shaders/FractalNoise.js.map +1 -1
  235. package/lib/commonjs/renderer/components/shaders/Gradient.js +5 -5
  236. package/lib/commonjs/renderer/components/shaders/Gradient.js.map +1 -1
  237. package/lib/commonjs/renderer/components/shaders/LinearGradient.js +6 -5
  238. package/lib/commonjs/renderer/components/shaders/LinearGradient.js.map +1 -1
  239. package/lib/commonjs/renderer/components/shaders/RadialGradient.js +6 -5
  240. package/lib/commonjs/renderer/components/shaders/RadialGradient.js.map +1 -1
  241. package/lib/commonjs/renderer/components/shaders/Shader.js +6 -44
  242. package/lib/commonjs/renderer/components/shaders/Shader.js.map +1 -1
  243. package/lib/commonjs/renderer/components/shaders/SweepGradient.js +6 -5
  244. package/lib/commonjs/renderer/components/shaders/SweepGradient.js.map +1 -1
  245. package/lib/commonjs/renderer/components/shaders/Turbulence.js +5 -4
  246. package/lib/commonjs/renderer/components/shaders/Turbulence.js.map +1 -1
  247. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js +6 -5
  248. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -1
  249. package/lib/commonjs/renderer/components/shapes/Box.js +26 -29
  250. package/lib/commonjs/renderer/components/shapes/Box.js.map +1 -1
  251. package/lib/commonjs/renderer/components/shapes/Circle.js +7 -5
  252. package/lib/commonjs/renderer/components/shapes/Circle.js.map +1 -1
  253. package/lib/commonjs/renderer/components/shapes/DiffRect.js.map +1 -1
  254. package/lib/commonjs/renderer/components/shapes/FitBox.js.map +1 -1
  255. package/lib/commonjs/renderer/components/shapes/Line.js.map +1 -1
  256. package/lib/commonjs/renderer/components/shapes/Oval.js +3 -2
  257. package/lib/commonjs/renderer/components/shapes/Oval.js.map +1 -1
  258. package/lib/commonjs/renderer/components/shapes/Patch.js +8 -5
  259. package/lib/commonjs/renderer/components/shapes/Patch.js.map +1 -1
  260. package/lib/commonjs/renderer/components/shapes/Path.js +5 -4
  261. package/lib/commonjs/renderer/components/shapes/Path.js.map +1 -1
  262. package/lib/commonjs/renderer/components/shapes/Points.js +2 -2
  263. package/lib/commonjs/renderer/components/shapes/Points.js.map +1 -1
  264. package/lib/commonjs/renderer/components/shapes/Rect.js +3 -2
  265. package/lib/commonjs/renderer/components/shapes/Rect.js.map +1 -1
  266. package/lib/commonjs/renderer/components/shapes/RoundedRect.js +3 -2
  267. package/lib/commonjs/renderer/components/shapes/RoundedRect.js.map +1 -1
  268. package/lib/commonjs/renderer/components/shapes/Vertices.js +9 -8
  269. package/lib/commonjs/renderer/components/shapes/Vertices.js.map +1 -1
  270. package/lib/commonjs/renderer/components/text/Glyphs.js +3 -2
  271. package/lib/commonjs/renderer/components/text/Glyphs.js.map +1 -1
  272. package/lib/commonjs/renderer/components/text/Text.js +3 -2
  273. package/lib/commonjs/renderer/components/text/Text.js.map +1 -1
  274. package/lib/commonjs/renderer/components/text/TextBlob.js.map +1 -1
  275. package/lib/commonjs/renderer/components/text/TextPath.js +7 -11
  276. package/lib/commonjs/renderer/components/text/TextPath.js.map +1 -1
  277. package/lib/commonjs/renderer/index.js +13 -13
  278. package/lib/commonjs/renderer/index.js.map +1 -1
  279. package/lib/commonjs/renderer/nodes/Declaration.js.map +1 -1
  280. package/lib/commonjs/renderer/nodes/Drawing.js +5 -5
  281. package/lib/commonjs/renderer/nodes/Drawing.js.map +1 -1
  282. package/lib/commonjs/renderer/nodes/Node.js.map +1 -1
  283. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  284. package/lib/commonjs/renderer/processors/Circles.js +2 -4
  285. package/lib/commonjs/renderer/processors/Circles.js.map +1 -1
  286. package/lib/commonjs/renderer/processors/Clips.js +5 -5
  287. package/lib/commonjs/renderer/processors/Clips.js.map +1 -1
  288. package/lib/commonjs/{skia/core → renderer/processors}/Color.js +2 -6
  289. package/lib/commonjs/renderer/processors/Color.js.map +1 -0
  290. package/lib/commonjs/renderer/processors/Font.js +4 -4
  291. package/lib/commonjs/renderer/processors/Font.js.map +1 -1
  292. package/lib/commonjs/renderer/processors/Paint.js +18 -14
  293. package/lib/commonjs/renderer/processors/Paint.js.map +1 -1
  294. package/lib/commonjs/renderer/processors/Paths.js +4 -4
  295. package/lib/commonjs/renderer/processors/Paths.js.map +1 -1
  296. package/lib/commonjs/renderer/processors/Radius.js +2 -4
  297. package/lib/commonjs/renderer/processors/Radius.js.map +1 -1
  298. package/lib/commonjs/renderer/processors/Rects.js +8 -59
  299. package/lib/commonjs/renderer/processors/Rects.js.map +1 -1
  300. package/lib/commonjs/renderer/processors/Transform.js +26 -17
  301. package/lib/commonjs/renderer/processors/Transform.js.map +1 -1
  302. package/lib/commonjs/renderer/processors/index.js +26 -13
  303. package/lib/commonjs/renderer/processors/index.js.map +1 -1
  304. package/lib/commonjs/renderer/processors/math/Coordinates.js.map +1 -1
  305. package/lib/commonjs/renderer/processors/math/Transforms.js.map +1 -1
  306. package/lib/commonjs/renderer/processors/math/index.js +0 -26
  307. package/lib/commonjs/renderer/processors/math/index.js.map +1 -1
  308. package/lib/commonjs/renderer/useCanvas.js +30 -0
  309. package/lib/commonjs/renderer/useCanvas.js.map +1 -0
  310. package/lib/commonjs/skia/NativeSetup.js +1 -1
  311. package/lib/commonjs/skia/NativeSetup.js.map +1 -1
  312. package/lib/commonjs/skia/Skia.web.js +12 -0
  313. package/lib/commonjs/skia/Skia.web.js.map +1 -0
  314. package/lib/commonjs/skia/core/Data.js +9 -4
  315. package/lib/commonjs/skia/core/Data.js.map +1 -1
  316. package/lib/commonjs/skia/core/Font.js +2 -4
  317. package/lib/commonjs/skia/core/Font.js.map +1 -1
  318. package/lib/commonjs/skia/core/Matrix.js +15 -0
  319. package/lib/commonjs/skia/core/Matrix.js.map +1 -0
  320. package/lib/commonjs/skia/core/Paint.js +4 -12
  321. package/lib/commonjs/skia/core/Paint.js.map +1 -1
  322. package/lib/commonjs/skia/core/Path.js +14 -2
  323. package/lib/commonjs/skia/core/Path.js.map +1 -1
  324. package/lib/commonjs/skia/core/RRect.js +13 -0
  325. package/lib/commonjs/skia/core/RRect.js.map +1 -0
  326. package/lib/commonjs/skia/core/Rect.js +47 -0
  327. package/lib/commonjs/skia/core/Rect.js.map +1 -0
  328. package/lib/commonjs/skia/core/Vector.js +49 -0
  329. package/lib/commonjs/skia/core/Vector.js.map +1 -0
  330. package/lib/commonjs/skia/core/index.js +51 -25
  331. package/lib/commonjs/skia/core/index.js.map +1 -1
  332. package/lib/commonjs/skia/types/Font/Font.js.map +1 -1
  333. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  334. package/lib/commonjs/skia/types/Matrix.js +58 -1
  335. package/lib/commonjs/skia/types/Matrix.js.map +1 -1
  336. package/lib/commonjs/skia/types/Path/Path.js +1 -0
  337. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  338. package/lib/commonjs/skia/types/Point.js.map +1 -1
  339. package/lib/commonjs/skia/types/RRect.js +7 -0
  340. package/lib/commonjs/skia/types/RRect.js.map +1 -1
  341. package/lib/commonjs/skia/types/Shader/Shader.js +51 -1
  342. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  343. package/lib/commonjs/skia/web/{api/Host.js → Host.js} +10 -1
  344. package/lib/commonjs/skia/web/Host.js.map +1 -0
  345. package/lib/commonjs/skia/web/JsiImageFilterFactory.js +68 -0
  346. package/lib/commonjs/skia/web/JsiImageFilterFactory.js.map +1 -0
  347. package/lib/commonjs/skia/web/{api/JsiSkCanvas.js → JsiSkCanvas.js} +20 -6
  348. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -0
  349. package/lib/commonjs/skia/web/{api/JsiSkColor.js → JsiSkColor.js} +163 -4
  350. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -0
  351. package/lib/commonjs/skia/web/{api/JsiSkColorFilter.js → JsiSkColorFilter.js} +0 -0
  352. package/lib/commonjs/skia/web/{api/JsiSkColorFilter.js.map → JsiSkColorFilter.js.map} +1 -1
  353. package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js +48 -0
  354. package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js.map +1 -0
  355. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +42 -0
  356. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -0
  357. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +30 -0
  358. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -0
  359. package/lib/commonjs/skia/web/JsiSkData.js +18 -0
  360. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -0
  361. package/lib/commonjs/skia/web/JsiSkDataFactory.js +44 -0
  362. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -0
  363. package/lib/commonjs/skia/web/JsiSkFont.js +113 -0
  364. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -0
  365. package/lib/commonjs/skia/web/JsiSkFontMgr.js +35 -0
  366. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -0
  367. package/lib/commonjs/skia/web/JsiSkFontMgrFactory.js +25 -0
  368. package/lib/commonjs/skia/web/JsiSkFontMgrFactory.js.map +1 -0
  369. package/lib/commonjs/skia/web/{api/JsiSkImage.js → JsiSkImage.js} +0 -0
  370. package/lib/commonjs/skia/web/{api/JsiSkImage.js.map → JsiSkImage.js.map} +1 -1
  371. package/lib/commonjs/skia/web/JsiSkImageFactory.js +47 -0
  372. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -0
  373. package/lib/commonjs/skia/web/JsiSkImageFilter.js +18 -0
  374. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -0
  375. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +18 -0
  376. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -0
  377. package/lib/commonjs/skia/web/JsiSkMaskFilterFactory.js +24 -0
  378. package/lib/commonjs/skia/web/JsiSkMaskFilterFactory.js.map +1 -0
  379. package/lib/commonjs/skia/web/JsiSkMatrix.js +38 -0
  380. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -0
  381. package/lib/commonjs/skia/web/{api/JsiSkPaint.js → JsiSkPaint.js} +4 -9
  382. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -0
  383. package/lib/commonjs/skia/web/JsiSkPath.js +324 -0
  384. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -0
  385. package/lib/commonjs/skia/web/JsiSkPathEffect.js +18 -0
  386. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -0
  387. package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js +78 -0
  388. package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js.map +1 -0
  389. package/lib/commonjs/skia/web/JsiSkPathFactory.js +58 -0
  390. package/lib/commonjs/skia/web/JsiSkPathFactory.js.map +1 -0
  391. package/lib/commonjs/skia/web/JsiSkPicture.js +29 -0
  392. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -0
  393. package/lib/commonjs/skia/web/JsiSkPictureFactory.js +30 -0
  394. package/lib/commonjs/skia/web/JsiSkPictureFactory.js.map +1 -0
  395. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +30 -0
  396. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -0
  397. package/lib/commonjs/skia/web/JsiSkPoint.js +26 -0
  398. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -0
  399. package/lib/commonjs/skia/web/JsiSkRRect.js +32 -0
  400. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -0
  401. package/lib/commonjs/skia/web/JsiSkRSXform.js +18 -0
  402. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -0
  403. package/lib/commonjs/skia/web/{api/JsiSkRect.js → JsiSkRect.js} +8 -0
  404. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -0
  405. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +44 -0
  406. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -0
  407. package/lib/commonjs/skia/web/JsiSkRuntimeEffectFactory.js +30 -0
  408. package/lib/commonjs/skia/web/JsiSkRuntimeEffectFactory.js.map +1 -0
  409. package/lib/commonjs/skia/web/JsiSkSVGFactory.js +26 -0
  410. package/lib/commonjs/skia/web/JsiSkSVGFactory.js.map +1 -0
  411. package/lib/commonjs/skia/web/JsiSkShader.js +18 -0
  412. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -0
  413. package/lib/commonjs/skia/web/JsiSkShaderFactory.js +52 -0
  414. package/lib/commonjs/skia/web/JsiSkShaderFactory.js.map +1 -0
  415. package/lib/commonjs/skia/web/{api/JsiSkSurface.js → JsiSkSurface.js} +0 -0
  416. package/lib/commonjs/skia/web/{api/JsiSkSurface.js.map → JsiSkSurface.js.map} +1 -1
  417. package/lib/commonjs/skia/web/{api/JsiSkSurfaceFactory.js → JsiSkSurfaceFactory.js} +0 -0
  418. package/lib/commonjs/skia/web/{api/JsiSkSurfaceFactory.js.map → JsiSkSurfaceFactory.js.map} +1 -1
  419. package/lib/commonjs/skia/web/JsiSkTextBlob.js +18 -0
  420. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -0
  421. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js +36 -0
  422. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js.map +1 -0
  423. package/lib/commonjs/skia/web/JsiSkTypeface.js +28 -0
  424. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -0
  425. package/lib/commonjs/skia/web/JsiSkTypefaceFactory.js +30 -0
  426. package/lib/commonjs/skia/web/JsiSkTypefaceFactory.js.map +1 -0
  427. package/lib/commonjs/skia/web/JsiSkVertices.js +28 -0
  428. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -0
  429. package/lib/commonjs/skia/web/JsiSkVerticesFactory.js +27 -0
  430. package/lib/commonjs/skia/web/JsiSkVerticesFactory.js.map +1 -0
  431. package/lib/commonjs/skia/web/JsiSkia.js +97 -0
  432. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -0
  433. package/lib/commonjs/skia/web/index.js +4 -4
  434. package/lib/commonjs/skia/web/index.js.map +1 -1
  435. package/lib/commonjs/values/web/api.js +2 -2
  436. package/lib/commonjs/values/web/api.js.map +1 -1
  437. package/lib/commonjs/views/SkiaView.web.js +216 -0
  438. package/lib/commonjs/views/SkiaView.web.js.map +1 -0
  439. package/lib/commonjs/views/types.js.map +1 -1
  440. package/lib/commonjs/views/useTouchHandler.js +70 -46
  441. package/lib/commonjs/views/useTouchHandler.js.map +1 -1
  442. package/lib/commonjs/web/index.js +20 -0
  443. package/lib/commonjs/web/index.js.map +1 -0
  444. package/lib/module/animation/functions/index.js +4 -2
  445. package/lib/module/animation/functions/index.js.map +1 -1
  446. package/lib/module/animation/functions/interpolatePaths.js +36 -0
  447. package/lib/module/animation/functions/interpolatePaths.js.map +1 -0
  448. package/lib/module/animation/functions/interpolateVector.js +7 -0
  449. package/lib/module/animation/functions/interpolateVector.js.map +1 -0
  450. package/lib/module/index.js +1 -0
  451. package/lib/module/index.js.map +1 -1
  452. package/lib/module/renderer/Canvas.js +15 -26
  453. package/lib/module/renderer/Canvas.js.map +1 -1
  454. package/lib/module/renderer/HostConfig.js +2 -2
  455. package/lib/module/renderer/HostConfig.js.map +1 -1
  456. package/lib/module/renderer/components/Blend.js +5 -2
  457. package/lib/module/renderer/components/Blend.js.map +1 -1
  458. package/lib/module/renderer/components/Compose.js +5 -2
  459. package/lib/module/renderer/components/Compose.js.map +1 -1
  460. package/lib/module/renderer/components/Group.js +7 -6
  461. package/lib/module/renderer/components/Group.js.map +1 -1
  462. package/lib/module/renderer/components/Mask.js +7 -3
  463. package/lib/module/renderer/components/Mask.js.map +1 -1
  464. package/lib/module/renderer/components/Paint.js +6 -3
  465. package/lib/module/renderer/components/Paint.js.map +1 -1
  466. package/lib/module/renderer/components/Picture.js.map +1 -1
  467. package/lib/module/renderer/components/backdrop/BackdropFilter.js +1 -1
  468. package/lib/module/renderer/components/backdrop/BackdropFilter.js.map +1 -1
  469. package/lib/module/renderer/components/colorFilters/BlendColor.js +6 -3
  470. package/lib/module/renderer/components/colorFilters/BlendColor.js.map +1 -1
  471. package/lib/module/renderer/components/colorFilters/Compose.js +2 -2
  472. package/lib/module/renderer/components/colorFilters/Compose.js.map +1 -1
  473. package/lib/module/renderer/components/colorFilters/Lerp.js +6 -3
  474. package/lib/module/renderer/components/colorFilters/Lerp.js.map +1 -1
  475. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js +5 -3
  476. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -1
  477. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js +5 -3
  478. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js.map +1 -1
  479. package/lib/module/renderer/components/colorFilters/Matrix.js +5 -3
  480. package/lib/module/renderer/components/colorFilters/Matrix.js.map +1 -1
  481. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js +5 -3
  482. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -1
  483. package/lib/module/renderer/components/image/BoxFit.js +7 -8
  484. package/lib/module/renderer/components/image/BoxFit.js.map +1 -1
  485. package/lib/module/renderer/components/image/Image.js +3 -2
  486. package/lib/module/renderer/components/image/Image.js.map +1 -1
  487. package/lib/module/renderer/components/image/ImageSVG.js +3 -2
  488. package/lib/module/renderer/components/image/ImageSVG.js.map +1 -1
  489. package/lib/module/renderer/components/image/ImageShader.js +10 -7
  490. package/lib/module/renderer/components/image/ImageShader.js.map +1 -1
  491. package/lib/module/renderer/components/imageFilters/Blur.js +7 -4
  492. package/lib/module/renderer/components/imageFilters/Blur.js.map +1 -1
  493. package/lib/module/renderer/components/imageFilters/DisplacementMap.js +7 -4
  494. package/lib/module/renderer/components/imageFilters/DisplacementMap.js.map +1 -1
  495. package/lib/module/renderer/components/imageFilters/InnerShadow.js +3 -3
  496. package/lib/module/renderer/components/imageFilters/InnerShadow.js.map +1 -1
  497. package/lib/module/renderer/components/imageFilters/Morphology.js +6 -4
  498. package/lib/module/renderer/components/imageFilters/Morphology.js.map +1 -1
  499. package/lib/module/renderer/components/imageFilters/Offset.js +5 -3
  500. package/lib/module/renderer/components/imageFilters/Offset.js.map +1 -1
  501. package/lib/module/renderer/components/imageFilters/RuntimeShader.js +13 -4
  502. package/lib/module/renderer/components/imageFilters/RuntimeShader.js.map +1 -1
  503. package/lib/module/renderer/components/imageFilters/Shadow.js +6 -5
  504. package/lib/module/renderer/components/imageFilters/Shadow.js.map +1 -1
  505. package/lib/module/renderer/components/imageFilters/getInput.js +2 -2
  506. package/lib/module/renderer/components/imageFilters/getInput.js.map +1 -1
  507. package/lib/module/renderer/components/maskFilters/Blur.js +5 -2
  508. package/lib/module/renderer/components/maskFilters/Blur.js.map +1 -1
  509. package/lib/module/renderer/components/pathEffects/Corner.js +5 -2
  510. package/lib/module/renderer/components/pathEffects/Corner.js.map +1 -1
  511. package/lib/module/renderer/components/pathEffects/Dash.js +5 -2
  512. package/lib/module/renderer/components/pathEffects/Dash.js.map +1 -1
  513. package/lib/module/renderer/components/pathEffects/Discrete.js +5 -2
  514. package/lib/module/renderer/components/pathEffects/Discrete.js.map +1 -1
  515. package/lib/module/renderer/components/pathEffects/Line2D.js +5 -2
  516. package/lib/module/renderer/components/pathEffects/Line2D.js.map +1 -1
  517. package/lib/module/renderer/components/pathEffects/Path1D.js +6 -3
  518. package/lib/module/renderer/components/pathEffects/Path1D.js.map +1 -1
  519. package/lib/module/renderer/components/pathEffects/Path2D.js +6 -3
  520. package/lib/module/renderer/components/pathEffects/Path2D.js.map +1 -1
  521. package/lib/module/renderer/components/pathEffects/Sum.js +5 -2
  522. package/lib/module/renderer/components/pathEffects/Sum.js.map +1 -1
  523. package/lib/module/renderer/components/shaders/Color.js +6 -3
  524. package/lib/module/renderer/components/shaders/Color.js.map +1 -1
  525. package/lib/module/renderer/components/shaders/FractalNoise.js +4 -2
  526. package/lib/module/renderer/components/shaders/FractalNoise.js.map +1 -1
  527. package/lib/module/renderer/components/shaders/Gradient.js +3 -3
  528. package/lib/module/renderer/components/shaders/Gradient.js.map +1 -1
  529. package/lib/module/renderer/components/shaders/LinearGradient.js +5 -3
  530. package/lib/module/renderer/components/shaders/LinearGradient.js.map +1 -1
  531. package/lib/module/renderer/components/shaders/RadialGradient.js +5 -3
  532. package/lib/module/renderer/components/shaders/RadialGradient.js.map +1 -1
  533. package/lib/module/renderer/components/shaders/Shader.js +6 -45
  534. package/lib/module/renderer/components/shaders/Shader.js.map +1 -1
  535. package/lib/module/renderer/components/shaders/SweepGradient.js +5 -3
  536. package/lib/module/renderer/components/shaders/SweepGradient.js.map +1 -1
  537. package/lib/module/renderer/components/shaders/Turbulence.js +4 -2
  538. package/lib/module/renderer/components/shaders/Turbulence.js.map +1 -1
  539. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js +5 -3
  540. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -1
  541. package/lib/module/renderer/components/shapes/Box.js +20 -19
  542. package/lib/module/renderer/components/shapes/Box.js.map +1 -1
  543. package/lib/module/renderer/components/shapes/Circle.js +7 -4
  544. package/lib/module/renderer/components/shapes/Circle.js.map +1 -1
  545. package/lib/module/renderer/components/shapes/DiffRect.js.map +1 -1
  546. package/lib/module/renderer/components/shapes/FitBox.js.map +1 -1
  547. package/lib/module/renderer/components/shapes/Line.js.map +1 -1
  548. package/lib/module/renderer/components/shapes/Oval.js +3 -2
  549. package/lib/module/renderer/components/shapes/Oval.js.map +1 -1
  550. package/lib/module/renderer/components/shapes/Patch.js +5 -3
  551. package/lib/module/renderer/components/shapes/Patch.js.map +1 -1
  552. package/lib/module/renderer/components/shapes/Path.js +4 -3
  553. package/lib/module/renderer/components/shapes/Path.js.map +1 -1
  554. package/lib/module/renderer/components/shapes/Points.js +1 -1
  555. package/lib/module/renderer/components/shapes/Points.js.map +1 -1
  556. package/lib/module/renderer/components/shapes/Rect.js +3 -2
  557. package/lib/module/renderer/components/shapes/Rect.js.map +1 -1
  558. package/lib/module/renderer/components/shapes/RoundedRect.js +3 -2
  559. package/lib/module/renderer/components/shapes/RoundedRect.js.map +1 -1
  560. package/lib/module/renderer/components/shapes/Vertices.js +5 -3
  561. package/lib/module/renderer/components/shapes/Vertices.js.map +1 -1
  562. package/lib/module/renderer/components/text/Glyphs.js +3 -2
  563. package/lib/module/renderer/components/text/Glyphs.js.map +1 -1
  564. package/lib/module/renderer/components/text/Text.js +3 -2
  565. package/lib/module/renderer/components/text/Text.js.map +1 -1
  566. package/lib/module/renderer/components/text/TextBlob.js.map +1 -1
  567. package/lib/module/renderer/components/text/TextPath.js +3 -3
  568. package/lib/module/renderer/components/text/TextPath.js.map +1 -1
  569. package/lib/module/renderer/index.js +1 -1
  570. package/lib/module/renderer/index.js.map +1 -1
  571. package/lib/module/renderer/nodes/Declaration.js.map +1 -1
  572. package/lib/module/renderer/nodes/Drawing.js +3 -3
  573. package/lib/module/renderer/nodes/Drawing.js.map +1 -1
  574. package/lib/module/renderer/nodes/Node.js.map +1 -1
  575. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  576. package/lib/module/renderer/processors/Circles.js +2 -4
  577. package/lib/module/renderer/processors/Circles.js.map +1 -1
  578. package/lib/module/renderer/processors/Clips.js +3 -3
  579. package/lib/module/renderer/processors/Clips.js.map +1 -1
  580. package/lib/module/{skia/core → renderer/processors}/Color.js +1 -2
  581. package/lib/module/renderer/processors/Color.js.map +1 -0
  582. package/lib/module/renderer/processors/Font.js +3 -2
  583. package/lib/module/renderer/processors/Font.js.map +1 -1
  584. package/lib/module/renderer/processors/Paint.js +8 -5
  585. package/lib/module/renderer/processors/Paint.js.map +1 -1
  586. package/lib/module/renderer/processors/Paths.js +2 -2
  587. package/lib/module/renderer/processors/Paths.js.map +1 -1
  588. package/lib/module/renderer/processors/Radius.js +2 -3
  589. package/lib/module/renderer/processors/Radius.js.map +1 -1
  590. package/lib/module/renderer/processors/Rects.js +7 -26
  591. package/lib/module/renderer/processors/Rects.js.map +1 -1
  592. package/lib/module/renderer/processors/Transform.js +24 -16
  593. package/lib/module/renderer/processors/Transform.js.map +1 -1
  594. package/lib/module/renderer/processors/index.js +2 -1
  595. package/lib/module/renderer/processors/index.js.map +1 -1
  596. package/lib/module/renderer/processors/math/Coordinates.js.map +1 -1
  597. package/lib/module/renderer/processors/math/Transforms.js.map +1 -1
  598. package/lib/module/renderer/processors/math/index.js +0 -2
  599. package/lib/module/renderer/processors/math/index.js.map +1 -1
  600. package/lib/module/renderer/useCanvas.js +13 -0
  601. package/lib/module/renderer/useCanvas.js.map +1 -0
  602. package/lib/module/skia/NativeSetup.js +2 -2
  603. package/lib/module/skia/NativeSetup.js.map +1 -1
  604. package/lib/module/skia/Skia.web.js +3 -0
  605. package/lib/module/skia/Skia.web.js.map +1 -0
  606. package/lib/module/skia/core/Data.js +11 -5
  607. package/lib/module/skia/core/Data.js.map +1 -1
  608. package/lib/module/skia/core/Font.js +2 -4
  609. package/lib/module/skia/core/Font.js.map +1 -1
  610. package/lib/module/skia/core/Matrix.js +4 -0
  611. package/lib/module/skia/core/Matrix.js.map +1 -0
  612. package/lib/module/skia/core/Paint.js +3 -7
  613. package/lib/module/skia/core/Paint.js.map +1 -1
  614. package/lib/module/skia/core/Path.js +11 -2
  615. package/lib/module/skia/core/Path.js.map +1 -1
  616. package/lib/module/skia/core/RRect.js +3 -0
  617. package/lib/module/skia/core/RRect.js.map +1 -0
  618. package/lib/module/skia/core/Rect.js +17 -0
  619. package/lib/module/skia/core/Rect.js.map +1 -0
  620. package/lib/module/{renderer/processors/math → skia/core}/Vector.js +2 -7
  621. package/lib/module/skia/core/Vector.js.map +1 -0
  622. package/lib/module/skia/core/index.js +5 -3
  623. package/lib/module/skia/core/index.js.map +1 -1
  624. package/lib/module/skia/types/Font/Font.js.map +1 -1
  625. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  626. package/lib/module/skia/types/Matrix.js +55 -0
  627. package/lib/module/skia/types/Matrix.js.map +1 -1
  628. package/lib/module/skia/types/Path/Path.js +1 -0
  629. package/lib/module/skia/types/Path/Path.js.map +1 -1
  630. package/lib/module/skia/types/Point.js.map +1 -1
  631. package/lib/module/skia/types/RRect.js +3 -1
  632. package/lib/module/skia/types/RRect.js.map +1 -1
  633. package/lib/module/skia/types/Shader/Shader.js +48 -0
  634. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  635. package/lib/module/skia/web/{api/Host.js → Host.js} +6 -0
  636. package/lib/module/skia/web/Host.js.map +1 -0
  637. package/lib/module/skia/web/JsiImageFilterFactory.js +57 -0
  638. package/lib/module/skia/web/JsiImageFilterFactory.js.map +1 -0
  639. package/lib/module/skia/web/{api/JsiSkCanvas.js → JsiSkCanvas.js} +19 -6
  640. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -0
  641. package/lib/module/skia/web/{api/JsiSkColor.js → JsiSkColor.js} +164 -4
  642. package/lib/module/skia/web/JsiSkColor.js.map +1 -0
  643. package/lib/module/skia/web/{api/JsiSkColorFilter.js → JsiSkColorFilter.js} +0 -0
  644. package/lib/module/skia/web/{api/JsiSkColorFilter.js.map → JsiSkColorFilter.js.map} +1 -1
  645. package/lib/module/skia/web/JsiSkColorFilterFactory.js +37 -0
  646. package/lib/module/skia/web/JsiSkColorFilterFactory.js.map +1 -0
  647. package/lib/module/skia/web/JsiSkContourMeasure.js +31 -0
  648. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -0
  649. package/lib/module/skia/web/JsiSkContourMeasureIter.js +19 -0
  650. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -0
  651. package/lib/module/skia/web/JsiSkData.js +8 -0
  652. package/lib/module/skia/web/JsiSkData.js.map +1 -0
  653. package/lib/module/skia/web/JsiSkDataFactory.js +33 -0
  654. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -0
  655. package/lib/module/skia/web/JsiSkFont.js +101 -0
  656. package/lib/module/skia/web/JsiSkFont.js.map +1 -0
  657. package/lib/module/skia/web/JsiSkFontMgr.js +25 -0
  658. package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -0
  659. package/lib/module/skia/web/JsiSkFontMgrFactory.js +14 -0
  660. package/lib/module/skia/web/JsiSkFontMgrFactory.js.map +1 -0
  661. package/lib/module/skia/web/{api/JsiSkImage.js → JsiSkImage.js} +0 -0
  662. package/lib/module/skia/web/{api/JsiSkImage.js.map → JsiSkImage.js.map} +1 -1
  663. package/lib/module/skia/web/JsiSkImageFactory.js +36 -0
  664. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -0
  665. package/lib/module/skia/web/JsiSkImageFilter.js +8 -0
  666. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -0
  667. package/lib/module/skia/web/JsiSkMaskFilter.js +8 -0
  668. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -0
  669. package/lib/module/skia/web/JsiSkMaskFilterFactory.js +13 -0
  670. package/lib/module/skia/web/JsiSkMaskFilterFactory.js.map +1 -0
  671. package/lib/module/skia/web/JsiSkMatrix.js +28 -0
  672. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -0
  673. package/lib/module/skia/web/{api/JsiSkPaint.js → JsiSkPaint.js} +5 -10
  674. package/lib/module/skia/web/JsiSkPaint.js.map +1 -0
  675. package/lib/module/skia/web/JsiSkPath.js +311 -0
  676. package/lib/module/skia/web/JsiSkPath.js.map +1 -0
  677. package/lib/module/skia/web/JsiSkPathEffect.js +8 -0
  678. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -0
  679. package/lib/module/skia/web/JsiSkPathEffectFactory.js +67 -0
  680. package/lib/module/skia/web/JsiSkPathEffectFactory.js.map +1 -0
  681. package/lib/module/skia/web/JsiSkPathFactory.js +47 -0
  682. package/lib/module/skia/web/JsiSkPathFactory.js.map +1 -0
  683. package/lib/module/skia/web/JsiSkPicture.js +18 -0
  684. package/lib/module/skia/web/JsiSkPicture.js.map +1 -0
  685. package/lib/module/skia/web/JsiSkPictureFactory.js +19 -0
  686. package/lib/module/skia/web/JsiSkPictureFactory.js.map +1 -0
  687. package/lib/module/skia/web/JsiSkPictureRecorder.js +18 -0
  688. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -0
  689. package/lib/module/skia/web/JsiSkPoint.js +16 -0
  690. package/lib/module/skia/web/JsiSkPoint.js.map +1 -0
  691. package/lib/module/skia/web/JsiSkRRect.js +21 -0
  692. package/lib/module/skia/web/JsiSkRRect.js.map +1 -0
  693. package/lib/module/skia/web/JsiSkRSXform.js +8 -0
  694. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -0
  695. package/lib/module/skia/web/{api/JsiSkRect.js → JsiSkRect.js} +8 -0
  696. package/lib/module/skia/web/JsiSkRect.js.map +1 -0
  697. package/lib/module/skia/web/JsiSkRuntimeEffect.js +33 -0
  698. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -0
  699. package/lib/module/skia/web/JsiSkRuntimeEffectFactory.js +19 -0
  700. package/lib/module/skia/web/JsiSkRuntimeEffectFactory.js.map +1 -0
  701. package/lib/module/skia/web/JsiSkSVGFactory.js +16 -0
  702. package/lib/module/skia/web/JsiSkSVGFactory.js.map +1 -0
  703. package/lib/module/skia/web/JsiSkShader.js +8 -0
  704. package/lib/module/skia/web/JsiSkShader.js.map +1 -0
  705. package/lib/module/skia/web/JsiSkShaderFactory.js +41 -0
  706. package/lib/module/skia/web/JsiSkShaderFactory.js.map +1 -0
  707. package/lib/module/skia/web/{api/JsiSkSurface.js → JsiSkSurface.js} +0 -0
  708. package/lib/module/skia/web/{api/JsiSkSurface.js.map → JsiSkSurface.js.map} +1 -1
  709. package/lib/module/skia/web/{api/JsiSkSurfaceFactory.js → JsiSkSurfaceFactory.js} +0 -0
  710. package/lib/module/skia/web/{api/JsiSkSurfaceFactory.js.map → JsiSkSurfaceFactory.js.map} +1 -1
  711. package/lib/module/skia/web/JsiSkTextBlob.js +8 -0
  712. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -0
  713. package/lib/module/skia/web/JsiSkTextBlobFactory.js +25 -0
  714. package/lib/module/skia/web/JsiSkTextBlobFactory.js.map +1 -0
  715. package/lib/module/skia/web/JsiSkTypeface.js +18 -0
  716. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -0
  717. package/lib/module/skia/web/JsiSkTypefaceFactory.js +19 -0
  718. package/lib/module/skia/web/JsiSkTypefaceFactory.js.map +1 -0
  719. package/lib/module/skia/web/JsiSkVertices.js +17 -0
  720. package/lib/module/skia/web/JsiSkVertices.js.map +1 -0
  721. package/lib/module/skia/web/JsiSkVerticesFactory.js +16 -0
  722. package/lib/module/skia/web/JsiSkVerticesFactory.js.map +1 -0
  723. package/lib/module/skia/web/JsiSkia.js +61 -0
  724. package/lib/module/skia/web/JsiSkia.js.map +1 -0
  725. package/lib/module/skia/web/index.js +1 -1
  726. package/lib/module/skia/web/index.js.map +1 -1
  727. package/lib/module/values/web/api.js +2 -2
  728. package/lib/module/values/web/api.js.map +1 -1
  729. package/lib/module/views/SkiaView.web.js +202 -0
  730. package/lib/module/views/SkiaView.web.js.map +1 -0
  731. package/lib/module/views/types.js.map +1 -1
  732. package/lib/module/views/useTouchHandler.js +64 -43
  733. package/lib/module/views/useTouchHandler.js.map +1 -1
  734. package/lib/module/web/index.js +8 -0
  735. package/lib/module/web/index.js.map +1 -0
  736. package/lib/typescript/src/animation/functions/index.d.ts +4 -2
  737. package/lib/typescript/src/animation/functions/interpolatePaths.d.ts +17 -0
  738. package/lib/typescript/src/animation/functions/interpolateVector.d.ts +10 -0
  739. package/lib/typescript/src/index.d.ts +1 -0
  740. package/lib/typescript/src/renderer/Canvas.d.ts +3 -14
  741. package/lib/typescript/src/renderer/DrawingContext.d.ts +3 -3
  742. package/lib/typescript/src/renderer/components/Blend.d.ts +1 -1
  743. package/lib/typescript/src/renderer/components/Group.d.ts +1 -1
  744. package/lib/typescript/src/renderer/components/Paint.d.ts +1 -1
  745. package/lib/typescript/src/renderer/components/Picture.d.ts +1 -1
  746. package/lib/typescript/src/renderer/components/colorFilters/BlendColor.d.ts +2 -2
  747. package/lib/typescript/src/renderer/components/colorFilters/Compose.d.ts +2 -2
  748. package/lib/typescript/src/renderer/components/image/BoxFit.d.ts +13 -3
  749. package/lib/typescript/src/renderer/components/image/Image.d.ts +1 -1
  750. package/lib/typescript/src/renderer/components/image/ImageSVG.d.ts +1 -1
  751. package/lib/typescript/src/renderer/components/image/ImageShader.d.ts +2 -2
  752. package/lib/typescript/src/renderer/components/imageFilters/Blur.d.ts +1 -1
  753. package/lib/typescript/src/renderer/components/imageFilters/DisplacementMap.d.ts +1 -1
  754. package/lib/typescript/src/renderer/components/imageFilters/InnerShadow.d.ts +2 -2
  755. package/lib/typescript/src/renderer/components/imageFilters/RuntimeShader.d.ts +2 -1
  756. package/lib/typescript/src/renderer/components/imageFilters/Shadow.d.ts +1 -1
  757. package/lib/typescript/src/renderer/components/imageFilters/getInput.d.ts +2 -1
  758. package/lib/typescript/src/renderer/components/maskFilters/Blur.d.ts +1 -1
  759. package/lib/typescript/src/renderer/components/pathEffects/Line2D.d.ts +1 -1
  760. package/lib/typescript/src/renderer/components/pathEffects/Path1D.d.ts +1 -1
  761. package/lib/typescript/src/renderer/components/pathEffects/Path2D.d.ts +1 -1
  762. package/lib/typescript/src/renderer/components/shaders/Color.d.ts +1 -1
  763. package/lib/typescript/src/renderer/components/shaders/Gradient.d.ts +4 -4
  764. package/lib/typescript/src/renderer/components/shaders/LinearGradient.d.ts +2 -1
  765. package/lib/typescript/src/renderer/components/shaders/RadialGradient.d.ts +2 -1
  766. package/lib/typescript/src/renderer/components/shaders/Shader.d.ts +2 -9
  767. package/lib/typescript/src/renderer/components/shaders/SweepGradient.d.ts +2 -1
  768. package/lib/typescript/src/renderer/components/shaders/TwoPointConicalGradient.d.ts +2 -1
  769. package/lib/typescript/src/renderer/components/shapes/Box.d.ts +1 -1
  770. package/lib/typescript/src/renderer/components/shapes/Circle.d.ts +4 -1
  771. package/lib/typescript/src/renderer/components/shapes/DiffRect.d.ts +1 -1
  772. package/lib/typescript/src/renderer/components/shapes/FitBox.d.ts +1 -1
  773. package/lib/typescript/src/renderer/components/shapes/Line.d.ts +2 -1
  774. package/lib/typescript/src/renderer/components/shapes/Patch.d.ts +3 -3
  775. package/lib/typescript/src/renderer/components/shapes/Path.d.ts +1 -1
  776. package/lib/typescript/src/renderer/components/shapes/Points.d.ts +2 -2
  777. package/lib/typescript/src/renderer/components/shapes/Vertices.d.ts +2 -2
  778. package/lib/typescript/src/renderer/components/text/Glyphs.d.ts +1 -1
  779. package/lib/typescript/src/renderer/components/text/TextBlob.d.ts +1 -1
  780. package/lib/typescript/src/renderer/components/text/TextPath.d.ts +1 -1
  781. package/lib/typescript/src/renderer/index.d.ts +1 -1
  782. package/lib/typescript/src/renderer/nodes/Declaration.d.ts +1 -1
  783. package/lib/typescript/src/renderer/nodes/Node.d.ts +1 -1
  784. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +0 -2
  785. package/lib/typescript/src/renderer/processors/Circles.d.ts +2 -2
  786. package/lib/typescript/src/renderer/processors/Clips.d.ts +2 -2
  787. package/lib/typescript/src/{skia/core → renderer/processors}/Color.d.ts +2 -2
  788. package/lib/typescript/src/renderer/processors/Font.d.ts +2 -2
  789. package/lib/typescript/src/renderer/processors/Paint.d.ts +3 -3
  790. package/lib/typescript/src/renderer/processors/Paths.d.ts +2 -2
  791. package/lib/typescript/src/renderer/processors/Radius.d.ts +2 -2
  792. package/lib/typescript/src/renderer/processors/Rects.d.ts +3 -14
  793. package/lib/typescript/src/renderer/processors/Transform.d.ts +3 -4
  794. package/lib/typescript/src/renderer/processors/index.d.ts +2 -1
  795. package/lib/typescript/src/renderer/processors/math/Coordinates.d.ts +1 -1
  796. package/lib/typescript/src/renderer/processors/math/Transforms.d.ts +1 -1
  797. package/lib/typescript/src/renderer/processors/math/index.d.ts +0 -2
  798. package/lib/typescript/src/renderer/useCanvas.d.ts +14 -0
  799. package/lib/typescript/src/skia/Skia.web.d.ts +1 -0
  800. package/lib/typescript/src/skia/core/Data.d.ts +4 -4
  801. package/lib/typescript/src/skia/core/Matrix.d.ts +2 -0
  802. package/lib/typescript/src/skia/core/Paint.d.ts +0 -1
  803. package/lib/typescript/src/skia/core/RRect.d.ts +2 -0
  804. package/lib/typescript/src/skia/core/Rect.d.ts +8 -0
  805. package/lib/typescript/src/skia/core/Vector.d.ts +12 -0
  806. package/lib/typescript/src/skia/core/index.d.ts +5 -3
  807. package/lib/typescript/src/skia/types/ContourMeasure.d.ts +2 -4
  808. package/lib/typescript/src/skia/types/Data/Data.d.ts +1 -1
  809. package/lib/typescript/src/skia/types/Data/DataFactory.d.ts +4 -4
  810. package/lib/typescript/src/skia/types/Font/Font.d.ts +8 -9
  811. package/lib/typescript/src/skia/types/FontMgr/FontMgr.d.ts +1 -1
  812. package/lib/typescript/src/skia/types/FontMgr/FontMgrFactory.d.ts +2 -2
  813. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +3 -3
  814. package/lib/typescript/src/skia/types/Matrix.d.ts +15 -14
  815. package/lib/typescript/src/skia/types/Path/Path.d.ts +29 -23
  816. package/lib/typescript/src/skia/types/Path/PathFactory.d.ts +5 -0
  817. package/lib/typescript/src/skia/types/Picture/Picture.d.ts +2 -2
  818. package/lib/typescript/src/skia/types/Point.d.ts +1 -0
  819. package/lib/typescript/src/skia/types/RRect.d.ts +1 -0
  820. package/lib/typescript/src/skia/types/RuntimeEffect/RuntimeEffect.d.ts +5 -6
  821. package/lib/typescript/src/skia/types/SVG/SVGFactory.d.ts +2 -2
  822. package/lib/typescript/src/skia/types/Shader/Shader.d.ts +8 -0
  823. package/lib/typescript/src/skia/types/Skia.d.ts +1 -1
  824. package/lib/typescript/src/skia/types/Typeface/TypefaceFactory.d.ts +2 -2
  825. package/lib/typescript/src/skia/web/{api/Host.d.ts → Host.d.ts} +4 -1
  826. package/lib/typescript/src/skia/web/JsiImageFilterFactory.d.ts +19 -0
  827. package/lib/typescript/src/skia/web/{api/JsiSkCanvas.d.ts → JsiSkCanvas.d.ts} +1 -1
  828. package/lib/typescript/src/skia/web/JsiSkColor.d.ts +2 -0
  829. package/lib/typescript/src/skia/web/{api/JsiSkColorFilter.d.ts → JsiSkColorFilter.d.ts} +1 -1
  830. package/lib/typescript/src/skia/web/JsiSkColorFilterFactory.d.ts +14 -0
  831. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +16 -0
  832. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +8 -0
  833. package/lib/typescript/src/skia/web/JsiSkData.d.ts +8 -0
  834. package/lib/typescript/src/skia/web/JsiSkDataFactory.d.ts +19 -0
  835. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +33 -0
  836. package/lib/typescript/src/skia/web/JsiSkFontMgr.d.ts +9 -0
  837. package/lib/typescript/src/skia/web/JsiSkFontMgrFactory.d.ts +8 -0
  838. package/lib/typescript/src/skia/web/{api/JsiSkImage.d.ts → JsiSkImage.d.ts} +1 -1
  839. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +10 -0
  840. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +6 -0
  841. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +6 -0
  842. package/lib/typescript/src/skia/web/JsiSkMaskFilterFactory.d.ts +9 -0
  843. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +11 -0
  844. package/lib/typescript/src/skia/web/{api/JsiSkPaint.d.ts → JsiSkPaint.d.ts} +1 -1
  845. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +56 -0
  846. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +6 -0
  847. package/lib/typescript/src/skia/web/JsiSkPathEffectFactory.d.ts +15 -0
  848. package/lib/typescript/src/skia/web/JsiSkPathFactory.d.ts +13 -0
  849. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +9 -0
  850. package/lib/typescript/src/skia/web/JsiSkPictureFactory.d.ts +8 -0
  851. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +11 -0
  852. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +8 -0
  853. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +10 -0
  854. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +8 -0
  855. package/lib/typescript/src/skia/web/{api/JsiSkRect.d.ts → JsiSkRect.d.ts} +2 -1
  856. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +14 -0
  857. package/lib/typescript/src/skia/web/JsiSkRuntimeEffectFactory.d.ts +8 -0
  858. package/lib/typescript/src/skia/web/JsiSkSVGFactory.d.ts +9 -0
  859. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +6 -0
  860. package/lib/typescript/src/skia/web/JsiSkShaderFactory.d.ts +16 -0
  861. package/lib/typescript/src/skia/web/{api/JsiSkSurface.d.ts → JsiSkSurface.d.ts} +1 -1
  862. package/lib/typescript/src/skia/web/{api/JsiSkSurfaceFactory.d.ts → JsiSkSurfaceFactory.d.ts} +1 -1
  863. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +6 -0
  864. package/lib/typescript/src/skia/web/JsiSkTextBlobFactory.d.ts +12 -0
  865. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +8 -0
  866. package/lib/typescript/src/skia/web/JsiSkTypefaceFactory.d.ts +8 -0
  867. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +9 -0
  868. package/lib/typescript/src/skia/web/JsiSkVerticesFactory.d.ts +4 -0
  869. package/lib/typescript/src/skia/web/JsiSkia.d.ts +3 -0
  870. package/lib/typescript/src/skia/web/index.d.ts +1 -1
  871. package/lib/typescript/src/views/SkiaView.web.d.ts +56 -0
  872. package/lib/typescript/src/views/types.d.ts +1 -0
  873. package/lib/typescript/src/views/useTouchHandler.d.ts +11 -1
  874. package/lib/typescript/src/web/index.d.ts +5 -0
  875. package/libs/android/arm64-v8a/libskia.a +0 -0
  876. package/libs/android/arm64-v8a/libsvg.a +0 -0
  877. package/libs/android/armeabi-v7a/libskia.a +0 -0
  878. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  879. package/libs/android/x86/libskia.a +0 -0
  880. package/libs/android/x86/libsvg.a +0 -0
  881. package/libs/android/x86_64/libskia.a +0 -0
  882. package/libs/android/x86_64/libsvg.a +0 -0
  883. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  884. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  885. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  886. package/libs/ios/libskshaper.xcframework/Info.plist +5 -5
  887. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  888. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  889. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  890. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  891. package/package.json +5 -6
  892. package/src/animation/functions/index.ts +4 -2
  893. package/src/animation/functions/interpolatePaths.ts +38 -0
  894. package/src/animation/functions/interpolateVector.ts +26 -0
  895. package/src/index.ts +1 -0
  896. package/src/renderer/Canvas.tsx +13 -35
  897. package/src/renderer/DrawingContext.ts +3 -4
  898. package/src/renderer/HostConfig.ts +2 -2
  899. package/src/renderer/components/Blend.tsx +12 -10
  900. package/src/renderer/components/Compose.tsx +2 -2
  901. package/src/renderer/components/Group.tsx +11 -6
  902. package/src/renderer/components/Mask.tsx +5 -3
  903. package/src/renderer/components/Paint.tsx +5 -4
  904. package/src/renderer/components/Picture.tsx +1 -1
  905. package/src/renderer/components/backdrop/BackdropFilter.tsx +1 -1
  906. package/src/renderer/components/colorFilters/BlendColor.tsx +4 -4
  907. package/src/renderer/components/colorFilters/Compose.ts +3 -2
  908. package/src/renderer/components/colorFilters/Lerp.tsx +3 -2
  909. package/src/renderer/components/colorFilters/LinearToSRGBGamma.tsx +2 -3
  910. package/src/renderer/components/colorFilters/LumaColorFilter.tsx +2 -3
  911. package/src/renderer/components/colorFilters/Matrix.tsx +2 -3
  912. package/src/renderer/components/colorFilters/SRGBToLinearGamma.tsx +2 -3
  913. package/src/renderer/components/image/BoxFit.ts +7 -13
  914. package/src/renderer/components/image/Image.tsx +3 -3
  915. package/src/renderer/components/image/ImageSVG.tsx +3 -3
  916. package/src/renderer/components/image/ImageShader.tsx +8 -7
  917. package/src/renderer/components/imageFilters/Blur.tsx +12 -10
  918. package/src/renderer/components/imageFilters/DisplacementMap.tsx +4 -4
  919. package/src/renderer/components/imageFilters/InnerShadow.tsx +4 -3
  920. package/src/renderer/components/imageFilters/Morphology.tsx +3 -4
  921. package/src/renderer/components/imageFilters/Offset.tsx +5 -4
  922. package/src/renderer/components/imageFilters/RuntimeShader.tsx +12 -4
  923. package/src/renderer/components/imageFilters/Shadow.tsx +10 -6
  924. package/src/renderer/components/imageFilters/getInput.ts +3 -2
  925. package/src/renderer/components/maskFilters/Blur.tsx +2 -2
  926. package/src/renderer/components/pathEffects/Corner.tsx +2 -2
  927. package/src/renderer/components/pathEffects/Dash.tsx +2 -2
  928. package/src/renderer/components/pathEffects/Discrete.tsx +2 -2
  929. package/src/renderer/components/pathEffects/Line2D.tsx +3 -3
  930. package/src/renderer/components/pathEffects/Path1D.tsx +3 -3
  931. package/src/renderer/components/pathEffects/Path2D.tsx +4 -4
  932. package/src/renderer/components/pathEffects/Sum.tsx +7 -5
  933. package/src/renderer/components/shaders/Color.tsx +7 -5
  934. package/src/renderer/components/shaders/FractalNoise.tsx +1 -2
  935. package/src/renderer/components/shaders/Gradient.ts +7 -10
  936. package/src/renderer/components/shaders/LinearGradient.tsx +4 -4
  937. package/src/renderer/components/shaders/RadialGradient.tsx +4 -4
  938. package/src/renderer/components/shaders/Shader.tsx +6 -58
  939. package/src/renderer/components/shaders/SweepGradient.tsx +4 -4
  940. package/src/renderer/components/shaders/Turbulence.tsx +1 -2
  941. package/src/renderer/components/shaders/TwoPointConicalGradient.tsx +4 -4
  942. package/src/renderer/components/shapes/Box.tsx +36 -17
  943. package/src/renderer/components/shapes/Circle.tsx +3 -4
  944. package/src/renderer/components/shapes/DiffRect.tsx +1 -1
  945. package/src/renderer/components/shapes/FitBox.tsx +1 -1
  946. package/src/renderer/components/shapes/Line.tsx +2 -1
  947. package/src/renderer/components/shapes/Oval.tsx +6 -4
  948. package/src/renderer/components/shapes/Patch.tsx +6 -10
  949. package/src/renderer/components/shapes/Path.tsx +3 -3
  950. package/src/renderer/components/shapes/Points.tsx +2 -2
  951. package/src/renderer/components/shapes/Rect.tsx +6 -4
  952. package/src/renderer/components/shapes/RoundedRect.tsx +2 -2
  953. package/src/renderer/components/shapes/Vertices.tsx +5 -4
  954. package/src/renderer/components/text/Glyphs.tsx +6 -3
  955. package/src/renderer/components/text/Text.tsx +2 -2
  956. package/src/renderer/components/text/TextBlob.tsx +1 -1
  957. package/src/renderer/components/text/TextPath.tsx +3 -4
  958. package/src/renderer/index.ts +1 -1
  959. package/src/renderer/nodes/Declaration.tsx +1 -1
  960. package/src/renderer/nodes/Drawing.tsx +3 -2
  961. package/src/renderer/nodes/Node.ts +1 -1
  962. package/src/renderer/processors/Animations/Animations.ts +0 -3
  963. package/src/renderer/processors/Circles.ts +4 -4
  964. package/src/renderer/processors/Clips.ts +9 -4
  965. package/src/{skia/core → renderer/processors}/Color.ts +2 -3
  966. package/src/renderer/processors/Font.ts +10 -3
  967. package/src/renderer/processors/Paint.ts +12 -7
  968. package/src/renderer/processors/Paths.ts +3 -3
  969. package/src/renderer/processors/Radius.ts +3 -4
  970. package/src/renderer/processors/Rects.ts +10 -45
  971. package/src/renderer/processors/Transform.ts +28 -19
  972. package/src/renderer/processors/index.ts +2 -1
  973. package/src/renderer/processors/math/Coordinates.ts +1 -1
  974. package/src/renderer/processors/math/Transforms.ts +2 -1
  975. package/src/renderer/processors/math/index.ts +0 -2
  976. package/src/renderer/useCanvas.ts +21 -0
  977. package/src/skia/NativeSetup.ts +2 -2
  978. package/src/skia/Skia.web.ts +3 -0
  979. package/src/skia/core/Data.ts +17 -14
  980. package/src/skia/core/Font.ts +2 -4
  981. package/src/skia/core/Matrix.ts +6 -0
  982. package/src/skia/core/Paint.ts +2 -6
  983. package/src/skia/core/Path.ts +14 -6
  984. package/src/skia/core/RRect.tsx +5 -0
  985. package/src/skia/core/Rect.ts +33 -0
  986. package/src/skia/core/Vector.ts +11 -0
  987. package/src/skia/core/index.ts +5 -3
  988. package/src/skia/types/ContourMeasure.tsx +2 -4
  989. package/src/skia/types/Data/Data.ts +1 -1
  990. package/src/skia/types/Data/DataFactory.ts +4 -4
  991. package/src/skia/types/Font/Font.ts +9 -14
  992. package/src/skia/types/FontMgr/FontMgr.ts +1 -1
  993. package/src/skia/types/FontMgr/FontMgrFactory.ts +2 -2
  994. package/src/skia/types/Image/ImageFactory.ts +3 -3
  995. package/src/skia/types/Matrix.ts +79 -14
  996. package/src/skia/types/Path/Path.ts +34 -23
  997. package/src/skia/types/Path/PathFactory.ts +7 -0
  998. package/src/skia/types/Picture/Picture.ts +2 -2
  999. package/src/skia/types/Point.ts +2 -0
  1000. package/src/skia/types/RRect.ts +5 -0
  1001. package/src/skia/types/RuntimeEffect/RuntimeEffect.ts +5 -10
  1002. package/src/skia/types/SVG/SVGFactory.ts +2 -2
  1003. package/src/skia/types/Shader/Shader.ts +61 -0
  1004. package/src/skia/types/Skia.ts +1 -1
  1005. package/src/skia/types/Typeface/TypefaceFactory.ts +2 -2
  1006. package/src/skia/web/{api/Host.ts → Host.ts} +7 -1
  1007. package/src/skia/web/JsiImageFilterFactory.ts +144 -0
  1008. package/src/skia/web/{api/JsiSkCanvas.ts → JsiSkCanvas.ts} +19 -11
  1009. package/src/skia/web/{api/JsiSkColor.ts → JsiSkColor.ts} +152 -6
  1010. package/src/skia/web/{api/JsiSkColorFilter.ts → JsiSkColorFilter.ts} +1 -1
  1011. package/src/skia/web/JsiSkColorFilterFactory.ts +67 -0
  1012. package/src/skia/web/JsiSkContourMeasure.ts +35 -0
  1013. package/src/skia/web/JsiSkContourMeasureIter.ts +23 -0
  1014. package/src/skia/web/JsiSkData.ts +13 -0
  1015. package/src/skia/web/JsiSkDataFactory.ts +35 -0
  1016. package/src/skia/web/JsiSkFont.ts +128 -0
  1017. package/src/skia/web/JsiSkFontMgr.ts +42 -0
  1018. package/src/skia/web/JsiSkFontMgrFactory.ts +18 -0
  1019. package/src/skia/web/{api/JsiSkImage.ts → JsiSkImage.ts} +1 -1
  1020. package/src/skia/web/JsiSkImageFactory.ts +40 -0
  1021. package/src/skia/web/JsiSkImageFilter.ts +14 -0
  1022. package/src/skia/web/JsiSkMaskFilter.ts +14 -0
  1023. package/src/skia/web/JsiSkMaskFilterFactory.ts +20 -0
  1024. package/src/skia/web/JsiSkMatrix.ts +54 -0
  1025. package/src/skia/web/{api/JsiSkPaint.ts → JsiSkPaint.ts} +6 -5
  1026. package/src/skia/web/JsiSkPath.ts +369 -0
  1027. package/src/skia/web/JsiSkPathEffect.ts +14 -0
  1028. package/src/skia/web/JsiSkPathEffectFactory.ts +85 -0
  1029. package/src/skia/web/JsiSkPathFactory.ts +54 -0
  1030. package/src/skia/web/JsiSkPicture.ts +45 -0
  1031. package/src/skia/web/JsiSkPictureFactory.ts +20 -0
  1032. package/src/skia/web/JsiSkPictureRecorder.ts +31 -0
  1033. package/src/skia/web/JsiSkPoint.ts +19 -0
  1034. package/src/skia/web/JsiSkRRect.ts +27 -0
  1035. package/src/skia/web/JsiSkRSXform.ts +16 -0
  1036. package/src/skia/web/{api/JsiSkRect.ts → JsiSkRect.ts} +11 -1
  1037. package/src/skia/web/JsiSkRuntimeEffect.ts +57 -0
  1038. package/src/skia/web/JsiSkRuntimeEffectFactory.ts +23 -0
  1039. package/src/skia/web/JsiSkSVGFactory.ts +20 -0
  1040. package/src/skia/web/JsiSkShader.ts +14 -0
  1041. package/src/skia/web/JsiSkShaderFactory.ts +178 -0
  1042. package/src/skia/web/{api/JsiSkSurface.ts → JsiSkSurface.ts} +1 -1
  1043. package/src/skia/web/{api/JsiSkSurfaceFactory.ts → JsiSkSurfaceFactory.ts} +1 -1
  1044. package/src/skia/web/JsiSkTextBlob.ts +14 -0
  1045. package/src/skia/web/JsiSkTextBlobFactory.ts +49 -0
  1046. package/src/skia/web/JsiSkTypeface.ts +28 -0
  1047. package/src/skia/web/JsiSkTypefaceFactory.tsx +20 -0
  1048. package/src/skia/web/JsiSkVertices.ts +23 -0
  1049. package/src/skia/web/JsiSkVerticesFactory.ts +27 -0
  1050. package/src/skia/web/JsiSkia.ts +98 -0
  1051. package/src/skia/web/index.ts +1 -1
  1052. package/src/values/web/api.ts +2 -2
  1053. package/src/views/SkiaView.web.tsx +192 -0
  1054. package/src/views/types.ts +1 -0
  1055. package/src/views/useTouchHandler.ts +82 -51
  1056. package/src/web/index.ts +13 -0
  1057. package/cpp/skia/include/core/SkCustomMesh.h +0 -202
  1058. package/cpp/skia/include/core/SkStringView.h +0 -185
  1059. package/cpp/skia/include/private/SkPaintParamsKey.h +0 -110
  1060. package/cpp/skia/include/private/SkShaderCodeDictionary.h +0 -63
  1061. package/cpp/skia/include/private/SkTOptional.h +0 -362
  1062. package/lib/commonjs/renderer/processors/math/Matrix3.js +0 -66
  1063. package/lib/commonjs/renderer/processors/math/Matrix3.js.map +0 -1
  1064. package/lib/commonjs/renderer/processors/math/Vector.js +0 -60
  1065. package/lib/commonjs/renderer/processors/math/Vector.js.map +0 -1
  1066. package/lib/commonjs/skia/core/Color.js.map +0 -1
  1067. package/lib/commonjs/skia/core/Shader.js +0 -18
  1068. package/lib/commonjs/skia/core/Shader.js.map +0 -1
  1069. package/lib/commonjs/skia/web/api/Host.js.map +0 -1
  1070. package/lib/commonjs/skia/web/api/JsiSkCanvas.js.map +0 -1
  1071. package/lib/commonjs/skia/web/api/JsiSkColor.js.map +0 -1
  1072. package/lib/commonjs/skia/web/api/JsiSkPaint.js.map +0 -1
  1073. package/lib/commonjs/skia/web/api/JsiSkRect.js.map +0 -1
  1074. package/lib/commonjs/skia/web/api/index.js +0 -26
  1075. package/lib/commonjs/skia/web/api/index.js.map +0 -1
  1076. package/lib/module/renderer/processors/math/Matrix3.js +0 -55
  1077. package/lib/module/renderer/processors/math/Matrix3.js.map +0 -1
  1078. package/lib/module/renderer/processors/math/Vector.js.map +0 -1
  1079. package/lib/module/skia/core/Color.js.map +0 -1
  1080. package/lib/module/skia/core/Shader.js +0 -7
  1081. package/lib/module/skia/core/Shader.js.map +0 -1
  1082. package/lib/module/skia/web/api/Host.js.map +0 -1
  1083. package/lib/module/skia/web/api/JsiSkCanvas.js.map +0 -1
  1084. package/lib/module/skia/web/api/JsiSkColor.js.map +0 -1
  1085. package/lib/module/skia/web/api/JsiSkPaint.js.map +0 -1
  1086. package/lib/module/skia/web/api/JsiSkRect.js.map +0 -1
  1087. package/lib/module/skia/web/api/index.js +0 -13
  1088. package/lib/module/skia/web/api/index.js.map +0 -1
  1089. package/lib/typescript/src/renderer/processors/math/Matrix3.d.ts +0 -10
  1090. package/lib/typescript/src/renderer/processors/math/Vector.d.ts +0 -23
  1091. package/lib/typescript/src/skia/core/Shader.d.ts +0 -1
  1092. package/lib/typescript/src/skia/web/api/JsiSkColor.d.ts +0 -3
  1093. package/lib/typescript/src/skia/web/api/index.d.ts +0 -10
  1094. package/src/animation/timing/functions/__tests__/timing.spec.ts +0 -29
  1095. package/src/renderer/processors/math/Matrix3.ts +0 -73
  1096. package/src/renderer/processors/math/Vector.ts +0 -38
  1097. package/src/skia/__tests__/Rects.spec.ts +0 -40
  1098. package/src/skia/__tests__/snapshots/lightblue-rect.png +0 -0
  1099. package/src/skia/core/Shader.ts +0 -9
  1100. package/src/skia/web/api/index.ts +0 -15
  1101. package/src/values/web/__tests__/RNSkAnimation.spec.ts +0 -21
  1102. package/src/values/web/__tests__/RNSkDerivedValue.spec.ts +0 -15
  1103. package/src/values/web/__tests__/RNSkReadonlyValue.spec.ts +0 -8
  1104. package/src/values/web/__tests__/RNSkValue.spec.ts +0 -11
@@ -0,0 +1,303 @@
1
+ /*
2
+ * Copyright 2021 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkMesh_DEFINED
9
+ #define SkMesh_DEFINED
10
+
11
+ #include "include/core/SkTypes.h"
12
+
13
+ #ifdef SK_ENABLE_SKSL
14
+ #include "include/core/SkAlphaType.h"
15
+ #include "include/core/SkRect.h"
16
+ #include "include/core/SkRefCnt.h"
17
+ #include "include/core/SkSpan.h"
18
+ #include "include/core/SkString.h"
19
+
20
+ #include <memory>
21
+ #include <vector>
22
+
23
+ class GrDirectContext;
24
+ class SkColorSpace;
25
+ class SkData;
26
+
27
+ namespace SkSL { struct Program; }
28
+
29
+ /**
30
+ * A specification for custom meshes. Specifies the vertex buffer attributes and stride, the
31
+ * vertex program that produces a user-defined set of varyings, a fragment program that ingests
32
+ * the interpolated varyings and produces local coordinates and optionally a color.
33
+ *
34
+ * The signature of the vertex program must be:
35
+ * float2 main(Attributes, out Varyings)
36
+ * where the return value is a local position that will be transformed by SkCanvas's matrix.
37
+ *
38
+ * The signature of the fragment program must be either:
39
+ * (float2|void) main(Varyings)
40
+ * or
41
+ * (float2|void) main(Varyings, out (half4|float4) color)
42
+ *
43
+ * where the return value is the local coordinates that will be used to access SkShader. If the
44
+ * return type is void then the interpolated position from vertex shader return is used as the local
45
+ * coordinate. If the color variant is used it will be blended with SkShader (or SkPaint color in
46
+ * absence of a shader) using the SkBlender provided to the SkCanvas draw call.
47
+ */
48
+ class SkMeshSpecification : public SkNVRefCnt<SkMeshSpecification> {
49
+ public:
50
+ /** These values are enforced when creating a specification. */
51
+ static constexpr size_t kMaxStride = 1024;
52
+ static constexpr size_t kMaxAttributes = 8;
53
+ static constexpr size_t kStrideAlignment = 4;
54
+ static constexpr size_t kOffsetAlignment = 4;
55
+ static constexpr size_t kMaxVaryings = 6;
56
+
57
+ struct Attribute {
58
+ enum class Type : uint32_t { // CPU representation Shader Type
59
+ kFloat, // float float
60
+ kFloat2, // two floats float2
61
+ kFloat3, // three floats float3
62
+ kFloat4, // four floats float4
63
+ kUByte4_unorm, // four bytes half4
64
+
65
+ kLast = kUByte4_unorm
66
+ };
67
+ Type type;
68
+ size_t offset;
69
+ SkString name;
70
+ };
71
+
72
+ struct Varying {
73
+ enum class Type : uint32_t {
74
+ kFloat, // "float"
75
+ kFloat2, // "float2"
76
+ kFloat3, // "float3"
77
+ kFloat4, // "float4"
78
+ kHalf, // "half"
79
+ kHalf2, // "half2"
80
+ kHalf3, // "half3"
81
+ kHalf4, // "half4"
82
+
83
+ kLast = kHalf4
84
+ };
85
+ Type type;
86
+ SkString name;
87
+ };
88
+
89
+ ~SkMeshSpecification();
90
+
91
+ struct Result {
92
+ sk_sp<SkMeshSpecification> specification;
93
+ SkString error;
94
+ };
95
+
96
+ /**
97
+ * If successful the return is a specification and an empty error string. Otherwise, it is a
98
+ * null specification a non-empty error string.
99
+ *
100
+ * @param attributes The vertex attributes that will be consumed by 'vs'. Attributes need
101
+ * not be tightly packed but attribute offsets must be aligned to
102
+ * kOffsetAlignment and offset + size may not be greater than
103
+ * 'vertexStride'. At least one attribute is required.
104
+ * @param vertexStride The offset between successive attribute values. This must be aligned to
105
+ * kStrideAlignment.
106
+ * @param varyings The varyings that will be written by 'vs' and read by 'fs'. This may
107
+ * be empty.
108
+ * @param vs The vertex shader code that computes a vertex position and the varyings
109
+ * from the attributes.
110
+ * @param fs The fragment code that computes a local coordinate and optionally a
111
+ * color from the varyings. The local coordinate is used to sample
112
+ * SkShader.
113
+ * @param cs The colorspace of the color produced by 'fs'. Ignored if 'fs's main()
114
+ * function does not have a color out param.
115
+ * @param at The alpha type of the color produced by 'fs'. Ignored if 'fs's main()
116
+ * function does not have a color out param. Cannot be kUnknown.
117
+ */
118
+ static Result Make(SkSpan<const Attribute> attributes,
119
+ size_t vertexStride,
120
+ SkSpan<const Varying> varyings,
121
+ const SkString& vs,
122
+ const SkString& fs);
123
+ static Result Make(SkSpan<const Attribute> attributes,
124
+ size_t vertexStride,
125
+ SkSpan<const Varying> varyings,
126
+ const SkString& vs,
127
+ const SkString& fs,
128
+ sk_sp<SkColorSpace> cs);
129
+ static Result Make(SkSpan<const Attribute> attributes,
130
+ size_t vertexStride,
131
+ SkSpan<const Varying> varyings,
132
+ const SkString& vs,
133
+ const SkString& fs,
134
+ sk_sp<SkColorSpace> cs,
135
+ SkAlphaType at);
136
+
137
+ SkSpan<const Attribute> attributes() const { return SkMakeSpan(fAttributes); }
138
+
139
+ size_t stride() const { return fStride; }
140
+
141
+ private:
142
+ friend struct SkMeshSpecificationPriv;
143
+
144
+ enum class ColorType {
145
+ kNone,
146
+ kHalf4,
147
+ kFloat4,
148
+ };
149
+
150
+ static Result MakeFromSourceWithStructs(SkSpan<const Attribute> attributes,
151
+ size_t stride,
152
+ SkSpan<const Varying> varyings,
153
+ const SkString& vs,
154
+ const SkString& fs,
155
+ sk_sp<SkColorSpace> cs,
156
+ SkAlphaType at);
157
+
158
+ SkMeshSpecification(SkSpan<const Attribute>,
159
+ size_t,
160
+ SkSpan<const Varying>,
161
+ std::unique_ptr<SkSL::Program>,
162
+ std::unique_ptr<SkSL::Program>,
163
+ ColorType,
164
+ bool hasLocalCoords,
165
+ sk_sp<SkColorSpace>,
166
+ SkAlphaType);
167
+
168
+ SkMeshSpecification(const SkMeshSpecification&) = delete;
169
+ SkMeshSpecification(SkMeshSpecification&&) = delete;
170
+
171
+ SkMeshSpecification& operator=(const SkMeshSpecification&) = delete;
172
+ SkMeshSpecification& operator=(SkMeshSpecification&&) = delete;
173
+
174
+ const std::vector<Attribute> fAttributes;
175
+ const std::vector<Varying> fVaryings;
176
+ std::unique_ptr<SkSL::Program> fVS;
177
+ std::unique_ptr<SkSL::Program> fFS;
178
+ size_t fStride;
179
+ uint32_t fHash;
180
+ ColorType fColorType;
181
+ bool fHasLocalCoords;
182
+ sk_sp<SkColorSpace> fColorSpace;
183
+ SkAlphaType fAlphaType;
184
+ };
185
+
186
+ /**
187
+ * A vertex buffer, a topology, optionally an index buffer, and a compatible SkMeshSpecification.
188
+ *
189
+ * The data in the vertex buffer is expected to contain the attributes described by the spec
190
+ * for vertexCount vertices beginning at vertexOffset. vertexOffset must be aligned to the
191
+ * SkMeshSpecification's vertex stride. The size of the buffer must be at least vertexOffset +
192
+ * spec->stride()*vertexCount (even if vertex attributes contains pad at the end of the stride). If
193
+ * the specified bounds does not contain all the points output by the spec's vertex program when
194
+ * applied to the vertices in the custom mesh then the result is undefined.
195
+ *
196
+ * MakeIndexed may be used to create an indexed mesh. indexCount indices are read from the index
197
+ * buffer at the specified offset which must be aligned to 2. The indices are always unsigned 16bit
198
+ * integers. The index count must be at least 3.
199
+ *
200
+ * If Make() is used the implicit index sequence is 0, 1, 2, 3, ... and vertexCount must be at least
201
+ * 3.
202
+ */
203
+ class SkMesh {
204
+ public:
205
+ class IndexBuffer : public SkRefCnt {};
206
+ class VertexBuffer : public SkRefCnt {};
207
+
208
+ SkMesh();
209
+ ~SkMesh();
210
+
211
+ SkMesh(const SkMesh&);
212
+ SkMesh(SkMesh&&);
213
+
214
+ SkMesh& operator=(const SkMesh&);
215
+ SkMesh& operator=(SkMesh&&);
216
+
217
+ /**
218
+ * Makes an index buffer to be used with SkMeshes. The SkData is used to determine the
219
+ * size and contents of the buffer. The buffer may be CPU- or GPU-backed depending on whether
220
+ * GrDirectContext* is nullptr.
221
+ *
222
+ * @param GrDirectContext* If nullptr a CPU-backed object is returned that owns the SkData.
223
+ * Otherwise, the data is uploaded to the GPU and a GPU-backed buffer
224
+ * is returned. It may only be used to draw into SkSurfaces that
225
+ * are backed by the passed GrDirectContext.
226
+ * @param sk_sp<SkData> required. The data used to populate the buffer.
227
+ */
228
+ static sk_sp<IndexBuffer> MakeIndexBuffer(GrDirectContext*, sk_sp<const SkData>);
229
+
230
+ /**
231
+ * Makes a vertex buffer to be used with SkMeshes. The SkData is used to determine the
232
+ * size and contents of the buffer.The buffer may be CPU- or GPU-backed depending on whether
233
+ * GrDirectContext* is nullptr.
234
+ *
235
+ * @param GrDirectContext* If nullptr a CPU-backed object is returned that owns the SkData.
236
+ * Otherwise, the data is uploaded to the GPU and a GPU-backed buffer
237
+ * is returned. It may only be used to draw into SkSurfaces that
238
+ * are backed by the passed GrDirectContext.
239
+ * @param sk_sp<SkData> required. The data used to populate the buffer.
240
+ */
241
+ static sk_sp<VertexBuffer> MakeVertexBuffer(GrDirectContext*, sk_sp<const SkData>);
242
+
243
+ enum class Mode { kTriangles, kTriangleStrip };
244
+
245
+ static SkMesh Make(sk_sp<SkMeshSpecification>,
246
+ Mode,
247
+ sk_sp<VertexBuffer>,
248
+ size_t vertexCount,
249
+ size_t vertexOffset,
250
+ const SkRect& bounds);
251
+
252
+ static SkMesh MakeIndexed(sk_sp<SkMeshSpecification>,
253
+ Mode,
254
+ sk_sp<VertexBuffer>,
255
+ size_t vertexCount,
256
+ size_t vertexOffset,
257
+ sk_sp<IndexBuffer>,
258
+ size_t indexCount,
259
+ size_t indexOffset,
260
+ const SkRect& bounds);
261
+
262
+ sk_sp<SkMeshSpecification> spec() const { return fSpec; }
263
+
264
+ Mode mode() const { return fMode; }
265
+
266
+ sk_sp<VertexBuffer> vertexBuffer() const { return fVB; }
267
+
268
+ size_t vertexOffset() const { return fVOffset; }
269
+ size_t vertexCount() const { return fVCount; }
270
+
271
+ sk_sp<IndexBuffer> indexBuffer() const { return fIB; }
272
+
273
+ size_t indexOffset() const { return fIOffset; }
274
+ size_t indexCount() const { return fICount; }
275
+
276
+ SkRect bounds() const { return fBounds; }
277
+
278
+ bool isValid() const;
279
+
280
+ private:
281
+ friend struct SkMeshPriv;
282
+
283
+ bool validate() const;
284
+
285
+ sk_sp<SkMeshSpecification> fSpec;
286
+
287
+ sk_sp<VertexBuffer> fVB;
288
+ sk_sp<IndexBuffer> fIB;
289
+
290
+ size_t fVOffset = 0; // Must be a multiple of spec->stride()
291
+ size_t fVCount = 0;
292
+
293
+ size_t fIOffset = 0; // Must be a multiple of sizeof(uint16_t)
294
+ size_t fICount = 0;
295
+
296
+ Mode fMode = Mode::kTriangles;
297
+
298
+ SkRect fBounds = SkRect::MakeEmpty();
299
+ };
300
+
301
+ #endif // SK_ENABLE_SKSL
302
+
303
+ #endif
@@ -5,5 +5,5 @@
5
5
  * found in the LICENSE file.
6
6
  */
7
7
  #ifndef SK_MILESTONE
8
- #define SK_MILESTONE 99
8
+ #define SK_MILESTONE 103
9
9
  #endif
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2022 Google Inc.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkOpenTypeSVGDecoder_DEFINED
9
+ #define SkOpenTypeSVGDecoder_DEFINED
10
+
11
+ #include "include/core/SkColor.h"
12
+ #include "include/core/SkSpan.h"
13
+ #include "include/core/SkTypes.h"
14
+
15
+ #include <memory>
16
+
17
+ class SkCanvas;
18
+
19
+ class SkOpenTypeSVGDecoder {
20
+ public:
21
+ /** Each instance probably owns an SVG DOM.
22
+ * The instance may be cached so needs to report how much memory it retains.
23
+ */
24
+ virtual size_t approximateSize() = 0;
25
+ virtual bool render(SkCanvas&, int upem, SkGlyphID glyphId,
26
+ SkColor foregroundColor, SkSpan<SkColor> palette) = 0;
27
+ virtual ~SkOpenTypeSVGDecoder() = default;
28
+ };
29
+
30
+ #endif // SkOpenTypeSVGDecoder_DEFINED
@@ -11,9 +11,10 @@
11
11
  #include "include/core/SkBlendMode.h"
12
12
  #include "include/core/SkColor.h"
13
13
  #include "include/core/SkRefCnt.h"
14
- #include "include/private/SkTOptional.h"
15
14
  #include "include/private/SkTo.h"
16
15
 
16
+ #include <optional>
17
+
17
18
  class SkBlender;
18
19
  class SkColorFilter;
19
20
  class SkColorSpace;
@@ -470,7 +471,7 @@ public:
470
471
  * enum in the optional's value(). If it cannot, then the returned optional does not
471
472
  * contain a value.
472
473
  */
473
- skstd::optional<SkBlendMode> asBlendMode() const;
474
+ std::optional<SkBlendMode> asBlendMode() const;
474
475
 
475
476
  /**
476
477
  * Queries the blender, and if it can be represented as a SkBlendMode, return that mode,
@@ -649,23 +650,7 @@ public:
649
650
  @param storage computed bounds of geometry; may not be nullptr
650
651
  @return fast computed bounds
651
652
  */
652
- const SkRect& computeFastBounds(const SkRect& orig, SkRect* storage) const {
653
- // Things like stroking, etc... will do math on the bounds rect, assuming that it's sorted.
654
- SkASSERT(orig.isSorted());
655
- SkPaint::Style style = this->getStyle();
656
- // ultra fast-case: filling with no effects that affect geometry
657
- if (kFill_Style == style) {
658
- uintptr_t effects = 0;
659
- effects |= reinterpret_cast<uintptr_t>(this->getMaskFilter());
660
- effects |= reinterpret_cast<uintptr_t>(this->getPathEffect());
661
- effects |= reinterpret_cast<uintptr_t>(this->getImageFilter());
662
- if (!effects) {
663
- return orig;
664
- }
665
- }
666
-
667
- return this->doComputeFastBounds(orig, storage, style);
668
- }
653
+ const SkRect& computeFastBounds(const SkRect& orig, SkRect* storage) const;
669
654
 
670
655
  /** (to be made private)
671
656
 
@@ -10,16 +10,21 @@
10
10
 
11
11
  #include "include/core/SkMatrix.h"
12
12
  #include "include/core/SkPathTypes.h"
13
- #include "include/private/SkPathRef.h"
13
+ #include "include/core/SkRefCnt.h"
14
14
  #include "include/private/SkTo.h"
15
15
 
16
16
  #include <initializer_list>
17
+ #include <tuple>
17
18
 
18
19
  class SkAutoPathBoundsUpdate;
19
20
  class SkData;
21
+ class SkPathRef;
20
22
  class SkRRect;
21
23
  class SkWStream;
22
24
 
25
+ enum class SkPathConvexity;
26
+ enum class SkPathFirstDirection;
27
+
23
28
  // WIP -- define this locally, and fix call-sites to use SkPathBuilder (skbug.com/9000)
24
29
  //#define SK_HIDE_PATH_EDIT_METHODS
25
30
 
@@ -225,9 +230,7 @@ public:
225
230
 
226
231
  /** Returns true if the path is convex. If necessary, it will first compute the convexity.
227
232
  */
228
- bool isConvex() const {
229
- return SkPathConvexity::kConvex == this->getConvexity();
230
- }
233
+ bool isConvex() const;
231
234
 
232
235
  /** Returns true if this path is recognized as an oval or circle.
233
236
 
@@ -285,10 +288,7 @@ public:
285
288
 
286
289
  @return true if the path contains no SkPath::Verb array
287
290
  */
288
- bool isEmpty() const {
289
- SkDEBUGCODE(this->validate();)
290
- return 0 == fPathRef->countVerbs();
291
- }
291
+ bool isEmpty() const;
292
292
 
293
293
  /** Returns if contour is closed.
294
294
  Contour is closed if SkPath SkPath::Verb array was last modified by close(). When stroked,
@@ -306,10 +306,7 @@ public:
306
306
 
307
307
  @return true if all SkPoint values are finite
308
308
  */
309
- bool isFinite() const {
310
- SkDEBUGCODE(this->validate();)
311
- return fPathRef->isFinite();
312
- }
309
+ bool isFinite() const;
313
310
 
314
311
  /** Returns true if the path is volatile; it will not be altered or discarded
315
312
  by the caller after it is drawn. SkPath by default have volatile set false, allowing
@@ -482,9 +479,7 @@ public:
482
479
 
483
480
  @return bounds of all SkPoint in SkPoint array
484
481
  */
485
- const SkRect& getBounds() const {
486
- return fPathRef->getBounds();
487
- }
482
+ const SkRect& getBounds() const;
488
483
 
489
484
  /** Updates internal bounds so that subsequent calls to getBounds() are instantaneous.
490
485
  Unaltered copies of SkPath may also access cached bounds through getBounds().
@@ -1409,7 +1404,7 @@ public:
1409
1404
 
1410
1405
  @return SegmentMask bits or zero
1411
1406
  */
1412
- uint32_t getSegmentMasks() const { return fPathRef->getSegmentMasks(); }
1407
+ uint32_t getSegmentMasks() const;
1413
1408
 
1414
1409
  /** \enum SkPath::Verb
1415
1410
  Verb instructs SkPath how to interpret one or more SkPoint and optional conic weight;
@@ -1759,7 +1754,7 @@ public:
1759
1754
 
1760
1755
  @return true if SkPath data is consistent
1761
1756
  */
1762
- bool isValid() const { return this->isValidImpl() && fPathRef->isValid(); }
1757
+ bool isValid() const;
1763
1758
 
1764
1759
  private:
1765
1760
  SkPath(sk_sp<SkPathRef>, SkPathFillType, bool isVolatile, SkPathConvexity,
@@ -1810,12 +1805,14 @@ private:
1810
1805
 
1811
1806
  SkPathConvexity computeConvexity() const;
1812
1807
 
1808
+ bool isValidImpl() const;
1813
1809
  /** Asserts if SkPath data is inconsistent.
1814
1810
  Debugging check intended for internal use only.
1815
1811
  */
1816
- SkDEBUGCODE(void validate() const { SkASSERT(this->isValidImpl()); } )
1817
- bool isValidImpl() const;
1818
- SkDEBUGCODE(void validateRef() const { fPathRef->validate(); } )
1812
+ #ifdef SK_DEBUG
1813
+ void validate() const;
1814
+ void validateRef() const;
1815
+ #endif
1819
1816
 
1820
1817
  // called by stroker to see if all points (in the last contour) are equal and worthy of a cap
1821
1818
  bool isZeroLengthSincePoint(int startPtIndex) const;
@@ -1823,18 +1820,10 @@ private:
1823
1820
  /** Returns if the path can return a bound at no cost (true) or will have to
1824
1821
  perform some computation (false).
1825
1822
  */
1826
- bool hasComputedBounds() const {
1827
- SkDEBUGCODE(this->validate();)
1828
- return fPathRef->hasComputedBounds();
1829
- }
1830
-
1823
+ bool hasComputedBounds() const;
1831
1824
 
1832
1825
  // 'rect' needs to be sorted
1833
- void setBounds(const SkRect& rect) {
1834
- SkPathRef::Editor ed(&fPathRef);
1835
-
1836
- ed.setBounds(rect);
1837
- }
1826
+ void setBounds(const SkRect& rect);
1838
1827
 
1839
1828
  void setPt(int index, SkScalar x, SkScalar y);
1840
1829
 
@@ -1852,9 +1841,7 @@ private:
1852
1841
  */
1853
1842
  SkPathConvexity getConvexity() const;
1854
1843
 
1855
- SkPathConvexity getConvexityOrUnknown() const {
1856
- return (SkPathConvexity)fConvexity.load(std::memory_order_relaxed);
1857
- }
1844
+ SkPathConvexity getConvexityOrUnknown() const;
1858
1845
 
1859
1846
  // Compares the cached value with a freshly computed one (computeConvexity())
1860
1847
  bool isConvexityAccurate() const;
@@ -11,6 +11,7 @@
11
11
  #include "include/core/SkMatrix.h"
12
12
  #include "include/core/SkPath.h"
13
13
  #include "include/core/SkPathTypes.h"
14
+ #include "include/core/SkRefCnt.h"
14
15
  #include "include/private/SkTDArray.h"
15
16
 
16
17
  class SK_API SkPathBuilder {
@@ -241,9 +242,6 @@ private:
241
242
  int fIsAStart = -1; // tracks direction iff fIsA is not unknown
242
243
  bool fIsACCW = false; // tracks direction iff fIsA is not unknown
243
244
 
244
- // for testing
245
- SkPathConvexity fOverrideConvexity = SkPathConvexity::kUnknown;
246
-
247
245
  int countVerbs() const { return fVerbs.count(); }
248
246
 
249
247
  // called right before we add a (non-move) verb
@@ -258,9 +256,6 @@ private:
258
256
 
259
257
  SkPathBuilder& privateReverseAddPath(const SkPath&);
260
258
 
261
- // For testing
262
- void privateSetConvexity(SkPathConvexity c) { fOverrideConvexity = c; }
263
-
264
259
  friend class SkPathPriv;
265
260
  };
266
261
 
@@ -112,7 +112,7 @@ private:
112
112
 
113
113
  void setTemporarilyImmutable();
114
114
  void restoreMutability();
115
- friend class SkSurface_Raster; // For the two methods above.
115
+ friend class SkSurface_Raster; // For temporary immutable methods above.
116
116
 
117
117
  void setImmutableWithID(uint32_t genID);
118
118
  friend void SkBitmapCache_setImmutableWithID(SkPixelRef*, uint32_t);
@@ -12,6 +12,7 @@
12
12
  #include "include/core/SkImageInfo.h"
13
13
  #include "include/core/SkSamplingOptions.h"
14
14
 
15
+ class SkColorSpace;
15
16
  class SkData;
16
17
  struct SkMask;
17
18
 
@@ -170,7 +171,7 @@ public:
170
171
 
171
172
  @return SkColorSpace in SkImageInfo, or nullptr
172
173
  */
173
- SkColorSpace* colorSpace() const { return fInfo.colorSpace(); }
174
+ SkColorSpace* colorSpace() const;
174
175
 
175
176
  /** Returns smart pointer to SkColorSpace, the range of colors, associated with
176
177
  SkImageInfo. The smart pointer tracks the number of objects sharing this
@@ -180,7 +181,7 @@ public:
180
181
 
181
182
  @return SkColorSpace in SkImageInfo wrapped in a smart pointer
182
183
  */
183
- sk_sp<SkColorSpace> refColorSpace() const { return fInfo.refColorSpace(); }
184
+ sk_sp<SkColorSpace> refColorSpace() const;
184
185
 
185
186
  /** Returns true if SkAlphaType is kOpaque_SkAlphaType.
186
187
  Does not check if SkColorType allows alpha, or if any pixel value has
@@ -18,7 +18,7 @@
18
18
  * [ fSSin fSCos fTy ]
19
19
  * [ 0 0 1 ]
20
20
  */
21
- struct SkRSXform {
21
+ struct SK_API SkRSXform {
22
22
  static SkRSXform Make(SkScalar scos, SkScalar ssin, SkScalar tx, SkScalar ty) {
23
23
  SkRSXform xform = { scos, ssin, tx, ty };
24
24
  return xform;
@@ -9,6 +9,8 @@
9
9
  #define SkImageSampling_DEFINED
10
10
 
11
11
  #include "include/core/SkTypes.h"
12
+
13
+ #include <algorithm>
12
14
  #include <new>
13
15
 
14
16
  enum class SkFilterMode {
@@ -52,6 +54,7 @@ struct SkCubicResampler {
52
54
  };
53
55
 
54
56
  struct SK_API SkSamplingOptions {
57
+ const int maxAniso = 0;
55
58
  const bool useCubic = false;
56
59
  const SkCubicResampler cubic = {0, 0};
57
60
  const SkFilterMode filter = SkFilterMode::kNearest;
@@ -66,27 +69,35 @@ struct SK_API SkSamplingOptions {
66
69
  }
67
70
 
68
71
  SkSamplingOptions(SkFilterMode fm, SkMipmapMode mm)
69
- : useCubic(false)
70
- , filter(fm)
72
+ : filter(fm)
71
73
  , mipmap(mm) {}
72
74
 
73
75
  explicit SkSamplingOptions(SkFilterMode fm)
74
- : useCubic(false)
75
- , filter(fm)
76
+ : filter(fm)
76
77
  , mipmap(SkMipmapMode::kNone) {}
77
78
 
78
79
  explicit SkSamplingOptions(const SkCubicResampler& c)
79
80
  : useCubic(true)
80
81
  , cubic(c) {}
81
82
 
83
+ static SkSamplingOptions Aniso(int maxAniso) {
84
+ return SkSamplingOptions{std::max(maxAniso, 1)};
85
+ }
86
+
82
87
  bool operator==(const SkSamplingOptions& other) const {
83
- return useCubic == other.useCubic
88
+ return maxAniso == other.maxAniso
89
+ && useCubic == other.useCubic
84
90
  && cubic.B == other.cubic.B
85
91
  && cubic.C == other.cubic.C
86
92
  && filter == other.filter
87
93
  && mipmap == other.mipmap;
88
94
  }
89
95
  bool operator!=(const SkSamplingOptions& other) const { return !(*this == other); }
96
+
97
+ bool isAniso() const { return maxAniso != 0; }
98
+
99
+ private:
100
+ SkSamplingOptions(int maxAniso) : maxAniso(maxAniso) {}
90
101
  };
91
102
 
92
103
  #endif
@@ -33,11 +33,8 @@ public:
33
33
  constexpr SkSpan(const SkSpan<U>& that) : fPtr(that.data()), fSize{that.size()} {}
34
34
  constexpr SkSpan(const SkSpan& o) = default;
35
35
 
36
- constexpr SkSpan& operator=(const SkSpan& that) {
37
- fPtr = that.fPtr;
38
- fSize = that.fSize;
39
- return *this;
40
- }
36
+ constexpr SkSpan& operator=(const SkSpan& that) = default;
37
+
41
38
  constexpr T& operator [] (size_t i) const {
42
39
  SkASSERT(i < this->size());
43
40
  return fPtr[i];
@@ -60,6 +57,9 @@ public:
60
57
  SkASSERT(postfixLen <= this->size());
61
58
  return SkSpan{fPtr + (this->size() - postfixLen), postfixLen};
62
59
  }
60
+ constexpr SkSpan<T> subspan(size_t offset) const {
61
+ return this->subspan(offset, this->size() - offset);
62
+ }
63
63
  constexpr SkSpan<T> subspan(size_t offset, size_t count) const {
64
64
  SkASSERT(offset <= this->size());
65
65
  SkASSERT(count <= this->size() - offset);