@shopify/react-native-skia 0.1.192 → 0.1.194

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) 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/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +104 -103
  5. package/cpp/api/JsiSkImage.h +25 -4
  6. package/cpp/api/JsiSkImageFactory.h +2 -2
  7. package/cpp/api/JsiSkPath.h +8 -6
  8. package/cpp/rnskia/dom/base/Declaration.h +5 -7
  9. package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +3 -1
  10. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
  11. package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
  12. package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
  13. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
  14. package/cpp/skia/include/android/SkImageAndroid.h +101 -0
  15. package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
  16. package/cpp/skia/include/codec/SkCodec.h +31 -17
  17. package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
  18. package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
  19. package/cpp/skia/include/config/SkUserConfig.h +61 -29
  20. package/cpp/skia/include/core/SkBitmap.h +25 -25
  21. package/cpp/skia/include/core/SkBlurTypes.h +0 -2
  22. package/cpp/skia/include/core/SkCanvas.h +32 -15
  23. package/cpp/skia/include/core/SkCapabilities.h +2 -2
  24. package/cpp/skia/include/core/SkColor.h +2 -0
  25. package/cpp/skia/include/core/SkColorPriv.h +19 -4
  26. package/cpp/skia/include/core/SkColorSpace.h +14 -17
  27. package/cpp/skia/include/core/SkColorType.h +1 -0
  28. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  29. package/cpp/skia/include/core/SkCoverageMode.h +0 -2
  30. package/cpp/skia/include/core/SkCubicMap.h +2 -0
  31. package/cpp/skia/include/core/SkData.h +5 -2
  32. package/cpp/skia/include/core/SkDataTable.h +6 -2
  33. package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
  34. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
  35. package/cpp/skia/include/core/SkDrawable.h +10 -2
  36. package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
  37. package/cpp/skia/include/core/SkFlattenable.h +4 -2
  38. package/cpp/skia/include/core/SkFont.h +1 -0
  39. package/cpp/skia/include/core/SkFontMetrics.h +1 -0
  40. package/cpp/skia/include/core/SkFontMgr.h +20 -29
  41. package/cpp/skia/include/core/SkFontStyle.h +4 -1
  42. package/cpp/skia/include/core/SkGraphics.h +21 -18
  43. package/cpp/skia/include/core/SkICC.h +3 -13
  44. package/cpp/skia/include/core/SkImage.h +395 -717
  45. package/cpp/skia/include/core/SkImageGenerator.h +19 -74
  46. package/cpp/skia/include/core/SkImageInfo.h +7 -5
  47. package/cpp/skia/include/core/SkM44.h +11 -0
  48. package/cpp/skia/include/core/SkMaskFilter.h +6 -3
  49. package/cpp/skia/include/core/SkMatrix.h +14 -4
  50. package/cpp/skia/include/core/SkMesh.h +52 -18
  51. package/cpp/skia/include/core/SkMilestone.h +1 -1
  52. package/cpp/skia/include/core/SkPaint.h +11 -34
  53. package/cpp/skia/include/core/SkPath.h +23 -4
  54. package/cpp/skia/include/core/SkPathBuilder.h +13 -5
  55. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  56. package/cpp/skia/include/core/SkPathTypes.h +0 -2
  57. package/cpp/skia/include/core/SkPathUtils.h +42 -0
  58. package/cpp/skia/include/core/SkPicture.h +3 -2
  59. package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
  60. package/cpp/skia/include/core/SkPixelRef.h +4 -8
  61. package/cpp/skia/include/core/SkPixmap.h +12 -20
  62. package/cpp/skia/include/core/SkPoint.h +4 -2
  63. package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
  64. package/cpp/skia/include/core/SkRRect.h +5 -1
  65. package/cpp/skia/include/core/SkRect.h +6 -3
  66. package/cpp/skia/include/core/SkRefCnt.h +9 -14
  67. package/cpp/skia/include/core/SkRegion.h +1 -1
  68. package/cpp/skia/include/core/SkScalar.h +2 -4
  69. package/cpp/skia/include/core/SkSerialProcs.h +18 -10
  70. package/cpp/skia/include/core/SkShader.h +1 -64
  71. package/cpp/skia/include/core/SkSize.h +2 -0
  72. package/cpp/skia/include/core/SkSpan.h +4 -112
  73. package/cpp/skia/include/core/SkStream.h +11 -12
  74. package/cpp/skia/include/core/SkString.h +9 -25
  75. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  76. package/cpp/skia/include/core/SkSurface.h +83 -61
  77. package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
  78. package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
  79. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  80. package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
  81. package/cpp/skia/include/core/SkTime.h +1 -1
  82. package/cpp/skia/include/core/SkTypeface.h +9 -2
  83. package/cpp/skia/include/core/SkTypes.h +37 -466
  84. package/cpp/skia/include/core/SkVertices.h +2 -0
  85. package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
  86. package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
  87. package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
  88. package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
  89. package/cpp/skia/include/effects/SkGradientShader.h +65 -14
  90. package/cpp/skia/include/effects/SkImageFilters.h +0 -11
  91. package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
  92. package/cpp/skia/include/encode/SkEncoder.h +7 -3
  93. package/cpp/skia/include/encode/SkICC.h +36 -0
  94. package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
  95. package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
  96. package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
  97. package/cpp/skia/include/gpu/GpuTypes.h +23 -1
  98. package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
  99. package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
  100. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
  101. package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
  102. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
  103. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
  104. package/cpp/skia/include/gpu/GrTypes.h +18 -18
  105. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
  106. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
  107. package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
  108. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
  109. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
  110. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  111. package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
  112. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
  113. package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
  114. package/cpp/skia/include/gpu/graphite/Context.h +85 -32
  115. package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
  116. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
  117. package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
  118. package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
  119. package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
  120. package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
  121. package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
  122. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
  123. package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
  124. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  125. package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
  126. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
  127. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
  128. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
  129. package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
  130. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  131. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  132. package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
  133. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  134. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
  135. package/cpp/skia/include/pathops/SkPathOps.h +3 -3
  136. package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
  137. package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
  138. package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
  139. package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
  140. package/cpp/skia/include/private/SkChecksum.h +32 -7
  141. package/cpp/skia/include/private/SkColorData.h +1 -26
  142. package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
  143. package/cpp/skia/include/private/SkGainmapShader.h +53 -0
  144. package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
  145. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
  146. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
  147. package/cpp/skia/include/private/SkOpts_spi.h +3 -1
  148. package/cpp/skia/include/private/SkPathRef.h +64 -47
  149. package/cpp/skia/include/private/SkSLDefines.h +5 -5
  150. package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
  151. package/cpp/skia/include/private/SkSpinlock.h +1 -1
  152. package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
  153. package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
  154. package/cpp/skia/include/private/base/SkAPI.h +52 -0
  155. package/cpp/skia/include/private/base/SkAlign.h +39 -0
  156. package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
  157. package/cpp/skia/include/private/base/SkAssert.h +92 -0
  158. package/cpp/skia/include/private/base/SkAttributes.h +102 -0
  159. package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
  160. package/cpp/skia/include/private/base/SkContainers.h +46 -0
  161. package/cpp/skia/include/private/base/SkDebug.h +27 -0
  162. package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
  163. package/cpp/skia/include/private/base/SkFeatures.h +151 -0
  164. package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
  165. package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
  166. package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
  167. package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
  168. package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
  169. package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
  170. package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
  171. package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
  172. package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
  173. package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
  174. package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
  175. package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
  176. package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
  177. package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
  178. package/cpp/skia/include/private/base/SkTArray.h +694 -0
  179. package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
  180. package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
  181. package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
  182. package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
  183. package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
  184. package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
  185. package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
  186. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
  187. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
  188. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  189. package/cpp/skia/include/private/chromium/Slug.h +0 -9
  190. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
  191. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  192. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
  193. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
  194. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  195. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
  196. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
  197. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
  198. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
  199. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
  200. package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
  201. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
  202. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
  203. package/cpp/skia/include/utils/SkCamera.h +1 -1
  204. package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
  205. package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
  206. package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
  207. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
  208. package/cpp/skia/include/utils/SkParsePath.h +1 -1
  209. package/cpp/skia/modules/skcms/skcms.h +14 -0
  210. package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
  211. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
  212. package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
  213. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
  214. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  215. package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
  216. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
  217. package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
  218. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
  219. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
  220. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  221. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  222. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
  223. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  224. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
  225. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  226. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  227. package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
  228. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  229. package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
  230. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +1 -2
  231. package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
  232. package/libs/android/arm64-v8a/libskia.a +0 -0
  233. package/libs/android/arm64-v8a/libskottie.a +0 -0
  234. package/libs/android/arm64-v8a/libsksg.a +0 -0
  235. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  236. package/libs/android/arm64-v8a/libsvg.a +0 -0
  237. package/libs/android/armeabi-v7a/libskia.a +0 -0
  238. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  239. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  240. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  241. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  242. package/libs/android/x86/libskia.a +0 -0
  243. package/libs/android/x86/libskottie.a +0 -0
  244. package/libs/android/x86/libsksg.a +0 -0
  245. package/libs/android/x86/libskshaper.a +0 -0
  246. package/libs/android/x86/libsvg.a +0 -0
  247. package/libs/android/x86_64/libskia.a +0 -0
  248. package/libs/android/x86_64/libskottie.a +0 -0
  249. package/libs/android/x86_64/libsksg.a +0 -0
  250. package/libs/android/x86_64/libskshaper.a +0 -0
  251. package/libs/android/x86_64/libsvg.a +0 -0
  252. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  253. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  254. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  255. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  256. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  257. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  258. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  259. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  260. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  261. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  262. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  263. package/package.json +1 -1
  264. package/react-native-skia.podspec +1 -1
  265. package/scripts/install-npm.js +11 -1
  266. package/cpp/skia/include/core/SkImageEncoder.h +0 -71
  267. package/cpp/skia/include/gpu/GrConfig.h +0 -53
  268. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
  269. package/cpp/skia/include/private/SkHalf.h +0 -38
  270. package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
  271. package/cpp/skia/include/private/SkSLIRNode.h +0 -64
  272. package/cpp/skia/include/private/SkSLLayout.h +0 -144
  273. package/cpp/skia/include/private/SkSLModifiers.h +0 -178
  274. package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
  275. package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
  276. package/cpp/skia/include/private/SkSLStatement.h +0 -86
  277. package/cpp/skia/include/private/SkSLString.h +0 -41
  278. package/cpp/skia/include/private/SkSLSymbol.h +0 -94
  279. package/cpp/skia/include/private/SkSafe_math.h +0 -52
  280. package/cpp/skia/include/private/SkStringView.h +0 -51
  281. package/cpp/skia/include/private/SkTArray.h +0 -655
  282. package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
  283. package/cpp/skia/include/private/SkVx.h +0 -1026
  284. package/cpp/skia/include/sksl/DSL.h +0 -37
  285. package/cpp/skia/include/sksl/DSLBlock.h +0 -58
  286. package/cpp/skia/include/sksl/DSLCase.h +0 -62
  287. package/cpp/skia/include/sksl/DSLCore.h +0 -492
  288. package/cpp/skia/include/sksl/DSLExpression.h +0 -241
  289. package/cpp/skia/include/sksl/DSLFunction.h +0 -113
  290. package/cpp/skia/include/sksl/DSLLayout.h +0 -92
  291. package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
  292. package/cpp/skia/include/sksl/DSLStatement.h +0 -82
  293. package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
  294. package/cpp/skia/include/sksl/DSLType.h +0 -271
  295. package/cpp/skia/include/sksl/DSLVar.h +0 -231
  296. package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
  297. package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
  298. package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
  299. package/cpp/skia/include/utils/SkRandom.h +0 -169
  300. package/cpp/skia/src/core/SkLRUCache.h +0 -126
  301. package/cpp/skia/src/core/SkTInternalLList.h +0 -302
  302. /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
  303. /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
  304. /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
@@ -9,41 +9,61 @@
9
9
  #define SkSurface_DEFINED
10
10
 
11
11
  #include "include/core/SkImage.h"
12
+ #include "include/core/SkImageInfo.h"
12
13
  #include "include/core/SkPixmap.h"
13
14
  #include "include/core/SkRefCnt.h"
15
+ #include "include/core/SkSamplingOptions.h"
16
+ #include "include/core/SkScalar.h"
14
17
  #include "include/core/SkSurfaceProps.h"
18
+ #include "include/core/SkTypes.h"
15
19
 
16
- #if SK_SUPPORT_GPU
20
+ #if defined(SK_GANESH)
17
21
  #include "include/gpu/GrTypes.h"
22
+ #else
23
+ enum GrSurfaceOrigin: int;
24
+ #endif
25
+
26
+ #if defined(SK_GRAPHITE)
27
+ #include "include/gpu/GpuTypes.h"
28
+ namespace skgpu::graphite {
29
+ class BackendTexture;
30
+ }
18
31
  #endif
19
32
 
20
33
  #if defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 26
21
34
  #include <android/hardware_buffer.h>
35
+ class GrDirectContext;
22
36
  #endif
23
37
 
24
- #if SK_SUPPORT_GPU && defined(SK_METAL)
38
+ #if defined(SK_GANESH) && defined(SK_METAL)
25
39
  #include "include/gpu/mtl/GrMtlTypes.h"
26
40
  #endif
27
41
 
42
+ #include <cstddef>
43
+ #include <cstdint>
44
+ #include <memory>
45
+
46
+ class GrBackendRenderTarget;
47
+ class GrBackendSemaphore;
48
+ class GrBackendTexture;
49
+ class GrRecordingContext;
50
+ class SkBitmap;
28
51
  class SkCanvas;
29
52
  class SkCapabilities;
53
+ class SkColorSpace;
30
54
  class SkDeferredDisplayList;
31
55
  class SkPaint;
32
56
  class SkSurfaceCharacterization;
33
- class GrBackendRenderTarget;
34
- class GrBackendSemaphore;
35
- class GrBackendTexture;
36
- class GrDirectContext;
37
- class GrRecordingContext;
38
- class GrRenderTarget;
39
- enum GrSurfaceOrigin: int;
57
+ enum SkColorType : int;
58
+ struct SkIRect;
59
+ struct SkISize;
40
60
 
41
61
  namespace skgpu {
42
62
  class MutableTextureState;
63
+ enum class Budgeted : bool;
43
64
  }
44
65
 
45
66
  namespace skgpu::graphite {
46
- class BackendTexture;
47
67
  class Recorder;
48
68
  }
49
69
 
@@ -206,7 +226,7 @@ public:
206
226
  backend API (accounting only for use of the texture by this surface). If SkSurface creation
207
227
  fails textureReleaseProc is called before this function returns.
208
228
 
209
- If SK_SUPPORT_GPU is defined as zero, has no effect and returns nullptr.
229
+ If defined(SK_GANESH) is defined as zero, has no effect and returns nullptr.
210
230
 
211
231
  @param context GPU context
212
232
  @param backendTexture texture residing on GPU
@@ -241,7 +261,7 @@ public:
241
261
  backend API (accounting only for use of the render target by this surface). If SkSurface
242
262
  creation fails releaseProc is called before this function returns.
243
263
 
244
- If SK_SUPPORT_GPU is defined as zero, has no effect and returns nullptr.
264
+ If defined(SK_GANESH) is defined as zero, has no effect and returns nullptr.
245
265
 
246
266
  @param context GPU context
247
267
  @param backendRenderTarget GPU intermediate memory buffer
@@ -276,7 +296,7 @@ public:
276
296
 
277
297
  shouldCreateWithMips hints that SkImage returned by makeImageSnapshot() is mip map.
278
298
 
279
- If SK_SUPPORT_GPU is defined as zero, has no effect and returns nullptr.
299
+ If defined(SK_GANESH) is defined as zero, has no effect and returns nullptr.
280
300
 
281
301
  @param context GPU context
282
302
  @param imageInfo width, height, SkColorType, SkAlphaType, SkColorSpace;
@@ -287,9 +307,11 @@ public:
287
307
  @param shouldCreateWithMips hint that SkSurface will host mip map images
288
308
  @return SkSurface if all parameters are valid; otherwise, nullptr
289
309
  */
290
- static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context, SkBudgeted budgeted,
310
+ static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context,
311
+ skgpu::Budgeted budgeted,
291
312
  const SkImageInfo& imageInfo,
292
- int sampleCount, GrSurfaceOrigin surfaceOrigin,
313
+ int sampleCount,
314
+ GrSurfaceOrigin surfaceOrigin,
293
315
  const SkSurfaceProps* surfaceProps,
294
316
  bool shouldCreateWithMips = false);
295
317
 
@@ -314,10 +336,12 @@ public:
314
336
  fonts; may be nullptr
315
337
  @return SkSurface if all parameters are valid; otherwise, nullptr
316
338
  */
317
- static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context, SkBudgeted budgeted,
318
- const SkImageInfo& imageInfo, int sampleCount,
339
+ static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context,
340
+ skgpu::Budgeted budgeted,
341
+ const SkImageInfo& imageInfo,
342
+ int sampleCount,
319
343
  const SkSurfaceProps* surfaceProps) {
320
- #if SK_SUPPORT_GPU
344
+ #if defined(SK_GANESH)
321
345
  return MakeRenderTarget(context, budgeted, imageInfo, sampleCount,
322
346
  kBottomLeft_GrSurfaceOrigin, surfaceProps);
323
347
  #else
@@ -339,9 +363,10 @@ public:
339
363
  of raster surface; width, or height, or both, may be zero
340
364
  @return SkSurface if all parameters are valid; otherwise, nullptr
341
365
  */
342
- static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context, SkBudgeted budgeted,
366
+ static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context,
367
+ skgpu::Budgeted budgeted,
343
368
  const SkImageInfo& imageInfo) {
344
- #if SK_SUPPORT_GPU
369
+ #if defined(SK_GANESH)
345
370
  if (!imageInfo.width() || !imageInfo.height()) {
346
371
  return nullptr;
347
372
  }
@@ -362,8 +387,7 @@ public:
362
387
  */
363
388
  static sk_sp<SkSurface> MakeRenderTarget(GrRecordingContext* context,
364
389
  const SkSurfaceCharacterization& characterization,
365
- SkBudgeted budgeted);
366
-
390
+ skgpu::Budgeted budgeted);
367
391
 
368
392
  #if defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 26
369
393
  /** Private.
@@ -398,7 +422,7 @@ public:
398
422
  );
399
423
  #endif
400
424
 
401
- #ifdef SK_GRAPHITE_ENABLED
425
+ #if defined(SK_GRAPHITE)
402
426
  /**
403
427
  * In Graphite, while clients hold a ref on an SkSurface, the backing gpu object does _not_
404
428
  * count against the budget. Once an SkSurface is freed, the backing gpu object may or may
@@ -408,7 +432,7 @@ public:
408
432
  static sk_sp<SkSurface> MakeGraphite(
409
433
  skgpu::graphite::Recorder*,
410
434
  const SkImageInfo& imageInfo,
411
- skgpu::graphite::Mipmapped = skgpu::graphite::Mipmapped::kNo,
435
+ skgpu::Mipmapped = skgpu::Mipmapped::kNo,
412
436
  const SkSurfaceProps* surfaceProps = nullptr);
413
437
 
414
438
  /**
@@ -430,9 +454,9 @@ public:
430
454
  sk_sp<SkColorSpace> colorSpace,
431
455
  const SkSurfaceProps* props);
432
456
 
433
- #endif // SK_GRAPHITE_ENABLED
457
+ #endif // SK_GRAPHITE
434
458
 
435
- #if SK_SUPPORT_GPU && defined(SK_METAL)
459
+ #if defined(SK_GANESH) && defined(SK_METAL)
436
460
  /** Creates SkSurface from CAMetalLayer.
437
461
  Returned SkSurface takes a reference on the CAMetalLayer. The ref on the layer will be
438
462
  released when the SkSurface is destroyed.
@@ -525,7 +549,7 @@ public:
525
549
 
526
550
  /** Returns an ImageInfo describing the surface.
527
551
  */
528
- SkImageInfo imageInfo();
552
+ virtual SkImageInfo imageInfo() const { return SkImageInfo::MakeUnknown(fWidth, fHeight); }
529
553
 
530
554
  /** Returns unique value identifying the content of SkSurface. Returned value changes
531
555
  each time the content changes. Content is changed by drawing, or by calling
@@ -566,7 +590,7 @@ public:
566
590
  */
567
591
  skgpu::graphite::Recorder* recorder();
568
592
 
569
- #if SK_SUPPORT_GPU
593
+ #if defined(SK_GANESH)
570
594
  enum BackendHandleAccess {
571
595
  kFlushRead_BackendHandleAccess, //!< back-end object is readable
572
596
  kFlushWrite_BackendHandleAccess, //!< back-end object is writable
@@ -669,7 +693,7 @@ public:
669
693
 
670
694
  /** Returns SkImage capturing SkSurface contents. Subsequent drawing to SkSurface contents
671
695
  are not captured. SkImage allocation is accounted for if SkSurface was created with
672
- SkBudgeted::kYes.
696
+ skgpu::Budgeted::kYes.
673
697
 
674
698
  @return SkImage initialized with SkSurface contents
675
699
 
@@ -690,6 +714,34 @@ public:
690
714
  */
691
715
  sk_sp<SkImage> makeImageSnapshot(const SkIRect& bounds);
692
716
 
717
+ #if defined(SK_GRAPHITE)
718
+ /**
719
+ * The 'asImage' and 'makeImageCopy' API/entry points are currently only available for
720
+ * Graphite.
721
+ *
722
+ * In this API, SkSurface no longer supports copy-on-write behavior. Instead, when creating
723
+ * an image for a surface, the client must explicitly indicate if a copy should be made.
724
+ * In both of the below calls the resource backing the surface will never change.
725
+ *
726
+ * The 'asImage' entry point has some major ramifications for the mutability of the
727
+ * returned SkImage. Since the originating surface and the returned image share the
728
+ * same backing, care must be taken by the client to ensure that the contents of the image
729
+ * reflect the desired contents when it is consumed by the gpu.
730
+ * Note: if the backing GPU buffer isn't textureable this method will return null. Graphite
731
+ * will not attempt to make a copy.
732
+ * Note: For 'asImage', the mipmapping of the image will match that of the source surface.
733
+ *
734
+ * The 'makeImageCopy' entry point allows subsetting and the addition of mipmaps (since
735
+ * a copy is already being made).
736
+ *
737
+ * In Graphite, the legacy API call (i.e., makeImageSnapshot) will just always make a copy.
738
+ */
739
+ sk_sp<SkImage> asImage();
740
+
741
+ sk_sp<SkImage> makeImageCopy(const SkIRect* subset = nullptr,
742
+ skgpu::Mipmapped mipmapped = skgpu::Mipmapped::kNo);
743
+ #endif
744
+
693
745
  /** Draws SkSurface contents to canvas, with its top-left corner at (x, y).
694
746
 
695
747
  If SkPaint paint is not nullptr, apply SkColorFilter, alpha, SkImageFilter, and SkBlendMode.
@@ -834,36 +886,6 @@ public:
834
886
  using RescaleGamma = SkImage::RescaleGamma;
835
887
  using RescaleMode = SkImage::RescaleMode;
836
888
 
837
- /** Makes surface pixel data available to caller, possibly asynchronously.
838
-
839
- Currently asynchronous reads are only supported on the GPU backend and only when the
840
- underlying 3D API supports transfer buffers and CPU/GPU synchronization primitives. In all
841
- other cases this operates synchronously.
842
-
843
- Data is read from the source sub-rectangle, then converted to the color space, color type,
844
- and alpha type of 'info'. A 'srcRect' that is not contained by the bounds of the surface
845
- causes failure.
846
-
847
- When the pixel data is ready the caller's ReadPixelsCallback is called with a
848
- AsyncReadResult containing pixel data in the requested color type, alpha type, and color
849
- space. The AsyncReadResult will have count() == 1. Upon failure the callback is called
850
- with nullptr for AsyncReadResult. For a GPU surface this flushes work but a submit must
851
- occur to guarantee a finite time before the callback is called.
852
-
853
- The data is valid for the lifetime of AsyncReadResult with the exception that if the
854
- SkSurface is GPU-backed the data is immediately invalidated if the context is abandoned
855
- or destroyed.
856
-
857
- @param info info of the requested pixels
858
- @param srcRect subrectangle of surface to read
859
- @param callback function to call with result of the read
860
- @param context passed to callback
861
- */
862
- void asyncReadPixels(const SkImageInfo& info,
863
- const SkIRect& srcRect,
864
- ReadPixelsCallback callback,
865
- ReadPixelsContext context);
866
-
867
889
  /** Makes surface pixel data available to caller, possibly asynchronously. It can also rescale
868
890
  the surface pixels.
869
891
 
@@ -994,7 +1016,7 @@ public:
994
1016
  kPresent, //!< back-end surface will be used for presenting to screen
995
1017
  };
996
1018
 
997
- #if SK_SUPPORT_GPU
1019
+ #if defined(SK_GANESH)
998
1020
  /** If a surface is GPU texture backed, is being drawn with MSAA, and there is a resolve
999
1021
  texture, this call will insert a resolve command into the stream of gpu commands. In order
1000
1022
  for the resolve to actually have an effect, the work still needs to be flushed and submitted
@@ -1100,7 +1122,7 @@ public:
1100
1122
  */
1101
1123
  GrSemaphoresSubmitted flush(const GrFlushInfo& info,
1102
1124
  const skgpu::MutableTextureState* newState = nullptr);
1103
- #endif // SK_SUPPORT_GPU
1125
+ #endif // defined(SK_GANESH)
1104
1126
 
1105
1127
  void flush();
1106
1128
 
@@ -17,7 +17,7 @@
17
17
  class SkColorSpace;
18
18
 
19
19
 
20
- #if SK_SUPPORT_GPU
20
+ #if defined(SK_GANESH)
21
21
  #include "include/gpu/GrBackendSurface.h"
22
22
  #include "include/gpu/GrContextThreadSafeProxy.h"
23
23
  #include "include/gpu/GrTypes.h"
@@ -118,7 +118,7 @@ public:
118
118
  bool isCompatible(const GrBackendTexture&) const;
119
119
 
120
120
  private:
121
- friend class SkSurface_Gpu; // for 'set' & 'config'
121
+ friend class SkSurface_Ganesh; // for 'set' & 'config'
122
122
  friend class GrVkSecondaryCBDrawContext; // for 'set' & 'config'
123
123
  friend class GrContextThreadSafeProxy; // for private ctor
124
124
  friend class SkDeferredDisplayListRecorder; // for 'config'
@@ -210,7 +210,7 @@ private:
210
210
  SkSurfaceProps fSurfaceProps;
211
211
  };
212
212
 
213
- #else// !SK_SUPPORT_GPU
213
+ #else// !defined(SK_GANESH)
214
214
  class GrBackendFormat;
215
215
 
216
216
  class SK_API SkSurfaceCharacterization {
@@ -9,6 +9,7 @@
9
9
  #define SkSurfaceProps_DEFINED
10
10
 
11
11
  #include "include/core/SkTypes.h"
12
+ #include "include/private/base/SkTo.h"
12
13
 
13
14
  /**
14
15
  * Description of how the LCD strips are arranged for each pixel. If this is unknown, or the
@@ -53,7 +54,10 @@ public:
53
54
  enum Flags {
54
55
  kUseDeviceIndependentFonts_Flag = 1 << 0,
55
56
  // Use internal MSAA to render to non-MSAA GPU surfaces.
56
- kDynamicMSAA_Flag = 1 << 1
57
+ kDynamicMSAA_Flag = 1 << 1,
58
+ // If set, all rendering will have dithering enabled
59
+ // Currently this only impacts GPU backends
60
+ kAlwaysDither_Flag = 1 << 2,
57
61
  };
58
62
  /** Deprecated alias used by Chromium. Will be removed. */
59
63
  static const Flags kUseDistanceFieldFonts_Flag = kUseDeviceIndependentFonts_Flag;
@@ -76,6 +80,10 @@ public:
76
80
  return SkToBool(fFlags & kUseDeviceIndependentFonts_Flag);
77
81
  }
78
82
 
83
+ bool isAlwaysDither() const {
84
+ return SkToBool(fFlags & kAlwaysDither_Flag);
85
+ }
86
+
79
87
  bool operator==(const SkSurfaceProps& that) const {
80
88
  return fFlags == that.fFlags && fPixelGeometry == that.fPixelGeometry;
81
89
  }
@@ -12,7 +12,7 @@
12
12
  #include "include/core/SkPaint.h"
13
13
  #include "include/core/SkRefCnt.h"
14
14
  #include "include/core/SkString.h"
15
- #include "include/private/SkTemplates.h"
15
+ #include "include/private/base/SkTemplates.h"
16
16
 
17
17
  #include <atomic>
18
18
 
@@ -491,7 +491,7 @@ private:
491
491
  friend class SkTextBlobPriv;
492
492
  friend class SkTextBlobBuilderPriv;
493
493
 
494
- SkAutoTMalloc<uint8_t> fStorage;
494
+ skia_private::AutoTMalloc<uint8_t> fStorage;
495
495
  size_t fStorageSize;
496
496
  size_t fStorageUsed;
497
497
 
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2023 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkTextureCompressionType_DEFINED
9
+ #define SkTextureCompressionType_DEFINED
10
+ /*
11
+ * Skia | GL_COMPRESSED_* | MTLPixelFormat* | VK_FORMAT_*_BLOCK
12
+ * --------------------------------------------------------------------------------------
13
+ * kETC2_RGB8_UNORM | ETC1_RGB8 | ETC2_RGB8 (iOS-only) | ETC2_R8G8B8_UNORM
14
+ * | RGB8_ETC2 | |
15
+ * --------------------------------------------------------------------------------------
16
+ * kBC1_RGB8_UNORM | RGB_S3TC_DXT1_EXT | N/A | BC1_RGB_UNORM
17
+ * --------------------------------------------------------------------------------------
18
+ * kBC1_RGBA8_UNORM | RGBA_S3TC_DXT1_EXT | BC1_RGBA (macOS-only)| BC1_RGBA_UNORM
19
+ */
20
+ enum class SkTextureCompressionType {
21
+ kNone,
22
+ kETC2_RGB8_UNORM,
23
+
24
+ kBC1_RGB8_UNORM,
25
+ kBC1_RGBA8_UNORM,
26
+ kLast = kBC1_RGBA8_UNORM,
27
+ kETC1_RGB8 = kETC2_RGB8_UNORM,
28
+ };
29
+
30
+ #endif
@@ -11,7 +11,7 @@
11
11
  #define SkTime_DEFINED
12
12
 
13
13
  #include "include/core/SkTypes.h"
14
- #include "include/private/SkMacros.h"
14
+ #include "include/private/base/SkMacros.h"
15
15
 
16
16
  #include <cinttypes>
17
17
 
@@ -14,8 +14,8 @@
14
14
  #include "include/core/SkFontTypes.h"
15
15
  #include "include/core/SkRect.h"
16
16
  #include "include/core/SkString.h"
17
- #include "include/private/SkOnce.h"
18
17
  #include "include/private/SkWeakRefCnt.h"
18
+ #include "include/private/base/SkOnce.h"
19
19
 
20
20
  class SkData;
21
21
  class SkDescriptor;
@@ -360,6 +360,12 @@ public:
360
360
  return this->onGetCTFontRef();
361
361
  }
362
362
 
363
+ /* Skia reserves all tags that begin with a lower case letter and 0 */
364
+ using FactoryId = SkFourByteTag;
365
+ static void Register(
366
+ FactoryId id,
367
+ sk_sp<SkTypeface> (*make)(std::unique_ptr<SkStreamAsset>, const SkFontArguments&));
368
+
363
369
  protected:
364
370
  explicit SkTypeface(const SkFontStyle& style, bool isFixedPitch = false);
365
371
  ~SkTypeface() override;
@@ -435,7 +441,8 @@ private:
435
441
  * typefaces that contain a COLR table.
436
442
  */
437
443
  bool glyphMaskNeedsCurrentColor() const;
438
- friend class SkStrikeServerImpl; // glyphMaskNeedsCurrentColor
444
+ friend class SkStrikeServerImpl; // glyphMaskNeedsCurrentColor
445
+ friend class SkTypefaceProxyPrototype; // glyphMaskNeedsCurrentColor
439
446
 
440
447
  /** Retrieve detailed typeface metrics. Used by the PDF backend. */
441
448
  std::unique_ptr<SkAdvancedTypefaceMetrics> getAdvancedMetrics() const;