@shopify/react-native-skia 0.1.192 → 0.1.193

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) 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/JsiSkImage.h +25 -4
  5. package/cpp/api/JsiSkImageFactory.h +2 -2
  6. package/cpp/api/JsiSkPath.h +8 -6
  7. package/cpp/rnskia/dom/base/Declaration.h +5 -7
  8. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
  9. package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
  10. package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
  11. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
  12. package/cpp/skia/include/android/SkImageAndroid.h +101 -0
  13. package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
  14. package/cpp/skia/include/codec/SkCodec.h +31 -17
  15. package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
  16. package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
  17. package/cpp/skia/include/config/SkUserConfig.h +61 -29
  18. package/cpp/skia/include/core/SkBitmap.h +25 -25
  19. package/cpp/skia/include/core/SkBlurTypes.h +0 -2
  20. package/cpp/skia/include/core/SkCanvas.h +32 -15
  21. package/cpp/skia/include/core/SkCapabilities.h +2 -2
  22. package/cpp/skia/include/core/SkColor.h +2 -0
  23. package/cpp/skia/include/core/SkColorPriv.h +19 -4
  24. package/cpp/skia/include/core/SkColorSpace.h +14 -17
  25. package/cpp/skia/include/core/SkColorType.h +1 -0
  26. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  27. package/cpp/skia/include/core/SkCoverageMode.h +0 -2
  28. package/cpp/skia/include/core/SkCubicMap.h +2 -0
  29. package/cpp/skia/include/core/SkData.h +5 -2
  30. package/cpp/skia/include/core/SkDataTable.h +6 -2
  31. package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
  32. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
  33. package/cpp/skia/include/core/SkDrawable.h +10 -2
  34. package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
  35. package/cpp/skia/include/core/SkFlattenable.h +4 -2
  36. package/cpp/skia/include/core/SkFont.h +1 -0
  37. package/cpp/skia/include/core/SkFontMetrics.h +1 -0
  38. package/cpp/skia/include/core/SkFontMgr.h +20 -29
  39. package/cpp/skia/include/core/SkFontStyle.h +4 -1
  40. package/cpp/skia/include/core/SkGraphics.h +21 -18
  41. package/cpp/skia/include/core/SkICC.h +3 -13
  42. package/cpp/skia/include/core/SkImage.h +395 -717
  43. package/cpp/skia/include/core/SkImageGenerator.h +19 -74
  44. package/cpp/skia/include/core/SkImageInfo.h +7 -5
  45. package/cpp/skia/include/core/SkM44.h +11 -0
  46. package/cpp/skia/include/core/SkMaskFilter.h +6 -3
  47. package/cpp/skia/include/core/SkMatrix.h +14 -4
  48. package/cpp/skia/include/core/SkMesh.h +52 -18
  49. package/cpp/skia/include/core/SkMilestone.h +1 -1
  50. package/cpp/skia/include/core/SkPaint.h +11 -34
  51. package/cpp/skia/include/core/SkPath.h +23 -4
  52. package/cpp/skia/include/core/SkPathBuilder.h +13 -5
  53. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  54. package/cpp/skia/include/core/SkPathTypes.h +0 -2
  55. package/cpp/skia/include/core/SkPathUtils.h +42 -0
  56. package/cpp/skia/include/core/SkPicture.h +3 -2
  57. package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
  58. package/cpp/skia/include/core/SkPixelRef.h +4 -8
  59. package/cpp/skia/include/core/SkPixmap.h +12 -20
  60. package/cpp/skia/include/core/SkPoint.h +4 -2
  61. package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
  62. package/cpp/skia/include/core/SkRRect.h +5 -1
  63. package/cpp/skia/include/core/SkRect.h +6 -3
  64. package/cpp/skia/include/core/SkRefCnt.h +9 -14
  65. package/cpp/skia/include/core/SkRegion.h +1 -1
  66. package/cpp/skia/include/core/SkScalar.h +2 -4
  67. package/cpp/skia/include/core/SkSerialProcs.h +18 -10
  68. package/cpp/skia/include/core/SkShader.h +1 -64
  69. package/cpp/skia/include/core/SkSize.h +2 -0
  70. package/cpp/skia/include/core/SkSpan.h +4 -112
  71. package/cpp/skia/include/core/SkStream.h +11 -12
  72. package/cpp/skia/include/core/SkString.h +9 -25
  73. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  74. package/cpp/skia/include/core/SkSurface.h +83 -61
  75. package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
  76. package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
  77. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  78. package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
  79. package/cpp/skia/include/core/SkTime.h +1 -1
  80. package/cpp/skia/include/core/SkTypeface.h +9 -2
  81. package/cpp/skia/include/core/SkTypes.h +37 -466
  82. package/cpp/skia/include/core/SkVertices.h +2 -0
  83. package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
  84. package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
  85. package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
  86. package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
  87. package/cpp/skia/include/effects/SkGradientShader.h +65 -14
  88. package/cpp/skia/include/effects/SkImageFilters.h +0 -11
  89. package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
  90. package/cpp/skia/include/encode/SkEncoder.h +7 -3
  91. package/cpp/skia/include/encode/SkICC.h +36 -0
  92. package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
  93. package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
  94. package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
  95. package/cpp/skia/include/gpu/GpuTypes.h +23 -1
  96. package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
  97. package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
  98. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
  99. package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
  100. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
  101. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
  102. package/cpp/skia/include/gpu/GrTypes.h +18 -18
  103. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
  104. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
  105. package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
  106. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
  107. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
  108. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  109. package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
  110. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
  111. package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
  112. package/cpp/skia/include/gpu/graphite/Context.h +85 -32
  113. package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
  114. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
  115. package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
  116. package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
  117. package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
  118. package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
  119. package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
  120. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
  121. package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
  122. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  123. package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
  124. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
  125. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
  126. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
  127. package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
  128. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  129. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  130. package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
  131. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  132. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
  133. package/cpp/skia/include/pathops/SkPathOps.h +3 -3
  134. package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
  135. package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
  136. package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
  137. package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
  138. package/cpp/skia/include/private/SkChecksum.h +32 -7
  139. package/cpp/skia/include/private/SkColorData.h +1 -26
  140. package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
  141. package/cpp/skia/include/private/SkGainmapShader.h +53 -0
  142. package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
  143. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
  144. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
  145. package/cpp/skia/include/private/SkOpts_spi.h +3 -1
  146. package/cpp/skia/include/private/SkPathRef.h +64 -47
  147. package/cpp/skia/include/private/SkSLDefines.h +5 -5
  148. package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
  149. package/cpp/skia/include/private/SkSpinlock.h +1 -1
  150. package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
  151. package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
  152. package/cpp/skia/include/private/base/SkAPI.h +52 -0
  153. package/cpp/skia/include/private/base/SkAlign.h +39 -0
  154. package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
  155. package/cpp/skia/include/private/base/SkAssert.h +92 -0
  156. package/cpp/skia/include/private/base/SkAttributes.h +102 -0
  157. package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
  158. package/cpp/skia/include/private/base/SkContainers.h +46 -0
  159. package/cpp/skia/include/private/base/SkDebug.h +27 -0
  160. package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
  161. package/cpp/skia/include/private/base/SkFeatures.h +151 -0
  162. package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
  163. package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
  164. package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
  165. package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
  166. package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
  167. package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
  168. package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
  169. package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
  170. package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
  171. package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
  172. package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
  173. package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
  174. package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
  175. package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
  176. package/cpp/skia/include/private/base/SkTArray.h +694 -0
  177. package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
  178. package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
  179. package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
  180. package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
  181. package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
  182. package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
  183. package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
  184. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
  185. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
  186. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  187. package/cpp/skia/include/private/chromium/Slug.h +0 -9
  188. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
  189. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  190. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
  191. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
  192. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  193. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
  194. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
  195. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
  196. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
  197. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
  198. package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
  199. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
  200. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
  201. package/cpp/skia/include/utils/SkCamera.h +1 -1
  202. package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
  203. package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
  204. package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
  205. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
  206. package/cpp/skia/include/utils/SkParsePath.h +1 -1
  207. package/cpp/skia/modules/skcms/skcms.h +14 -0
  208. package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
  209. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
  210. package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
  211. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
  212. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  213. package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
  214. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
  215. package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
  216. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
  217. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
  218. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  219. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  220. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
  221. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  222. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
  223. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  224. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  225. package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
  226. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  227. package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
  228. package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
  229. package/libs/android/arm64-v8a/libskia.a +0 -0
  230. package/libs/android/arm64-v8a/libskottie.a +0 -0
  231. package/libs/android/arm64-v8a/libsksg.a +0 -0
  232. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  233. package/libs/android/arm64-v8a/libsvg.a +0 -0
  234. package/libs/android/armeabi-v7a/libskia.a +0 -0
  235. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  236. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  237. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  238. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  239. package/libs/android/x86/libskia.a +0 -0
  240. package/libs/android/x86/libskottie.a +0 -0
  241. package/libs/android/x86/libsksg.a +0 -0
  242. package/libs/android/x86/libskshaper.a +0 -0
  243. package/libs/android/x86/libsvg.a +0 -0
  244. package/libs/android/x86_64/libskia.a +0 -0
  245. package/libs/android/x86_64/libskottie.a +0 -0
  246. package/libs/android/x86_64/libsksg.a +0 -0
  247. package/libs/android/x86_64/libskshaper.a +0 -0
  248. package/libs/android/x86_64/libsvg.a +0 -0
  249. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  250. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  251. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  252. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  253. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  254. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  255. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  256. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  257. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  258. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  259. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  260. package/package.json +1 -1
  261. package/react-native-skia.podspec +1 -1
  262. package/scripts/install-npm.js +11 -1
  263. package/cpp/skia/include/core/SkImageEncoder.h +0 -71
  264. package/cpp/skia/include/gpu/GrConfig.h +0 -53
  265. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
  266. package/cpp/skia/include/private/SkHalf.h +0 -38
  267. package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
  268. package/cpp/skia/include/private/SkSLIRNode.h +0 -64
  269. package/cpp/skia/include/private/SkSLLayout.h +0 -144
  270. package/cpp/skia/include/private/SkSLModifiers.h +0 -178
  271. package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
  272. package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
  273. package/cpp/skia/include/private/SkSLStatement.h +0 -86
  274. package/cpp/skia/include/private/SkSLString.h +0 -41
  275. package/cpp/skia/include/private/SkSLSymbol.h +0 -94
  276. package/cpp/skia/include/private/SkSafe_math.h +0 -52
  277. package/cpp/skia/include/private/SkStringView.h +0 -51
  278. package/cpp/skia/include/private/SkTArray.h +0 -655
  279. package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
  280. package/cpp/skia/include/private/SkVx.h +0 -1026
  281. package/cpp/skia/include/sksl/DSL.h +0 -37
  282. package/cpp/skia/include/sksl/DSLBlock.h +0 -58
  283. package/cpp/skia/include/sksl/DSLCase.h +0 -62
  284. package/cpp/skia/include/sksl/DSLCore.h +0 -492
  285. package/cpp/skia/include/sksl/DSLExpression.h +0 -241
  286. package/cpp/skia/include/sksl/DSLFunction.h +0 -113
  287. package/cpp/skia/include/sksl/DSLLayout.h +0 -92
  288. package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
  289. package/cpp/skia/include/sksl/DSLStatement.h +0 -82
  290. package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
  291. package/cpp/skia/include/sksl/DSLType.h +0 -271
  292. package/cpp/skia/include/sksl/DSLVar.h +0 -231
  293. package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
  294. package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
  295. package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
  296. package/cpp/skia/include/utils/SkRandom.h +0 -169
  297. package/cpp/skia/src/core/SkLRUCache.h +0 -126
  298. package/cpp/skia/src/core/SkTInternalLList.h +0 -302
  299. /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
  300. /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
  301. /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
@@ -1,178 +0,0 @@
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 SKSL_MODIFIERS
9
- #define SKSL_MODIFIERS
10
-
11
- #include "include/private/SkSLLayout.h"
12
-
13
- #include <cstddef>
14
- #include <memory>
15
- #include <string>
16
-
17
- namespace SkSL {
18
-
19
- class Context;
20
- class Position;
21
-
22
- /**
23
- * A set of modifier keywords (in, out, uniform, etc.) appearing before a declaration.
24
- */
25
- struct Modifiers {
26
- /**
27
- * OpenGL requires modifiers to be in a strict order:
28
- * - invariant-qualifier: (invariant)
29
- * - interpolation-qualifier: flat, noperspective, (smooth)
30
- * - storage-qualifier: const, uniform
31
- * - parameter-qualifier: in, out, inout
32
- * - precision-qualifier: highp, mediump, lowp
33
- *
34
- * SkSL does not have `invariant` or `smooth`.
35
- */
36
-
37
- enum Flag {
38
- kNo_Flag = 0,
39
- // Real GLSL modifiers
40
- kFlat_Flag = 1 << 0,
41
- kNoPerspective_Flag = 1 << 1,
42
- kConst_Flag = 1 << 2,
43
- kUniform_Flag = 1 << 3,
44
- kIn_Flag = 1 << 4,
45
- kOut_Flag = 1 << 5,
46
- kHighp_Flag = 1 << 6,
47
- kMediump_Flag = 1 << 7,
48
- kLowp_Flag = 1 << 8,
49
- kReadOnly_Flag = 1 << 9,
50
- kWriteOnly_Flag = 1 << 10,
51
- kBuffer_Flag = 1 << 11,
52
- // We use the Metal name for this one (corresponds to the GLSL 'shared' modifier)
53
- kThreadgroup_Flag = 1 << 12,
54
- // SkSL extensions, not present in GLSL
55
- kExport_Flag = 1 << 13,
56
- kES3_Flag = 1 << 14,
57
- kPure_Flag = 1 << 15,
58
- kInline_Flag = 1 << 16,
59
- kNoInline_Flag = 1 << 17,
60
- };
61
-
62
- Modifiers()
63
- : fLayout(Layout())
64
- , fFlags(0) {}
65
-
66
- Modifiers(const Layout& layout, int flags)
67
- : fLayout(layout)
68
- , fFlags(flags) {}
69
-
70
- std::string description() const {
71
- return fLayout.description() + DescribeFlags(fFlags) + " ";
72
- }
73
-
74
- static std::string DescribeFlags(int flags) {
75
- // SkSL extensions
76
- std::string result;
77
- if (flags & kExport_Flag) {
78
- result += "$export ";
79
- }
80
- if (flags & kES3_Flag) {
81
- result += "$es3 ";
82
- }
83
- if (flags & kPure_Flag) {
84
- result += "$pure ";
85
- }
86
- if (flags & kInline_Flag) {
87
- result += "inline ";
88
- }
89
- if (flags & kNoInline_Flag) {
90
- result += "noinline ";
91
- }
92
-
93
- // Real GLSL qualifiers (must be specified in order in GLSL 4.1 and below)
94
- if (flags & kFlat_Flag) {
95
- result += "flat ";
96
- }
97
- if (flags & kNoPerspective_Flag) {
98
- result += "noperspective ";
99
- }
100
- if (flags & kConst_Flag) {
101
- result += "const ";
102
- }
103
- if (flags & kUniform_Flag) {
104
- result += "uniform ";
105
- }
106
- if ((flags & kIn_Flag) && (flags & kOut_Flag)) {
107
- result += "inout ";
108
- } else if (flags & kIn_Flag) {
109
- result += "in ";
110
- } else if (flags & kOut_Flag) {
111
- result += "out ";
112
- }
113
- if (flags & kHighp_Flag) {
114
- result += "highp ";
115
- }
116
- if (flags & kMediump_Flag) {
117
- result += "mediump ";
118
- }
119
- if (flags & kLowp_Flag) {
120
- result += "lowp ";
121
- }
122
- if (flags & kReadOnly_Flag) {
123
- result += "readonly ";
124
- }
125
- if (flags & kWriteOnly_Flag) {
126
- result += "writeonly ";
127
- }
128
- if (flags & kBuffer_Flag) {
129
- result += "buffer ";
130
- }
131
-
132
- // We're using a non-GLSL name for this one; the GLSL equivalent is "shared"
133
- if (flags & kThreadgroup_Flag) {
134
- result += "threadgroup ";
135
- }
136
-
137
- if (!result.empty()) {
138
- result.pop_back();
139
- }
140
- return result;
141
- }
142
-
143
- bool operator==(const Modifiers& other) const {
144
- return fLayout == other.fLayout && fFlags == other.fFlags;
145
- }
146
-
147
- bool operator!=(const Modifiers& other) const {
148
- return !(*this == other);
149
- }
150
-
151
- /**
152
- * Verifies that only permitted modifiers and layout flags are included. Reports errors and
153
- * returns false in the event of a violation.
154
- */
155
- bool checkPermitted(const Context& context,
156
- Position pos,
157
- int permittedModifierFlags,
158
- int permittedLayoutFlags) const;
159
-
160
- Layout fLayout;
161
- int fFlags;
162
- };
163
-
164
- } // namespace SkSL
165
-
166
- namespace std {
167
-
168
- template <>
169
- struct hash<SkSL::Modifiers> {
170
- size_t operator()(const SkSL::Modifiers& key) const {
171
- return (size_t) key.fFlags ^ ((size_t) key.fLayout.fFlags << 8) ^
172
- ((size_t) key.fLayout.fBuiltin << 16);
173
- }
174
- };
175
-
176
- } // namespace std
177
-
178
- #endif
@@ -1,77 +0,0 @@
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 SKSL_PROGRAMELEMENT
9
- #define SKSL_PROGRAMELEMENT
10
-
11
- #include "include/private/SkSLIRNode.h"
12
-
13
- #include <memory>
14
-
15
- namespace SkSL {
16
-
17
- /**
18
- * Represents a top-level element (e.g. function or global variable) in a program.
19
- */
20
- class ProgramElement : public IRNode {
21
- public:
22
- enum class Kind {
23
- kExtension = 0,
24
- kFunction,
25
- kFunctionPrototype,
26
- kGlobalVar,
27
- kInterfaceBlock,
28
- kModifiers,
29
- kStructDefinition,
30
-
31
- kFirst = kExtension,
32
- kLast = kStructDefinition
33
- };
34
-
35
- ProgramElement(Position pos, Kind kind)
36
- : INHERITED(pos, (int) kind) {
37
- SkASSERT(kind >= Kind::kFirst && kind <= Kind::kLast);
38
- }
39
-
40
- Kind kind() const {
41
- return (Kind) fKind;
42
- }
43
-
44
- /**
45
- * Use is<T> to check the type of a program element.
46
- * e.g. replace `el.kind() == ProgramElement::Kind::kExtension` with `el.is<Extension>()`.
47
- */
48
- template <typename T>
49
- bool is() const {
50
- return this->kind() == T::kProgramElementKind;
51
- }
52
-
53
- /**
54
- * Use as<T> to downcast program elements. e.g. replace `(Extension&) el` with
55
- * `el.as<Extension>()`.
56
- */
57
- template <typename T>
58
- const T& as() const {
59
- SkASSERT(this->is<T>());
60
- return static_cast<const T&>(*this);
61
- }
62
-
63
- template <typename T>
64
- T& as() {
65
- SkASSERT(this->is<T>());
66
- return static_cast<T&>(*this);
67
- }
68
-
69
- virtual std::unique_ptr<ProgramElement> clone() const = 0;
70
-
71
- private:
72
- using INHERITED = IRNode;
73
- };
74
-
75
- } // namespace SkSL
76
-
77
- #endif
@@ -1,35 +0,0 @@
1
- /*
2
- * Copyright 2021 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 SkSLProgramKind_DEFINED
9
- #define SkSLProgramKind_DEFINED
10
-
11
- #include <cinttypes>
12
-
13
- namespace SkSL {
14
-
15
- /**
16
- * SkSL supports several different program kinds.
17
- */
18
- enum class ProgramKind : int8_t {
19
- kFragment,
20
- kVertex,
21
- kCompute,
22
- kGraphiteFragment,
23
- kGraphiteVertex,
24
- kRuntimeColorFilter, // Runtime effect only suitable as SkColorFilter
25
- kRuntimeShader, // " " " " " SkShader
26
- kRuntimeBlender, // " " " " " SkBlender
27
- kPrivateRuntimeShader, // Runtime shader with public restrictions lifted
28
- kMeshVertex, // Vertex portion of a custom mesh
29
- kMeshFragment, // Fragment " " " " "
30
- kGeneric,
31
- };
32
-
33
- } // namespace SkSL
34
-
35
- #endif
@@ -1,86 +0,0 @@
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 SKSL_STATEMENT
9
- #define SKSL_STATEMENT
10
-
11
- #include "include/private/SkSLIRNode.h"
12
- #include "include/private/SkSLSymbol.h"
13
-
14
- namespace SkSL {
15
-
16
- /**
17
- * Abstract supertype of all statements.
18
- */
19
- class Statement : public IRNode {
20
- public:
21
- enum Kind {
22
- kBlock = (int) Symbol::Kind::kLast + 1,
23
- kBreak,
24
- kContinue,
25
- kDiscard,
26
- kDo,
27
- kExpression,
28
- kFor,
29
- kIf,
30
- kNop,
31
- kReturn,
32
- kSwitch,
33
- kSwitchCase,
34
- kVarDeclaration,
35
-
36
- kFirst = kBlock,
37
- kLast = kVarDeclaration,
38
- };
39
-
40
- Statement(Position pos, Kind kind)
41
- : INHERITED(pos, (int) kind) {
42
- SkASSERT(kind >= Kind::kFirst && kind <= Kind::kLast);
43
- }
44
-
45
- Kind kind() const {
46
- return (Kind) fKind;
47
- }
48
-
49
- /**
50
- * Use is<T> to check the type of a statement.
51
- * e.g. replace `s.kind() == Statement::Kind::kReturn` with `s.is<ReturnStatement>()`.
52
- */
53
- template <typename T>
54
- bool is() const {
55
- return this->fKind == T::kStatementKind;
56
- }
57
-
58
- /**
59
- * Use as<T> to downcast statements.
60
- * e.g. replace `(ReturnStatement&) s` with `s.as<ReturnStatement>()`.
61
- */
62
- template <typename T>
63
- const T& as() const {
64
- SkASSERT(this->is<T>());
65
- return static_cast<const T&>(*this);
66
- }
67
-
68
- template <typename T>
69
- T& as() {
70
- SkASSERT(this->is<T>());
71
- return static_cast<T&>(*this);
72
- }
73
-
74
- virtual bool isEmpty() const {
75
- return false;
76
- }
77
-
78
- virtual std::unique_ptr<Statement> clone() const = 0;
79
-
80
- private:
81
- using INHERITED = IRNode;
82
- };
83
-
84
- } // namespace SkSL
85
-
86
- #endif
@@ -1,41 +0,0 @@
1
- /*
2
- * Copyright 2017 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 SKSL_STRING
9
- #define SKSL_STRING
10
-
11
- #include "include/core/SkTypes.h"
12
- #include "include/private/SkSLDefines.h"
13
-
14
- #include <stdarg.h>
15
- #include <string>
16
- #include <string_view>
17
-
18
- namespace SkSL {
19
-
20
- bool stod(std::string_view s, SKSL_FLOAT* value);
21
- bool stoi(std::string_view s, SKSL_INT* value);
22
-
23
- namespace String {
24
-
25
- std::string printf(const char* fmt, ...) SK_PRINTF_LIKE(1, 2);
26
- void appendf(std::string* str, const char* fmt, ...) SK_PRINTF_LIKE(2, 3);
27
- void vappendf(std::string* str, const char* fmt, va_list va) SK_PRINTF_LIKE(2, 0);
28
-
29
- } // namespace String
30
- } // namespace SkSL
31
-
32
- namespace skstd {
33
-
34
- // We use a custom to_string(float|double) which ignores locale settings and writes `1.0` instead
35
- // of `1.00000`.
36
- std::string to_string(float value);
37
- std::string to_string(double value);
38
-
39
- } // namespace skstd
40
-
41
- #endif
@@ -1,94 +0,0 @@
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 SKSL_SYMBOL
9
- #define SKSL_SYMBOL
10
-
11
- #include "include/private/SkSLIRNode.h"
12
- #include "include/private/SkSLProgramElement.h"
13
-
14
- namespace SkSL {
15
-
16
- /**
17
- * Represents a symboltable entry.
18
- */
19
- class Symbol : public IRNode {
20
- public:
21
- enum class Kind {
22
- kExternal = (int) ProgramElement::Kind::kLast + 1,
23
- kField,
24
- kFunctionDeclaration,
25
- kType,
26
- kVariable,
27
-
28
- kFirst = kExternal,
29
- kLast = kVariable
30
- };
31
-
32
- Symbol(Position pos, Kind kind, std::string_view name, const Type* type = nullptr)
33
- : INHERITED(pos, (int) kind)
34
- , fName(name)
35
- , fType(type) {
36
- SkASSERT(kind >= Kind::kFirst && kind <= Kind::kLast);
37
- }
38
-
39
- ~Symbol() override {}
40
-
41
- const Type& type() const {
42
- SkASSERT(fType);
43
- return *fType;
44
- }
45
-
46
- Kind kind() const {
47
- return (Kind) fKind;
48
- }
49
-
50
- std::string_view name() const {
51
- return fName;
52
- }
53
-
54
- /**
55
- * Don't call this directly--use SymbolTable::renameSymbol instead!
56
- */
57
- void setName(std::string_view newName) {
58
- fName = newName;
59
- }
60
-
61
- /**
62
- * Use is<T> to check the type of a symbol.
63
- * e.g. replace `sym.kind() == Symbol::Kind::kVariable` with `sym.is<Variable>()`.
64
- */
65
- template <typename T>
66
- bool is() const {
67
- return this->kind() == T::kSymbolKind;
68
- }
69
-
70
- /**
71
- * Use as<T> to downcast symbols. e.g. replace `(Variable&) sym` with `sym.as<Variable>()`.
72
- */
73
- template <typename T>
74
- const T& as() const {
75
- SkASSERT(this->is<T>());
76
- return static_cast<const T&>(*this);
77
- }
78
-
79
- template <typename T>
80
- T& as() {
81
- SkASSERT(this->is<T>());
82
- return static_cast<T&>(*this);
83
- }
84
-
85
- private:
86
- std::string_view fName;
87
- const Type* fType;
88
-
89
- using INHERITED = IRNode;
90
- };
91
-
92
- } // namespace SkSL
93
-
94
- #endif
@@ -1,52 +0,0 @@
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 SkSafe_math_DEFINED
9
- #define SkSafe_math_DEFINED
10
-
11
- // This file protects against known bugs in ucrt\math.h.
12
- // Namely, that header defines inline methods without marking them static,
13
- // which makes it very easy to cause ODR violations and ensuing chaos.
14
- //
15
- // TODO: other headers? Here are some potential problem headers:
16
- // $ grep -R __inline * | grep -v static | cut -f 1 -d: | sort | uniq
17
- // corecrt.h
18
- // corecrt_stdio_config.h
19
- // ctype.h
20
- // fenv.h
21
- // locale.h
22
- // malloc.h
23
- // math.h
24
- // tchar.h
25
- // wchar.h
26
- // I took a quick look through other headers outside math.h.
27
- // Nothing looks anywhere near as likely to be used by Skia as math.h.
28
-
29
- #if defined(_MSC_VER) && !defined(_INC_MATH)
30
- // Our strategy here is to simply inject "static" into the headers
31
- // where it should have been written, just before __inline.
32
- //
33
- // Most inline-but-not-static methods in math.h are 32-bit only,
34
- // but not all of them (see frexpf, hypothf, ldexpf...). So to
35
- // be safe, 32- and 64-bit builds both get this treatment.
36
-
37
- #define __inline static __inline
38
- #include <math.h>
39
- #undef __inline
40
-
41
- #if !defined(_INC_MATH)
42
- #error Hmm. Looks like math.h has changed its header guards.
43
- #endif
44
-
45
- #define INC_MATH_IS_SAFE_NOW
46
-
47
- #else
48
- #include <math.h>
49
-
50
- #endif
51
-
52
- #endif//SkSafe_math_DEFINED
@@ -1,51 +0,0 @@
1
- /*
2
- * Copyright 2021 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 SkStringView_DEFINED
9
- #define SkStringView_DEFINED
10
-
11
- #include <string.h>
12
- #include <string_view>
13
-
14
- namespace skstd {
15
-
16
- // C++20 additions
17
- inline constexpr bool starts_with(std::string_view str, std::string_view prefix) {
18
- if (prefix.length() > str.length()) {
19
- return false;
20
- }
21
- return prefix.length() == 0 || !memcmp(str.data(), prefix.data(), prefix.length());
22
- }
23
-
24
- inline constexpr bool starts_with(std::string_view str, std::string_view::value_type c) {
25
- return !str.empty() && str.front() == c;
26
- }
27
-
28
- inline constexpr bool ends_with(std::string_view str, std::string_view suffix) {
29
- if (suffix.length() > str.length()) {
30
- return false;
31
- }
32
- return suffix.length() == 0 || !memcmp(str.data() + str.length() - suffix.length(),
33
- suffix.data(), suffix.length());
34
- }
35
-
36
- inline constexpr bool ends_with(std::string_view str, std::string_view::value_type c) {
37
- return !str.empty() && str.back() == c;
38
- }
39
-
40
- // C++23 additions
41
- inline constexpr bool contains(std::string_view str, std::string_view needle) {
42
- return str.find(needle) != std::string_view::npos;
43
- }
44
-
45
- inline constexpr bool contains(std::string_view str, std::string_view::value_type c) {
46
- return str.find(c) != std::string_view::npos;
47
- }
48
-
49
- } // namespace skstd
50
-
51
- #endif