@shopify/react-native-skia 2.11.0-next.1 → 2.12.0-next.1

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 (336) hide show
  1. package/cpp/api/JsiSkConverters.h +2 -2
  2. package/cpp/api/JsiSkNativeObjects.h +9 -9
  3. package/cpp/api/JsiSkRuntimeEffect.h +2 -2
  4. package/cpp/api/recorder/Convertor.h +57 -9
  5. package/cpp/api/third_party/SkottieUtils.cpp +1 -1
  6. package/cpp/dawn/include/dawn/dawn_proc_table.h +4 -4
  7. package/cpp/dawn/include/dawn/dawn_version.h +1 -1
  8. package/cpp/dawn/include/dawn/native/D3D12Backend.h +18 -1
  9. package/cpp/dawn/include/dawn/native/DawnNative.h +1 -2
  10. package/cpp/dawn/include/dawn/platform/DawnPlatform.h +8 -11
  11. package/cpp/dawn/include/dawn/webgpu_cpp_print.h +91 -79
  12. package/cpp/dawn/include/tint/tint.h +1 -0
  13. package/cpp/dawn/include/webgpu/webgpu.h +86 -44
  14. package/cpp/dawn/include/webgpu/webgpu_cpp.h +556 -283
  15. package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +1 -1
  16. package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +2 -1
  17. package/cpp/jsi/EnumMapper.h +2 -2
  18. package/cpp/jsi/JSIConverter.h +2 -2
  19. package/cpp/jsi/NativeObject.h +13 -13
  20. package/cpp/jsi/Promise.cpp +2 -2
  21. package/cpp/jsi/Promise.h +2 -2
  22. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +0 -2
  23. package/cpp/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +1 -1
  24. package/cpp/skia/include/codec/SkAndroidCodec.h +1 -1
  25. package/cpp/skia/include/codec/SkAvifDecoder.h +1 -1
  26. package/cpp/skia/include/codec/SkBmpDecoder.h +1 -1
  27. package/cpp/skia/include/codec/SkBmpRustDecoder.h +42 -0
  28. package/cpp/skia/include/codec/SkCodec.h +3 -2
  29. package/cpp/skia/include/codec/SkGifDecoder.h +1 -1
  30. package/cpp/skia/include/codec/SkIcoDecoder.h +1 -1
  31. package/cpp/skia/include/codec/SkJpegDecoder.h +1 -1
  32. package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -1
  33. package/cpp/skia/include/codec/SkPixmapUtils.h +1 -1
  34. package/cpp/skia/include/codec/SkPngDecoder.h +1 -1
  35. package/cpp/skia/include/codec/SkPngRustDecoder.h +1 -1
  36. package/cpp/skia/include/codec/SkRawDecoder.h +1 -1
  37. package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -1
  38. package/cpp/skia/include/codec/SkWebpDecoder.h +1 -1
  39. package/cpp/skia/include/core/SkBitmap.h +3 -3
  40. package/cpp/skia/include/core/SkCPUContext.h +1 -1
  41. package/cpp/skia/include/core/SkCPURecorder.h +2 -3
  42. package/cpp/skia/include/core/SkCanvas.h +23 -15
  43. package/cpp/skia/include/core/SkColor.h +2 -2
  44. package/cpp/skia/include/core/SkColorFilter.h +1 -1
  45. package/cpp/skia/include/core/SkColorSpace.h +2 -2
  46. package/cpp/skia/include/core/SkColorTable.h +1 -1
  47. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  48. package/cpp/skia/include/core/SkData.h +1 -1
  49. package/cpp/skia/include/core/SkDataTable.h +2 -2
  50. package/cpp/skia/include/core/SkDocument.h +1 -1
  51. package/cpp/skia/include/core/SkDrawable.h +1 -1
  52. package/cpp/skia/include/core/SkFont.h +2 -2
  53. package/cpp/skia/include/core/SkFontMetrics.h +1 -1
  54. package/cpp/skia/include/core/SkFontMgr.h +1 -1
  55. package/cpp/skia/include/core/SkFontScanner.h +3 -3
  56. package/cpp/skia/include/core/SkFontStyle.h +1 -1
  57. package/cpp/skia/include/core/SkGraphics.h +1 -1
  58. package/cpp/skia/include/core/SkImage.h +1 -1
  59. package/cpp/skia/include/core/SkImageFilter.h +1 -1
  60. package/cpp/skia/include/core/SkImageGenerator.h +1 -1
  61. package/cpp/skia/include/core/SkImageInfo.h +4 -4
  62. package/cpp/skia/include/core/SkMatrix.h +3 -3
  63. package/cpp/skia/include/core/SkMesh.h +2 -2
  64. package/cpp/skia/include/core/SkMilestone.h +1 -1
  65. package/cpp/skia/include/core/SkOverdrawCanvas.h +1 -1
  66. package/cpp/skia/include/core/SkPaint.h +4 -4
  67. package/cpp/skia/include/core/SkPath.h +5 -23
  68. package/cpp/skia/include/core/SkPathBuilder.h +4 -2
  69. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  70. package/cpp/skia/include/core/SkPictureRecorder.h +1 -1
  71. package/cpp/skia/include/core/SkPixelRef.h +3 -5
  72. package/cpp/skia/include/core/SkPixmap.h +7 -2
  73. package/cpp/skia/include/core/SkPoint.h +555 -5
  74. package/cpp/skia/include/core/SkPoint3.h +2 -2
  75. package/cpp/skia/include/core/SkRRect.h +9 -1
  76. package/cpp/skia/include/core/SkRSXform.h +1 -1
  77. package/cpp/skia/include/core/SkRecorder.h +2 -3
  78. package/cpp/skia/include/core/SkRect.h +3 -3
  79. package/cpp/skia/include/core/SkRefCnt.h +1 -1
  80. package/cpp/skia/include/core/SkRegion.h +4 -4
  81. package/cpp/skia/include/core/SkScalar.h +2 -3
  82. package/cpp/skia/include/core/SkSerialProcs.h +1 -1
  83. package/cpp/skia/include/core/SkShader.h +1 -1
  84. package/cpp/skia/include/core/SkSize.h +1 -1
  85. package/cpp/skia/include/core/SkSpan.h +165 -4
  86. package/cpp/skia/include/core/SkStream.h +2 -2
  87. package/cpp/skia/include/core/SkStrikeRef.h +16 -0
  88. package/cpp/skia/include/core/SkString.h +2 -2
  89. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  90. package/cpp/skia/include/core/SkSurfaceProps.h +1 -1
  91. package/cpp/skia/include/core/SkSwizzle.h +1 -1
  92. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  93. package/cpp/skia/include/core/SkTiledImageUtils.h +1 -1
  94. package/cpp/skia/include/core/SkTypeface.h +8 -2
  95. package/cpp/skia/include/core/SkTypes.h +6 -6
  96. package/cpp/skia/include/core/SkUnPreMultiply.h +1 -1
  97. package/cpp/skia/include/core/SkVertices.h +1 -1
  98. package/cpp/skia/include/core/SkYUVAPixmaps.h +1 -1
  99. package/cpp/skia/include/docs/SkPDFDocument.h +9 -3
  100. package/cpp/skia/include/effects/SkGradient.h +1 -1
  101. package/cpp/skia/include/effects/SkPerlinNoiseShader.h +1 -1
  102. package/cpp/skia/include/effects/SkRuntimeEffect.h +4 -4
  103. package/cpp/skia/include/encode/SkEncoder.h +3 -3
  104. package/cpp/skia/include/encode/SkICC.h +1 -1
  105. package/cpp/skia/include/encode/SkJpegEncoder.h +1 -1
  106. package/cpp/skia/include/encode/SkPngEncoder.h +1 -1
  107. package/cpp/skia/include/encode/SkPngRustEncoder.h +16 -1
  108. package/cpp/skia/include/encode/SkWebpEncoder.h +1 -1
  109. package/cpp/skia/include/gpu/GpuTypes.h +1 -1
  110. package/cpp/skia/include/gpu/MutableTextureState.h +1 -1
  111. package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +2 -2
  112. package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +3 -3
  113. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +39 -37
  114. package/cpp/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +1 -1
  115. package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +3 -2
  116. package/cpp/skia/include/gpu/ganesh/GrTypes.h +1 -1
  117. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +1 -1
  118. package/cpp/skia/include/gpu/ganesh/SkMeshGanesh.h +1 -1
  119. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
  120. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +1 -1
  121. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +1 -1
  122. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +1 -1
  123. package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +1 -1
  124. package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +1 -1
  125. package/cpp/skia/include/gpu/ganesh/gl/GrGLConfig.h +1 -1
  126. package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +1 -1
  127. package/cpp/skia/include/gpu/ganesh/gl/GrGLExtensions.h +2 -2
  128. package/cpp/skia/include/gpu/ganesh/gl/GrGLFunctions.h +1 -1
  129. package/cpp/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +1 -1
  130. package/cpp/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +1 -1
  131. package/cpp/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h +1 -1
  132. package/cpp/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +1 -1
  133. package/cpp/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +1 -1
  134. package/cpp/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +1 -1
  135. package/cpp/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +1 -1
  136. package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +1 -1
  137. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +1 -1
  138. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +1 -1
  139. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +1 -1
  140. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +1 -1
  141. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +1 -1
  142. package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +1 -1
  143. package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +2 -2
  144. package/cpp/skia/include/gpu/graphite/BackendTexture.h +2 -2
  145. package/cpp/skia/include/gpu/graphite/Context.h +3 -3
  146. package/cpp/skia/include/gpu/graphite/ContextOptions.h +8 -2
  147. package/cpp/skia/include/gpu/graphite/PersistentPipelineStorage.h +1 -1
  148. package/cpp/skia/include/gpu/graphite/PrecompileContext.h +16 -2
  149. package/cpp/skia/include/gpu/graphite/Recorder.h +8 -7
  150. package/cpp/skia/include/gpu/graphite/Recording.h +6 -4
  151. package/cpp/skia/include/gpu/graphite/TextureInfo.h +2 -2
  152. package/cpp/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +1 -1
  153. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  154. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -1
  155. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h +1 -1
  156. package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +2 -2
  157. package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +1 -1
  158. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +1 -1
  159. package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +1 -1
  160. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  161. package/cpp/skia/include/gpu/vk/VulkanMutableTextureState.h +1 -1
  162. package/cpp/skia/include/gpu/vk/VulkanPreferredFeatures.h +1 -1
  163. package/cpp/skia/include/gpu/vk/VulkanTypes.h +1 -1
  164. package/cpp/skia/include/pathops/SkPathOps.h +2 -2
  165. package/cpp/skia/include/ports/SkImageGeneratorCG.h +2 -2
  166. package/cpp/skia/include/ports/SkImageGeneratorWIC.h +2 -2
  167. package/cpp/skia/include/private/{base/SingleOwner.h → SingleOwner.h} +5 -5
  168. package/cpp/skia/include/private/{base/SkAPI.h → SkAPI.h} +1 -1
  169. package/cpp/skia/include/private/{base/SkAlign.h → SkAlign.h} +1 -1
  170. package/cpp/skia/include/private/{base/SkAnySubclass.h → SkAnySubclass.h} +1 -1
  171. package/cpp/skia/include/private/{base/SkAssert.h → SkAssert.h} +4 -4
  172. package/cpp/skia/include/private/{base/SkAttributes.h → SkAttributes.h} +2 -2
  173. package/cpp/skia/include/private/{base/SkContainers.h → SkContainers.h} +3 -3
  174. package/cpp/skia/include/private/{base/SkDebug.h → SkDebug.h} +3 -3
  175. package/cpp/skia/include/private/{base/SkDeque.h → SkDeque.h} +1 -1
  176. package/cpp/skia/include/private/SkEncodedInfo.h +2 -2
  177. package/cpp/skia/include/private/SkEnumBitMask.h +92 -0
  178. package/cpp/skia/include/private/SkExif.h +1 -1
  179. package/cpp/skia/include/private/{base/SkFixed.h → SkFixed.h} +4 -4
  180. package/cpp/skia/include/private/{base/SkFloatingPoint.h → SkFloatingPoint.h} +2 -2
  181. package/cpp/skia/include/private/SkGainmapShader.h +1 -1
  182. package/cpp/skia/include/private/SkHdrMetadata.h +1 -1
  183. package/cpp/skia/include/private/SkIDChangeListener.h +3 -3
  184. package/cpp/skia/include/private/{base/SkLoadUserConfig.h → SkLoadUserConfig.h} +2 -2
  185. package/cpp/skia/include/private/{base/SkLog.h → SkLog.h} +4 -4
  186. package/cpp/skia/include/private/{base/SkMacros.h → SkMacros.h} +1 -1
  187. package/cpp/skia/include/private/{base/SkMalloc.h → SkMalloc.h} +1 -1
  188. package/cpp/skia/include/private/{base/SkMath.h → SkMath.h} +2 -2
  189. package/cpp/skia/include/private/{base/SkMutex.h → SkMutex.h} +5 -5
  190. package/cpp/skia/include/private/{base/SkNoncopyable.h → SkNoncopyable.h} +1 -1
  191. package/cpp/skia/include/private/{base/SkOnce.h → SkOnce.h} +1 -1
  192. package/cpp/skia/include/private/SkPathRef.h +4 -4
  193. package/cpp/skia/include/private/SkPixelStorage.h +20 -5
  194. package/cpp/skia/include/private/{base/SkSafe32.h → SkSafe32.h} +2 -2
  195. package/cpp/skia/include/private/{base/SkSemaphore.h → SkSemaphore.h} +3 -3
  196. package/cpp/skia/include/private/{base/SkTArray.h → SkTArray.h} +10 -11
  197. package/cpp/skia/include/private/{base/SkTDArray.h → SkTDArray.h} +4 -4
  198. package/cpp/skia/include/private/{base/SkTFitsIn.h → SkTFitsIn.h} +0 -2
  199. package/cpp/skia/include/private/{base/SkTLogic.h → SkTLogic.h} +1 -1
  200. package/cpp/skia/include/private/{base/SkTemplates.h → SkTemplates.h} +5 -6
  201. package/cpp/skia/include/private/{base/SkThreadAnnotations.h → SkThreadAnnotations.h} +1 -1
  202. package/cpp/skia/include/private/{base/SkThreadID.h → SkThreadID.h} +2 -2
  203. package/cpp/skia/include/private/{base/SkTo.h → SkTo.h} +2 -2
  204. package/cpp/skia/include/private/{base/SkTypeTraits.h → SkTypeTraits.h} +20 -0
  205. package/cpp/skia/include/private/SkXmp.h +1 -1
  206. package/cpp/skia/include/private/chromium/GrDeferredDisplayList.h +1 -1
  207. package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +1 -1
  208. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -1
  209. package/cpp/skia/include/private/chromium/SkCodecsICCProfileChromium.h +1 -1
  210. package/cpp/skia/include/private/chromium/SkExifChromium.h +1 -1
  211. package/cpp/skia/include/private/chromium/SkImageChromium.h +1 -1
  212. package/cpp/skia/include/private/chromium/SkPMColor.h +1 -1
  213. package/cpp/skia/include/private/chromium/Slug.h +1 -1
  214. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
  215. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +2 -2
  216. package/cpp/skia/include/private/gpu/ganesh/GrTextureGenerator.h +1 -1
  217. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +4 -4
  218. package/cpp/skia/include/utils/SkCamera.h +1 -1
  219. package/cpp/skia/include/utils/SkNWayCanvas.h +1 -1
  220. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +1 -1
  221. package/cpp/skia/modules/jsonreader/SkJSONReader.cpp +6 -6
  222. package/cpp/skia/modules/jsonreader/SkJSONReader.h +2 -2
  223. package/cpp/skia/modules/skottie/include/SkottieProperty.h +1 -1
  224. package/cpp/skia/modules/skottie/include/SlotManager.h +2 -2
  225. package/cpp/skia/modules/skottie/include/TextShaper.h +1 -1
  226. package/cpp/skia/modules/skottie/src/text/Font.h +1 -1
  227. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -1
  228. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -1
  229. package/cpp/skia/modules/skresources/include/SkResources.h +1 -1
  230. package/cpp/skia/modules/sksg/include/SkSGNode.h +1 -1
  231. package/cpp/skia/modules/sksg/include/SkSGRect.h +1 -1
  232. package/cpp/skia/modules/sksg/include/SkSGRenderEffect.h +1 -1
  233. package/cpp/skia/modules/skunicode/include/SkUnicode.h +3 -3
  234. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +1 -1
  235. package/cpp/skia/modules/svg/include/SkSVGCircle.h +1 -1
  236. package/cpp/skia/modules/svg/include/SkSVGClipPath.h +1 -1
  237. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  238. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  239. package/cpp/skia/modules/svg/include/SkSVGEllipse.h +1 -1
  240. package/cpp/skia/modules/svg/include/SkSVGFe.h +1 -1
  241. package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +1 -1
  242. package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +1 -1
  243. package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +1 -1
  244. package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +1 -1
  245. package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +1 -1
  246. package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +1 -1
  247. package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +1 -1
  248. package/cpp/skia/modules/svg/include/SkSVGFeImage.h +1 -1
  249. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +2 -2
  250. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +1 -1
  251. package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +1 -1
  252. package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +1 -1
  253. package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +1 -1
  254. package/cpp/skia/modules/svg/include/SkSVGFilter.h +1 -1
  255. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  256. package/cpp/skia/modules/svg/include/SkSVGImage.h +2 -2
  257. package/cpp/skia/modules/svg/include/SkSVGLine.h +1 -1
  258. package/cpp/skia/modules/svg/include/SkSVGLinearGradient.h +1 -1
  259. package/cpp/skia/modules/svg/include/SkSVGMask.h +1 -1
  260. package/cpp/skia/modules/svg/include/SkSVGNode.h +1 -1
  261. package/cpp/skia/modules/svg/include/SkSVGPath.h +1 -1
  262. package/cpp/skia/modules/svg/include/SkSVGPattern.h +1 -1
  263. package/cpp/skia/modules/svg/include/SkSVGPoly.h +1 -1
  264. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +1 -1
  265. package/cpp/skia/modules/svg/include/SkSVGRect.h +1 -1
  266. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +1 -1
  267. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  268. package/cpp/skia/modules/svg/include/SkSVGShape.h +1 -1
  269. package/cpp/skia/modules/svg/include/SkSVGStop.h +1 -1
  270. package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
  271. package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +1 -1
  272. package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
  273. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  274. package/cpp/skia/src/{base → core}/SkArenaAlloc.h +5 -5
  275. package/cpp/skia/src/{base → core}/SkAutoLocaleSetter.h +1 -1
  276. package/cpp/skia/src/core/SkChecksum.h +1 -1
  277. package/cpp/skia/src/core/SkLRUCache.h +1 -1
  278. package/cpp/skia/src/{base → core}/SkMathPriv.h +3 -3
  279. package/cpp/skia/src/core/SkTHash.h +1 -1
  280. package/cpp/skia/src/{base → core}/SkTInternalLList.h +3 -3
  281. package/cpp/skia/src/{base → core}/SkTLazy.h +1 -1
  282. package/cpp/skia/src/{base → core}/SkUTF.h +1 -1
  283. package/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +1 -1
  284. package/cpp/skia/src/gpu/graphite/ResourceTypes.h +3 -3
  285. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +27 -1
  286. package/lib/commonjs/renderer/processors/Animations/Animations.js +28 -0
  287. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  288. package/lib/commonjs/sksg/Recorder/Core.js +8 -1
  289. package/lib/commonjs/sksg/Recorder/Core.js.map +1 -1
  290. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js +8 -0
  291. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  292. package/lib/commonjs/sksg/Recorder/Recorder.d.ts +1 -1
  293. package/lib/commonjs/sksg/Recorder/Recorder.js +4 -0
  294. package/lib/commonjs/sksg/Recorder/Recorder.js.map +1 -1
  295. package/lib/commonjs/sksg/utils.d.ts +4 -0
  296. package/lib/commonjs/sksg/utils.js +14 -1
  297. package/lib/commonjs/sksg/utils.js.map +1 -1
  298. package/lib/module/renderer/processors/Animations/Animations.d.ts +27 -1
  299. package/lib/module/renderer/processors/Animations/Animations.js +21 -0
  300. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  301. package/lib/module/sksg/Recorder/Core.js +8 -1
  302. package/lib/module/sksg/Recorder/Core.js.map +1 -1
  303. package/lib/module/sksg/Recorder/ReanimatedRecorder.js +9 -1
  304. package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  305. package/lib/module/sksg/Recorder/Recorder.d.ts +1 -1
  306. package/lib/module/sksg/Recorder/Recorder.js +5 -1
  307. package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
  308. package/lib/module/sksg/utils.d.ts +4 -0
  309. package/lib/module/sksg/utils.js +12 -0
  310. package/lib/module/sksg/utils.js.map +1 -1
  311. package/lib/typescript/lib/commonjs/renderer/processors/Animations/Animations.d.ts +22 -0
  312. package/lib/typescript/lib/commonjs/sksg/utils.d.ts +1 -0
  313. package/lib/typescript/lib/module/mock/index.d.ts +4 -0
  314. package/lib/typescript/lib/module/renderer/processors/Animations/Animations.d.ts +4 -0
  315. package/lib/typescript/lib/module/renderer/processors/Animations/index.d.ts +1 -1
  316. package/lib/typescript/lib/module/sksg/utils.d.ts +1 -0
  317. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +27 -1
  318. package/lib/typescript/src/sksg/Recorder/Recorder.d.ts +1 -1
  319. package/lib/typescript/src/sksg/utils.d.ts +4 -0
  320. package/libs/.graphite +1 -1
  321. package/package.json +7 -7
  322. package/src/renderer/processors/Animations/Animations.ts +34 -1
  323. package/src/sksg/Recorder/Core.ts +11 -1
  324. package/src/sksg/Recorder/ReanimatedRecorder.ts +10 -1
  325. package/src/sksg/Recorder/Recorder.ts +7 -3
  326. package/src/sksg/utils.ts +18 -0
  327. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +0 -10
  328. package/cpp/skia/include/private/base/README.md +0 -4
  329. package/cpp/skia/include/private/base/SkPoint_impl.h +0 -560
  330. package/cpp/skia/include/private/base/SkSpan_impl.h +0 -158
  331. /package/cpp/skia/include/private/{base/SkASAN.h → SkASAN.h} +0 -0
  332. /package/cpp/skia/include/private/{base/SkAlignedStorage.h → SkAlignedStorage.h} +0 -0
  333. /package/cpp/skia/include/private/{base/SkCPUTypes.h → SkCPUTypes.h} +0 -0
  334. /package/cpp/skia/include/private/{base/SkFeatures.h → SkFeatures.h} +0 -0
  335. /package/cpp/skia/include/private/{base/SkLogPriority.h → SkLogPriority.h} +0 -0
  336. /package/cpp/skia/include/private/{base/SkTPin.h → SkTPin.h} +0 -0
@@ -26,7 +26,7 @@
26
26
  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
27
 
28
28
  #ifdef __EMSCRIPTEN__
29
- #error "Do not include this header. Emscripten already provides headers needed for WebGPU."
29
+ #error "Do not include this header. Use the headers provided by Emdawnwebgpu instead."
30
30
  #endif
31
31
 
32
32
  #ifndef WEBGPU_CPP_CHAINED_STRUCT_H_
@@ -65,9 +65,10 @@ template <typename T>
65
65
  struct BoolConvertible {
66
66
  using Integral = typename std::underlying_type<T>::type;
67
67
 
68
- // NOLINTNEXTLINE(runtime/explicit)
69
68
  explicit constexpr BoolConvertible(Integral value) : value(value) {}
69
+ // NOLINTNEXTLINE(google-explicit-constructor)
70
70
  constexpr operator bool() const { return value != 0; }
71
+ // NOLINTNEXTLINE(google-explicit-constructor)
71
72
  constexpr operator T() const { return static_cast<T>(value); }
72
73
 
73
74
  Integral value;
@@ -3,7 +3,7 @@
3
3
  #include <stdexcept>
4
4
  #include <string>
5
5
 
6
- namespace rnwgpu {
6
+ namespace RNJsi {
7
7
 
8
8
  namespace EnumMapper {
9
9
  // Add these two methods in namespace "EnumMapper" to allow parsing a custom
@@ -60,4 +60,4 @@ static void convertEnumToJSUnion(TEnum, std::string *) {
60
60
  }
61
61
  } // namespace EnumMapper
62
62
 
63
- } // namespace rnwgpu
63
+ } // namespace RNJsi
@@ -25,7 +25,7 @@
25
25
  #include <cxxabi.h>
26
26
  #endif
27
27
 
28
- namespace rnwgpu {
28
+ namespace RNJsi {
29
29
 
30
30
  namespace jsi = facebook::jsi;
31
31
 
@@ -495,4 +495,4 @@ template <> struct JSIConverter<std::unordered_set<std::string>> {
495
495
  }
496
496
  };
497
497
 
498
- } // namespace rnwgpu
498
+ } // namespace RNJsi
@@ -18,14 +18,14 @@
18
18
  #include "jsi/RuntimeAwareCache.h" // Use Skia's RuntimeAwareCache
19
19
 
20
20
  // Forward declare to avoid circular dependency
21
- namespace rnwgpu {
21
+ namespace RNJsi {
22
22
  template <typename ArgType, typename SFINAE> struct JSIConverter;
23
- } // namespace rnwgpu
23
+ } // namespace RNJsi
24
24
 
25
25
  // Include the converter - must come after forward declaration
26
26
  #include "JSIConverter.h"
27
27
 
28
- namespace rnwgpu {
28
+ namespace RNJsi {
29
29
 
30
30
  namespace jsi = facebook::jsi;
31
31
 
@@ -452,7 +452,7 @@ protected:
452
452
  return jsi::Value::undefined();
453
453
  } else {
454
454
  ReturnType result = (native.get()->*getter)();
455
- return rnwgpu::JSIConverter<std::decay_t<ReturnType>>::toJSI(
455
+ return RNJsi::JSIConverter<std::decay_t<ReturnType>>::toJSI(
456
456
  rt, std::move(result));
457
457
  }
458
458
  });
@@ -487,7 +487,7 @@ protected:
487
487
  throw jsi::JSError(rt, "Setter requires a value argument");
488
488
  }
489
489
  auto native = NativeObject<Derived>::fromValue(rt, thisVal);
490
- auto value = rnwgpu::JSIConverter<std::decay_t<ValueType>>::fromJSI(
490
+ auto value = RNJsi::JSIConverter<std::decay_t<ValueType>>::fromJSI(
491
491
  rt, args[0], false);
492
492
  (native.get()->*setter)(std::move(value));
493
493
  return jsi::Value::undefined();
@@ -535,7 +535,7 @@ protected:
535
535
  const jsi::Value *args, size_t count) -> jsi::Value {
536
536
  auto native = NativeObject<Derived>::fromValue(rt, thisVal);
537
537
  ReturnType result = (native.get()->*getter)();
538
- return rnwgpu::JSIConverter<std::decay_t<ReturnType>>::toJSI(
538
+ return RNJsi::JSIConverter<std::decay_t<ReturnType>>::toJSI(
539
539
  rt, std::move(result));
540
540
  });
541
541
 
@@ -548,7 +548,7 @@ protected:
548
548
  throw jsi::JSError(rt, "Setter requires a value argument");
549
549
  }
550
550
  auto native = NativeObject<Derived>::fromValue(rt, thisVal);
551
- auto value = rnwgpu::JSIConverter<std::decay_t<ValueType>>::fromJSI(
551
+ auto value = RNJsi::JSIConverter<std::decay_t<ValueType>>::fromJSI(
552
552
  rt, args[0], false);
553
553
  (native.get()->*setter)(std::move(value));
554
554
  return jsi::Value::undefined();
@@ -579,9 +579,9 @@ private:
579
579
  jsi::Runtime &runtime, const jsi::Value *args,
580
580
  std::index_sequence<Is...>, size_t count) {
581
581
  ReturnType result = (obj->*method)(
582
- runtime, rnwgpu::JSIConverter<std::decay_t<Args>>::fromJSI(
582
+ runtime, RNJsi::JSIConverter<std::decay_t<Args>>::fromJSI(
583
583
  runtime, args[Is], Is >= count)...);
584
- return rnwgpu::JSIConverter<std::decay_t<ReturnType>>::toJSI(
584
+ return RNJsi::JSIConverter<std::decay_t<ReturnType>>::toJSI(
585
585
  runtime, std::move(result));
586
586
  }
587
587
 
@@ -592,7 +592,7 @@ private:
592
592
  jsi::Runtime &runtime, const jsi::Value *args,
593
593
  std::index_sequence<Is...>, size_t count) {
594
594
  if constexpr (std::is_same_v<ReturnType, void>) {
595
- (obj->*method)(rnwgpu::JSIConverter<std::decay_t<Args>>::fromJSI(
595
+ (obj->*method)(RNJsi::JSIConverter<std::decay_t<Args>>::fromJSI(
596
596
  runtime, args[Is], Is >= count)...);
597
597
  return jsi::Value::undefined();
598
598
  } else if constexpr (std::is_same_v<ReturnType, jsi::Value>) {
@@ -601,9 +601,9 @@ private:
601
601
  return (obj->*method)(runtime, jsi::Value::undefined(), args, count);
602
602
  } else {
603
603
  ReturnType result =
604
- (obj->*method)(rnwgpu::JSIConverter<std::decay_t<Args>>::fromJSI(
604
+ (obj->*method)(RNJsi::JSIConverter<std::decay_t<Args>>::fromJSI(
605
605
  runtime, args[Is], Is >= count)...);
606
- return rnwgpu::JSIConverter<std::decay_t<ReturnType>>::toJSI(
606
+ return RNJsi::JSIConverter<std::decay_t<ReturnType>>::toJSI(
607
607
  runtime, std::move(result));
608
608
  }
609
609
  }
@@ -616,4 +616,4 @@ template <typename T>
616
616
  struct is_native_object<std::shared_ptr<T>>
617
617
  : std::bool_constant<std::is_base_of_v<NativeObject<T>, T>> {};
618
618
 
619
- } // namespace rnwgpu
619
+ } // namespace RNJsi
@@ -6,7 +6,7 @@
6
6
  #include <utility>
7
7
  #include <vector>
8
8
 
9
- namespace rnwgpu {
9
+ namespace RNJsi {
10
10
 
11
11
  namespace jsi = facebook::jsi;
12
12
 
@@ -45,4 +45,4 @@ void Promise::reject(std::string message) {
45
45
  _rejecter.call(runtime, error.value());
46
46
  }
47
47
 
48
- } // namespace rnwgpu
48
+ } // namespace RNJsi
package/cpp/jsi/Promise.h CHANGED
@@ -6,7 +6,7 @@
6
6
  #include <utility>
7
7
  #include <vector>
8
8
 
9
- namespace rnwgpu {
9
+ namespace RNJsi {
10
10
 
11
11
  namespace jsi = facebook::jsi;
12
12
 
@@ -34,4 +34,4 @@ public:
34
34
  static jsi::Value createPromise(jsi::Runtime &runtime, RunPromise run);
35
35
  };
36
36
 
37
- } // namespace rnwgpu
37
+ } // namespace RNJsi
@@ -39,8 +39,6 @@ public:
39
39
 
40
40
  static void SafetyNetLog(const char*);
41
41
 
42
- static sk_sp<SkSurface> getSurfaceFromCanvas(SkCanvas* canvas);
43
-
44
42
  static int SaveBehind(SkCanvas* canvas, const SkRect* subset);
45
43
 
46
44
  // Operating within the canvas' clip stack, this resets the geometry of the clip to be wide
@@ -9,7 +9,7 @@
9
9
  #define AndroidVulkanMemoryAllocator_DEFINED
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  namespace skgpu {
15
15
  struct VulkanBackendContext;
@@ -15,7 +15,7 @@
15
15
  #include "include/core/SkSize.h"
16
16
  #include "include/core/SkTypes.h"
17
17
  #include "include/private/SkEncodedInfo.h"
18
- #include "include/private/base/SkNoncopyable.h"
18
+ #include "include/private/SkNoncopyable.h"
19
19
  #include "modules/skcms/skcms.h"
20
20
 
21
21
  // TODO(kjlubick, bungeman) Replace these includes with forward declares
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright 2025 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
+ #ifndef SkBmpRustDecoder_DEFINED
8
+ #define SkBmpRustDecoder_DEFINED
9
+
10
+ #include "include/codec/SkCodec.h"
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/SkAPI.h"
13
+
14
+ class SkData;
15
+ class SkStream;
16
+
17
+ #include <memory>
18
+
19
+ namespace SkBmpRustDecoder {
20
+
21
+ /** Returns true if this data claims to be a BMP image. */
22
+ SK_API bool IsBmp(const void*, size_t);
23
+
24
+ /**
25
+ * Attempts to decode the given bytes as a BMP using Rust implementation.
26
+ *
27
+ * If the bytes are not a BMP, returns nullptr.
28
+ */
29
+ SK_API std::unique_ptr<SkCodec> Decode(std::unique_ptr<SkStream>,
30
+ SkCodec::Result*,
31
+ SkCodecs::DecodeContext = nullptr);
32
+ SK_API std::unique_ptr<SkCodec> Decode(sk_sp<const SkData>,
33
+ SkCodec::Result*,
34
+ SkCodecs::DecodeContext = nullptr);
35
+
36
+ inline constexpr SkCodecs::Decoder Decoder() {
37
+ return { "rust_bmp", IsBmp, Decode };
38
+ }
39
+
40
+ } // namespace SkBmpRustDecoder
41
+
42
+ #endif // SkBmpRustDecoder_DEFINED
@@ -19,7 +19,7 @@
19
19
  #include "include/core/SkYUVAPixmaps.h"
20
20
  #include "include/private/SkEncodedInfo.h"
21
21
  #include "include/private/SkHdrMetadata.h"
22
- #include "include/private/base/SkNoncopyable.h"
22
+ #include "include/private/SkNoncopyable.h"
23
23
  #include "modules/skcms/skcms.h"
24
24
 
25
25
  #include <cstddef>
@@ -1129,7 +1129,8 @@ private:
1129
1129
  friend class PNGCodecGM; // for fillIncompleteImage
1130
1130
  friend class SkSampledCodec;
1131
1131
  friend class SkIcoCodec;
1132
- friend class SkPngCodec; // for onGetGainmapCodec
1132
+ friend class SkIcoRustCodec; // for getEncodedInfo and getSampler
1133
+ friend class SkPngCodecBase; // for onGetGainmapCodec
1133
1134
  friend class SkAndroidCodec; // for handleFrameIndex
1134
1135
  friend class SkCodecPriv; // for fEncodedInfo
1135
1136
  };
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/codec/SkEncodedOrigin.h"
12
12
  #include "include/core/SkImageInfo.h"
13
- #include "include/private/base/SkAPI.h"
13
+ #include "include/private/SkAPI.h"
14
14
 
15
15
  class SkPixmap;
16
16
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -10,7 +10,7 @@
10
10
  #include <memory>
11
11
 
12
12
  #include "include/codec/SkCodec.h"
13
- #include "include/private/base/SkAPI.h"
13
+ #include "include/private/SkAPI.h"
14
14
 
15
15
  class SkStream;
16
16
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "include/codec/SkCodec.h"
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
12
+ #include "include/private/SkAPI.h"
13
13
 
14
14
  class SkData;
15
15
  class SkStream;
@@ -18,8 +18,8 @@
18
18
  #include "include/core/SkSamplingOptions.h"
19
19
  #include "include/core/SkSize.h"
20
20
  #include "include/core/SkTypes.h"
21
- #include "include/private/base/SkCPUTypes.h"
22
- #include "include/private/base/SkDebug.h"
21
+ #include "include/private/SkCPUTypes.h"
22
+ #include "include/private/SkDebug.h"
23
23
 
24
24
  #include <cstddef>
25
25
  #include <cstdint>
@@ -205,7 +205,7 @@ public:
205
205
 
206
206
  @return true if dimensions do not enclose area
207
207
  */
208
- bool empty() const { return fPixmap.info().isEmpty(); }
208
+ bool empty() const { return fPixmap.isEmpty(); }
209
209
 
210
210
  /** Returns true if SkPixelRef is nullptr.
211
211
 
@@ -7,7 +7,7 @@
7
7
  #ifndef skcpu_Context_DEFINED
8
8
  #define skcpu_Context_DEFINED
9
9
 
10
- #include "include/private/base/SkAPI.h"
10
+ #include "include/private/SkAPI.h"
11
11
 
12
12
  #include <memory>
13
13
 
@@ -11,10 +11,9 @@
11
11
  #include <cstdint>
12
12
  #include "include/core/SkRecorder.h"
13
13
  #include "include/core/SkRefCnt.h"
14
- #include "include/private/base/SkAPI.h"
14
+ #include "include/private/SkAPI.h"
15
15
 
16
16
  class SkCanvas;
17
- class SkContentID;
18
17
  class SkSurface;
19
18
  class SkSurfaceProps;
20
19
  struct SkImageInfo;
@@ -59,7 +58,7 @@ public:
59
58
  private:
60
59
  // TODO (b/412351769): Implement this so we can capture from a CPU Recorder.
61
60
  SkCanvas* makeCaptureCanvas(SkCanvas*) final { return nullptr; }
62
- SkContentID createCaptureBreakpoint(SkSurface*) final;
61
+ void createCaptureBreakpoint(SkSurface*) final;
63
62
  };
64
63
 
65
64
  inline Recorder* AsRecorder(SkRecorder* recorder) {
@@ -31,9 +31,10 @@
31
31
  #include "include/core/SkSurfaceProps.h"
32
32
  #include "include/core/SkTileMode.h"
33
33
  #include "include/core/SkTypes.h"
34
- #include "include/private/base/SkCPUTypes.h"
35
- #include "include/private/base/SkDeque.h"
36
- #include "include/private/base/SkTArray.h"
34
+ #include "include/private/SkCPUTypes.h"
35
+ #include "include/private/SkDeque.h"
36
+ #include "include/private/SkEnumBitMask.h"
37
+ #include "include/private/SkTArray.h"
37
38
 
38
39
  #include <cstddef>
39
40
  #include <cstdint>
@@ -45,11 +46,6 @@
45
46
  #define SK_SUPPORT_LEGACY_GETTOTALMATRIX
46
47
  #endif
47
48
 
48
- namespace sktext {
49
- class GlyphRunBuilder;
50
- class GlyphRunList;
51
- }
52
-
53
49
  class AutoLayerForImageFilter;
54
50
  class GrRecordingContext;
55
51
 
@@ -81,6 +77,12 @@ struct SkDrawShadowRec;
81
77
  template<typename E>
82
78
  class SkEnumBitMask;
83
79
 
80
+ namespace sktext {
81
+ class GlyphRunBuilder;
82
+ class GlyphRun;
83
+ class GlyphRunList;
84
+ } // namespace sktext
85
+
84
86
  namespace skgpu::graphite { class Recorder; }
85
87
  namespace sktext::gpu { class Slug; }
86
88
  namespace SkRecords { class Draw; }
@@ -2415,11 +2417,7 @@ private:
2415
2417
  kCheckForOverwrite = 4, // Check if the draw would overwrite the entire surface
2416
2418
  kSkipMaskFilterAutoLayer = 8, // Do not apply mask filters in the AutoLayer
2417
2419
  };
2418
- // Inlined SK_DECL_BITMASK_OPS_FRIENDS to avoid including SkEnumBitMask.h
2419
- friend constexpr SkEnumBitMask<PredrawFlags> operator|(PredrawFlags, PredrawFlags);
2420
- friend constexpr SkEnumBitMask<PredrawFlags> operator&(PredrawFlags, PredrawFlags);
2421
- friend constexpr SkEnumBitMask<PredrawFlags> operator^(PredrawFlags, PredrawFlags);
2422
- friend constexpr SkEnumBitMask<PredrawFlags> operator~(PredrawFlags);
2420
+ SK_DECL_BITMASK_OPS_FRIENDS(PredrawFlags)
2423
2421
 
2424
2422
  // notify our surface (if we have one) that we are about to draw, so it
2425
2423
  // can perform copy-on-write or invalidate any cached images
@@ -2531,12 +2529,13 @@ private:
2531
2529
  std::unique_ptr<SkRasterHandleAllocator> fAllocator;
2532
2530
 
2533
2531
  SkSurface_Base* fSurfaceBase;
2534
- SkSurface_Base* getSurfaceBase() const { return fSurfaceBase; }
2532
+ virtual SkSurface_Base* getSurfaceBase() const { return fSurfaceBase; }
2535
2533
  void setSurfaceBase(SkSurface_Base* sb) {
2536
2534
  fSurfaceBase = sb;
2537
2535
  }
2538
2536
  friend class SkSurface_Base;
2539
2537
  friend class SkSurface_Ganesh;
2538
+ friend class SkCaptureCanvas;
2540
2539
 
2541
2540
  SkIRect fClipRestrictionRect = SkIRect::MakeEmpty();
2542
2541
  int fClipRestrictionSaveCount = -1;
@@ -2559,6 +2558,7 @@ private:
2559
2558
  friend class SkRecords::Draw;
2560
2559
  template <typename Key>
2561
2560
  friend class skiatest::TestCanvas;
2561
+ friend class AutoGlyphRunBuilder;
2562
2562
 
2563
2563
  protected:
2564
2564
  // For use by SkNoDrawCanvas (via SkCanvasVirtualEnforcer, which can't be a friend)
@@ -2704,7 +2704,15 @@ private:
2704
2704
  class AutoUpdateQRBounds;
2705
2705
  void validateClip() const;
2706
2706
 
2707
- std::unique_ptr<sktext::GlyphRunBuilder> fScratchGlyphRunBuilder;
2707
+ sktext::GlyphRunBuilder* obtainGlyphRunBuilder();
2708
+
2709
+ void releaseGlyphRunBuilder();
2710
+
2711
+ /**
2712
+ * fRunBuilders will be reused across text drawing commands
2713
+ */
2714
+ skia_private::STArray<1, std::unique_ptr<sktext::GlyphRunBuilder>> fRunBuilders;
2715
+ int fRunBuildersUsed = 0;
2708
2716
  };
2709
2717
 
2710
2718
  /** \class SkAutoCanvasRestore
@@ -11,8 +11,8 @@
11
11
  #include "include/core/SkAlphaType.h"
12
12
  #include "include/core/SkScalar.h"
13
13
  #include "include/core/SkTypes.h"
14
- #include "include/private/base/SkCPUTypes.h"
15
- #include "include/private/base/SkTPin.h"
14
+ #include "include/private/SkCPUTypes.h"
15
+ #include "include/private/SkTPin.h"
16
16
 
17
17
  #include <array>
18
18
  #include <cstdint>
@@ -11,7 +11,7 @@
11
11
  #include "include/core/SkColor.h"
12
12
  #include "include/core/SkFlattenable.h"
13
13
  #include "include/core/SkRefCnt.h"
14
- #include "include/private/base/SkAPI.h"
14
+ #include "include/private/SkAPI.h"
15
15
 
16
16
  #include <cstddef>
17
17
  #include <cstdint>
@@ -10,8 +10,8 @@
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkTypes.h"
13
- #include "include/private/base/SkFixed.h"
14
- #include "include/private/base/SkOnce.h"
13
+ #include "include/private/SkFixed.h"
14
+ #include "include/private/SkOnce.h"
15
15
  #include "modules/skcms/skcms.h"
16
16
 
17
17
  #include <cstddef>
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/core/SkBitmap.h"
12
12
  #include "include/core/SkRefCnt.h"
13
- #include "include/private/base/SkAPI.h"
13
+ #include "include/private/SkAPI.h"
14
14
 
15
15
  #include <cstdint>
16
16
 
@@ -14,7 +14,7 @@
14
14
  #include "include/core/SkScalar.h"
15
15
  #include "include/core/SkSpan.h"
16
16
  #include "include/core/SkTypes.h"
17
- #include "include/private/base/SkTDArray.h"
17
+ #include "include/private/SkTDArray.h"
18
18
 
19
19
  #include <cstddef>
20
20
  #include <memory>
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkSpan.h"
13
- #include "include/private/base/SkAPI.h"
13
+ #include "include/private/SkAPI.h"
14
14
 
15
15
  #include <cstddef>
16
16
  #include <cstdint>
@@ -9,8 +9,8 @@
9
9
  #define SkDataTable_DEFINED
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/base/SkAPI.h"
13
- #include "include/private/base/SkAssert.h"
12
+ #include "include/private/SkAPI.h"
13
+ #include "include/private/SkAssert.h"
14
14
 
15
15
  #include <cstdint>
16
16
  #include <cstring>
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkScalar.h"
13
- #include "include/private/base/SkAPI.h"
13
+ #include "include/private/SkAPI.h"
14
14
 
15
15
  class SkCanvas;
16
16
  class SkWStream;
@@ -11,7 +11,7 @@
11
11
  #include "include/core/SkFlattenable.h"
12
12
  #include "include/core/SkRefCnt.h"
13
13
  #include "include/core/SkScalar.h"
14
- #include "include/private/base/SkAPI.h"
14
+ #include "include/private/SkAPI.h"
15
15
 
16
16
  #include <cstddef>
17
17
  #include <cstdint>
@@ -16,8 +16,8 @@
16
16
  #include "include/core/SkSpan.h"
17
17
  #include "include/core/SkTypeface.h"
18
18
  #include "include/core/SkTypes.h"
19
- #include "include/private/base/SkTo.h"
20
- #include "include/private/base/SkTypeTraits.h"
19
+ #include "include/private/SkTo.h"
20
+ #include "include/private/SkTypeTraits.h"
21
21
 
22
22
  #include <cstddef>
23
23
  #include <cstdint>
@@ -9,7 +9,7 @@
9
9
  #define SkFontMetrics_DEFINED
10
10
 
11
11
  #include "include/core/SkScalar.h"
12
- #include "include/private/base/SkTo.h"
12
+ #include "include/private/SkTo.h"
13
13
 
14
14
  /** \class SkFontMetrics
15
15
  The metrics of an SkFont.