@shopify/react-native-skia 0.1.191 → 0.1.193

Sign up to get free protection for your applications and to get access to all the features.
Files changed (615) hide show
  1. package/android/CMakeLists.txt +1 -1
  2. package/android/build.gradle +1 -0
  3. package/android/cpp/jni/JniPlatformContext.cpp +1 -1
  4. package/cpp/api/JsiSkColorFilter.h +2 -17
  5. package/cpp/api/JsiSkContourMeasure.h +3 -17
  6. package/cpp/api/JsiSkContourMeasureIter.h +3 -18
  7. package/cpp/api/JsiSkData.h +1 -18
  8. package/cpp/api/JsiSkFont.h +4 -14
  9. package/cpp/api/JsiSkHostObjects.h +85 -10
  10. package/cpp/api/JsiSkImage.h +26 -16
  11. package/cpp/api/JsiSkImageFactory.h +2 -2
  12. package/cpp/api/JsiSkImageFilter.h +1 -17
  13. package/cpp/api/JsiSkMaskFilter.h +1 -17
  14. package/cpp/api/JsiSkMatrix.h +3 -6
  15. package/cpp/api/JsiSkPaint.h +3 -15
  16. package/cpp/api/JsiSkPath.h +10 -21
  17. package/cpp/api/JsiSkPathEffect.h +2 -17
  18. package/cpp/api/JsiSkPicture.h +4 -18
  19. package/cpp/api/JsiSkPictureRecorder.h +4 -1
  20. package/cpp/api/JsiSkPoint.h +6 -1
  21. package/cpp/api/JsiSkRRect.h +6 -1
  22. package/cpp/api/JsiSkRSXform.h +4 -6
  23. package/cpp/api/JsiSkRect.h +6 -2
  24. package/cpp/api/JsiSkRuntimeEffect.h +4 -7
  25. package/cpp/api/JsiSkRuntimeShaderBuilder.h +2 -10
  26. package/cpp/api/JsiSkSVG.h +1 -10
  27. package/cpp/api/JsiSkShader.h +2 -16
  28. package/cpp/api/JsiSkSurface.h +3 -16
  29. package/cpp/api/JsiSkTextBlob.h +2 -18
  30. package/cpp/api/JsiSkTypeface.h +1 -22
  31. package/cpp/api/JsiSkVertices.h +3 -17
  32. package/cpp/rnskia/dom/base/Declaration.h +5 -7
  33. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
  34. package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
  35. package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
  36. package/cpp/rnskia/values/RNSkReadonlyValue.h +2 -2
  37. package/cpp/rnskia/values/RNSkValue.h +1 -1
  38. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
  39. package/cpp/skia/include/android/SkImageAndroid.h +101 -0
  40. package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
  41. package/cpp/skia/include/codec/SkCodec.h +31 -17
  42. package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
  43. package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
  44. package/cpp/skia/include/config/SkUserConfig.h +61 -29
  45. package/cpp/skia/include/core/SkBitmap.h +25 -25
  46. package/cpp/skia/include/core/SkBlurTypes.h +0 -2
  47. package/cpp/skia/include/core/SkCanvas.h +32 -15
  48. package/cpp/skia/include/core/SkCapabilities.h +2 -2
  49. package/cpp/skia/include/core/SkColor.h +2 -0
  50. package/cpp/skia/include/core/SkColorPriv.h +19 -4
  51. package/cpp/skia/include/core/SkColorSpace.h +14 -17
  52. package/cpp/skia/include/core/SkColorType.h +1 -0
  53. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  54. package/cpp/skia/include/core/SkCoverageMode.h +0 -2
  55. package/cpp/skia/include/core/SkCubicMap.h +2 -0
  56. package/cpp/skia/include/core/SkData.h +5 -2
  57. package/cpp/skia/include/core/SkDataTable.h +6 -2
  58. package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
  59. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
  60. package/cpp/skia/include/core/SkDrawable.h +10 -2
  61. package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
  62. package/cpp/skia/include/core/SkFlattenable.h +4 -2
  63. package/cpp/skia/include/core/SkFont.h +1 -0
  64. package/cpp/skia/include/core/SkFontMetrics.h +1 -0
  65. package/cpp/skia/include/core/SkFontMgr.h +20 -29
  66. package/cpp/skia/include/core/SkFontStyle.h +4 -1
  67. package/cpp/skia/include/core/SkGraphics.h +21 -18
  68. package/cpp/skia/include/core/SkICC.h +3 -13
  69. package/cpp/skia/include/core/SkImage.h +395 -717
  70. package/cpp/skia/include/core/SkImageGenerator.h +19 -74
  71. package/cpp/skia/include/core/SkImageInfo.h +7 -5
  72. package/cpp/skia/include/core/SkM44.h +11 -0
  73. package/cpp/skia/include/core/SkMaskFilter.h +6 -3
  74. package/cpp/skia/include/core/SkMatrix.h +14 -4
  75. package/cpp/skia/include/core/SkMesh.h +52 -18
  76. package/cpp/skia/include/core/SkMilestone.h +1 -1
  77. package/cpp/skia/include/core/SkPaint.h +11 -34
  78. package/cpp/skia/include/core/SkPath.h +23 -4
  79. package/cpp/skia/include/core/SkPathBuilder.h +13 -5
  80. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  81. package/cpp/skia/include/core/SkPathTypes.h +0 -2
  82. package/cpp/skia/include/core/SkPathUtils.h +42 -0
  83. package/cpp/skia/include/core/SkPicture.h +3 -2
  84. package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
  85. package/cpp/skia/include/core/SkPixelRef.h +4 -8
  86. package/cpp/skia/include/core/SkPixmap.h +12 -20
  87. package/cpp/skia/include/core/SkPoint.h +4 -2
  88. package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
  89. package/cpp/skia/include/core/SkRRect.h +5 -1
  90. package/cpp/skia/include/core/SkRect.h +6 -3
  91. package/cpp/skia/include/core/SkRefCnt.h +9 -14
  92. package/cpp/skia/include/core/SkRegion.h +1 -1
  93. package/cpp/skia/include/core/SkScalar.h +2 -4
  94. package/cpp/skia/include/core/SkSerialProcs.h +18 -10
  95. package/cpp/skia/include/core/SkShader.h +1 -64
  96. package/cpp/skia/include/core/SkSize.h +2 -0
  97. package/cpp/skia/include/core/SkSpan.h +4 -112
  98. package/cpp/skia/include/core/SkStream.h +11 -12
  99. package/cpp/skia/include/core/SkString.h +9 -25
  100. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  101. package/cpp/skia/include/core/SkSurface.h +83 -61
  102. package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
  103. package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
  104. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  105. package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
  106. package/cpp/skia/include/core/SkTime.h +1 -1
  107. package/cpp/skia/include/core/SkTypeface.h +9 -2
  108. package/cpp/skia/include/core/SkTypes.h +37 -466
  109. package/cpp/skia/include/core/SkVertices.h +2 -0
  110. package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
  111. package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
  112. package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
  113. package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
  114. package/cpp/skia/include/effects/SkGradientShader.h +65 -14
  115. package/cpp/skia/include/effects/SkImageFilters.h +0 -11
  116. package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
  117. package/cpp/skia/include/encode/SkEncoder.h +7 -3
  118. package/cpp/skia/include/encode/SkICC.h +36 -0
  119. package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
  120. package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
  121. package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
  122. package/cpp/skia/include/gpu/GpuTypes.h +23 -1
  123. package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
  124. package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
  125. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
  126. package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
  127. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
  128. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
  129. package/cpp/skia/include/gpu/GrTypes.h +18 -18
  130. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
  131. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
  132. package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
  133. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
  134. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
  135. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  136. package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
  137. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
  138. package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
  139. package/cpp/skia/include/gpu/graphite/Context.h +85 -32
  140. package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
  141. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
  142. package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
  143. package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
  144. package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
  145. package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
  146. package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
  147. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
  148. package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
  149. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  150. package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
  151. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
  152. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
  153. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
  154. package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
  155. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  156. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  157. package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
  158. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  159. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
  160. package/cpp/skia/include/pathops/SkPathOps.h +3 -3
  161. package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
  162. package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
  163. package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
  164. package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
  165. package/cpp/skia/include/private/SkChecksum.h +32 -7
  166. package/cpp/skia/include/private/SkColorData.h +1 -26
  167. package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
  168. package/cpp/skia/include/private/SkGainmapShader.h +53 -0
  169. package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
  170. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
  171. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
  172. package/cpp/skia/include/private/SkOpts_spi.h +3 -1
  173. package/cpp/skia/include/private/SkPathRef.h +64 -47
  174. package/cpp/skia/include/private/SkSLDefines.h +5 -5
  175. package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
  176. package/cpp/skia/include/private/SkSpinlock.h +1 -1
  177. package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
  178. package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
  179. package/cpp/skia/include/private/base/SkAPI.h +52 -0
  180. package/cpp/skia/include/private/base/SkAlign.h +39 -0
  181. package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
  182. package/cpp/skia/include/private/base/SkAssert.h +92 -0
  183. package/cpp/skia/include/private/base/SkAttributes.h +102 -0
  184. package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
  185. package/cpp/skia/include/private/base/SkContainers.h +46 -0
  186. package/cpp/skia/include/private/base/SkDebug.h +27 -0
  187. package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
  188. package/cpp/skia/include/private/base/SkFeatures.h +151 -0
  189. package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
  190. package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
  191. package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
  192. package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
  193. package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
  194. package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
  195. package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
  196. package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
  197. package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
  198. package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
  199. package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
  200. package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
  201. package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
  202. package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
  203. package/cpp/skia/include/private/base/SkTArray.h +694 -0
  204. package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
  205. package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
  206. package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
  207. package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
  208. package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
  209. package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
  210. package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
  211. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
  212. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
  213. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  214. package/cpp/skia/include/private/chromium/Slug.h +0 -9
  215. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
  216. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  217. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
  218. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
  219. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  220. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
  221. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
  222. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
  223. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
  224. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
  225. package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
  226. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
  227. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
  228. package/cpp/skia/include/utils/SkCamera.h +1 -1
  229. package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
  230. package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
  231. package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
  232. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
  233. package/cpp/skia/include/utils/SkParsePath.h +1 -1
  234. package/cpp/skia/modules/skcms/skcms.h +14 -0
  235. package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
  236. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
  237. package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
  238. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
  239. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  240. package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
  241. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
  242. package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
  243. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
  244. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
  245. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  246. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  247. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
  248. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  249. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
  250. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  251. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  252. package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
  253. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  254. package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
  255. package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
  256. package/lib/commonjs/renderer/Canvas.js +17 -1
  257. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  258. package/lib/commonjs/skia/core/Data.d.ts +2 -2
  259. package/lib/commonjs/skia/core/Data.js.map +1 -1
  260. package/lib/commonjs/skia/types/Data/Data.d.ts +2 -2
  261. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  262. package/lib/commonjs/skia/types/Image/Image.d.ts +2 -2
  263. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  264. package/lib/commonjs/skia/types/JsiInstance.d.ts +4 -4
  265. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  266. package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -2
  267. package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
  268. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -2
  269. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  270. package/lib/commonjs/skia/web/Host.d.ts +1 -0
  271. package/lib/commonjs/skia/web/Host.js +2 -0
  272. package/lib/commonjs/skia/web/Host.js.map +1 -1
  273. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +1 -0
  274. package/lib/commonjs/skia/web/JsiSkCanvas.js +6 -0
  275. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  276. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +1 -0
  277. package/lib/commonjs/skia/web/JsiSkColorFilter.js +6 -0
  278. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  279. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +1 -0
  280. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +6 -0
  281. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  282. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  283. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +6 -0
  284. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  285. package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -1
  286. package/lib/commonjs/skia/web/JsiSkData.js +4 -2
  287. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  288. package/lib/commonjs/skia/web/JsiSkFont.d.ts +1 -0
  289. package/lib/commonjs/skia/web/JsiSkFont.js +6 -0
  290. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  291. package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -1
  292. package/lib/commonjs/skia/web/JsiSkImage.js +6 -4
  293. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  294. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +1 -0
  295. package/lib/commonjs/skia/web/JsiSkImageFilter.js +6 -0
  296. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  297. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +1 -0
  298. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +6 -0
  299. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  300. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +1 -0
  301. package/lib/commonjs/skia/web/JsiSkMatrix.js +5 -0
  302. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  303. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
  304. package/lib/commonjs/skia/web/JsiSkPaint.js +6 -0
  305. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  306. package/lib/commonjs/skia/web/JsiSkPath.d.ts +1 -0
  307. package/lib/commonjs/skia/web/JsiSkPath.js +6 -0
  308. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  309. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +1 -0
  310. package/lib/commonjs/skia/web/JsiSkPathEffect.js +6 -0
  311. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  312. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +1 -0
  313. package/lib/commonjs/skia/web/JsiSkPicture.js +6 -1
  314. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  315. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  316. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +6 -0
  317. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  318. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -0
  319. package/lib/commonjs/skia/web/JsiSkPoint.js +5 -0
  320. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  321. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +1 -0
  322. package/lib/commonjs/skia/web/JsiSkRRect.js +5 -0
  323. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  324. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -0
  325. package/lib/commonjs/skia/web/JsiSkRSXform.js +5 -0
  326. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  327. package/lib/commonjs/skia/web/JsiSkRect.d.ts +1 -0
  328. package/lib/commonjs/skia/web/JsiSkRect.js +5 -0
  329. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  330. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  331. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +6 -0
  332. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  333. package/lib/commonjs/skia/web/JsiSkShader.d.ts +1 -0
  334. package/lib/commonjs/skia/web/JsiSkShader.js +6 -0
  335. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  336. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -0
  337. package/lib/commonjs/skia/web/JsiSkSurface.js +6 -0
  338. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  339. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +1 -0
  340. package/lib/commonjs/skia/web/JsiSkTextBlob.js +6 -0
  341. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  342. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -1
  343. package/lib/commonjs/skia/web/JsiSkTypeface.js +6 -4
  344. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  345. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +1 -0
  346. package/lib/commonjs/skia/web/JsiSkVertices.js +6 -0
  347. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  348. package/lib/commonjs/values/hooks/useComputedValue.js +1 -1
  349. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
  350. package/lib/commonjs/values/types.d.ts +1 -1
  351. package/lib/commonjs/values/types.js.map +1 -1
  352. package/lib/commonjs/values/web/RNSkComputedValue.d.ts +1 -1
  353. package/lib/commonjs/values/web/RNSkComputedValue.js +1 -1
  354. package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -1
  355. package/lib/commonjs/values/web/RNSkReadonlyValue.d.ts +1 -1
  356. package/lib/commonjs/values/web/RNSkReadonlyValue.js +1 -1
  357. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
  358. package/lib/commonjs/views/SkiaDomView.web.js +14 -4
  359. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  360. package/lib/commonjs/views/types.d.ts +2 -1
  361. package/lib/commonjs/views/types.js.map +1 -1
  362. package/lib/module/renderer/Canvas.js +15 -1
  363. package/lib/module/renderer/Canvas.js.map +1 -1
  364. package/lib/module/skia/core/Data.d.ts +2 -2
  365. package/lib/module/skia/core/Data.js.map +1 -1
  366. package/lib/module/skia/types/Data/Data.d.ts +2 -2
  367. package/lib/module/skia/types/Data/Data.js.map +1 -1
  368. package/lib/module/skia/types/Image/Image.d.ts +2 -2
  369. package/lib/module/skia/types/Image/Image.js.map +1 -1
  370. package/lib/module/skia/types/JsiInstance.d.ts +4 -4
  371. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  372. package/lib/module/skia/types/SVG/SVG.d.ts +2 -2
  373. package/lib/module/skia/types/SVG/SVG.js.map +1 -1
  374. package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -2
  375. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  376. package/lib/module/skia/web/Host.d.ts +1 -0
  377. package/lib/module/skia/web/Host.js +2 -0
  378. package/lib/module/skia/web/Host.js.map +1 -1
  379. package/lib/module/skia/web/JsiSkCanvas.d.ts +1 -0
  380. package/lib/module/skia/web/JsiSkCanvas.js +6 -0
  381. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  382. package/lib/module/skia/web/JsiSkColorFilter.d.ts +1 -0
  383. package/lib/module/skia/web/JsiSkColorFilter.js +6 -0
  384. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  385. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +1 -0
  386. package/lib/module/skia/web/JsiSkContourMeasure.js +6 -0
  387. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  388. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  389. package/lib/module/skia/web/JsiSkContourMeasureIter.js +6 -0
  390. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  391. package/lib/module/skia/web/JsiSkData.d.ts +1 -1
  392. package/lib/module/skia/web/JsiSkData.js +4 -2
  393. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  394. package/lib/module/skia/web/JsiSkFont.d.ts +1 -0
  395. package/lib/module/skia/web/JsiSkFont.js +6 -0
  396. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  397. package/lib/module/skia/web/JsiSkImage.d.ts +1 -1
  398. package/lib/module/skia/web/JsiSkImage.js +6 -4
  399. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  400. package/lib/module/skia/web/JsiSkImageFilter.d.ts +1 -0
  401. package/lib/module/skia/web/JsiSkImageFilter.js +6 -0
  402. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  403. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +1 -0
  404. package/lib/module/skia/web/JsiSkMaskFilter.js +6 -0
  405. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  406. package/lib/module/skia/web/JsiSkMatrix.d.ts +1 -0
  407. package/lib/module/skia/web/JsiSkMatrix.js +5 -0
  408. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  409. package/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
  410. package/lib/module/skia/web/JsiSkPaint.js +6 -0
  411. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  412. package/lib/module/skia/web/JsiSkPath.d.ts +1 -0
  413. package/lib/module/skia/web/JsiSkPath.js +6 -0
  414. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  415. package/lib/module/skia/web/JsiSkPathEffect.d.ts +1 -0
  416. package/lib/module/skia/web/JsiSkPathEffect.js +6 -0
  417. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  418. package/lib/module/skia/web/JsiSkPicture.d.ts +1 -0
  419. package/lib/module/skia/web/JsiSkPicture.js +6 -0
  420. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  421. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  422. package/lib/module/skia/web/JsiSkPictureRecorder.js +6 -0
  423. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  424. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -0
  425. package/lib/module/skia/web/JsiSkPoint.js +5 -0
  426. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  427. package/lib/module/skia/web/JsiSkRRect.d.ts +1 -0
  428. package/lib/module/skia/web/JsiSkRRect.js +5 -0
  429. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  430. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -0
  431. package/lib/module/skia/web/JsiSkRSXform.js +5 -0
  432. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  433. package/lib/module/skia/web/JsiSkRect.d.ts +1 -0
  434. package/lib/module/skia/web/JsiSkRect.js +5 -0
  435. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  436. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  437. package/lib/module/skia/web/JsiSkRuntimeEffect.js +6 -0
  438. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  439. package/lib/module/skia/web/JsiSkShader.d.ts +1 -0
  440. package/lib/module/skia/web/JsiSkShader.js +6 -0
  441. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  442. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -0
  443. package/lib/module/skia/web/JsiSkSurface.js +6 -0
  444. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  445. package/lib/module/skia/web/JsiSkTextBlob.d.ts +1 -0
  446. package/lib/module/skia/web/JsiSkTextBlob.js +6 -0
  447. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  448. package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -1
  449. package/lib/module/skia/web/JsiSkTypeface.js +6 -4
  450. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  451. package/lib/module/skia/web/JsiSkVertices.d.ts +1 -0
  452. package/lib/module/skia/web/JsiSkVertices.js +6 -0
  453. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  454. package/lib/module/values/hooks/useComputedValue.js +1 -1
  455. package/lib/module/values/hooks/useComputedValue.js.map +1 -1
  456. package/lib/module/values/types.d.ts +1 -1
  457. package/lib/module/values/types.js.map +1 -1
  458. package/lib/module/values/web/RNSkComputedValue.d.ts +1 -1
  459. package/lib/module/values/web/RNSkComputedValue.js +1 -1
  460. package/lib/module/values/web/RNSkComputedValue.js.map +1 -1
  461. package/lib/module/values/web/RNSkReadonlyValue.d.ts +1 -1
  462. package/lib/module/values/web/RNSkReadonlyValue.js +1 -1
  463. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
  464. package/lib/module/views/SkiaDomView.web.js +13 -4
  465. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  466. package/lib/module/views/types.d.ts +2 -1
  467. package/lib/module/views/types.js.map +1 -1
  468. package/lib/typescript/src/skia/core/Data.d.ts +2 -2
  469. package/lib/typescript/src/skia/types/Data/Data.d.ts +2 -2
  470. package/lib/typescript/src/skia/types/Image/Image.d.ts +2 -2
  471. package/lib/typescript/src/skia/types/JsiInstance.d.ts +4 -4
  472. package/lib/typescript/src/skia/types/SVG/SVG.d.ts +2 -2
  473. package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +2 -2
  474. package/lib/typescript/src/skia/web/Host.d.ts +1 -0
  475. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +1 -0
  476. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +1 -0
  477. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +1 -0
  478. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  479. package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -1
  480. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +1 -0
  481. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -1
  482. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +1 -0
  483. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +1 -0
  484. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +1 -0
  485. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -0
  486. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +1 -0
  487. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +1 -0
  488. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +1 -0
  489. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  490. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -0
  491. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +1 -0
  492. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -0
  493. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +1 -0
  494. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  495. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +1 -0
  496. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -0
  497. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +1 -0
  498. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -1
  499. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +1 -0
  500. package/lib/typescript/src/values/types.d.ts +1 -1
  501. package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +1 -1
  502. package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +1 -1
  503. package/lib/typescript/src/views/types.d.ts +2 -1
  504. package/libs/android/arm64-v8a/libskia.a +0 -0
  505. package/libs/android/arm64-v8a/libskottie.a +0 -0
  506. package/libs/android/arm64-v8a/libsksg.a +0 -0
  507. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  508. package/libs/android/arm64-v8a/libsvg.a +0 -0
  509. package/libs/android/armeabi-v7a/libskia.a +0 -0
  510. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  511. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  512. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  513. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  514. package/libs/android/x86/libskia.a +0 -0
  515. package/libs/android/x86/libskottie.a +0 -0
  516. package/libs/android/x86/libsksg.a +0 -0
  517. package/libs/android/x86/libskshaper.a +0 -0
  518. package/libs/android/x86/libsvg.a +0 -0
  519. package/libs/android/x86_64/libskia.a +0 -0
  520. package/libs/android/x86_64/libskottie.a +0 -0
  521. package/libs/android/x86_64/libsksg.a +0 -0
  522. package/libs/android/x86_64/libskshaper.a +0 -0
  523. package/libs/android/x86_64/libsvg.a +0 -0
  524. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  525. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  526. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  527. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  528. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  529. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  530. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  531. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  532. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  533. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  534. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  535. package/package.json +1 -1
  536. package/react-native-skia.podspec +1 -1
  537. package/scripts/install-npm.js +11 -1
  538. package/src/renderer/Canvas.tsx +21 -1
  539. package/src/skia/core/Data.ts +3 -3
  540. package/src/skia/types/Data/Data.ts +2 -2
  541. package/src/skia/types/Image/Image.ts +2 -2
  542. package/src/skia/types/JsiInstance.ts +4 -4
  543. package/src/skia/types/SVG/SVG.ts +2 -2
  544. package/src/skia/types/Typeface/Typeface.ts +2 -2
  545. package/src/skia/web/Host.ts +2 -0
  546. package/src/skia/web/JsiSkCanvas.ts +4 -0
  547. package/src/skia/web/JsiSkColorFilter.ts +4 -0
  548. package/src/skia/web/JsiSkContourMeasure.ts +4 -0
  549. package/src/skia/web/JsiSkContourMeasureIter.ts +4 -0
  550. package/src/skia/web/JsiSkData.ts +3 -3
  551. package/src/skia/web/JsiSkFont.ts +4 -0
  552. package/src/skia/web/JsiSkImage.ts +2 -2
  553. package/src/skia/web/JsiSkImageFilter.ts +4 -0
  554. package/src/skia/web/JsiSkMaskFilter.ts +4 -0
  555. package/src/skia/web/JsiSkMatrix.ts +4 -0
  556. package/src/skia/web/JsiSkPaint.ts +4 -0
  557. package/src/skia/web/JsiSkPath.ts +4 -0
  558. package/src/skia/web/JsiSkPathEffect.ts +4 -0
  559. package/src/skia/web/JsiSkPicture.ts +4 -0
  560. package/src/skia/web/JsiSkPictureRecorder.ts +4 -0
  561. package/src/skia/web/JsiSkPoint.ts +4 -0
  562. package/src/skia/web/JsiSkRRect.ts +4 -0
  563. package/src/skia/web/JsiSkRSXform.ts +4 -0
  564. package/src/skia/web/JsiSkRect.ts +4 -0
  565. package/src/skia/web/JsiSkRuntimeEffect.ts +4 -0
  566. package/src/skia/web/JsiSkShader.ts +4 -0
  567. package/src/skia/web/JsiSkSurface.ts +4 -0
  568. package/src/skia/web/JsiSkTextBlob.ts +4 -0
  569. package/src/skia/web/JsiSkTypeface.ts +2 -2
  570. package/src/skia/web/JsiSkVertices.ts +4 -0
  571. package/src/values/hooks/useComputedValue.ts +1 -1
  572. package/src/values/types.ts +1 -1
  573. package/src/values/web/RNSkComputedValue.ts +1 -1
  574. package/src/values/web/RNSkReadonlyValue.ts +1 -1
  575. package/src/views/SkiaDomView.web.tsx +6 -1
  576. package/src/views/types.ts +2 -1
  577. package/cpp/skia/include/core/SkImageEncoder.h +0 -71
  578. package/cpp/skia/include/gpu/GrConfig.h +0 -53
  579. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
  580. package/cpp/skia/include/private/SkHalf.h +0 -38
  581. package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
  582. package/cpp/skia/include/private/SkSLIRNode.h +0 -64
  583. package/cpp/skia/include/private/SkSLLayout.h +0 -144
  584. package/cpp/skia/include/private/SkSLModifiers.h +0 -178
  585. package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
  586. package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
  587. package/cpp/skia/include/private/SkSLStatement.h +0 -86
  588. package/cpp/skia/include/private/SkSLString.h +0 -41
  589. package/cpp/skia/include/private/SkSLSymbol.h +0 -94
  590. package/cpp/skia/include/private/SkSafe_math.h +0 -52
  591. package/cpp/skia/include/private/SkStringView.h +0 -51
  592. package/cpp/skia/include/private/SkTArray.h +0 -655
  593. package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
  594. package/cpp/skia/include/private/SkVx.h +0 -1026
  595. package/cpp/skia/include/sksl/DSL.h +0 -37
  596. package/cpp/skia/include/sksl/DSLBlock.h +0 -58
  597. package/cpp/skia/include/sksl/DSLCase.h +0 -62
  598. package/cpp/skia/include/sksl/DSLCore.h +0 -492
  599. package/cpp/skia/include/sksl/DSLExpression.h +0 -241
  600. package/cpp/skia/include/sksl/DSLFunction.h +0 -113
  601. package/cpp/skia/include/sksl/DSLLayout.h +0 -92
  602. package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
  603. package/cpp/skia/include/sksl/DSLStatement.h +0 -82
  604. package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
  605. package/cpp/skia/include/sksl/DSLType.h +0 -271
  606. package/cpp/skia/include/sksl/DSLVar.h +0 -231
  607. package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
  608. package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
  609. package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
  610. package/cpp/skia/include/utils/SkRandom.h +0 -169
  611. package/cpp/skia/src/core/SkLRUCache.h +0 -126
  612. package/cpp/skia/src/core/SkTInternalLList.h +0 -302
  613. /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
  614. /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
  615. /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
@@ -62,10 +62,43 @@ public:
62
62
  struct Interpolation {
63
63
  enum class InPremul : bool { kNo = false, kYes = true };
64
64
 
65
- InPremul fInPremul = InPremul::kNo;
65
+ enum class ColorSpace : uint8_t {
66
+ // Default Skia behavior: interpolate in the color space of the destination surface
67
+ kDestination,
68
+
69
+ // https://www.w3.org/TR/css-color-4/#interpolation-space
70
+ kSRGBLinear,
71
+ kLab,
72
+ kOKLab,
73
+ kLCH,
74
+ kOKLCH,
75
+ kSRGB,
76
+ kHSL,
77
+ kHWB,
78
+
79
+ kLastColorSpace = kHWB,
80
+ };
81
+ static constexpr int kColorSpaceCount = static_cast<int>(ColorSpace::kLastColorSpace) + 1;
82
+
83
+ enum class HueMethod : uint8_t {
84
+ // https://www.w3.org/TR/css-color-4/#hue-interpolation
85
+ kShorter,
86
+ kLonger,
87
+ kIncreasing,
88
+ kDecreasing,
89
+
90
+ kLastHueMethod = kDecreasing,
91
+ };
92
+ static constexpr int kHueMethodCount = static_cast<int>(HueMethod::kLastHueMethod) + 1;
93
+
94
+ InPremul fInPremul = InPremul::kNo;
95
+ ColorSpace fColorSpace = ColorSpace::kDestination;
96
+ HueMethod fHueMethod = HueMethod::kShorter; // Only relevant for LCH, OKLCH, HSL, or HWB
66
97
 
67
98
  static Interpolation FromFlags(uint32_t flags) {
68
- return {flags & kInterpolateColorsInPremul_Flag ? InPremul::kYes : InPremul::kNo};
99
+ return {flags & kInterpolateColorsInPremul_Flag ? InPremul::kYes : InPremul::kNo,
100
+ ColorSpace::kDestination,
101
+ HueMethod::kShorter};
69
102
  }
70
103
  };
71
104
 
@@ -76,8 +109,11 @@ public:
76
109
  @param pos May be NULL. array[count] of SkScalars, or NULL, of the relative position of
77
110
  each corresponding color in the colors array. If this is NULL,
78
111
  the the colors are distributed evenly between the start and end point.
79
- If this is not null, the values must begin with 0, end with 1.0, and
80
- intermediate values must be strictly increasing.
112
+ If this is not null, the values must lie between 0.0 and 1.0, and be
113
+ strictly increasing. If the first value is not 0.0, then an additional
114
+ color stop is added at position 0.0, with the same color as colors[0].
115
+ If the the last value is not 1.0, then an additional color stop is added
116
+ at position 1.0, with the same color as colors[count - 1].
81
117
  @param count Must be >=2. The number of colors (and pos if not NULL) entries.
82
118
  @param mode The tiling mode
83
119
 
@@ -95,8 +131,11 @@ public:
95
131
  @param pos May be NULL. array[count] of SkScalars, or NULL, of the relative position of
96
132
  each corresponding color in the colors array. If this is NULL,
97
133
  the the colors are distributed evenly between the start and end point.
98
- If this is not null, the values must begin with 0, end with 1.0, and
99
- intermediate values must be strictly increasing.
134
+ If this is not null, the values must lie between 0.0 and 1.0, and be
135
+ strictly increasing. If the first value is not 0.0, then an additional
136
+ color stop is added at position 0.0, with the same color as colors[0].
137
+ If the the last value is not 1.0, then an additional color stop is added
138
+ at position 1.0, with the same color as colors[count - 1].
100
139
  @param count Must be >=2. The number of colors (and pos if not NULL) entries.
101
140
  @param mode The tiling mode
102
141
 
@@ -123,8 +162,11 @@ public:
123
162
  @param pos May be NULL. The array[count] of SkScalars, or NULL, of the relative position of
124
163
  each corresponding color in the colors array. If this is NULL,
125
164
  the the colors are distributed evenly between the center and edge of the circle.
126
- If this is not null, the values must begin with 0, end with 1.0, and
127
- intermediate values must be strictly increasing.
165
+ If this is not null, the values must lie between 0.0 and 1.0, and be
166
+ strictly increasing. If the first value is not 0.0, then an additional
167
+ color stop is added at position 0.0, with the same color as colors[0].
168
+ If the the last value is not 1.0, then an additional color stop is added
169
+ at position 1.0, with the same color as colors[count - 1].
128
170
  @param count Must be >= 2. The number of colors (and pos if not NULL) entries
129
171
  @param mode The tiling mode
130
172
  */
@@ -141,8 +183,11 @@ public:
141
183
  @param pos May be NULL. The array[count] of SkScalars, or NULL, of the relative position of
142
184
  each corresponding color in the colors array. If this is NULL,
143
185
  the the colors are distributed evenly between the center and edge of the circle.
144
- If this is not null, the values must begin with 0, end with 1.0, and
145
- intermediate values must be strictly increasing.
186
+ If this is not null, the values must lie between 0.0 and 1.0, and be
187
+ strictly increasing. If the first value is not 0.0, then an additional
188
+ color stop is added at position 0.0, with the same color as colors[0].
189
+ If the the last value is not 1.0, then an additional color stop is added
190
+ at position 1.0, with the same color as colors[count - 1].
146
191
  @param count Must be >= 2. The number of colors (and pos if not NULL) entries
147
192
  @param mode The tiling mode
148
193
  */
@@ -214,8 +259,11 @@ public:
214
259
  @param pos May be NULL. The array[count] of SkScalars, or NULL, of the relative
215
260
  position of each corresponding color in the colors array. If this is
216
261
  NULL, then the colors are distributed evenly within the angular range.
217
- If this is not null, the values must begin with 0, end with 1.0, and
218
- intermediate values must be strictly increasing.
262
+ If this is not null, the values must lie between 0.0 and 1.0, and be
263
+ strictly increasing. If the first value is not 0.0, then an additional
264
+ color stop is added at position 0.0, with the same color as colors[0].
265
+ If the the last value is not 1.0, then an additional color stop is added
266
+ at position 1.0, with the same color as colors[count - 1].
219
267
  @param count Must be >= 2. The number of colors (and pos if not NULL) entries
220
268
  @param mode Tiling mode: controls drawing outside of the gradient angular range.
221
269
  @param startAngle Start of the angular range, corresponding to pos == 0.
@@ -250,8 +298,11 @@ public:
250
298
  @param pos May be NULL. The array[count] of SkScalars, or NULL, of the relative
251
299
  position of each corresponding color in the colors array. If this is
252
300
  NULL, then the colors are distributed evenly within the angular range.
253
- If this is not null, the values must begin with 0, end with 1.0, and
254
- intermediate values must be strictly increasing.
301
+ If this is not null, the values must lie between 0.0 and 1.0, and be
302
+ strictly increasing. If the first value is not 0.0, then an additional
303
+ color stop is added at position 0.0, with the same color as colors[0].
304
+ If the the last value is not 1.0, then an additional color stop is added
305
+ at position 1.0, with the same color as colors[count - 1].
255
306
  @param count Must be >= 2. The number of colors (and pos if not NULL) entries
256
307
  @param mode Tiling mode: controls drawing outside of the gradient angular range.
257
308
  @param startAngle Start of the angular range, corresponding to pos == 0.
@@ -310,17 +310,6 @@ public:
310
310
  static sk_sp<SkImageFilter> Offset(SkScalar dx, SkScalar dy, sk_sp<SkImageFilter> input,
311
311
  const CropRect& cropRect = {});
312
312
 
313
- /**
314
- * Create a filter that fills the output with the given paint.
315
- * @param paint The paint to fill
316
- * @param cropRect Optional rectangle that will be filled. If null, the source bitmap's bounds
317
- * are filled even though the source bitmap itself is not used.
318
- *
319
- * DEPRECATED: Use Shader() instead, since many features of SkPaint are ignored when filling
320
- * the target output, and paint color/alpha can be emulated with SkShaders::Color().
321
- */
322
- static sk_sp<SkImageFilter> Paint(const SkPaint& paint, const CropRect& cropRect = {});
323
-
324
313
  /**
325
314
  * Create a filter that produces the SkPicture as its output, drawn into targetRect. Note that
326
315
  * the targetRect is not the same as the SkIRect cropRect that many filters accept. Returns
@@ -16,8 +16,10 @@
16
16
  #include "include/core/SkShader.h"
17
17
  #include "include/core/SkSpan.h"
18
18
  #include "include/core/SkString.h"
19
- #include "include/private/SkOnce.h"
19
+ #include "include/core/SkTypes.h"
20
20
  #include "include/private/SkSLSampleUsage.h"
21
+ #include "include/private/base/SkOnce.h"
22
+ #include "include/private/base/SkTemplates.h"
21
23
 
22
24
  #include <string>
23
25
  #include <optional>
@@ -34,6 +36,7 @@ class SkRuntimeImageFilter;
34
36
 
35
37
  namespace SkSL {
36
38
  class DebugTrace;
39
+ class DebugTracePriv;
37
40
  class ErrorReporter;
38
41
  class FunctionDefinition;
39
42
  struct Program;
@@ -43,7 +46,11 @@ struct ProgramSettings;
43
46
 
44
47
  namespace skvm {
45
48
  class Program;
46
- } // namespace skvm
49
+ }
50
+
51
+ namespace SkSL::RP {
52
+ class Program;
53
+ }
47
54
 
48
55
  /*
49
56
  * SkRuntimeEffect supports creating custom SkShader and SkColorFilter objects using Skia's SkSL
@@ -126,9 +133,9 @@ public:
126
133
  friend class SkRuntimeEffect;
127
134
  friend class SkRuntimeEffectPriv;
128
135
 
129
- // Public SkSL does not allow access to sk_FragCoord. The semantics of that variable are
130
- // confusing, and expose clients to implementation details of saveLayer and image filters.
131
- bool usePrivateRTShaderModule = false;
136
+ // This flag allows Runtime Effects to access Skia implementation details like sk_FragCoord
137
+ // and functions with private identifiers (e.g. $rgb_to_hsl).
138
+ bool allowPrivateAccess = false;
132
139
 
133
140
  // TODO(skia:11209) - Replace this with a promised SkCapabilities?
134
141
  // This flag lifts the ES2 restrictions on Runtime Effects that are gated by the
@@ -276,6 +283,7 @@ private:
276
283
  kSamplesOutsideMain_Flag = 0x10,
277
284
  kUsesColorTransform_Flag = 0x20,
278
285
  kAlwaysOpaque_Flag = 0x40,
286
+ kAlphaUnchanged_Flag = 0x80,
279
287
  };
280
288
 
281
289
  SkRuntimeEffect(std::unique_ptr<SkSL::Program> baseProgram,
@@ -301,15 +309,17 @@ private:
301
309
  bool samplesOutsideMain() const { return (fFlags & kSamplesOutsideMain_Flag); }
302
310
  bool usesColorTransform() const { return (fFlags & kUsesColorTransform_Flag); }
303
311
  bool alwaysOpaque() const { return (fFlags & kAlwaysOpaque_Flag); }
312
+ bool isAlphaUnchanged() const { return (fFlags & kAlphaUnchanged_Flag); }
304
313
 
305
314
  const SkFilterColorProgram* getFilterColorProgram() const;
315
+ const SkSL::RP::Program* getRPProgram(SkSL::DebugTracePriv* debugTrace) const;
306
316
 
307
- #if SK_SUPPORT_GPU
317
+ #if defined(SK_GANESH)
308
318
  friend class GrSkSLFP; // fBaseProgram, fSampleUsages
309
319
  friend class GrGLSLSkSLFP; //
310
320
  #endif
311
321
 
312
- friend class SkRTShader; // fBaseProgram, fMain
322
+ friend class SkRTShader; // fBaseProgram, fMain, fSampleUsages, getRPProgram()
313
323
  friend class SkRuntimeBlender; //
314
324
  friend class SkRuntimeColorFilter; //
315
325
 
@@ -319,6 +329,8 @@ private:
319
329
  uint32_t fHash;
320
330
 
321
331
  std::unique_ptr<SkSL::Program> fBaseProgram;
332
+ std::unique_ptr<SkSL::RP::Program> fRPProgram;
333
+ mutable SkOnce fCompileRPProgramOnce;
322
334
  const SkSL::FunctionDefinition& fMain;
323
335
  std::vector<Uniform> fUniforms;
324
336
  std::vector<Child> fChildren;
@@ -415,6 +427,11 @@ public:
415
427
  BuilderUniform uniform(std::string_view name) { return { this, fEffect->findUniform(name) }; }
416
428
  BuilderChild child(std::string_view name) { return { this, fEffect->findChild(name) }; }
417
429
 
430
+ // Get access to the collated uniforms and children (in the order expected by APIs like
431
+ // makeShader on the effect):
432
+ sk_sp<const SkData> uniforms() { return fUniforms; }
433
+ SkSpan<SkRuntimeEffect::ChildPtr> children() { return fChildren; }
434
+
418
435
  protected:
419
436
  SkRuntimeEffectBuilder() = delete;
420
437
  explicit SkRuntimeEffectBuilder(sk_sp<SkRuntimeEffect> effect)
@@ -432,10 +449,6 @@ protected:
432
449
  SkRuntimeEffectBuilder& operator=(SkRuntimeEffectBuilder&&) = delete;
433
450
  SkRuntimeEffectBuilder& operator=(const SkRuntimeEffectBuilder&) = delete;
434
451
 
435
- sk_sp<const SkData> uniforms() { return fUniforms; }
436
- SkRuntimeEffect::ChildPtr* children() { return fChildren.data(); }
437
- size_t numChildren() { return fChildren.size(); }
438
-
439
452
  private:
440
453
  void* writableUniformData() {
441
454
  if (!fUniforms->unique()) {
@@ -492,6 +505,23 @@ private:
492
505
  friend class SkRuntimeImageFilter;
493
506
  };
494
507
 
508
+ /**
509
+ * SkRuntimeColorFilterBuilder makes it easy to setup and assign uniforms to runtime color filters.
510
+ */
511
+ class SK_API SkRuntimeColorFilterBuilder : public SkRuntimeEffectBuilder {
512
+ public:
513
+ explicit SkRuntimeColorFilterBuilder(sk_sp<SkRuntimeEffect>);
514
+ ~SkRuntimeColorFilterBuilder();
515
+
516
+ SkRuntimeColorFilterBuilder(const SkRuntimeColorFilterBuilder&) = delete;
517
+ SkRuntimeColorFilterBuilder& operator=(const SkRuntimeColorFilterBuilder&) = delete;
518
+
519
+ sk_sp<SkColorFilter> makeColorFilter();
520
+
521
+ private:
522
+ using INHERITED = SkRuntimeEffectBuilder;
523
+ };
524
+
495
525
  /**
496
526
  * SkRuntimeBlendBuilder is a utility to simplify creation and uniform setup of runtime blenders.
497
527
  */
@@ -9,8 +9,12 @@
9
9
  #define SkEncoder_DEFINED
10
10
 
11
11
  #include "include/core/SkPixmap.h"
12
- #include "include/private/SkNoncopyable.h"
13
- #include "include/private/SkTemplates.h"
12
+ #include "include/private/base/SkAPI.h"
13
+ #include "include/private/base/SkNoncopyable.h"
14
+ #include "include/private/base/SkTemplates.h"
15
+
16
+ #include <cstddef>
17
+ #include <cstdint>
14
18
 
15
19
  class SK_API SkEncoder : SkNoncopyable {
16
20
  public:
@@ -53,7 +57,7 @@ protected:
53
57
 
54
58
  const SkPixmap& fSrc;
55
59
  int fCurrRow;
56
- SkAutoTMalloc<uint8_t> fStorage;
60
+ skia_private::AutoTMalloc<uint8_t> fStorage;
57
61
  };
58
62
 
59
63
  #endif
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright 2016 Google Inc.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkICC_DEFINED
9
+ #define SkICC_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/base/SkAPI.h"
13
+
14
+ #include <cstdint>
15
+
16
+ class SkData;
17
+ struct skcms_ICCProfile;
18
+ struct skcms_Matrix3x3;
19
+ struct skcms_TransferFunction;
20
+
21
+ SK_API sk_sp<SkData> SkWriteICCProfile(const skcms_TransferFunction&,
22
+ const skcms_Matrix3x3& toXYZD50);
23
+
24
+ SK_API sk_sp<SkData> SkWriteICCProfile(const skcms_ICCProfile*, const char* description);
25
+
26
+ // Utility function for populating the grid_16 member of skcms_A2B and skcms_B2A
27
+ // structures. This converts a point in XYZD50 to its representation in grid_16_lab.
28
+ // It will write 6 bytes. The behavior of this function matches how skcms will decode
29
+ // values, but might not match the specification, see https://crbug.com/skia/13807.
30
+ SK_API void SkICCFloatXYZD50ToGrid16Lab(const float* float_xyz, uint8_t* grid16_lab);
31
+
32
+ // Utility function for popluating the table_16 member of skcms_Curve structure.
33
+ // This converts a float to its representation in table_16. It will write 2 bytes.
34
+ SK_API void SkICCFloatToTable16(const float f, uint8_t* table_16);
35
+
36
+ #endif//SkICC_DEFINED
@@ -8,90 +8,121 @@
8
8
  #ifndef SkJpegEncoder_DEFINED
9
9
  #define SkJpegEncoder_DEFINED
10
10
 
11
- #include "include/encode/SkEncoder.h"
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/base/SkAPI.h"
12
13
 
13
- class SkJpegEncoderMgr;
14
+ #include <memory>
15
+
16
+ class SkColorSpace;
17
+ class SkData;
18
+ class SkEncoder;
19
+ class SkPixmap;
14
20
  class SkWStream;
21
+ class SkImage;
22
+ class GrDirectContext;
23
+ class SkYUVAPixmaps;
24
+ struct skcms_ICCProfile;
25
+
26
+ namespace SkJpegEncoder {
15
27
 
16
- class SK_API SkJpegEncoder : public SkEncoder {
17
- public:
18
-
19
- enum class AlphaOption {
20
- kIgnore,
21
- kBlendOnBlack,
22
- };
23
-
24
- enum class Downsample {
25
- /**
26
- * Reduction by a factor of two in both the horizontal and vertical directions.
27
- */
28
- k420,
29
-
30
- /**
31
- * Reduction by a factor of two in the horizontal direction.
32
- */
33
- k422,
34
-
35
- /**
36
- * No downsampling.
37
- */
38
- k444,
39
- };
40
-
41
- struct Options {
42
- /**
43
- * |fQuality| must be in [0, 100] where 0 corresponds to the lowest quality.
44
- */
45
- int fQuality = 100;
46
-
47
- /**
48
- * Choose the downsampling factor for the U and V components. This is only
49
- * meaningful if the |src| is not kGray, since kGray will not be encoded as YUV.
50
- *
51
- * Our default value matches the libjpeg-turbo default.
52
- */
53
- Downsample fDownsample = Downsample::k420;
54
-
55
- /**
56
- * Jpegs must be opaque. This instructs the encoder on how to handle input
57
- * images with alpha.
58
- *
59
- * The default is to ignore the alpha channel and treat the image as opaque.
60
- * Another option is to blend the pixels onto a black background before encoding.
61
- * In the second case, the encoder supports linear or legacy blending.
62
- */
63
- AlphaOption fAlphaOption = AlphaOption::kIgnore;
64
- };
28
+ enum class AlphaOption {
29
+ kIgnore,
30
+ kBlendOnBlack,
31
+ };
65
32
 
33
+ enum class Downsample {
66
34
  /**
67
- * Encode the |src| pixels to the |dst| stream.
68
- * |options| may be used to control the encoding behavior.
69
- *
70
- * Returns true on success. Returns false on an invalid or unsupported |src|.
35
+ * Reduction by a factor of two in both the horizontal and vertical directions.
71
36
  */
72
- static bool Encode(SkWStream* dst, const SkPixmap& src, const Options& options);
37
+ k420,
73
38
 
74
39
  /**
75
- * Create a jpeg encoder that will encode the |src| pixels to the |dst| stream.
76
- * |options| may be used to control the encoding behavior.
77
- *
78
- * |dst| is unowned but must remain valid for the lifetime of the object.
79
- *
80
- * This returns nullptr on an invalid or unsupported |src|.
40
+ * Reduction by a factor of two in the horizontal direction.
81
41
  */
82
- static std::unique_ptr<SkEncoder> Make(SkWStream* dst, const SkPixmap& src,
83
- const Options& options);
42
+ k422,
84
43
 
85
- ~SkJpegEncoder() override;
44
+ /**
45
+ * No downsampling.
46
+ */
47
+ k444,
48
+ };
49
+
50
+ struct Options {
51
+ /**
52
+ * |fQuality| must be in [0, 100] where 0 corresponds to the lowest quality.
53
+ */
54
+ int fQuality = 100;
55
+
56
+ /**
57
+ * Choose the downsampling factor for the U and V components. This is only
58
+ * meaningful if the |src| is not kGray, since kGray will not be encoded as YUV.
59
+ * This is ignored in favor of |src|'s subsampling when |src| is an SkYUVAPixmaps.
60
+ *
61
+ * Our default value matches the libjpeg-turbo default.
62
+ */
63
+ Downsample fDownsample = Downsample::k420;
86
64
 
87
- protected:
88
- bool onEncodeRows(int numRows) override;
65
+ /**
66
+ * Jpegs must be opaque. This instructs the encoder on how to handle input
67
+ * images with alpha.
68
+ *
69
+ * The default is to ignore the alpha channel and treat the image as opaque.
70
+ * Another option is to blend the pixels onto a black background before encoding.
71
+ * In the second case, the encoder supports linear or legacy blending.
72
+ */
73
+ AlphaOption fAlphaOption = AlphaOption::kIgnore;
89
74
 
90
- private:
91
- SkJpegEncoder(std::unique_ptr<SkJpegEncoderMgr>, const SkPixmap& src);
75
+ /**
76
+ * Optional XMP metadata.
77
+ */
78
+ const SkData* xmpMetadata = nullptr;
92
79
 
93
- std::unique_ptr<SkJpegEncoderMgr> fEncoderMgr;
94
- using INHERITED = SkEncoder;
80
+ /**
81
+ * An optional ICC profile to override the default behavior.
82
+ *
83
+ * The default behavior is to generate an ICC profile using a primary matrix and
84
+ * analytic transfer function. If the color space of |src| cannot be represented
85
+ * in this way (e.g, it is HLG or PQ), then no profile will be embedded.
86
+ */
87
+ const skcms_ICCProfile* fICCProfile = nullptr;
88
+ const char* fICCProfileDescription = nullptr;
95
89
  };
96
90
 
91
+ /**
92
+ * Encode the |src| pixels to the |dst| stream.
93
+ * |options| may be used to control the encoding behavior.
94
+ *
95
+ * Returns true on success. Returns false on an invalid or unsupported |src|.
96
+ */
97
+ SK_API bool Encode(SkWStream* dst, const SkPixmap& src, const Options& options);
98
+ SK_API bool Encode(SkWStream* dst,
99
+ const SkYUVAPixmaps& src,
100
+ const SkColorSpace* srcColorSpace,
101
+ const Options& options);
102
+
103
+ /**
104
+ * Encode the provided image and return the resulting bytes. If the image was created as
105
+ * a texture-backed image on a GPU context, that |ctx| must be provided so the pixels
106
+ * can be read before being encoded. For raster-backed images, |ctx| can be nullptr.
107
+ * |options| may be used to control the encoding behavior.
108
+ *
109
+ * Returns nullptr if the pixels could not be read or encoding otherwise fails.
110
+ */
111
+ SK_API sk_sp<SkData> Encode(GrDirectContext* ctx, const SkImage* img, const Options& options);
112
+
113
+ /**
114
+ * Create a jpeg encoder that will encode the |src| pixels to the |dst| stream.
115
+ * |options| may be used to control the encoding behavior.
116
+ *
117
+ * |dst| is unowned but must remain valid for the lifetime of the object.
118
+ *
119
+ * This returns nullptr on an invalid or unsupported |src|.
120
+ */
121
+ SK_API std::unique_ptr<SkEncoder> Make(SkWStream* dst, const SkPixmap& src, const Options& options);
122
+ SK_API std::unique_ptr<SkEncoder> Make(SkWStream* dst,
123
+ const SkYUVAPixmaps& src,
124
+ const SkColorSpace* srcColorSpace,
125
+ const Options& options);
126
+ } // namespace SkJpegEncoder
127
+
97
128
  #endif