@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,271 +0,0 @@
1
- /*
2
- * Copyright 2020 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 SKSL_DSL_TYPE
9
- #define SKSL_DSL_TYPE
10
-
11
- #include "include/core/SkSpan.h"
12
- #include "include/core/SkTypes.h"
13
- #include "include/sksl/DSLExpression.h"
14
- #include "include/sksl/DSLModifiers.h"
15
- #include "include/sksl/SkSLPosition.h"
16
-
17
- #include <cstdint>
18
- #include <string_view>
19
- #include <utility>
20
-
21
- namespace SkSL {
22
-
23
- class Compiler;
24
- class Type;
25
-
26
- namespace dsl {
27
-
28
- class DSLField;
29
- class DSLVarBase;
30
-
31
- enum TypeConstant : uint8_t {
32
- kBool_Type,
33
- kBool2_Type,
34
- kBool3_Type,
35
- kBool4_Type,
36
- kHalf_Type,
37
- kHalf2_Type,
38
- kHalf3_Type,
39
- kHalf4_Type,
40
- kHalf2x2_Type,
41
- kHalf3x2_Type,
42
- kHalf4x2_Type,
43
- kHalf2x3_Type,
44
- kHalf3x3_Type,
45
- kHalf4x3_Type,
46
- kHalf2x4_Type,
47
- kHalf3x4_Type,
48
- kHalf4x4_Type,
49
- kFloat_Type,
50
- kFloat2_Type,
51
- kFloat3_Type,
52
- kFloat4_Type,
53
- kFragmentProcessor_Type,
54
- kFloat2x2_Type,
55
- kFloat3x2_Type,
56
- kFloat4x2_Type,
57
- kFloat2x3_Type,
58
- kFloat3x3_Type,
59
- kFloat4x3_Type,
60
- kFloat2x4_Type,
61
- kFloat3x4_Type,
62
- kFloat4x4_Type,
63
- kInt_Type,
64
- kInt2_Type,
65
- kInt3_Type,
66
- kInt4_Type,
67
- kShader_Type,
68
- kShort_Type,
69
- kShort2_Type,
70
- kShort3_Type,
71
- kShort4_Type,
72
- kUInt_Type,
73
- kUInt2_Type,
74
- kUInt3_Type,
75
- kUInt4_Type,
76
- kUShort_Type,
77
- kUShort2_Type,
78
- kUShort3_Type,
79
- kUShort4_Type,
80
- kVoid_Type,
81
- kPoison_Type,
82
- };
83
-
84
- class DSLType {
85
- public:
86
- DSLType(TypeConstant tc, Position pos = {});
87
-
88
- DSLType(const SkSL::Type* type, Position pos = {});
89
-
90
- DSLType(std::string_view name, Position pos = {});
91
-
92
- DSLType(std::string_view name,
93
- DSLModifiers* modifiers,
94
- Position pos = {});
95
-
96
- /**
97
- * Returns true if the SkSL type is non-null.
98
- */
99
- bool hasValue() const { return fSkSLType != nullptr; }
100
-
101
- /**
102
- * Returns true if this type is a bool.
103
- */
104
- bool isBoolean() const;
105
-
106
- /**
107
- * Returns true if this is a numeric scalar type.
108
- */
109
- bool isNumber() const;
110
-
111
- /**
112
- * Returns true if this is a floating-point scalar type (float or half).
113
- */
114
- bool isFloat() const;
115
-
116
- /**
117
- * Returns true if this is a signed scalar type (int or short).
118
- */
119
- bool isSigned() const;
120
-
121
- /**
122
- * Returns true if this is an unsigned scalar type (uint or ushort).
123
- */
124
- bool isUnsigned() const;
125
-
126
- /**
127
- * Returns true if this is a signed or unsigned integer.
128
- */
129
- bool isInteger() const;
130
-
131
- /**
132
- * Returns true if this is a scalar type.
133
- */
134
- bool isScalar() const;
135
-
136
- /**
137
- * Returns true if this is a vector type.
138
- */
139
- bool isVector() const;
140
-
141
- /**
142
- * Returns true if this is a matrix type.
143
- */
144
- bool isMatrix() const;
145
-
146
- /**
147
- * Returns true if this is a array type.
148
- */
149
- bool isArray() const;
150
-
151
- /**
152
- * Returns true if this is a struct type.
153
- */
154
- bool isStruct() const;
155
-
156
- /**
157
- * Returns true if this is a Skia object type (shader, colorFilter, blender).
158
- */
159
- bool isEffectChild() const;
160
-
161
- template<typename... Args>
162
- static DSLExpression Construct(DSLType type, DSLVarBase& var, Args&&... args) {
163
- DSLExpression argArray[] = {var, args...};
164
- return Construct(type, SkSpan(argArray));
165
- }
166
-
167
- template<typename... Args>
168
- static DSLExpression Construct(DSLType type, DSLExpression expr, Args&&... args) {
169
- DSLExpression argArray[] = {std::move(expr), std::move(args)...};
170
- return Construct(type, SkSpan(argArray));
171
- }
172
-
173
- static DSLExpression Construct(DSLType type, SkSpan<DSLExpression> argArray);
174
-
175
- private:
176
- const SkSL::Type& skslType() const {
177
- SkASSERT(fSkSLType);
178
- return *fSkSLType;
179
- }
180
-
181
- const SkSL::Type* fSkSLType = nullptr;
182
-
183
- friend DSLType Array(const DSLType& base, int count, Position pos);
184
- friend DSLType Struct(std::string_view name, SkSpan<DSLField> fields, Position pos);
185
- friend DSLType UnsizedArray(const DSLType& base, Position pos);
186
- friend class DSLCore;
187
- friend class DSLFunction;
188
- friend class DSLVarBase;
189
- friend class DSLWriter;
190
- friend class SkSL::Compiler;
191
- };
192
-
193
- #define TYPE(T) \
194
- template<typename... Args> \
195
- DSLExpression T(Args&&... args) { \
196
- return DSLType::Construct(k ## T ## _Type, std::forward<Args>(args)...); \
197
- }
198
-
199
- #define VECTOR_TYPE(T) \
200
- TYPE(T) \
201
- TYPE(T ## 2) \
202
- TYPE(T ## 3) \
203
- TYPE(T ## 4)
204
-
205
- #define MATRIX_TYPE(T) \
206
- TYPE(T ## 2x2) \
207
- TYPE(T ## 3x2) \
208
- TYPE(T ## 4x2) \
209
- TYPE(T ## 2x3) \
210
- TYPE(T ## 3x3) \
211
- TYPE(T ## 4x3) \
212
- TYPE(T ## 2x4) \
213
- TYPE(T ## 3x4) \
214
- TYPE(T ## 4x4)
215
-
216
- VECTOR_TYPE(Bool)
217
- VECTOR_TYPE(Float)
218
- VECTOR_TYPE(Half)
219
- VECTOR_TYPE(Int)
220
- VECTOR_TYPE(UInt)
221
- VECTOR_TYPE(Short)
222
- VECTOR_TYPE(UShort)
223
-
224
- MATRIX_TYPE(Float)
225
- MATRIX_TYPE(Half)
226
-
227
- #undef TYPE
228
- #undef VECTOR_TYPE
229
- #undef MATRIX_TYPE
230
-
231
- DSLType Array(const DSLType& base, int count, Position pos = {});
232
-
233
- DSLType UnsizedArray(const DSLType& base, Position pos = {});
234
-
235
- class DSLField {
236
- public:
237
- DSLField(const DSLType type, std::string_view name,
238
- Position pos = {})
239
- : DSLField(DSLModifiers(), type, name, pos) {}
240
-
241
- DSLField(const DSLModifiers& modifiers, const DSLType type, std::string_view name,
242
- Position pos = {})
243
- : fModifiers(modifiers)
244
- , fType(type)
245
- , fName(name)
246
- , fPosition(pos) {}
247
-
248
- private:
249
- DSLModifiers fModifiers;
250
- const DSLType fType;
251
- std::string_view fName;
252
- Position fPosition;
253
-
254
- friend class DSLCore;
255
- friend DSLType Struct(std::string_view name, SkSpan<DSLField> fields, Position pos);
256
- };
257
-
258
- DSLType Struct(std::string_view name, SkSpan<DSLField> fields,
259
- Position pos = {});
260
-
261
- template<typename... Field>
262
- DSLType Struct(std::string_view name, Field... fields) {
263
- DSLField fieldTypes[] = {std::move(fields)...};
264
- return Struct(name, SkSpan(fieldTypes), Position());
265
- }
266
-
267
- } // namespace dsl
268
-
269
- } // namespace SkSL
270
-
271
- #endif
@@ -1,231 +0,0 @@
1
- /*
2
- * Copyright 2020 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 SKSL_DSL_VAR
9
- #define SKSL_DSL_VAR
10
-
11
- #include "include/private/SkSLStatement.h"
12
- #include "include/sksl/DSLExpression.h"
13
- #include "include/sksl/DSLModifiers.h"
14
- #include "include/sksl/DSLType.h"
15
- #include "include/sksl/SkSLPosition.h"
16
-
17
- #include <cstdint>
18
- #include <memory>
19
- #include <string_view>
20
- #include <utility>
21
-
22
- namespace SkSL {
23
-
24
- class Expression;
25
- class ExpressionArray;
26
- class Variable;
27
- enum class VariableStorage : int8_t;
28
-
29
- namespace dsl {
30
-
31
- class DSLVarBase {
32
- public:
33
- /**
34
- * Constructs a new variable with the specified type and name.
35
- */
36
- DSLVarBase(VariableStorage storage, DSLType type, std::string_view name,
37
- DSLExpression initialValue, Position pos, Position namePos);
38
-
39
- DSLVarBase(VariableStorage storage, const DSLModifiers& modifiers, DSLType type,
40
- std::string_view name, DSLExpression initialValue, Position pos, Position namePos);
41
-
42
- DSLVarBase(DSLVarBase&&) = default;
43
-
44
- std::string_view name() const {
45
- return fName;
46
- }
47
-
48
- const DSLModifiers& modifiers() const {
49
- return fModifiers;
50
- }
51
-
52
- VariableStorage storage() const {
53
- return fStorage;
54
- }
55
-
56
- DSLExpression x() {
57
- return DSLExpression(*this).x();
58
- }
59
-
60
- DSLExpression y() {
61
- return DSLExpression(*this).y();
62
- }
63
-
64
- DSLExpression z() {
65
- return DSLExpression(*this).z();
66
- }
67
-
68
- DSLExpression w() {
69
- return DSLExpression(*this).w();
70
- }
71
-
72
- DSLExpression r() {
73
- return DSLExpression(*this).r();
74
- }
75
-
76
- DSLExpression g() {
77
- return DSLExpression(*this).g();
78
- }
79
-
80
- DSLExpression b() {
81
- return DSLExpression(*this).b();
82
- }
83
-
84
- DSLExpression a() {
85
- return DSLExpression(*this).a();
86
- }
87
-
88
- DSLExpression field(std::string_view name) {
89
- return DSLExpression(*this).field(name);
90
- }
91
-
92
- DSLExpression operator[](DSLExpression&& index);
93
-
94
- DSLExpression operator++() {
95
- return ++DSLExpression(*this);
96
- }
97
-
98
- DSLExpression operator++(int) {
99
- return DSLExpression(*this)++;
100
- }
101
-
102
- DSLExpression operator--() {
103
- return --DSLExpression(*this);
104
- }
105
-
106
- DSLExpression operator--(int) {
107
- return DSLExpression(*this)--;
108
- }
109
-
110
- template <class T> DSLExpression assign(T&& param) {
111
- return this->assignExpression(DSLExpression(std::forward<T>(param)));
112
- }
113
-
114
- protected:
115
- /**
116
- * Creates an empty, unpopulated var. Can be replaced with a real var later via `swap`.
117
- */
118
- DSLVarBase(VariableStorage storage) : fType(kVoid_Type), fStorage(storage) {}
119
-
120
- DSLExpression assignExpression(DSLExpression other);
121
-
122
- void swap(DSLVarBase& other);
123
-
124
- DSLModifiers fModifiers;
125
- // We only need to keep track of the type here so that we can create the SkSL::Variable. For
126
- // predefined variables this field is unnecessary, so we don't bother tracking it and just set
127
- // it to kVoid; in other words, you shouldn't generally be relying on this field to be correct.
128
- // If you need to determine the variable's type, look at DSLWriter::Var(...)->type() instead.
129
- DSLType fType;
130
- std::unique_ptr<SkSL::Statement> fDeclaration;
131
- SkSL::Variable* fVar = nullptr;
132
- Position fNamePosition;
133
- std::string_view fName;
134
- DSLExpression fInitialValue;
135
- Position fPosition;
136
- VariableStorage fStorage;
137
- bool fInitialized = false;
138
-
139
- friend class DSLCore;
140
- friend class DSLFunction;
141
- friend class DSLWriter;
142
- };
143
-
144
- /**
145
- * A local variable.
146
- */
147
- class DSLVar : public DSLVarBase {
148
- public:
149
- DSLVar();
150
-
151
- DSLVar(DSLType type, std::string_view name, DSLExpression initialValue = DSLExpression(),
152
- Position pos = {}, Position namePos = {});
153
-
154
- DSLVar(const DSLModifiers& modifiers, DSLType type, std::string_view name,
155
- DSLExpression initialValue = DSLExpression(), Position pos = {}, Position namePos = {});
156
-
157
- DSLVar(DSLVar&&) = default;
158
-
159
- void swap(DSLVar& other);
160
-
161
- private:
162
- using INHERITED = DSLVarBase;
163
- };
164
-
165
- /**
166
- * A global variable.
167
- */
168
- class DSLGlobalVar : public DSLVarBase {
169
- public:
170
- DSLGlobalVar();
171
-
172
- DSLGlobalVar(DSLType type, std::string_view name, DSLExpression initialValue = DSLExpression(),
173
- Position pos = {}, Position namePos = {});
174
-
175
- DSLGlobalVar(const DSLModifiers& modifiers, DSLType type, std::string_view name,
176
- DSLExpression initialValue = DSLExpression(),
177
- Position pos = {}, Position namePos = {});
178
-
179
- DSLGlobalVar(const char* name);
180
-
181
- DSLGlobalVar(DSLGlobalVar&&) = default;
182
-
183
- void swap(DSLGlobalVar& other);
184
-
185
- /**
186
- * Implements the following method calls:
187
- * half4 shader::eval(float2 coords);
188
- * half4 colorFilter::eval(half4 input);
189
- */
190
- DSLExpression eval(DSLExpression x, Position pos = {});
191
-
192
- /**
193
- * Implements the following method call:
194
- * half4 blender::eval(half4 src, half4 dst);
195
- */
196
- DSLExpression eval(DSLExpression x, DSLExpression y, Position pos = {});
197
-
198
- private:
199
- DSLExpression eval(ExpressionArray args, Position pos);
200
-
201
- std::unique_ptr<SkSL::Expression> methodCall(std::string_view methodName, Position pos);
202
-
203
- using INHERITED = DSLVarBase;
204
- };
205
-
206
- /**
207
- * A function parameter.
208
- */
209
- class DSLParameter : public DSLVarBase {
210
- public:
211
- DSLParameter();
212
-
213
- DSLParameter(DSLType type, std::string_view name, Position pos = {}, Position namePos = {});
214
-
215
- DSLParameter(const DSLModifiers& modifiers, DSLType type, std::string_view name,
216
- Position pos = {}, Position namePos = {});
217
-
218
- DSLParameter(DSLParameter&&) = default;
219
-
220
- void swap(DSLParameter& other);
221
-
222
- private:
223
- using INHERITED = DSLVarBase;
224
- };
225
-
226
- } // namespace dsl
227
-
228
- } // namespace SkSL
229
-
230
-
231
- #endif
@@ -1,65 +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 SKSL_ERROR_REPORTER
9
- #define SKSL_ERROR_REPORTER
10
-
11
- #include "include/core/SkTypes.h"
12
-
13
- #include <string_view>
14
-
15
- namespace SkSL {
16
-
17
- class Position;
18
-
19
- /**
20
- * Class which is notified in the event of an error.
21
- */
22
- class ErrorReporter {
23
- public:
24
- ErrorReporter() {}
25
-
26
- virtual ~ErrorReporter() {}
27
-
28
- void error(Position position, std::string_view msg);
29
-
30
- std::string_view source() const { return fSource; }
31
-
32
- void setSource(std::string_view source) { fSource = source; }
33
-
34
- int errorCount() const {
35
- return fErrorCount;
36
- }
37
-
38
- void resetErrorCount() {
39
- fErrorCount = 0;
40
- }
41
-
42
- protected:
43
- /**
44
- * Called when an error is reported.
45
- */
46
- virtual void handleError(std::string_view msg, Position position) = 0;
47
-
48
- private:
49
- Position position(int offset) const;
50
-
51
- std::string_view fSource;
52
- int fErrorCount = 0;
53
- };
54
-
55
- /**
56
- * Error reporter for tests that need an SkSL context; aborts immediately if an error is reported.
57
- */
58
- class TestingOnly_AbortErrorReporter : public ErrorReporter {
59
- public:
60
- void handleError(std::string_view msg, Position pos) override;
61
- };
62
-
63
- } // namespace SkSL
64
-
65
- #endif
@@ -1,154 +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 SKSL_OPERATOR
9
- #define SKSL_OPERATOR
10
-
11
- #include <cstdint>
12
- #include <string_view>
13
-
14
- namespace SkSL {
15
-
16
- class Context;
17
- class Type;
18
-
19
- enum class OperatorKind : uint8_t {
20
- PLUS,
21
- MINUS,
22
- STAR,
23
- SLASH,
24
- PERCENT,
25
- SHL,
26
- SHR,
27
- LOGICALNOT,
28
- LOGICALAND,
29
- LOGICALOR,
30
- LOGICALXOR,
31
- BITWISENOT,
32
- BITWISEAND,
33
- BITWISEOR,
34
- BITWISEXOR,
35
- EQ,
36
- EQEQ,
37
- NEQ,
38
- LT,
39
- GT,
40
- LTEQ,
41
- GTEQ,
42
- PLUSEQ,
43
- MINUSEQ,
44
- STAREQ,
45
- SLASHEQ,
46
- PERCENTEQ,
47
- SHLEQ,
48
- SHREQ,
49
- BITWISEANDEQ,
50
- BITWISEOREQ,
51
- BITWISEXOREQ,
52
- PLUSPLUS,
53
- MINUSMINUS,
54
- COMMA
55
- };
56
-
57
- enum class OperatorPrecedence : uint8_t {
58
- kParentheses = 1,
59
- kPostfix = 2,
60
- kPrefix = 3,
61
- kMultiplicative = 4,
62
- kAdditive = 5,
63
- kShift = 6,
64
- kRelational = 7,
65
- kEquality = 8,
66
- kBitwiseAnd = 9,
67
- kBitwiseXor = 10,
68
- kBitwiseOr = 11,
69
- kLogicalAnd = 12,
70
- kLogicalXor = 13,
71
- kLogicalOr = 14,
72
- kTernary = 15,
73
- kAssignment = 16,
74
- kSequence = 17,
75
- kTopLevel = kSequence
76
- };
77
-
78
- class Operator {
79
- public:
80
- using Kind = OperatorKind;
81
-
82
- Operator(Kind op) : fKind(op) {}
83
-
84
- Kind kind() const { return fKind; }
85
-
86
- bool isEquality() const {
87
- return fKind == Kind::EQEQ || fKind == Kind::NEQ;
88
- }
89
-
90
- OperatorPrecedence getBinaryPrecedence() const;
91
-
92
- // Returns the operator name surrounded by the expected whitespace for a tidy binary expression.
93
- const char* operatorName() const;
94
-
95
- // Returns the operator name without any surrounding whitespace.
96
- std::string_view tightOperatorName() const;
97
-
98
- // Returns true if op is '=' or any compound assignment operator ('+=', '-=', etc.)
99
- bool isAssignment() const;
100
-
101
- // Given a compound assignment operator, returns the non-assignment version of the operator
102
- // (e.g. '+=' becomes '+')
103
- Operator removeAssignment() const;
104
-
105
- /**
106
- * Defines the set of relational (comparison) operators:
107
- * < <= > >=
108
- */
109
- bool isRelational() const;
110
-
111
- /**
112
- * Defines the set of operators which are only valid on integral types:
113
- * << <<= >> >>= & &= | |= ^ ^= % %=
114
- */
115
- bool isOnlyValidForIntegralTypes() const;
116
-
117
- /**
118
- * Defines the set of operators which perform vector/matrix math.
119
- * + += - -= * *= / /= % %= << <<= >> >>= & &= | |= ^ ^=
120
- */
121
- bool isValidForMatrixOrVector() const;
122
-
123
- /*
124
- * Defines the set of operators allowed by The OpenGL ES Shading Language 1.00, Section 5.1.
125
- * The set of illegal (reserved) operators are the ones that only make sense with integral
126
- * types. This is not a coincidence: It's because ES2 doesn't require 'int' to be anything but
127
- * syntactic sugar for floats with truncation after each operation.
128
- */
129
- bool isAllowedInStrictES2Mode() const {
130
- return !this->isOnlyValidForIntegralTypes();
131
- }
132
-
133
- /**
134
- * Determines the operand and result types of a binary expression. Returns true if the
135
- * expression is legal, false otherwise. If false, the values of the out parameters are
136
- * undefined.
137
- */
138
- bool determineBinaryType(const Context& context,
139
- const Type& left,
140
- const Type& right,
141
- const Type** outLeftType,
142
- const Type** outRightType,
143
- const Type** outResultType) const;
144
-
145
- private:
146
- bool isOperator() const;
147
- bool isMatrixMultiply(const Type& left, const Type& right) const;
148
-
149
- Kind fKind;
150
- };
151
-
152
- } // namespace SkSL
153
-
154
- #endif