@shopify/react-native-skia 1.3.13 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/android/CMakeLists.txt +9 -4
  2. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +6 -0
  3. package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.cpp +81 -0
  4. package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.h +40 -0
  5. package/cpp/api/JsiSkApi.h +2 -0
  6. package/cpp/api/JsiSkPath.h +29 -19
  7. package/cpp/api/JsiSkRuntimeEffect.h +7 -0
  8. package/cpp/api/JsiSkiaContext.h +79 -0
  9. package/cpp/rnskia/RNSkPlatformContext.h +4 -0
  10. package/cpp/rnskia/SkiaContext.h +22 -0
  11. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -2
  12. package/cpp/skia/include/android/SkImageAndroid.h +1 -1
  13. package/cpp/skia/include/android/SkSurfaceAndroid.h +1 -1
  14. package/cpp/skia/include/codec/SkAndroidCodec.h +13 -9
  15. package/cpp/skia/include/codec/SkCodec.h +28 -5
  16. package/cpp/skia/include/core/SkArc.h +69 -0
  17. package/cpp/skia/include/core/SkBitmap.h +10 -0
  18. package/cpp/skia/include/core/SkBlender.h +2 -3
  19. package/cpp/skia/include/core/SkCanvas.h +86 -16
  20. package/cpp/skia/include/core/SkCapabilities.h +0 -4
  21. package/cpp/skia/include/core/SkColorFilter.h +4 -4
  22. package/cpp/skia/include/core/SkColorPriv.h +5 -7
  23. package/cpp/skia/include/core/SkColorType.h +2 -0
  24. package/cpp/skia/include/core/SkFlattenable.h +1 -1
  25. package/cpp/skia/include/core/SkFontArguments.h +3 -1
  26. package/cpp/skia/include/core/SkFontParameters.h +3 -2
  27. package/cpp/skia/include/core/SkFourByteTag.h +19 -0
  28. package/cpp/skia/include/core/SkImage.h +41 -1
  29. package/cpp/skia/include/core/SkImageGenerator.h +0 -5
  30. package/cpp/skia/include/core/SkImageInfo.h +20 -0
  31. package/cpp/skia/include/core/SkM44.h +1 -1
  32. package/cpp/skia/include/core/SkMatrix.h +2 -1
  33. package/cpp/skia/include/core/SkMilestone.h +1 -1
  34. package/cpp/skia/include/core/SkPaint.h +1 -1
  35. package/cpp/skia/include/core/SkPath.h +20 -6
  36. package/cpp/skia/include/core/SkPathMeasure.h +1 -0
  37. package/cpp/skia/include/core/SkPicture.h +5 -5
  38. package/cpp/skia/include/core/SkPoint3.h +2 -12
  39. package/cpp/skia/include/core/SkRRect.h +5 -0
  40. package/cpp/skia/include/core/SkRect.h +5 -16
  41. package/cpp/skia/include/core/SkRefCnt.h +2 -0
  42. package/cpp/skia/include/core/SkScalar.h +20 -32
  43. package/cpp/skia/include/core/SkShader.h +17 -0
  44. package/cpp/skia/include/core/SkSize.h +2 -1
  45. package/cpp/skia/include/core/SkStream.h +2 -3
  46. package/cpp/skia/include/core/SkStrokeRec.h +6 -1
  47. package/cpp/skia/include/core/SkSurface.h +13 -4
  48. package/cpp/skia/include/core/SkSurfaceProps.h +5 -0
  49. package/cpp/skia/include/core/SkSwizzle.h +3 -1
  50. package/cpp/skia/include/core/SkTypeface.h +1 -0
  51. package/cpp/skia/include/core/SkTypes.h +1 -19
  52. package/cpp/skia/include/core/SkUnPreMultiply.h +4 -5
  53. package/cpp/skia/include/core/SkVertices.h +4 -2
  54. package/cpp/skia/include/docs/SkPDFDocument.h +11 -14
  55. package/cpp/skia/include/effects/SkHighContrastFilter.h +6 -6
  56. package/cpp/skia/include/effects/SkImageFilters.h +49 -23
  57. package/cpp/skia/include/effects/SkRuntimeEffect.h +51 -70
  58. package/cpp/skia/include/effects/SkShaderMaskFilter.h +2 -0
  59. package/cpp/skia/include/effects/SkTableMaskFilter.h +2 -0
  60. package/cpp/skia/include/gpu/GrBackendSemaphore.h +2 -120
  61. package/cpp/skia/include/gpu/GrBackendSurface.h +2 -466
  62. package/cpp/skia/include/gpu/GrContextOptions.h +2 -368
  63. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +2 -179
  64. package/cpp/skia/include/gpu/GrDirectContext.h +2 -1011
  65. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -47
  66. package/cpp/skia/include/gpu/GrDriverBugWorkaroundsAutogen.h +2 -41
  67. package/cpp/skia/include/gpu/GrRecordingContext.h +2 -279
  68. package/cpp/skia/include/gpu/GrTypes.h +2 -238
  69. package/cpp/skia/include/gpu/GrYUVABackendTextures.h +2 -118
  70. package/cpp/skia/include/gpu/d3d/GrD3DBackendContext.h +2 -29
  71. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +2 -242
  72. package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +80 -0
  73. package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +412 -0
  74. package/cpp/skia/include/gpu/ganesh/GrContextOptions.h +386 -0
  75. package/cpp/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
  76. package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +993 -0
  77. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
  78. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +45 -0
  79. package/cpp/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +1 -1
  80. package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +285 -0
  81. package/cpp/skia/include/gpu/ganesh/GrTypes.h +177 -0
  82. package/cpp/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
  83. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +1 -1
  84. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
  85. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
  86. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
  87. package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
  88. package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
  89. package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +1 -1
  90. package/cpp/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
  91. package/cpp/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
  92. package/cpp/skia/include/gpu/ganesh/gl/GrGLFunctions.h +306 -0
  93. package/cpp/skia/include/gpu/ganesh/gl/GrGLInterface.h +338 -0
  94. package/cpp/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
  95. package/cpp/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
  96. package/cpp/skia/include/gpu/{gl → ganesh/gl}/egl/GrGLMakeEGLInterface.h +2 -2
  97. package/cpp/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
  98. package/cpp/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
  99. package/cpp/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
  100. package/cpp/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
  101. package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
  102. package/cpp/skia/include/gpu/{mtl → ganesh/mtl}/GrMtlBackendContext.h +2 -2
  103. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
  104. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
  105. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
  106. package/cpp/skia/include/gpu/{mtl → ganesh/mtl}/GrMtlTypes.h +1 -3
  107. package/cpp/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +2 -2
  108. package/cpp/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +2 -2
  109. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +1 -1
  110. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +7 -3
  111. package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +6 -3
  112. package/cpp/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
  113. package/cpp/skia/include/gpu/gl/GrGLAssembleHelpers.h +2 -9
  114. package/cpp/skia/include/gpu/gl/GrGLAssembleInterface.h +2 -38
  115. package/cpp/skia/include/gpu/gl/GrGLConfig.h +2 -73
  116. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +2 -72
  117. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +2 -301
  118. package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -332
  119. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -213
  120. package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +20 -41
  121. package/cpp/skia/include/gpu/graphite/BackendTexture.h +18 -118
  122. package/cpp/skia/include/gpu/graphite/Context.h +122 -44
  123. package/cpp/skia/include/gpu/graphite/ContextOptions.h +30 -3
  124. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +45 -17
  125. package/cpp/skia/include/gpu/graphite/Image.h +56 -54
  126. package/cpp/skia/include/gpu/graphite/Recorder.h +68 -14
  127. package/cpp/skia/include/gpu/graphite/Recording.h +3 -3
  128. package/cpp/skia/include/gpu/graphite/Surface.h +6 -2
  129. package/cpp/skia/include/gpu/graphite/TextureInfo.h +36 -117
  130. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +108 -6
  131. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +4 -1
  132. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +41 -25
  133. package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +197 -0
  134. package/cpp/skia/include/gpu/graphite/precompile/Precompile.h +48 -0
  135. package/cpp/skia/include/gpu/graphite/precompile/PrecompileBase.h +84 -0
  136. package/cpp/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
  137. package/cpp/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +85 -0
  138. package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +119 -0
  139. package/cpp/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +51 -0
  140. package/cpp/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
  141. package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +170 -0
  142. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +24 -2
  143. package/cpp/skia/include/gpu/mock/GrMockTypes.h +2 -157
  144. package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +2 -0
  145. package/cpp/skia/include/gpu/vk/GrVkTypes.h +2 -101
  146. package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +13 -8
  147. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +9 -3
  148. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +4 -1
  149. package/cpp/skia/include/gpu/vk/VulkanTypes.h +25 -8
  150. package/cpp/skia/include/ports/SkFontMgr_Fontations.h +20 -0
  151. package/cpp/skia/include/ports/SkFontMgr_android.h +7 -0
  152. package/cpp/skia/include/ports/SkImageGeneratorCG.h +3 -1
  153. package/cpp/skia/include/ports/SkTypeface_win.h +0 -17
  154. package/cpp/skia/include/private/SkEncodedInfo.h +8 -2
  155. package/cpp/skia/include/private/SkExif.h +28 -75
  156. package/cpp/skia/include/private/SkGainmapInfo.h +47 -7
  157. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +12 -0
  158. package/cpp/skia/include/private/SkPathRef.h +52 -44
  159. package/cpp/skia/include/private/SkXmp.h +13 -4
  160. package/cpp/skia/include/private/base/SkASAN.h +56 -0
  161. package/cpp/skia/include/private/base/SkAlign.h +5 -0
  162. package/cpp/skia/include/private/base/SkContainers.h +10 -2
  163. package/cpp/skia/include/private/base/SkFeatures.h +22 -1
  164. package/cpp/skia/include/private/base/SkFloatingPoint.h +51 -65
  165. package/cpp/skia/include/private/base/SkMacros.h +67 -0
  166. package/cpp/skia/include/private/base/SkMalloc.h +8 -0
  167. package/cpp/skia/include/private/base/SkPoint_impl.h +2 -11
  168. package/cpp/skia/include/private/base/SkTArray.h +108 -23
  169. package/cpp/skia/include/private/base/SkTFitsIn.h +1 -12
  170. package/cpp/skia/include/private/chromium/GrDeferredDisplayList.h +1 -1
  171. package/cpp/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +0 -39
  172. package/cpp/skia/include/private/chromium/GrPromiseImageTexture.h +1 -1
  173. package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +3 -3
  174. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -4
  175. package/cpp/skia/include/private/chromium/Slug.h +5 -11
  176. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
  177. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +2 -2
  178. package/cpp/skia/include/private/gpu/ganesh/GrTextureGenerator.h +1 -1
  179. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +21 -93
  180. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +2 -2
  181. package/cpp/skia/include/utils/SkCustomTypeface.h +1 -0
  182. package/cpp/skia/include/utils/SkNWayCanvas.h +1 -1
  183. package/cpp/skia/include/utils/SkParse.h +0 -1
  184. package/cpp/skia/modules/skcms/src/Transform_inl.h +59 -56
  185. package/cpp/skia/modules/skcms/src/skcms_Transform.h +3 -0
  186. package/cpp/skia/modules/skcms/src/skcms_internals.h +2 -0
  187. package/cpp/skia/modules/skcms/src/skcms_public.h +46 -14
  188. package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +15 -1
  189. package/cpp/skia/modules/skparagraph/include/TextStyle.h +2 -2
  190. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +2 -4
  191. package/cpp/skia/modules/skresources/include/SkResources.h +1 -1
  192. package/cpp/skia/modules/skshaper/include/SkShaper.h +316 -0
  193. package/cpp/skia/modules/skshaper/include/SkShaper_coretext.h +19 -0
  194. package/cpp/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
  195. package/cpp/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
  196. package/cpp/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
  197. package/cpp/skia/modules/skunicode/include/SkUnicode.h +6 -23
  198. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +0 -3
  199. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +12 -2
  200. package/cpp/skia/modules/svg/include/SkSVGCircle.h +13 -0
  201. package/cpp/skia/modules/svg/include/SkSVGClipPath.h +6 -0
  202. package/cpp/skia/modules/svg/include/SkSVGContainer.h +17 -1
  203. package/cpp/skia/modules/svg/include/SkSVGDOM.h +25 -15
  204. package/cpp/skia/modules/svg/include/SkSVGEllipse.h +13 -2
  205. package/cpp/skia/modules/svg/include/SkSVGFe.h +11 -2
  206. package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +9 -0
  207. package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +9 -0
  208. package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
  209. package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +10 -1
  210. package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +10 -0
  211. package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +10 -0
  212. package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +9 -0
  213. package/cpp/skia/modules/svg/include/SkSVGFeImage.h +9 -0
  214. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +5 -0
  215. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +11 -0
  216. package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
  217. package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +8 -0
  218. package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +9 -0
  219. package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +9 -0
  220. package/cpp/skia/modules/svg/include/SkSVGFilter.h +9 -0
  221. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +3 -3
  222. package/cpp/skia/modules/svg/include/SkSVGGradient.h +10 -2
  223. package/cpp/skia/modules/svg/include/SkSVGImage.h +9 -0
  224. package/cpp/skia/modules/svg/include/SkSVGLine.h +11 -0
  225. package/cpp/skia/modules/svg/include/SkSVGLinearGradient.h +10 -0
  226. package/cpp/skia/modules/svg/include/SkSVGMask.h +6 -0
  227. package/cpp/skia/modules/svg/include/SkSVGNode.h +13 -2
  228. package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +5 -0
  229. package/cpp/skia/modules/svg/include/SkSVGPath.h +10 -0
  230. package/cpp/skia/modules/svg/include/SkSVGPattern.h +5 -0
  231. package/cpp/skia/modules/svg/include/SkSVGPoly.h +11 -0
  232. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +11 -0
  233. package/cpp/skia/modules/svg/include/SkSVGRect.h +11 -0
  234. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +43 -7
  235. package/cpp/skia/modules/svg/include/SkSVGSVG.h +7 -0
  236. package/cpp/skia/modules/svg/include/SkSVGShape.h +8 -2
  237. package/cpp/skia/modules/svg/include/SkSVGStop.h +5 -3
  238. package/cpp/skia/modules/svg/include/SkSVGText.h +8 -2
  239. package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +8 -0
  240. package/cpp/skia/modules/svg/include/SkSVGTypes.h +9 -0
  241. package/cpp/skia/modules/svg/include/SkSVGUse.h +7 -0
  242. package/cpp/skia/src/base/SkMathPriv.h +337 -0
  243. package/cpp/skia/src/base/SkTLazy.h +208 -0
  244. package/cpp/skia/src/core/SkTHash.h +58 -7
  245. package/cpp/skia/src/gpu/ganesh/gl/GrGLDefines.h +3 -0
  246. package/ios/RNSkia-iOS/RNSkiOSPlatformContext.h +3 -0
  247. package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +7 -0
  248. package/ios/RNSkia-iOS/SkiaCVPixelBufferUtils.mm +7 -2
  249. package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.h +78 -0
  250. package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.mm +20 -4
  251. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  252. package/lib/commonjs/skia/types/Paragraph/TextStyle.d.ts +2 -2
  253. package/lib/commonjs/skia/types/Paragraph/TextStyle.js.map +1 -1
  254. package/lib/commonjs/skia/types/Skia.d.ts +6 -1
  255. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  256. package/lib/commonjs/skia/web/JsiSkia.js +4 -1
  257. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  258. package/lib/commonjs/web/WithSkiaWeb.d.ts +11 -4
  259. package/lib/commonjs/web/WithSkiaWeb.js +3 -2
  260. package/lib/commonjs/web/WithSkiaWeb.js.map +1 -1
  261. package/lib/module/renderer/HostConfig.js.map +1 -1
  262. package/lib/module/skia/types/Paragraph/TextStyle.d.ts +2 -2
  263. package/lib/module/skia/types/Paragraph/TextStyle.js.map +1 -1
  264. package/lib/module/skia/types/Skia.d.ts +6 -1
  265. package/lib/module/skia/types/Skia.js.map +1 -1
  266. package/lib/module/skia/web/JsiSkia.js +4 -1
  267. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  268. package/lib/module/web/WithSkiaWeb.d.ts +11 -4
  269. package/lib/module/web/WithSkiaWeb.js +3 -2
  270. package/lib/module/web/WithSkiaWeb.js.map +1 -1
  271. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -0
  272. package/lib/typescript/lib/commonjs/web/WithSkiaWeb.d.ts +2 -1
  273. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -0
  274. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -0
  275. package/lib/typescript/lib/module/web/WithSkiaWeb.d.ts +2 -1
  276. package/lib/typescript/src/skia/types/Paragraph/TextStyle.d.ts +2 -2
  277. package/lib/typescript/src/skia/types/Skia.d.ts +6 -1
  278. package/lib/typescript/src/web/WithSkiaWeb.d.ts +11 -4
  279. package/libs/android/arm64-v8a/libskia.a +0 -0
  280. package/libs/android/arm64-v8a/libskottie.a +0 -0
  281. package/libs/android/arm64-v8a/libskparagraph.a +0 -0
  282. package/libs/android/arm64-v8a/libsksg.a +0 -0
  283. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  284. package/libs/android/arm64-v8a/libskunicode_core.a +0 -0
  285. package/libs/android/arm64-v8a/libskunicode_icu.a +0 -0
  286. package/libs/android/arm64-v8a/libsvg.a +0 -0
  287. package/libs/android/armeabi-v7a/libskia.a +0 -0
  288. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  289. package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
  290. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  291. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  292. package/libs/android/armeabi-v7a/libskunicode_core.a +0 -0
  293. package/libs/android/armeabi-v7a/libskunicode_icu.a +0 -0
  294. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  295. package/libs/android/x86/libskia.a +0 -0
  296. package/libs/android/x86/libskottie.a +0 -0
  297. package/libs/android/x86/libskparagraph.a +0 -0
  298. package/libs/android/x86/libsksg.a +0 -0
  299. package/libs/android/x86/libskshaper.a +0 -0
  300. package/libs/android/x86/libskunicode_core.a +0 -0
  301. package/libs/android/x86/libskunicode_icu.a +0 -0
  302. package/libs/android/x86/libsvg.a +0 -0
  303. package/libs/android/x86_64/libskia.a +0 -0
  304. package/libs/android/x86_64/libskottie.a +0 -0
  305. package/libs/android/x86_64/libskparagraph.a +0 -0
  306. package/libs/android/x86_64/libsksg.a +0 -0
  307. package/libs/android/x86_64/libskshaper.a +0 -0
  308. package/libs/android/x86_64/libskunicode_core.a +0 -0
  309. package/libs/android/x86_64/libskunicode_icu.a +0 -0
  310. package/libs/android/x86_64/libsvg.a +0 -0
  311. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  312. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  313. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  314. package/libs/ios/libskottie.xcframework/Info.plist +5 -5
  315. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  316. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  317. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  318. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  319. package/libs/ios/libsksg.xcframework/Info.plist +5 -5
  320. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  321. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  322. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  323. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  324. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  325. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  326. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  327. package/package.json +3 -5
  328. package/react-native-skia.podspec +2 -1
  329. package/src/renderer/HostConfig.ts +5 -1
  330. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +5 -2
  331. package/src/renderer/__tests__/e2e/Paths.spec.tsx +12 -5
  332. package/src/renderer/__tests__/e2e/SDF.spec.tsx +1 -1
  333. package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +1 -1
  334. package/src/skia/types/Paragraph/TextStyle.ts +2 -2
  335. package/src/skia/types/Skia.ts +7 -1
  336. package/src/skia/web/JsiSkia.ts +3 -0
  337. package/src/web/WithSkiaWeb.tsx +17 -6
  338. package/cpp/skia/include/core/SkDrawLooper.h +0 -135
  339. package/cpp/skia/include/effects/SkBlurDrawLooper.h +0 -26
  340. package/cpp/skia/include/effects/SkLayerDrawLooper.h +0 -161
  341. package/cpp/skia/include/gpu/gl/GrGLConfig_chrome.h +0 -14
  342. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +0 -84
  343. package/cpp/skia/include/gpu/vk/GrVkExtensions.h +0 -15
  344. package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +0 -15
  345. package/cpp/skia/include/ports/SkFontMgr_indirect.h +0 -102
  346. package/cpp/skia/include/ports/SkRemotableFontMgr.h +0 -139
  347. package/cpp/skia/include/private/base/SkFloatBits.h +0 -90
  348. package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +0 -69
  349. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +0 -54
  350. package/cpp/skia/include/private/gpu/graphite/MtlGraphiteTypesPriv.h +0 -95
  351. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +0 -83
  352. package/cpp/skia/src/core/SkPathEnums.h +0 -25
  353. package/cpp/skia/src/core/SkPathPriv.h +0 -540
  354. package/libs/android/arm64-v8a/libskunicode.a +0 -0
  355. package/libs/android/armeabi-v7a/libskunicode.a +0 -0
  356. package/libs/android/x86/libskunicode.a +0 -0
  357. package/libs/android/x86_64/libskunicode.a +0 -0
  358. package/libs/ios/libskunicode.xcframework/Info.plist +0 -46
  359. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  360. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  361. /package/cpp/skia/include/gpu/{gl → ganesh/gl}/glx/GrGLMakeGLXInterface.h +0 -0
@@ -8,9 +8,20 @@
8
8
  #ifndef SkSVGLine_DEFINED
9
9
  #define SkSVGLine_DEFINED
10
10
 
11
+ #include "include/core/SkPath.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/private/base/SkAPI.h"
14
+ #include "modules/svg/include/SkSVGNode.h"
11
15
  #include "modules/svg/include/SkSVGShape.h"
12
16
  #include "modules/svg/include/SkSVGTypes.h"
13
17
 
18
+ #include <tuple>
19
+
20
+ class SkCanvas;
21
+ class SkPaint;
22
+ class SkSVGLengthContext;
23
+ class SkSVGRenderContext;
24
+ enum class SkPathFillType;
14
25
  struct SkPoint;
15
26
 
16
27
  class SK_API SkSVGLine final : public SkSVGShape {
@@ -8,9 +8,19 @@
8
8
  #ifndef SkSVGLinearGradient_DEFINED
9
9
  #define SkSVGLinearGradient_DEFINED
10
10
 
11
+ #include "include/core/SkColor.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/core/SkScalar.h"
14
+ #include "include/private/base/SkAPI.h"
11
15
  #include "modules/svg/include/SkSVGGradient.h"
16
+ #include "modules/svg/include/SkSVGNode.h"
12
17
  #include "modules/svg/include/SkSVGTypes.h"
13
18
 
19
+ class SkMatrix;
20
+ class SkSVGRenderContext;
21
+ class SkShader;
22
+ enum class SkTileMode;
23
+
14
24
  class SK_API SkSVGLinearGradient final : public SkSVGGradient {
15
25
  public:
16
26
  static sk_sp<SkSVGLinearGradient> Make() {
@@ -8,9 +8,15 @@
8
8
  #ifndef SkSVGMask_DEFINED
9
9
  #define SkSVGMask_DEFINED
10
10
 
11
+ #include "include/core/SkRect.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/private/base/SkAPI.h"
11
14
  #include "modules/svg/include/SkSVGHiddenContainer.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
12
16
  #include "modules/svg/include/SkSVGTypes.h"
13
17
 
18
+ class SkSVGRenderContext;
19
+
14
20
  class SK_API SkSVGMask final : public SkSVGHiddenContainer {
15
21
  public:
16
22
  static sk_sp<SkSVGMask> Make() {
@@ -8,15 +8,19 @@
8
8
  #ifndef SkSVGNode_DEFINED
9
9
  #define SkSVGNode_DEFINED
10
10
 
11
+ #include "include/core/SkRect.h"
11
12
  #include "include/core/SkRefCnt.h"
13
+ #include "include/private/base/SkAPI.h"
12
14
  #include "modules/svg/include/SkSVGAttribute.h"
13
15
  #include "modules/svg/include/SkSVGAttributeParser.h"
16
+ #include "modules/svg/include/SkSVGTypes.h"
17
+
18
+ #include <utility>
14
19
 
15
- class SkCanvas;
16
20
  class SkMatrix;
17
21
  class SkPaint;
18
22
  class SkPath;
19
- class SkSVGLengthContext;
23
+ class SkSVGNode;
20
24
  class SkSVGRenderContext;
21
25
  class SkSVGValue;
22
26
 
@@ -27,13 +31,20 @@ enum class SkSVGTag {
27
31
  kEllipse,
28
32
  kFeBlend,
29
33
  kFeColorMatrix,
34
+ kFeComponentTransfer,
30
35
  kFeComposite,
31
36
  kFeDiffuseLighting,
32
37
  kFeDisplacementMap,
33
38
  kFeDistantLight,
34
39
  kFeFlood,
40
+ kFeFuncA,
41
+ kFeFuncR,
42
+ kFeFuncG,
43
+ kFeFuncB,
35
44
  kFeGaussianBlur,
36
45
  kFeImage,
46
+ kFeMerge,
47
+ kFeMergeNode,
37
48
  kFeMorphology,
38
49
  kFeOffset,
39
50
  kFePointLight,
@@ -10,9 +10,14 @@
10
10
 
11
11
  #include "include/core/SkColor.h"
12
12
  #include "include/core/SkOpenTypeSVGDecoder.h"
13
+ #include "include/core/SkRefCnt.h"
13
14
  #include "include/core/SkSpan.h"
14
15
  #include "include/core/SkTypes.h"
15
16
 
17
+ #include <cstddef>
18
+ #include <cstdint>
19
+ #include <memory>
20
+
16
21
  class SkCanvas;
17
22
  class SkSVGDOM;
18
23
 
@@ -9,8 +9,18 @@
9
9
  #define SkSVGPath_DEFINED
10
10
 
11
11
  #include "include/core/SkPath.h"
12
+ #include "include/core/SkRect.h"
13
+ #include "include/core/SkRefCnt.h"
14
+ #include "include/private/base/SkAPI.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
12
16
  #include "modules/svg/include/SkSVGShape.h"
13
17
 
18
+ class SkCanvas;
19
+ class SkPaint;
20
+ class SkSVGLengthContext;
21
+ class SkSVGRenderContext;
22
+ enum class SkPathFillType;
23
+
14
24
  class SK_API SkSVGPath final : public SkSVGShape {
15
25
  public:
16
26
  static sk_sp<SkSVGPath> Make() { return sk_sp<SkSVGPath>(new SkSVGPath()); }
@@ -8,9 +8,14 @@
8
8
  #ifndef SkSVGPattern_DEFINED
9
9
  #define SkSVGPattern_DEFINED
10
10
 
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/base/SkAPI.h"
11
13
  #include "modules/svg/include/SkSVGHiddenContainer.h"
14
+ #include "modules/svg/include/SkSVGNode.h"
12
15
  #include "modules/svg/include/SkSVGTypes.h"
16
+ #include "src/base/SkTLazy.h"
13
17
 
18
+ class SkPaint;
14
19
  class SkSVGRenderContext;
15
20
 
16
21
  class SK_API SkSVGPattern final : public SkSVGHiddenContainer {
@@ -9,7 +9,18 @@
9
9
  #define SkSVGPoly_DEFINED
10
10
 
11
11
  #include "include/core/SkPath.h"
12
+ #include "include/core/SkRect.h"
13
+ #include "include/core/SkRefCnt.h"
14
+ #include "include/private/base/SkAPI.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
12
16
  #include "modules/svg/include/SkSVGShape.h"
17
+ #include "modules/svg/include/SkSVGTypes.h"
18
+
19
+ class SkCanvas;
20
+ class SkPaint;
21
+ class SkSVGLengthContext;
22
+ class SkSVGRenderContext;
23
+ enum class SkPathFillType;
13
24
 
14
25
  // Handles <polygon> and <polyline> elements.
15
26
  class SK_API SkSVGPoly final : public SkSVGShape {
@@ -8,8 +8,19 @@
8
8
  #ifndef SkSVGRadialGradient_DEFINED
9
9
  #define SkSVGRadialGradient_DEFINED
10
10
 
11
+ #include "include/core/SkColor.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/core/SkScalar.h"
14
+ #include "include/private/base/SkAPI.h"
11
15
  #include "modules/svg/include/SkSVGGradient.h"
16
+ #include "modules/svg/include/SkSVGNode.h"
12
17
  #include "modules/svg/include/SkSVGTypes.h"
18
+ #include "src/base/SkTLazy.h"
19
+
20
+ class SkMatrix;
21
+ class SkSVGRenderContext;
22
+ class SkShader;
23
+ enum class SkTileMode;
13
24
 
14
25
  class SK_API SkSVGRadialGradient final : public SkSVGGradient {
15
26
  public:
@@ -8,10 +8,21 @@
8
8
  #ifndef SkSVGRect_DEFINED
9
9
  #define SkSVGRect_DEFINED
10
10
 
11
+ #include "include/core/SkPath.h"
12
+ #include "include/core/SkRect.h"
13
+ #include "include/core/SkRefCnt.h"
14
+ #include "include/private/base/SkAPI.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
11
16
  #include "modules/svg/include/SkSVGShape.h"
12
17
  #include "modules/svg/include/SkSVGTypes.h"
18
+ #include "src/base/SkTLazy.h"
13
19
 
20
+ class SkCanvas;
21
+ class SkPaint;
14
22
  class SkRRect;
23
+ class SkSVGLengthContext;
24
+ class SkSVGRenderContext;
25
+ enum class SkPathFillType;
15
26
 
16
27
  class SK_API SkSVGRect final : public SkSVGShape {
17
28
  public:
@@ -9,20 +9,32 @@
9
9
  #define SkSVGRenderContext_DEFINED
10
10
 
11
11
  #include "include/core/SkFontMgr.h"
12
+ #include "include/core/SkFourByteTag.h"
12
13
  #include "include/core/SkM44.h"
13
- #include "include/core/SkPaint.h"
14
14
  #include "include/core/SkPath.h"
15
15
  #include "include/core/SkRect.h"
16
+ #include "include/core/SkRefCnt.h"
17
+ #include "include/core/SkScalar.h"
16
18
  #include "include/core/SkSize.h"
17
19
  #include "include/core/SkTypes.h"
18
- #include "modules/skresources/include/SkResources.h"
20
+ #include "modules/skshaper/include/SkShaper.h"
21
+ #include "modules/skshaper/include/SkShaper_factory.h"
19
22
  #include "modules/svg/include/SkSVGAttribute.h"
20
23
  #include "modules/svg/include/SkSVGIDMapper.h"
24
+ #include "modules/svg/include/SkSVGNode.h"
25
+ #include "modules/svg/include/SkSVGTypes.h"
21
26
  #include "src/base/SkTLazy.h"
22
27
  #include "src/core/SkTHash.h"
23
28
 
29
+ #include <cstddef>
30
+ #include <cstdint>
31
+ #include <memory>
32
+ #include <utility>
33
+
24
34
  class SkCanvas;
25
- class SkSVGLength;
35
+ class SkPaint;
36
+ class SkString;
37
+ namespace skresources { class ResourceProvider; }
26
38
 
27
39
  class SK_API SkSVGLengthContext {
28
40
  public:
@@ -66,10 +78,14 @@ public:
66
78
  const SkSVGRenderContext* fCtx;
67
79
  };
68
80
 
69
- SkSVGRenderContext(SkCanvas*, const sk_sp<SkFontMgr>&,
70
- const sk_sp<skresources::ResourceProvider>&, const SkSVGIDMapper&,
71
- const SkSVGLengthContext&, const SkSVGPresentationContext&,
72
- const OBBScope&);
81
+ SkSVGRenderContext(SkCanvas*,
82
+ const sk_sp<SkFontMgr>&,
83
+ const sk_sp<skresources::ResourceProvider>&,
84
+ const SkSVGIDMapper&,
85
+ const SkSVGLengthContext&,
86
+ const SkSVGPresentationContext&,
87
+ const OBBScope&,
88
+ const sk_sp<SkShapers::Factory>&);
73
89
  SkSVGRenderContext(const SkSVGRenderContext&);
74
90
  SkSVGRenderContext(const SkSVGRenderContext&, SkCanvas*);
75
91
  // Establish a new OBB scope. Normally used when entering a node's render scope.
@@ -155,6 +171,25 @@ public:
155
171
  const SkSVGLength& w, const SkSVGLength& h,
156
172
  SkSVGObjectBoundingBoxUnits) const;
157
173
 
174
+ std::unique_ptr<SkShaper> makeShaper() const {
175
+ SkASSERT(fTextShapingFactory);
176
+ return fTextShapingFactory->makeShaper(this->fontMgr());
177
+ }
178
+
179
+ std::unique_ptr<SkShaper::BiDiRunIterator> makeBidiRunIterator(const char* utf8,
180
+ size_t utf8Bytes,
181
+ uint8_t bidiLevel) const {
182
+ SkASSERT(fTextShapingFactory);
183
+ return fTextShapingFactory->makeBidiRunIterator(utf8, utf8Bytes, bidiLevel);
184
+ }
185
+
186
+ std::unique_ptr<SkShaper::ScriptRunIterator> makeScriptRunIterator(const char* utf8,
187
+ size_t utf8Bytes) const {
188
+ SkASSERT(fTextShapingFactory);
189
+ constexpr SkFourByteTag unknownScript = SkSetFourByteTag('Z', 'z', 'z', 'z');
190
+ return fTextShapingFactory->makeScriptRunIterator(utf8, utf8Bytes, unknownScript);
191
+ }
192
+
158
193
  private:
159
194
  // Stack-only
160
195
  void* operator new(size_t) = delete;
@@ -169,6 +204,7 @@ private:
169
204
  SkTLazy<SkPaint> commonPaint(const SkSVGPaint&, float opacity) const;
170
205
 
171
206
  const sk_sp<SkFontMgr>& fFontMgr;
207
+ const sk_sp<SkShapers::Factory>& fTextShapingFactory;
172
208
  const sk_sp<skresources::ResourceProvider>& fResourceProvider;
173
209
  const SkSVGIDMapper& fIDMapper;
174
210
  SkTCopyOnFirstWrite<SkSVGLengthContext> fLengthContext;
@@ -8,11 +8,18 @@
8
8
  #ifndef SkSVGSVG_DEFINED
9
9
  #define SkSVGSVG_DEFINED
10
10
 
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/core/SkSize.h"
13
+ #include "include/private/base/SkAPI.h"
11
14
  #include "modules/svg/include/SkSVGContainer.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
12
16
  #include "modules/svg/include/SkSVGTypes.h"
17
+ #include "modules/svg/include/SkSVGValue.h"
13
18
  #include "src/base/SkTLazy.h"
14
19
 
15
20
  class SkSVGLengthContext;
21
+ class SkSVGRenderContext;
22
+ enum class SkSVGAttribute;
16
23
 
17
24
  class SK_API SkSVGSVG : public SkSVGContainer {
18
25
  public:
@@ -8,11 +8,17 @@
8
8
  #ifndef SkSVGShape_DEFINED
9
9
  #define SkSVGShape_DEFINED
10
10
 
11
- #include "include/core/SkPath.h"
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/base/SkAPI.h"
12
13
  #include "modules/svg/include/SkSVGTransformableNode.h"
13
14
 
14
- class SkSVGLengthContext;
15
+ class SkCanvas;
15
16
  class SkPaint;
17
+ class SkSVGLengthContext;
18
+ class SkSVGNode;
19
+ class SkSVGRenderContext;
20
+ enum class SkPathFillType;
21
+ enum class SkSVGTag;
16
22
 
17
23
  class SK_API SkSVGShape : public SkSVGTransformableNode {
18
24
  public:
@@ -8,18 +8,20 @@
8
8
  #ifndef SkSVGStop_DEFINED
9
9
  #define SkSVGStop_DEFINED
10
10
 
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/base/SkAPI.h"
11
13
  #include "modules/svg/include/SkSVGHiddenContainer.h"
14
+ #include "modules/svg/include/SkSVGNode.h"
12
15
  #include "modules/svg/include/SkSVGTypes.h"
13
16
 
14
- class SkSVGLengthContext;
15
-
16
17
  class SK_API SkSVGStop : public SkSVGHiddenContainer {
17
18
  public:
19
+ static constexpr SkSVGTag tag = SkSVGTag::kStop;
20
+
18
21
  static sk_sp<SkSVGStop> Make() {
19
22
  return sk_sp<SkSVGStop>(new SkSVGStop());
20
23
  }
21
24
 
22
-
23
25
  SVG_ATTR(Offset, SkSVGLength, SkSVGLength(0, SkSVGLength::Unit::kPercentage))
24
26
 
25
27
  protected:
@@ -8,11 +8,17 @@
8
8
  #ifndef SkSVGText_DEFINED
9
9
  #define SkSVGText_DEFINED
10
10
 
11
- #include <vector>
12
-
11
+ #include "include/core/SkPath.h"
12
+ #include "include/core/SkRect.h"
13
+ #include "include/core/SkRefCnt.h"
14
+ #include "include/private/base/SkAPI.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
13
16
  #include "modules/svg/include/SkSVGTransformableNode.h"
14
17
  #include "modules/svg/include/SkSVGTypes.h"
15
18
 
19
+ #include <vector>
20
+
21
+ class SkSVGRenderContext;
16
22
  class SK_API SkSVGTextContext;
17
23
 
18
24
  // Base class for text-rendering nodes.
@@ -9,7 +9,15 @@
9
9
  #define SkSVGTransformableNode_DEFINED
10
10
 
11
11
  #include "include/core/SkMatrix.h"
12
+ #include "include/core/SkPath.h"
13
+ #include "include/private/base/SkAPI.h"
12
14
  #include "modules/svg/include/SkSVGNode.h"
15
+ #include "modules/svg/include/SkSVGTypes.h"
16
+ #include "modules/svg/include/SkSVGValue.h"
17
+
18
+ class SkSVGRenderContext;
19
+ enum class SkSVGAttribute;
20
+ struct SkRect;
13
21
 
14
22
  class SK_API SkSVGTransformableNode : public SkSVGNode {
15
23
  public:
@@ -728,4 +728,13 @@ enum class SkSVGDisplay {
728
728
  kNone,
729
729
  };
730
730
 
731
+ // https://www.w3.org/TR/SVG11/filters.html#TransferFunctionElementAttributes
732
+ enum class SkSVGFeFuncType {
733
+ kIdentity,
734
+ kTable,
735
+ kDiscrete,
736
+ kLinear,
737
+ kGamma,
738
+ };
739
+
731
740
  #endif // SkSVGTypes_DEFINED
@@ -8,9 +8,16 @@
8
8
  #ifndef SkSVGUse_DEFINED
9
9
  #define SkSVGUse_DEFINED
10
10
 
11
+ #include "include/core/SkPath.h"
12
+ #include "include/core/SkRect.h"
13
+ #include "include/core/SkRefCnt.h"
14
+ #include "include/private/base/SkAPI.h"
15
+ #include "modules/svg/include/SkSVGNode.h"
11
16
  #include "modules/svg/include/SkSVGTransformableNode.h"
12
17
  #include "modules/svg/include/SkSVGTypes.h"
13
18
 
19
+ class SkSVGRenderContext;
20
+
14
21
  /**
15
22
  * Implements support for <use> (reference) elements.
16
23
  * (https://www.w3.org/TR/SVG11/struct.html#UseElement)