@shopify/react-native-skia 2.11.0-next.2 → 2.11.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 (343) hide show
  1. package/cpp/api/recorder/Convertor.h +57 -9
  2. package/cpp/api/third_party/SkottieUtils.cpp +1 -1
  3. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +0 -2
  4. package/cpp/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +1 -1
  5. package/cpp/skia/include/codec/SkAndroidCodec.h +1 -1
  6. package/cpp/skia/include/codec/SkAvifDecoder.h +1 -1
  7. package/cpp/skia/include/codec/SkBmpDecoder.h +1 -1
  8. package/cpp/skia/include/codec/SkBmpRustDecoder.h +42 -0
  9. package/cpp/skia/include/codec/SkCodec.h +3 -2
  10. package/cpp/skia/include/codec/SkGifDecoder.h +1 -1
  11. package/cpp/skia/include/codec/SkIcoDecoder.h +1 -1
  12. package/cpp/skia/include/codec/SkJpegDecoder.h +1 -1
  13. package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -1
  14. package/cpp/skia/include/codec/SkPixmapUtils.h +1 -1
  15. package/cpp/skia/include/codec/SkPngDecoder.h +1 -1
  16. package/cpp/skia/include/codec/SkPngRustDecoder.h +1 -1
  17. package/cpp/skia/include/codec/SkRawDecoder.h +1 -1
  18. package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -1
  19. package/cpp/skia/include/codec/SkWebpDecoder.h +1 -1
  20. package/cpp/skia/include/core/SkBitmap.h +3 -3
  21. package/cpp/skia/include/core/SkCPUContext.h +1 -1
  22. package/cpp/skia/include/core/SkCPURecorder.h +2 -3
  23. package/cpp/skia/include/core/SkCanvas.h +23 -15
  24. package/cpp/skia/include/core/SkColor.h +2 -2
  25. package/cpp/skia/include/core/SkColorFilter.h +1 -1
  26. package/cpp/skia/include/core/SkColorSpace.h +2 -2
  27. package/cpp/skia/include/core/SkColorTable.h +1 -1
  28. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  29. package/cpp/skia/include/core/SkData.h +1 -1
  30. package/cpp/skia/include/core/SkDataTable.h +2 -2
  31. package/cpp/skia/include/core/SkDocument.h +1 -1
  32. package/cpp/skia/include/core/SkDrawable.h +1 -1
  33. package/cpp/skia/include/core/SkFont.h +2 -2
  34. package/cpp/skia/include/core/SkFontMetrics.h +1 -1
  35. package/cpp/skia/include/core/SkFontMgr.h +1 -1
  36. package/cpp/skia/include/core/SkFontScanner.h +3 -3
  37. package/cpp/skia/include/core/SkFontStyle.h +1 -1
  38. package/cpp/skia/include/core/SkGraphics.h +1 -1
  39. package/cpp/skia/include/core/SkImage.h +1 -1
  40. package/cpp/skia/include/core/SkImageFilter.h +1 -1
  41. package/cpp/skia/include/core/SkImageGenerator.h +1 -1
  42. package/cpp/skia/include/core/SkImageInfo.h +4 -4
  43. package/cpp/skia/include/core/SkMatrix.h +3 -3
  44. package/cpp/skia/include/core/SkMesh.h +2 -2
  45. package/cpp/skia/include/core/SkMilestone.h +1 -1
  46. package/cpp/skia/include/core/SkOverdrawCanvas.h +1 -1
  47. package/cpp/skia/include/core/SkPaint.h +4 -4
  48. package/cpp/skia/include/core/SkPath.h +5 -23
  49. package/cpp/skia/include/core/SkPathBuilder.h +4 -2
  50. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  51. package/cpp/skia/include/core/SkPictureRecorder.h +1 -1
  52. package/cpp/skia/include/core/SkPixelRef.h +3 -5
  53. package/cpp/skia/include/core/SkPixmap.h +7 -2
  54. package/cpp/skia/include/core/SkPoint.h +555 -5
  55. package/cpp/skia/include/core/SkPoint3.h +2 -2
  56. package/cpp/skia/include/core/SkRRect.h +9 -1
  57. package/cpp/skia/include/core/SkRSXform.h +1 -1
  58. package/cpp/skia/include/core/SkRecorder.h +2 -3
  59. package/cpp/skia/include/core/SkRect.h +3 -3
  60. package/cpp/skia/include/core/SkRefCnt.h +1 -1
  61. package/cpp/skia/include/core/SkRegion.h +4 -4
  62. package/cpp/skia/include/core/SkScalar.h +2 -3
  63. package/cpp/skia/include/core/SkSerialProcs.h +1 -1
  64. package/cpp/skia/include/core/SkShader.h +1 -1
  65. package/cpp/skia/include/core/SkSize.h +1 -1
  66. package/cpp/skia/include/core/SkSpan.h +165 -4
  67. package/cpp/skia/include/core/SkStream.h +2 -2
  68. package/cpp/skia/include/core/SkStrikeRef.h +16 -0
  69. package/cpp/skia/include/core/SkString.h +2 -2
  70. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  71. package/cpp/skia/include/core/SkSurfaceProps.h +1 -1
  72. package/cpp/skia/include/core/SkSwizzle.h +1 -1
  73. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  74. package/cpp/skia/include/core/SkTiledImageUtils.h +1 -1
  75. package/cpp/skia/include/core/SkTypeface.h +8 -2
  76. package/cpp/skia/include/core/SkTypes.h +6 -6
  77. package/cpp/skia/include/core/SkUnPreMultiply.h +1 -1
  78. package/cpp/skia/include/core/SkVertices.h +1 -1
  79. package/cpp/skia/include/core/SkYUVAPixmaps.h +1 -1
  80. package/cpp/skia/include/docs/SkPDFDocument.h +9 -3
  81. package/cpp/skia/include/effects/SkGradient.h +1 -1
  82. package/cpp/skia/include/effects/SkPerlinNoiseShader.h +1 -1
  83. package/cpp/skia/include/effects/SkRuntimeEffect.h +4 -4
  84. package/cpp/skia/include/encode/SkEncoder.h +3 -3
  85. package/cpp/skia/include/encode/SkICC.h +1 -1
  86. package/cpp/skia/include/encode/SkJpegEncoder.h +1 -1
  87. package/cpp/skia/include/encode/SkPngEncoder.h +1 -1
  88. package/cpp/skia/include/encode/SkPngRustEncoder.h +16 -1
  89. package/cpp/skia/include/encode/SkWebpEncoder.h +1 -1
  90. package/cpp/skia/include/gpu/GpuTypes.h +1 -1
  91. package/cpp/skia/include/gpu/MutableTextureState.h +1 -1
  92. package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +2 -2
  93. package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +3 -3
  94. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +39 -37
  95. package/cpp/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +1 -1
  96. package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +3 -2
  97. package/cpp/skia/include/gpu/ganesh/GrTypes.h +1 -1
  98. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +1 -1
  99. package/cpp/skia/include/gpu/ganesh/SkMeshGanesh.h +1 -1
  100. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
  101. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +1 -1
  102. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +1 -1
  103. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +1 -1
  104. package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +1 -1
  105. package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +1 -1
  106. package/cpp/skia/include/gpu/ganesh/gl/GrGLConfig.h +1 -1
  107. package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +1 -1
  108. package/cpp/skia/include/gpu/ganesh/gl/GrGLExtensions.h +2 -2
  109. package/cpp/skia/include/gpu/ganesh/gl/GrGLFunctions.h +1 -1
  110. package/cpp/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +1 -1
  111. package/cpp/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +1 -1
  112. package/cpp/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h +1 -1
  113. package/cpp/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +1 -1
  114. package/cpp/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +1 -1
  115. package/cpp/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +1 -1
  116. package/cpp/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +1 -1
  117. package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +1 -1
  118. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +1 -1
  119. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +1 -1
  120. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +1 -1
  121. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +1 -1
  122. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +1 -1
  123. package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +1 -1
  124. package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +2 -2
  125. package/cpp/skia/include/gpu/graphite/BackendTexture.h +2 -2
  126. package/cpp/skia/include/gpu/graphite/Context.h +3 -3
  127. package/cpp/skia/include/gpu/graphite/ContextOptions.h +8 -2
  128. package/cpp/skia/include/gpu/graphite/PersistentPipelineStorage.h +1 -1
  129. package/cpp/skia/include/gpu/graphite/PrecompileContext.h +16 -2
  130. package/cpp/skia/include/gpu/graphite/Recorder.h +8 -7
  131. package/cpp/skia/include/gpu/graphite/Recording.h +6 -4
  132. package/cpp/skia/include/gpu/graphite/TextureInfo.h +2 -2
  133. package/cpp/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +1 -1
  134. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  135. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -1
  136. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h +1 -1
  137. package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +2 -2
  138. package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +1 -1
  139. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +1 -1
  140. package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +1 -1
  141. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  142. package/cpp/skia/include/gpu/vk/VulkanMutableTextureState.h +1 -1
  143. package/cpp/skia/include/gpu/vk/VulkanPreferredFeatures.h +1 -1
  144. package/cpp/skia/include/gpu/vk/VulkanTypes.h +1 -1
  145. package/cpp/skia/include/pathops/SkPathOps.h +2 -2
  146. package/cpp/skia/include/ports/SkImageGeneratorCG.h +2 -2
  147. package/cpp/skia/include/ports/SkImageGeneratorWIC.h +2 -2
  148. package/cpp/skia/include/private/{base/SingleOwner.h → SingleOwner.h} +5 -5
  149. package/cpp/skia/include/private/{base/SkAPI.h → SkAPI.h} +1 -1
  150. package/cpp/skia/include/private/{base/SkAlign.h → SkAlign.h} +1 -1
  151. package/cpp/skia/include/private/{base/SkAnySubclass.h → SkAnySubclass.h} +1 -1
  152. package/cpp/skia/include/private/{base/SkAssert.h → SkAssert.h} +4 -4
  153. package/cpp/skia/include/private/{base/SkAttributes.h → SkAttributes.h} +2 -2
  154. package/cpp/skia/include/private/{base/SkContainers.h → SkContainers.h} +3 -3
  155. package/cpp/skia/include/private/{base/SkDebug.h → SkDebug.h} +3 -3
  156. package/cpp/skia/include/private/{base/SkDeque.h → SkDeque.h} +1 -1
  157. package/cpp/skia/include/private/SkEncodedInfo.h +2 -2
  158. package/cpp/skia/include/private/SkEnumBitMask.h +92 -0
  159. package/cpp/skia/include/private/SkExif.h +1 -1
  160. package/cpp/skia/include/private/{base/SkFixed.h → SkFixed.h} +4 -4
  161. package/cpp/skia/include/private/{base/SkFloatingPoint.h → SkFloatingPoint.h} +2 -2
  162. package/cpp/skia/include/private/SkGainmapShader.h +1 -1
  163. package/cpp/skia/include/private/SkHdrMetadata.h +1 -1
  164. package/cpp/skia/include/private/SkIDChangeListener.h +3 -3
  165. package/cpp/skia/include/private/{base/SkLoadUserConfig.h → SkLoadUserConfig.h} +2 -2
  166. package/cpp/skia/include/private/{base/SkLog.h → SkLog.h} +4 -4
  167. package/cpp/skia/include/private/{base/SkMacros.h → SkMacros.h} +1 -1
  168. package/cpp/skia/include/private/{base/SkMalloc.h → SkMalloc.h} +1 -1
  169. package/cpp/skia/include/private/{base/SkMath.h → SkMath.h} +2 -2
  170. package/cpp/skia/include/private/{base/SkMutex.h → SkMutex.h} +5 -5
  171. package/cpp/skia/include/private/{base/SkNoncopyable.h → SkNoncopyable.h} +1 -1
  172. package/cpp/skia/include/private/{base/SkOnce.h → SkOnce.h} +1 -1
  173. package/cpp/skia/include/private/SkPathRef.h +4 -4
  174. package/cpp/skia/include/private/SkPixelStorage.h +20 -5
  175. package/cpp/skia/include/private/{base/SkSafe32.h → SkSafe32.h} +2 -2
  176. package/cpp/skia/include/private/{base/SkSemaphore.h → SkSemaphore.h} +3 -3
  177. package/cpp/skia/include/private/{base/SkTArray.h → SkTArray.h} +10 -11
  178. package/cpp/skia/include/private/{base/SkTDArray.h → SkTDArray.h} +4 -4
  179. package/cpp/skia/include/private/{base/SkTFitsIn.h → SkTFitsIn.h} +0 -2
  180. package/cpp/skia/include/private/{base/SkTLogic.h → SkTLogic.h} +1 -1
  181. package/cpp/skia/include/private/{base/SkTemplates.h → SkTemplates.h} +5 -6
  182. package/cpp/skia/include/private/{base/SkThreadAnnotations.h → SkThreadAnnotations.h} +1 -1
  183. package/cpp/skia/include/private/{base/SkThreadID.h → SkThreadID.h} +2 -2
  184. package/cpp/skia/include/private/{base/SkTo.h → SkTo.h} +2 -2
  185. package/cpp/skia/include/private/{base/SkTypeTraits.h → SkTypeTraits.h} +20 -0
  186. package/cpp/skia/include/private/SkXmp.h +1 -1
  187. package/cpp/skia/include/private/chromium/GrDeferredDisplayList.h +1 -1
  188. package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +1 -1
  189. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -1
  190. package/cpp/skia/include/private/chromium/SkCodecsICCProfileChromium.h +1 -1
  191. package/cpp/skia/include/private/chromium/SkExifChromium.h +1 -1
  192. package/cpp/skia/include/private/chromium/SkImageChromium.h +1 -1
  193. package/cpp/skia/include/private/chromium/SkPMColor.h +1 -1
  194. package/cpp/skia/include/private/chromium/Slug.h +1 -1
  195. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
  196. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +2 -2
  197. package/cpp/skia/include/private/gpu/ganesh/GrTextureGenerator.h +1 -1
  198. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +4 -4
  199. package/cpp/skia/include/utils/SkCamera.h +1 -1
  200. package/cpp/skia/include/utils/SkNWayCanvas.h +1 -1
  201. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +1 -1
  202. package/cpp/skia/modules/jsonreader/SkJSONReader.cpp +6 -6
  203. package/cpp/skia/modules/jsonreader/SkJSONReader.h +2 -2
  204. package/cpp/skia/modules/skottie/include/SkottieProperty.h +1 -1
  205. package/cpp/skia/modules/skottie/include/SlotManager.h +2 -2
  206. package/cpp/skia/modules/skottie/include/TextShaper.h +1 -1
  207. package/cpp/skia/modules/skottie/src/text/Font.h +1 -1
  208. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -1
  209. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -1
  210. package/cpp/skia/modules/skresources/include/SkResources.h +1 -1
  211. package/cpp/skia/modules/sksg/include/SkSGNode.h +1 -1
  212. package/cpp/skia/modules/sksg/include/SkSGRect.h +1 -1
  213. package/cpp/skia/modules/sksg/include/SkSGRenderEffect.h +1 -1
  214. package/cpp/skia/modules/skunicode/include/SkUnicode.h +3 -3
  215. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +1 -1
  216. package/cpp/skia/modules/svg/include/SkSVGCircle.h +1 -1
  217. package/cpp/skia/modules/svg/include/SkSVGClipPath.h +1 -1
  218. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  219. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  220. package/cpp/skia/modules/svg/include/SkSVGEllipse.h +1 -1
  221. package/cpp/skia/modules/svg/include/SkSVGFe.h +1 -1
  222. package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +1 -1
  223. package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +1 -1
  224. package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +1 -1
  225. package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +1 -1
  226. package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +1 -1
  227. package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +1 -1
  228. package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +1 -1
  229. package/cpp/skia/modules/svg/include/SkSVGFeImage.h +1 -1
  230. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +2 -2
  231. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +1 -1
  232. package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +1 -1
  233. package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +1 -1
  234. package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +1 -1
  235. package/cpp/skia/modules/svg/include/SkSVGFilter.h +1 -1
  236. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  237. package/cpp/skia/modules/svg/include/SkSVGImage.h +2 -2
  238. package/cpp/skia/modules/svg/include/SkSVGLine.h +1 -1
  239. package/cpp/skia/modules/svg/include/SkSVGLinearGradient.h +1 -1
  240. package/cpp/skia/modules/svg/include/SkSVGMask.h +1 -1
  241. package/cpp/skia/modules/svg/include/SkSVGNode.h +1 -1
  242. package/cpp/skia/modules/svg/include/SkSVGPath.h +1 -1
  243. package/cpp/skia/modules/svg/include/SkSVGPattern.h +1 -1
  244. package/cpp/skia/modules/svg/include/SkSVGPoly.h +1 -1
  245. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +1 -1
  246. package/cpp/skia/modules/svg/include/SkSVGRect.h +1 -1
  247. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +1 -1
  248. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  249. package/cpp/skia/modules/svg/include/SkSVGShape.h +1 -1
  250. package/cpp/skia/modules/svg/include/SkSVGStop.h +1 -1
  251. package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
  252. package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +1 -1
  253. package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
  254. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  255. package/cpp/skia/src/{base → core}/SkArenaAlloc.h +5 -5
  256. package/cpp/skia/src/{base → core}/SkAutoLocaleSetter.h +1 -1
  257. package/cpp/skia/src/core/SkChecksum.h +1 -1
  258. package/cpp/skia/src/core/SkLRUCache.h +1 -1
  259. package/cpp/skia/src/{base → core}/SkMathPriv.h +3 -3
  260. package/cpp/skia/src/core/SkTHash.h +1 -1
  261. package/cpp/skia/src/{base → core}/SkTInternalLList.h +3 -3
  262. package/cpp/skia/src/{base → core}/SkTLazy.h +1 -1
  263. package/cpp/skia/src/{base → core}/SkUTF.h +1 -1
  264. package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +27 -1
  265. package/lib/commonjs/renderer/processors/Animations/Animations.js +28 -0
  266. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  267. package/lib/commonjs/sksg/Recorder/Core.js +8 -1
  268. package/lib/commonjs/sksg/Recorder/Core.js.map +1 -1
  269. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js +8 -0
  270. package/lib/commonjs/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  271. package/lib/commonjs/sksg/Recorder/Recorder.d.ts +1 -1
  272. package/lib/commonjs/sksg/Recorder/Recorder.js +4 -0
  273. package/lib/commonjs/sksg/Recorder/Recorder.js.map +1 -1
  274. package/lib/commonjs/sksg/utils.d.ts +4 -0
  275. package/lib/commonjs/sksg/utils.js +14 -1
  276. package/lib/commonjs/sksg/utils.js.map +1 -1
  277. package/lib/module/renderer/processors/Animations/Animations.d.ts +27 -1
  278. package/lib/module/renderer/processors/Animations/Animations.js +21 -0
  279. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  280. package/lib/module/sksg/Recorder/Core.js +8 -1
  281. package/lib/module/sksg/Recorder/Core.js.map +1 -1
  282. package/lib/module/sksg/Recorder/ReanimatedRecorder.js +9 -1
  283. package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
  284. package/lib/module/sksg/Recorder/Recorder.d.ts +1 -1
  285. package/lib/module/sksg/Recorder/Recorder.js +5 -1
  286. package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
  287. package/lib/module/sksg/utils.d.ts +4 -0
  288. package/lib/module/sksg/utils.js +12 -0
  289. package/lib/module/sksg/utils.js.map +1 -1
  290. package/lib/typescript/lib/commonjs/renderer/processors/Animations/Animations.d.ts +22 -0
  291. package/lib/typescript/lib/commonjs/sksg/utils.d.ts +1 -0
  292. package/lib/typescript/lib/module/mock/index.d.ts +4 -0
  293. package/lib/typescript/lib/module/renderer/processors/Animations/Animations.d.ts +4 -0
  294. package/lib/typescript/lib/module/renderer/processors/Animations/index.d.ts +1 -1
  295. package/lib/typescript/lib/module/sksg/utils.d.ts +1 -0
  296. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +27 -1
  297. package/lib/typescript/src/sksg/Recorder/Recorder.d.ts +1 -1
  298. package/lib/typescript/src/sksg/utils.d.ts +4 -0
  299. package/package.json +9 -9
  300. package/src/renderer/processors/Animations/Animations.ts +34 -1
  301. package/src/sksg/Recorder/Core.ts +11 -1
  302. package/src/sksg/Recorder/ReanimatedRecorder.ts +10 -1
  303. package/src/sksg/Recorder/Recorder.ts +7 -3
  304. package/src/sksg/utils.ts +18 -0
  305. package/cpp/dawn/include/dawn/dawn_proc.h +0 -53
  306. package/cpp/dawn/include/dawn/dawn_proc_table.h +0 -330
  307. package/cpp/dawn/include/dawn/dawn_thread_dispatch_proc.h +0 -47
  308. package/cpp/dawn/include/dawn/dawn_version.h +0 -41
  309. package/cpp/dawn/include/dawn/native/D3D11Backend.h +0 -65
  310. package/cpp/dawn/include/dawn/native/D3D12Backend.h +0 -86
  311. package/cpp/dawn/include/dawn/native/D3DBackend.h +0 -56
  312. package/cpp/dawn/include/dawn/native/DawnNative.h +0 -369
  313. package/cpp/dawn/include/dawn/native/MetalBackend.h +0 -56
  314. package/cpp/dawn/include/dawn/native/NullBackend.h +0 -39
  315. package/cpp/dawn/include/dawn/native/OpenGLBackend.h +0 -89
  316. package/cpp/dawn/include/dawn/native/VulkanBackend.h +0 -183
  317. package/cpp/dawn/include/dawn/native/WebGPUBackend.h +0 -49
  318. package/cpp/dawn/include/dawn/native/dawn_native_export.h +0 -49
  319. package/cpp/dawn/include/dawn/platform/DawnPlatform.h +0 -210
  320. package/cpp/dawn/include/dawn/platform/dawn_platform_export.h +0 -49
  321. package/cpp/dawn/include/dawn/replay/Replay.h +0 -99
  322. package/cpp/dawn/include/dawn/replay/dawn_replay_export.h +0 -49
  323. package/cpp/dawn/include/dawn/webgpu_cpp_print.h +0 -2844
  324. package/cpp/dawn/include/tint/tint.h +0 -90
  325. package/cpp/dawn/include/webgpu/webgpu.h +0 -4987
  326. package/cpp/dawn/include/webgpu/webgpu_cpp.h +0 -10080
  327. package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +0 -57
  328. package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  329. package/cpp/dawn/include/webgpu/webgpu_glfw.h +0 -88
  330. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +0 -10
  331. package/cpp/skia/include/private/base/README.md +0 -4
  332. package/cpp/skia/include/private/base/SkPoint_impl.h +0 -560
  333. package/cpp/skia/include/private/base/SkSpan_impl.h +0 -158
  334. package/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +0 -45
  335. package/cpp/skia/src/gpu/graphite/ResourceTypes.h +0 -360
  336. package/cpp/skia/src/gpu/graphite/TextureProxyView.h +0 -105
  337. package/libs/.graphite +0 -1
  338. /package/cpp/skia/include/private/{base/SkASAN.h → SkASAN.h} +0 -0
  339. /package/cpp/skia/include/private/{base/SkAlignedStorage.h → SkAlignedStorage.h} +0 -0
  340. /package/cpp/skia/include/private/{base/SkCPUTypes.h → SkCPUTypes.h} +0 -0
  341. /package/cpp/skia/include/private/{base/SkFeatures.h → SkFeatures.h} +0 -0
  342. /package/cpp/skia/include/private/{base/SkLogPriority.h → SkLogPriority.h} +0 -0
  343. /package/cpp/skia/include/private/{base/SkTPin.h → SkTPin.h} +0 -0
@@ -12,7 +12,7 @@
12
12
  #include "include/core/SkColorSpace.h"
13
13
  #include "include/core/SkFlattenable.h"
14
14
  #include "include/core/SkRefCnt.h"
15
- #include "include/private/base/SkAPI.h"
15
+ #include "include/private/SkAPI.h"
16
16
 
17
17
  class SkBlender;
18
18
  class SkColorFilter;
@@ -9,7 +9,7 @@
9
9
  #define SkSize_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
  #include <cstdint>
15
15
 
@@ -5,9 +5,170 @@
5
5
  * found in the LICENSE file.
6
6
  */
7
7
 
8
- // We want SkSpan to be a public API, but it is also fundamental to many of our internal types.
9
- // Thus, we have a public file that clients can include. This file defers to the private copy
10
- // so we do not have a dependency cycle from our "base" files to our "core" files.
8
+ #ifndef SkSpan_DEFINED
9
+ #define SkSpan_DEFINED
11
10
 
12
- #include "include/private/base/SkSpan_impl.h" // IWYU pragma: export
11
+ /*
12
+ * Define this to keep the bespoke SkSpan implementation, until clients are ready.
13
+ * When this is not defined, SkSpan becomes just an alias for std::span
14
+ */
15
+ #define SK_USE_LEGACY_SKSPAN
16
+
17
+ /*
18
+ * SkSpan handles single POD initialization differently from std::span
19
+ * This macro allows clients to initialize a span with a single POD that will work with
20
+ * either implementation of SkSpan.
21
+ *
22
+ * When we switch to std::span entirely, callsites can remove this macro, and juse type {{a}}
23
+ */
24
+ #ifdef SK_USE_LEGACY_SKSPAN
25
+ #define SKSPAN_INIT_ONE(elem) {elem}
26
+ #else
27
+ #define SKSPAN_INIT_ONE(elem) {{elem}}
28
+ #endif
29
+
30
+ #ifdef SK_USE_LEGACY_SKSPAN
31
+
32
+ #include "include/private/SkAssert.h"
33
+ #include "include/private/SkTo.h"
34
+
35
+ #include <cstddef>
36
+ #include <initializer_list>
37
+ #include <iterator>
38
+ #include <limits>
39
+ #include <utility>
40
+
41
+ // Having this be an export works around IWYU churn related to
42
+ // https://github.com/include-what-you-use/include-what-you-use/issues/1121
43
+ #include <type_traits> // IWYU pragma: export
44
+
45
+ // Add macro to check the lifetime of initializer_list arguments. initializer_list has a very
46
+ // short life span, and can only be used as a parameter, and not as a variable.
47
+ #if defined(__clang__) && defined(__has_cpp_attribute) && __has_cpp_attribute(clang::lifetimebound)
48
+ #define SK_CHECK_IL_LIFETIME [[clang::lifetimebound]]
49
+ #else
50
+ #define SK_CHECK_IL_LIFETIME
51
+ #endif
52
+
53
+ /**
54
+ * SkSpan holds a reference to contiguous data of type T along with a count. SkSpan does not own
55
+ * the data itself but is merely a reference, therefore you must take care with the lifetime of
56
+ * the underlying data.
57
+ *
58
+ * SkSpan is a count and a pointer into existing array or data type that stores its data in
59
+ * contiguous memory like std::vector. Any container that works with std::size() and std::data()
60
+ * can be used.
61
+ *
62
+ * SkSpan makes a convenient parameter for a routine to accept array like things. This allows you to
63
+ * write the routine without overloads for all different container types.
64
+ *
65
+ * Example:
66
+ * void routine(SkSpan<const int> a) { ... }
67
+ *
68
+ * std::vector v = {1, 2, 3, 4, 5};
69
+ *
70
+ * routine(a);
71
+ *
72
+ * A word of caution when working with initializer_list, initializer_lists have a lifetime that is
73
+ * limited to the current statement. The following is correct and safe:
74
+ *
75
+ * Example:
76
+ * routine({1,2,3,4,5});
77
+ *
78
+ * The following is undefined, and will result in erratic execution:
79
+ *
80
+ * Bad Example:
81
+ * initializer_list l = {1, 2, 3, 4, 5}; // The data behind l dies at the ;.
82
+ * routine(l);
83
+ */
84
+ template <typename T>
85
+ class SkSpan {
86
+ public:
87
+ constexpr SkSpan() : fPtr{nullptr}, fSize{0} {}
88
+
89
+ template <typename Integer, std::enable_if_t<std::is_integral_v<Integer>, bool> = true>
90
+ constexpr SkSpan(T* ptr, Integer size) : fPtr{ptr}, fSize{SkToSizeT(size)} {
91
+ SkASSERT(ptr || fSize == 0); // disallow nullptr + a nonzero size
92
+ SkASSERT(fSize < (std::numeric_limits<size_t>::max() / sizeof(T)));
93
+ }
94
+ template <typename U, typename = std::enable_if_t<std::is_same_v<const U, T>>>
95
+ constexpr SkSpan(const SkSpan<U>& that) : fPtr(std::data(that)), fSize(std::size(that)) {}
96
+ constexpr SkSpan(const SkSpan& o) = default;
97
+ template<size_t N> constexpr SkSpan(T(&a)[N]) : SkSpan(a, N) { }
98
+ template<typename Container>
99
+ constexpr SkSpan(Container&& c) : SkSpan(std::data(c), std::size(c)) { }
100
+ SkSpan(std::initializer_list<T> il SK_CHECK_IL_LIFETIME)
101
+ : SkSpan(std::data(il), std::size(il)) {}
102
+
103
+ constexpr SkSpan& operator=(const SkSpan& that) = default;
104
+
105
+ constexpr T& operator [] (size_t i) const {
106
+ return fPtr[sk_collection_check_bounds(i, this->size())];
107
+ }
108
+ constexpr T& front() const { sk_collection_not_empty(this->empty()); return fPtr[0]; }
109
+ constexpr T& back() const { sk_collection_not_empty(this->empty()); return fPtr[fSize - 1]; }
110
+ constexpr T* begin() const { return fPtr; }
111
+ constexpr T* end() const { return fPtr + fSize; }
112
+ constexpr auto rbegin() const { return std::make_reverse_iterator(this->end()); }
113
+ constexpr auto rend() const { return std::make_reverse_iterator(this->begin()); }
114
+ constexpr T* data() const { return this->begin(); }
115
+ constexpr size_t size() const { return fSize; }
116
+ constexpr bool empty() const { return fSize == 0; }
117
+ constexpr size_t size_bytes() const { return fSize * sizeof(T); }
118
+ constexpr SkSpan<T> first(size_t prefixLen) const {
119
+ return SkSpan{fPtr, sk_collection_check_length(prefixLen, fSize)};
120
+ }
121
+ constexpr SkSpan<T> last(size_t postfixLen) const {
122
+ return SkSpan{fPtr + (this->size() - postfixLen),
123
+ sk_collection_check_length(postfixLen, fSize)};
124
+ }
125
+ constexpr SkSpan<T> subspan(size_t offset) const {
126
+ return this->subspan(offset, this->size() - offset);
127
+ }
128
+ constexpr SkSpan<T> subspan(size_t offset, size_t count) const {
129
+ const size_t safeOffset = sk_collection_check_length(offset, fSize);
130
+
131
+ // Should read offset + count > size(), but that could overflow. We know that safeOffset
132
+ // is <= size, therefore the subtraction will not overflow.
133
+ if (count > this->size() - safeOffset) SK_UNLIKELY {
134
+ // The count is too large.
135
+ SkUNREACHABLE;
136
+ }
137
+ return SkSpan{fPtr + safeOffset, count};
138
+ }
139
+
140
+ private:
141
+ T* fPtr;
142
+ size_t fSize;
143
+ };
144
+
145
+ template <typename Container>
146
+ SkSpan(Container&&) ->
147
+ SkSpan<std::remove_pointer_t<decltype(std::data(std::declval<Container>()))>>;
148
+
149
+ #else
150
+
151
+ #include <span>
152
+
153
+ template <typename T> using SkSpan = std::span<T>;
154
+
155
+ #endif // legacy
156
+
157
+ // These helper functions are temporary and only meant to be used during the Spanify process
158
+ // to ease the transition from pointers to spans (e.g. replacing `ptr++`).
159
+ // Once the Spanify process is complete, these callsites should be refactored to use
160
+ // more idiomatic span patterns, and these functions should be removed.
161
+ template <typename T>
162
+ constexpr SkSpan<T> SkPreIncrementSpan(SkSpan<T>& s) {
163
+ s = s.subspan(1);
164
+ return s;
165
+ }
166
+
167
+ template <typename T>
168
+ constexpr SkSpan<T> SkPostIncrementSpan(SkSpan<T>& s) {
169
+ SkSpan<T> old = s;
170
+ s = s.subspan(1);
171
+ return old;
172
+ }
13
173
 
174
+ #endif // SkSpan_DEFINED
@@ -12,8 +12,8 @@
12
12
  #include "include/core/SkRefCnt.h"
13
13
  #include "include/core/SkScalar.h"
14
14
  #include "include/core/SkTypes.h"
15
- #include "include/private/base/SkCPUTypes.h"
16
- #include "include/private/base/SkTo.h"
15
+ #include "include/private/SkCPUTypes.h"
16
+ #include "include/private/SkTo.h"
17
17
 
18
18
  #include <cstdint>
19
19
  #include <cstdio>
@@ -57,6 +57,22 @@ public:
57
57
  */
58
58
  SkScalar getWidth(SkGlyphID glyph) const;
59
59
 
60
+ /** Retrieves the advance widths for each glyph, handling arbitrary strides for both
61
+ input glyphs and output advances.
62
+
63
+ @param count number of glyphs to measure
64
+ @param first_glyph pointer to the first glyph ID, glyph is 32-bit, instead
65
+ of SkGlyphID, in preparation for large glyph ids.
66
+ @param glyph_stride_32 stride in 32-bit words between input glyph IDs
67
+ @param first_advance pointer to the first output advance
68
+ @param advance_stride_32 stride in 32-bit words between output advances
69
+ */
70
+ void getWidthsStrided(unsigned count,
71
+ const uint32_t* first_glyph,
72
+ unsigned glyph_stride_32,
73
+ SkScalar* first_advance,
74
+ unsigned advance_stride_32) const;
75
+
60
76
  /** Retrieves the advance widths and bounds for each glyph.
61
77
  widths receives min(widths.size(), glyphs.size()) values.
62
78
  bounds receives min(bounds.size(), glyphs.size()) values.
@@ -11,8 +11,8 @@
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkScalar.h"
13
13
  #include "include/core/SkTypes.h"
14
- #include "include/private/base/SkTo.h"
15
- #include "include/private/base/SkTypeTraits.h"
14
+ #include "include/private/SkTo.h"
15
+ #include "include/private/SkTypeTraits.h"
16
16
 
17
17
  #include <atomic>
18
18
  #include <cstdarg>
@@ -11,7 +11,7 @@
11
11
  #include "include/core/SkPaint.h"
12
12
  #include "include/core/SkScalar.h"
13
13
  #include "include/core/SkTypes.h"
14
- #include "include/private/base/SkMacros.h"
14
+ #include "include/private/SkMacros.h"
15
15
 
16
16
  #include <cmath>
17
17
  #include <cstdint>
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/core/SkScalar.h"
12
12
  #include "include/core/SkTypes.h"
13
- #include "include/private/base/SkTo.h"
13
+ #include "include/private/SkTo.h"
14
14
 
15
15
  /**
16
16
  * Description of how the LCD strips are arranged for each pixel. If this is unknown, or the
@@ -8,7 +8,7 @@
8
8
  #ifndef SkSwizzle_DEFINED
9
9
  #define SkSwizzle_DEFINED
10
10
 
11
- #include "include/private/base/SkAPI.h"
11
+ #include "include/private/SkAPI.h"
12
12
 
13
13
  #include <cstdint>
14
14
 
@@ -17,8 +17,8 @@
17
17
  #include "include/core/SkScalar.h"
18
18
  #include "include/core/SkSpan.h"
19
19
  #include "include/core/SkTypes.h"
20
- #include "include/private/base/SkDebug.h"
21
- #include "include/private/base/SkTemplates.h"
20
+ #include "include/private/SkDebug.h"
21
+ #include "include/private/SkTemplates.h"
22
22
 
23
23
  #include <atomic>
24
24
  #include <cstdint>
@@ -14,7 +14,7 @@
14
14
  #include "include/core/SkRefCnt.h"
15
15
  #include "include/core/SkSamplingOptions.h"
16
16
  #include "include/core/SkScalar.h"
17
- #include "include/private/base/SkAPI.h"
17
+ #include "include/private/SkAPI.h"
18
18
 
19
19
  #include <cstdint>
20
20
 
@@ -17,8 +17,8 @@
17
17
  #include "include/core/SkSpan.h"
18
18
  #include "include/core/SkString.h"
19
19
  #include "include/core/SkTypes.h"
20
+ #include "include/private/SkOnce.h"
20
21
  #include "include/private/SkWeakRefCnt.h"
21
- #include "include/private/base/SkOnce.h"
22
22
 
23
23
  #include <cstddef>
24
24
  #include <cstdint>
@@ -145,10 +145,16 @@ public:
145
145
  of a typeface referring to the same font. If that font is not available,
146
146
  return nullptr.
147
147
  Goes through all registered typeface factories and lastResortMgr (if non-null).
148
+ If the sanitizer proc is provided, that will be used on the data extracted from
149
+ the stream before it is passed on to any underlying decoders.
148
150
  Does not affect ownership of SkStream.
149
151
  */
150
152
 
151
- static sk_sp<SkTypeface> MakeDeserialize(SkStream*, sk_sp<SkFontMgr> lastResortMgr);
153
+ using SkTypefaceStreamSanitizerProc = sk_sp<SkData> (*)(sk_sp<const SkData>);
154
+
155
+ static sk_sp<SkTypeface> MakeDeserialize(SkStream*,
156
+ sk_sp<SkFontMgr> lastResortMgr,
157
+ SkTypefaceStreamSanitizerProc = nullptr);
152
158
 
153
159
  /**
154
160
  * Given an array of UTF32 character codes, return their corresponding glyph IDs.
@@ -11,16 +11,16 @@
11
11
  // All of these files should be independent of things users can set via the user config file.
12
12
  // They should also be able to be included in any order.
13
13
  // IWYU pragma: begin_exports
14
- #include "include/private/base/SkFeatures.h"
14
+ #include "include/private/SkFeatures.h"
15
15
 
16
16
  // Load and verify defines from the user config file.
17
- #include "include/private/base/SkLoadUserConfig.h"
17
+ #include "include/private/SkLoadUserConfig.h"
18
18
 
19
19
  // Any includes or defines below can be configured by the user config file.
20
- #include "include/private/base/SkAPI.h"
21
- #include "include/private/base/SkAssert.h"
22
- #include "include/private/base/SkAttributes.h"
23
- #include "include/private/base/SkDebug.h"
20
+ #include "include/private/SkAPI.h"
21
+ #include "include/private/SkAssert.h"
22
+ #include "include/private/SkAttributes.h"
23
+ #include "include/private/SkDebug.h"
24
24
  // IWYU pragma: end_exports
25
25
 
26
26
  #include <cstdint>
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/core/SkColor.h"
12
12
  #include "include/core/SkTypes.h"
13
- #include "include/private/base/SkCPUTypes.h"
13
+ #include "include/private/SkCPUTypes.h"
14
14
 
15
15
  #include <cstdint>
16
16
 
@@ -12,7 +12,7 @@
12
12
  #include "include/core/SkPoint.h"
13
13
  #include "include/core/SkRect.h"
14
14
  #include "include/core/SkRefCnt.h"
15
- #include "include/private/base/SkAPI.h"
15
+ #include "include/private/SkAPI.h"
16
16
 
17
17
  #include <cstddef>
18
18
  #include <cstdint>
@@ -16,7 +16,7 @@
16
16
  #include "include/core/SkSize.h"
17
17
  #include "include/core/SkTypes.h"
18
18
  #include "include/core/SkYUVAInfo.h"
19
- #include "include/private/base/SkTo.h"
19
+ #include "include/private/SkTo.h"
20
20
 
21
21
  #include <array>
22
22
  #include <bitset>
@@ -9,9 +9,9 @@
9
9
  #include "include/core/SkScalar.h"
10
10
  #include "include/core/SkSpan.h"
11
11
  #include "include/core/SkString.h"
12
- #include "include/private/base/SkAPI.h"
13
- #include "include/private/base/SkMacros.h"
14
- #include "include/private/base/SkNoncopyable.h"
12
+ #include "include/private/SkAPI.h"
13
+ #include "include/private/SkMacros.h"
14
+ #include "include/private/SkNoncopyable.h"
15
15
 
16
16
  #include <cstdint>
17
17
  #include <memory>
@@ -158,6 +158,12 @@ struct Metadata {
158
158
  */
159
159
  int fEncodingQuality = 101;
160
160
 
161
+ /** If true, rasterize gradients with non-opaque stops for print compatibility.
162
+ Intended only for physical printing; it trades vector fidelity and file
163
+ size to avoid PDF-to-PostScript converter bugs.
164
+ */
165
+ bool fRasterizeAlphaGradientsForPrinting = false;
166
+
161
167
  /** An optional tree of structured document tags that provide
162
168
  a semantic representation of the content. The caller
163
169
  should retain ownership.
@@ -14,7 +14,7 @@
14
14
  #include "include/core/SkShader.h"
15
15
  #include "include/core/SkSpan.h"
16
16
  #include "include/core/SkTileMode.h"
17
- #include "include/private/base/SkAPI.h"
17
+ #include "include/private/SkAPI.h"
18
18
 
19
19
  class SkMatrix;
20
20
 
@@ -11,7 +11,7 @@
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkScalar.h"
13
13
  #include "include/core/SkShader.h" // IWYU pragma: keep
14
- #include "include/private/base/SkAPI.h"
14
+ #include "include/private/SkAPI.h"
15
15
 
16
16
  struct SkISize;
17
17
 
@@ -18,11 +18,11 @@
18
18
  #include "include/core/SkSpan.h"
19
19
  #include "include/core/SkString.h"
20
20
  #include "include/core/SkTypes.h"
21
+ #include "include/private/SkOnce.h"
21
22
  #include "include/private/SkSLSampleUsage.h"
22
- #include "include/private/base/SkOnce.h"
23
- #include "include/private/base/SkTemplates.h"
24
- #include "include/private/base/SkTo.h"
25
- #include "include/private/base/SkTypeTraits.h"
23
+ #include "include/private/SkTemplates.h"
24
+ #include "include/private/SkTo.h"
25
+ #include "include/private/SkTypeTraits.h"
26
26
  #include "include/sksl/SkSLDebugTrace.h"
27
27
  #include "include/sksl/SkSLVersion.h"
28
28
 
@@ -9,9 +9,9 @@
9
9
  #define SkEncoder_DEFINED
10
10
 
11
11
  #include "include/core/SkPixmap.h"
12
- #include "include/private/base/SkAPI.h"
13
- #include "include/private/base/SkNoncopyable.h"
14
- #include "include/private/base/SkTemplates.h"
12
+ #include "include/private/SkAPI.h"
13
+ #include "include/private/SkNoncopyable.h"
14
+ #include "include/private/SkTemplates.h"
15
15
 
16
16
  #include <cstddef>
17
17
  #include <cstdint>
@@ -9,7 +9,7 @@
9
9
  #define SkICC_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
  #include <cstdint>
15
15
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/codec/SkEncodedOrigin.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 <memory>
16
16
  #include <optional>
@@ -10,8 +10,8 @@
10
10
 
11
11
  #include "include/core/SkDataTable.h"
12
12
  #include "include/core/SkRefCnt.h"
13
+ #include "include/private/SkAPI.h"
13
14
  #include "include/private/SkHdrMetadata.h"
14
- #include "include/private/base/SkAPI.h"
15
15
 
16
16
  // TODO(kjlubick) update clients to directly include this
17
17
  #include "include/encode/SkEncoder.h" // IWYU pragma: keep
@@ -12,7 +12,7 @@
12
12
 
13
13
  #include "include/core/SkDataTable.h"
14
14
  #include "include/core/SkRefCnt.h"
15
- #include "include/private/base/SkAPI.h"
15
+ #include "include/private/SkAPI.h"
16
16
 
17
17
  class GrDirectContext;
18
18
  class SkData;
@@ -21,6 +21,8 @@ class SkImage;
21
21
  class SkPixmap;
22
22
  class SkWStream;
23
23
 
24
+ struct SkGainmapInfo;
25
+
24
26
  namespace SkPngRustEncoder {
25
27
 
26
28
  /*
@@ -63,6 +65,19 @@ struct Options {
63
65
  * 79 characters and it can't contain a non-breaking space character.
64
66
  */
65
67
  sk_sp<SkDataTable> fComments;
68
+
69
+ /**
70
+ * If non-null, then a gainmap and its metadata will be encoded as png chunks.
71
+ * The gainmap metadata (info) will be encoded in a gmAP chunk. The
72
+ * gainmap pixels (encoded as a PNG) will be encoded in a gdAT chunk.
73
+ * This effectively is Option B proposed in this discussion for adding gainmaps
74
+ * into PNG: https://github.com/w3c/png/issues/380#issuecomment-2325163149.
75
+ *
76
+ * Note that if fGainmapInfo is null, then fGainmap will be ignored (not encoded),
77
+ * as the gainmap metadata is required to correctly interpret the encoded gainmap.
78
+ */
79
+ const SkPixmap* fGainmap = nullptr;
80
+ const SkGainmapInfo* fGainmapInfo = nullptr;
66
81
  };
67
82
 
68
83
  /**
@@ -11,7 +11,7 @@
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkSpan.h" // IWYU pragma: keep
13
13
  #include "include/encode/SkEncoder.h"
14
- #include "include/private/base/SkAPI.h"
14
+ #include "include/private/SkAPI.h"
15
15
 
16
16
  class SkPixmap;
17
17
  class SkWStream;
@@ -9,7 +9,7 @@
9
9
  #define skgpu_GpuTypes_DEFINED
10
10
 
11
11
  #include "include/core/SkTypes.h"
12
- #include "include/private/base/SkMacros.h"
12
+ #include "include/private/SkMacros.h"
13
13
 
14
14
  /**
15
15
  * This file includes numerous public types that are used by all of our gpu backends.
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
12
  #include "include/core/SkTypes.h"
13
- #include "include/private/base/SkAnySubclass.h"
13
+ #include "include/private/SkAnySubclass.h"
14
14
 
15
15
  #include <cstddef>
16
16
 
@@ -8,8 +8,8 @@
8
8
  #define GrBackendSemaphore_DEFINED
9
9
 
10
10
  #include "include/gpu/ganesh/GrTypes.h"
11
- #include "include/private/base/SkAPI.h"
12
- #include "include/private/base/SkAnySubclass.h"
11
+ #include "include/private/SkAPI.h"
12
+ #include "include/private/SkAnySubclass.h"
13
13
 
14
14
  #include <cstddef>
15
15
 
@@ -12,9 +12,9 @@
12
12
  #include "include/core/SkSize.h"
13
13
  #include "include/gpu/GpuTypes.h"
14
14
  #include "include/gpu/ganesh/GrTypes.h"
15
- #include "include/private/base/SkAPI.h"
16
- #include "include/private/base/SkAnySubclass.h"
17
- #include "include/private/base/SkDebug.h"
15
+ #include "include/private/SkAPI.h"
16
+ #include "include/private/SkAnySubclass.h"
17
+ #include "include/private/SkDebug.h"
18
18
  #include "include/private/gpu/ganesh/GrTypesPriv.h"
19
19
 
20
20
  class GrBackendFormatData;