@shopify/react-native-skia 0.1.191 → 0.1.193

Sign up to get free protection for your applications and to get access to all the features.
Files changed (615) hide show
  1. package/android/CMakeLists.txt +1 -1
  2. package/android/build.gradle +1 -0
  3. package/android/cpp/jni/JniPlatformContext.cpp +1 -1
  4. package/cpp/api/JsiSkColorFilter.h +2 -17
  5. package/cpp/api/JsiSkContourMeasure.h +3 -17
  6. package/cpp/api/JsiSkContourMeasureIter.h +3 -18
  7. package/cpp/api/JsiSkData.h +1 -18
  8. package/cpp/api/JsiSkFont.h +4 -14
  9. package/cpp/api/JsiSkHostObjects.h +85 -10
  10. package/cpp/api/JsiSkImage.h +26 -16
  11. package/cpp/api/JsiSkImageFactory.h +2 -2
  12. package/cpp/api/JsiSkImageFilter.h +1 -17
  13. package/cpp/api/JsiSkMaskFilter.h +1 -17
  14. package/cpp/api/JsiSkMatrix.h +3 -6
  15. package/cpp/api/JsiSkPaint.h +3 -15
  16. package/cpp/api/JsiSkPath.h +10 -21
  17. package/cpp/api/JsiSkPathEffect.h +2 -17
  18. package/cpp/api/JsiSkPicture.h +4 -18
  19. package/cpp/api/JsiSkPictureRecorder.h +4 -1
  20. package/cpp/api/JsiSkPoint.h +6 -1
  21. package/cpp/api/JsiSkRRect.h +6 -1
  22. package/cpp/api/JsiSkRSXform.h +4 -6
  23. package/cpp/api/JsiSkRect.h +6 -2
  24. package/cpp/api/JsiSkRuntimeEffect.h +4 -7
  25. package/cpp/api/JsiSkRuntimeShaderBuilder.h +2 -10
  26. package/cpp/api/JsiSkSVG.h +1 -10
  27. package/cpp/api/JsiSkShader.h +2 -16
  28. package/cpp/api/JsiSkSurface.h +3 -16
  29. package/cpp/api/JsiSkTextBlob.h +2 -18
  30. package/cpp/api/JsiSkTypeface.h +1 -22
  31. package/cpp/api/JsiSkVertices.h +3 -17
  32. package/cpp/rnskia/dom/base/Declaration.h +5 -7
  33. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
  34. package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
  35. package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
  36. package/cpp/rnskia/values/RNSkReadonlyValue.h +2 -2
  37. package/cpp/rnskia/values/RNSkValue.h +1 -1
  38. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
  39. package/cpp/skia/include/android/SkImageAndroid.h +101 -0
  40. package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
  41. package/cpp/skia/include/codec/SkCodec.h +31 -17
  42. package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
  43. package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
  44. package/cpp/skia/include/config/SkUserConfig.h +61 -29
  45. package/cpp/skia/include/core/SkBitmap.h +25 -25
  46. package/cpp/skia/include/core/SkBlurTypes.h +0 -2
  47. package/cpp/skia/include/core/SkCanvas.h +32 -15
  48. package/cpp/skia/include/core/SkCapabilities.h +2 -2
  49. package/cpp/skia/include/core/SkColor.h +2 -0
  50. package/cpp/skia/include/core/SkColorPriv.h +19 -4
  51. package/cpp/skia/include/core/SkColorSpace.h +14 -17
  52. package/cpp/skia/include/core/SkColorType.h +1 -0
  53. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  54. package/cpp/skia/include/core/SkCoverageMode.h +0 -2
  55. package/cpp/skia/include/core/SkCubicMap.h +2 -0
  56. package/cpp/skia/include/core/SkData.h +5 -2
  57. package/cpp/skia/include/core/SkDataTable.h +6 -2
  58. package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
  59. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
  60. package/cpp/skia/include/core/SkDrawable.h +10 -2
  61. package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
  62. package/cpp/skia/include/core/SkFlattenable.h +4 -2
  63. package/cpp/skia/include/core/SkFont.h +1 -0
  64. package/cpp/skia/include/core/SkFontMetrics.h +1 -0
  65. package/cpp/skia/include/core/SkFontMgr.h +20 -29
  66. package/cpp/skia/include/core/SkFontStyle.h +4 -1
  67. package/cpp/skia/include/core/SkGraphics.h +21 -18
  68. package/cpp/skia/include/core/SkICC.h +3 -13
  69. package/cpp/skia/include/core/SkImage.h +395 -717
  70. package/cpp/skia/include/core/SkImageGenerator.h +19 -74
  71. package/cpp/skia/include/core/SkImageInfo.h +7 -5
  72. package/cpp/skia/include/core/SkM44.h +11 -0
  73. package/cpp/skia/include/core/SkMaskFilter.h +6 -3
  74. package/cpp/skia/include/core/SkMatrix.h +14 -4
  75. package/cpp/skia/include/core/SkMesh.h +52 -18
  76. package/cpp/skia/include/core/SkMilestone.h +1 -1
  77. package/cpp/skia/include/core/SkPaint.h +11 -34
  78. package/cpp/skia/include/core/SkPath.h +23 -4
  79. package/cpp/skia/include/core/SkPathBuilder.h +13 -5
  80. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  81. package/cpp/skia/include/core/SkPathTypes.h +0 -2
  82. package/cpp/skia/include/core/SkPathUtils.h +42 -0
  83. package/cpp/skia/include/core/SkPicture.h +3 -2
  84. package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
  85. package/cpp/skia/include/core/SkPixelRef.h +4 -8
  86. package/cpp/skia/include/core/SkPixmap.h +12 -20
  87. package/cpp/skia/include/core/SkPoint.h +4 -2
  88. package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
  89. package/cpp/skia/include/core/SkRRect.h +5 -1
  90. package/cpp/skia/include/core/SkRect.h +6 -3
  91. package/cpp/skia/include/core/SkRefCnt.h +9 -14
  92. package/cpp/skia/include/core/SkRegion.h +1 -1
  93. package/cpp/skia/include/core/SkScalar.h +2 -4
  94. package/cpp/skia/include/core/SkSerialProcs.h +18 -10
  95. package/cpp/skia/include/core/SkShader.h +1 -64
  96. package/cpp/skia/include/core/SkSize.h +2 -0
  97. package/cpp/skia/include/core/SkSpan.h +4 -112
  98. package/cpp/skia/include/core/SkStream.h +11 -12
  99. package/cpp/skia/include/core/SkString.h +9 -25
  100. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  101. package/cpp/skia/include/core/SkSurface.h +83 -61
  102. package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
  103. package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
  104. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  105. package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
  106. package/cpp/skia/include/core/SkTime.h +1 -1
  107. package/cpp/skia/include/core/SkTypeface.h +9 -2
  108. package/cpp/skia/include/core/SkTypes.h +37 -466
  109. package/cpp/skia/include/core/SkVertices.h +2 -0
  110. package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
  111. package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
  112. package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
  113. package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
  114. package/cpp/skia/include/effects/SkGradientShader.h +65 -14
  115. package/cpp/skia/include/effects/SkImageFilters.h +0 -11
  116. package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
  117. package/cpp/skia/include/encode/SkEncoder.h +7 -3
  118. package/cpp/skia/include/encode/SkICC.h +36 -0
  119. package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
  120. package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
  121. package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
  122. package/cpp/skia/include/gpu/GpuTypes.h +23 -1
  123. package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
  124. package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
  125. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
  126. package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
  127. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
  128. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
  129. package/cpp/skia/include/gpu/GrTypes.h +18 -18
  130. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
  131. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
  132. package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
  133. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
  134. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
  135. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  136. package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
  137. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
  138. package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
  139. package/cpp/skia/include/gpu/graphite/Context.h +85 -32
  140. package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
  141. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
  142. package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
  143. package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
  144. package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
  145. package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
  146. package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
  147. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
  148. package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
  149. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  150. package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
  151. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
  152. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
  153. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
  154. package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
  155. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  156. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  157. package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
  158. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  159. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
  160. package/cpp/skia/include/pathops/SkPathOps.h +3 -3
  161. package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
  162. package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
  163. package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
  164. package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
  165. package/cpp/skia/include/private/SkChecksum.h +32 -7
  166. package/cpp/skia/include/private/SkColorData.h +1 -26
  167. package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
  168. package/cpp/skia/include/private/SkGainmapShader.h +53 -0
  169. package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
  170. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
  171. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
  172. package/cpp/skia/include/private/SkOpts_spi.h +3 -1
  173. package/cpp/skia/include/private/SkPathRef.h +64 -47
  174. package/cpp/skia/include/private/SkSLDefines.h +5 -5
  175. package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
  176. package/cpp/skia/include/private/SkSpinlock.h +1 -1
  177. package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
  178. package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
  179. package/cpp/skia/include/private/base/SkAPI.h +52 -0
  180. package/cpp/skia/include/private/base/SkAlign.h +39 -0
  181. package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
  182. package/cpp/skia/include/private/base/SkAssert.h +92 -0
  183. package/cpp/skia/include/private/base/SkAttributes.h +102 -0
  184. package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
  185. package/cpp/skia/include/private/base/SkContainers.h +46 -0
  186. package/cpp/skia/include/private/base/SkDebug.h +27 -0
  187. package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
  188. package/cpp/skia/include/private/base/SkFeatures.h +151 -0
  189. package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
  190. package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
  191. package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
  192. package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
  193. package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
  194. package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
  195. package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
  196. package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
  197. package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
  198. package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
  199. package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
  200. package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
  201. package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
  202. package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
  203. package/cpp/skia/include/private/base/SkTArray.h +694 -0
  204. package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
  205. package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
  206. package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
  207. package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
  208. package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
  209. package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
  210. package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
  211. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
  212. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
  213. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  214. package/cpp/skia/include/private/chromium/Slug.h +0 -9
  215. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
  216. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  217. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
  218. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
  219. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  220. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
  221. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
  222. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
  223. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
  224. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
  225. package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
  226. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
  227. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
  228. package/cpp/skia/include/utils/SkCamera.h +1 -1
  229. package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
  230. package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
  231. package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
  232. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
  233. package/cpp/skia/include/utils/SkParsePath.h +1 -1
  234. package/cpp/skia/modules/skcms/skcms.h +14 -0
  235. package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
  236. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
  237. package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
  238. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
  239. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  240. package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
  241. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
  242. package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
  243. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
  244. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
  245. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  246. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  247. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
  248. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  249. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
  250. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  251. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  252. package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
  253. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  254. package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
  255. package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
  256. package/lib/commonjs/renderer/Canvas.js +17 -1
  257. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  258. package/lib/commonjs/skia/core/Data.d.ts +2 -2
  259. package/lib/commonjs/skia/core/Data.js.map +1 -1
  260. package/lib/commonjs/skia/types/Data/Data.d.ts +2 -2
  261. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  262. package/lib/commonjs/skia/types/Image/Image.d.ts +2 -2
  263. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  264. package/lib/commonjs/skia/types/JsiInstance.d.ts +4 -4
  265. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  266. package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -2
  267. package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
  268. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -2
  269. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  270. package/lib/commonjs/skia/web/Host.d.ts +1 -0
  271. package/lib/commonjs/skia/web/Host.js +2 -0
  272. package/lib/commonjs/skia/web/Host.js.map +1 -1
  273. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +1 -0
  274. package/lib/commonjs/skia/web/JsiSkCanvas.js +6 -0
  275. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  276. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +1 -0
  277. package/lib/commonjs/skia/web/JsiSkColorFilter.js +6 -0
  278. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  279. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +1 -0
  280. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +6 -0
  281. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  282. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  283. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +6 -0
  284. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  285. package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -1
  286. package/lib/commonjs/skia/web/JsiSkData.js +4 -2
  287. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  288. package/lib/commonjs/skia/web/JsiSkFont.d.ts +1 -0
  289. package/lib/commonjs/skia/web/JsiSkFont.js +6 -0
  290. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  291. package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -1
  292. package/lib/commonjs/skia/web/JsiSkImage.js +6 -4
  293. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  294. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +1 -0
  295. package/lib/commonjs/skia/web/JsiSkImageFilter.js +6 -0
  296. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  297. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +1 -0
  298. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +6 -0
  299. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  300. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +1 -0
  301. package/lib/commonjs/skia/web/JsiSkMatrix.js +5 -0
  302. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  303. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
  304. package/lib/commonjs/skia/web/JsiSkPaint.js +6 -0
  305. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  306. package/lib/commonjs/skia/web/JsiSkPath.d.ts +1 -0
  307. package/lib/commonjs/skia/web/JsiSkPath.js +6 -0
  308. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  309. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +1 -0
  310. package/lib/commonjs/skia/web/JsiSkPathEffect.js +6 -0
  311. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  312. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +1 -0
  313. package/lib/commonjs/skia/web/JsiSkPicture.js +6 -1
  314. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  315. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  316. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +6 -0
  317. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  318. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -0
  319. package/lib/commonjs/skia/web/JsiSkPoint.js +5 -0
  320. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  321. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +1 -0
  322. package/lib/commonjs/skia/web/JsiSkRRect.js +5 -0
  323. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  324. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -0
  325. package/lib/commonjs/skia/web/JsiSkRSXform.js +5 -0
  326. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  327. package/lib/commonjs/skia/web/JsiSkRect.d.ts +1 -0
  328. package/lib/commonjs/skia/web/JsiSkRect.js +5 -0
  329. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  330. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  331. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +6 -0
  332. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  333. package/lib/commonjs/skia/web/JsiSkShader.d.ts +1 -0
  334. package/lib/commonjs/skia/web/JsiSkShader.js +6 -0
  335. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  336. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -0
  337. package/lib/commonjs/skia/web/JsiSkSurface.js +6 -0
  338. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  339. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +1 -0
  340. package/lib/commonjs/skia/web/JsiSkTextBlob.js +6 -0
  341. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  342. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -1
  343. package/lib/commonjs/skia/web/JsiSkTypeface.js +6 -4
  344. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  345. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +1 -0
  346. package/lib/commonjs/skia/web/JsiSkVertices.js +6 -0
  347. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  348. package/lib/commonjs/values/hooks/useComputedValue.js +1 -1
  349. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
  350. package/lib/commonjs/values/types.d.ts +1 -1
  351. package/lib/commonjs/values/types.js.map +1 -1
  352. package/lib/commonjs/values/web/RNSkComputedValue.d.ts +1 -1
  353. package/lib/commonjs/values/web/RNSkComputedValue.js +1 -1
  354. package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -1
  355. package/lib/commonjs/values/web/RNSkReadonlyValue.d.ts +1 -1
  356. package/lib/commonjs/values/web/RNSkReadonlyValue.js +1 -1
  357. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
  358. package/lib/commonjs/views/SkiaDomView.web.js +14 -4
  359. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
  360. package/lib/commonjs/views/types.d.ts +2 -1
  361. package/lib/commonjs/views/types.js.map +1 -1
  362. package/lib/module/renderer/Canvas.js +15 -1
  363. package/lib/module/renderer/Canvas.js.map +1 -1
  364. package/lib/module/skia/core/Data.d.ts +2 -2
  365. package/lib/module/skia/core/Data.js.map +1 -1
  366. package/lib/module/skia/types/Data/Data.d.ts +2 -2
  367. package/lib/module/skia/types/Data/Data.js.map +1 -1
  368. package/lib/module/skia/types/Image/Image.d.ts +2 -2
  369. package/lib/module/skia/types/Image/Image.js.map +1 -1
  370. package/lib/module/skia/types/JsiInstance.d.ts +4 -4
  371. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  372. package/lib/module/skia/types/SVG/SVG.d.ts +2 -2
  373. package/lib/module/skia/types/SVG/SVG.js.map +1 -1
  374. package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -2
  375. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  376. package/lib/module/skia/web/Host.d.ts +1 -0
  377. package/lib/module/skia/web/Host.js +2 -0
  378. package/lib/module/skia/web/Host.js.map +1 -1
  379. package/lib/module/skia/web/JsiSkCanvas.d.ts +1 -0
  380. package/lib/module/skia/web/JsiSkCanvas.js +6 -0
  381. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  382. package/lib/module/skia/web/JsiSkColorFilter.d.ts +1 -0
  383. package/lib/module/skia/web/JsiSkColorFilter.js +6 -0
  384. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  385. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +1 -0
  386. package/lib/module/skia/web/JsiSkContourMeasure.js +6 -0
  387. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  388. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  389. package/lib/module/skia/web/JsiSkContourMeasureIter.js +6 -0
  390. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  391. package/lib/module/skia/web/JsiSkData.d.ts +1 -1
  392. package/lib/module/skia/web/JsiSkData.js +4 -2
  393. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  394. package/lib/module/skia/web/JsiSkFont.d.ts +1 -0
  395. package/lib/module/skia/web/JsiSkFont.js +6 -0
  396. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  397. package/lib/module/skia/web/JsiSkImage.d.ts +1 -1
  398. package/lib/module/skia/web/JsiSkImage.js +6 -4
  399. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  400. package/lib/module/skia/web/JsiSkImageFilter.d.ts +1 -0
  401. package/lib/module/skia/web/JsiSkImageFilter.js +6 -0
  402. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  403. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +1 -0
  404. package/lib/module/skia/web/JsiSkMaskFilter.js +6 -0
  405. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  406. package/lib/module/skia/web/JsiSkMatrix.d.ts +1 -0
  407. package/lib/module/skia/web/JsiSkMatrix.js +5 -0
  408. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  409. package/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
  410. package/lib/module/skia/web/JsiSkPaint.js +6 -0
  411. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  412. package/lib/module/skia/web/JsiSkPath.d.ts +1 -0
  413. package/lib/module/skia/web/JsiSkPath.js +6 -0
  414. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  415. package/lib/module/skia/web/JsiSkPathEffect.d.ts +1 -0
  416. package/lib/module/skia/web/JsiSkPathEffect.js +6 -0
  417. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  418. package/lib/module/skia/web/JsiSkPicture.d.ts +1 -0
  419. package/lib/module/skia/web/JsiSkPicture.js +6 -0
  420. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  421. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  422. package/lib/module/skia/web/JsiSkPictureRecorder.js +6 -0
  423. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  424. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -0
  425. package/lib/module/skia/web/JsiSkPoint.js +5 -0
  426. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  427. package/lib/module/skia/web/JsiSkRRect.d.ts +1 -0
  428. package/lib/module/skia/web/JsiSkRRect.js +5 -0
  429. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  430. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -0
  431. package/lib/module/skia/web/JsiSkRSXform.js +5 -0
  432. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  433. package/lib/module/skia/web/JsiSkRect.d.ts +1 -0
  434. package/lib/module/skia/web/JsiSkRect.js +5 -0
  435. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  436. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  437. package/lib/module/skia/web/JsiSkRuntimeEffect.js +6 -0
  438. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  439. package/lib/module/skia/web/JsiSkShader.d.ts +1 -0
  440. package/lib/module/skia/web/JsiSkShader.js +6 -0
  441. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  442. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -0
  443. package/lib/module/skia/web/JsiSkSurface.js +6 -0
  444. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  445. package/lib/module/skia/web/JsiSkTextBlob.d.ts +1 -0
  446. package/lib/module/skia/web/JsiSkTextBlob.js +6 -0
  447. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  448. package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -1
  449. package/lib/module/skia/web/JsiSkTypeface.js +6 -4
  450. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  451. package/lib/module/skia/web/JsiSkVertices.d.ts +1 -0
  452. package/lib/module/skia/web/JsiSkVertices.js +6 -0
  453. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  454. package/lib/module/values/hooks/useComputedValue.js +1 -1
  455. package/lib/module/values/hooks/useComputedValue.js.map +1 -1
  456. package/lib/module/values/types.d.ts +1 -1
  457. package/lib/module/values/types.js.map +1 -1
  458. package/lib/module/values/web/RNSkComputedValue.d.ts +1 -1
  459. package/lib/module/values/web/RNSkComputedValue.js +1 -1
  460. package/lib/module/values/web/RNSkComputedValue.js.map +1 -1
  461. package/lib/module/values/web/RNSkReadonlyValue.d.ts +1 -1
  462. package/lib/module/values/web/RNSkReadonlyValue.js +1 -1
  463. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
  464. package/lib/module/views/SkiaDomView.web.js +13 -4
  465. package/lib/module/views/SkiaDomView.web.js.map +1 -1
  466. package/lib/module/views/types.d.ts +2 -1
  467. package/lib/module/views/types.js.map +1 -1
  468. package/lib/typescript/src/skia/core/Data.d.ts +2 -2
  469. package/lib/typescript/src/skia/types/Data/Data.d.ts +2 -2
  470. package/lib/typescript/src/skia/types/Image/Image.d.ts +2 -2
  471. package/lib/typescript/src/skia/types/JsiInstance.d.ts +4 -4
  472. package/lib/typescript/src/skia/types/SVG/SVG.d.ts +2 -2
  473. package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +2 -2
  474. package/lib/typescript/src/skia/web/Host.d.ts +1 -0
  475. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +1 -0
  476. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +1 -0
  477. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +1 -0
  478. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +1 -0
  479. package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -1
  480. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +1 -0
  481. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -1
  482. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +1 -0
  483. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +1 -0
  484. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +1 -0
  485. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -0
  486. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +1 -0
  487. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +1 -0
  488. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +1 -0
  489. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +1 -0
  490. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -0
  491. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +1 -0
  492. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -0
  493. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +1 -0
  494. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +1 -0
  495. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +1 -0
  496. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -0
  497. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +1 -0
  498. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -1
  499. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +1 -0
  500. package/lib/typescript/src/values/types.d.ts +1 -1
  501. package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +1 -1
  502. package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +1 -1
  503. package/lib/typescript/src/views/types.d.ts +2 -1
  504. package/libs/android/arm64-v8a/libskia.a +0 -0
  505. package/libs/android/arm64-v8a/libskottie.a +0 -0
  506. package/libs/android/arm64-v8a/libsksg.a +0 -0
  507. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  508. package/libs/android/arm64-v8a/libsvg.a +0 -0
  509. package/libs/android/armeabi-v7a/libskia.a +0 -0
  510. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  511. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  512. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  513. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  514. package/libs/android/x86/libskia.a +0 -0
  515. package/libs/android/x86/libskottie.a +0 -0
  516. package/libs/android/x86/libsksg.a +0 -0
  517. package/libs/android/x86/libskshaper.a +0 -0
  518. package/libs/android/x86/libsvg.a +0 -0
  519. package/libs/android/x86_64/libskia.a +0 -0
  520. package/libs/android/x86_64/libskottie.a +0 -0
  521. package/libs/android/x86_64/libsksg.a +0 -0
  522. package/libs/android/x86_64/libskshaper.a +0 -0
  523. package/libs/android/x86_64/libsvg.a +0 -0
  524. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  525. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  526. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  527. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  528. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  529. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  530. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  531. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  532. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  533. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  534. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  535. package/package.json +1 -1
  536. package/react-native-skia.podspec +1 -1
  537. package/scripts/install-npm.js +11 -1
  538. package/src/renderer/Canvas.tsx +21 -1
  539. package/src/skia/core/Data.ts +3 -3
  540. package/src/skia/types/Data/Data.ts +2 -2
  541. package/src/skia/types/Image/Image.ts +2 -2
  542. package/src/skia/types/JsiInstance.ts +4 -4
  543. package/src/skia/types/SVG/SVG.ts +2 -2
  544. package/src/skia/types/Typeface/Typeface.ts +2 -2
  545. package/src/skia/web/Host.ts +2 -0
  546. package/src/skia/web/JsiSkCanvas.ts +4 -0
  547. package/src/skia/web/JsiSkColorFilter.ts +4 -0
  548. package/src/skia/web/JsiSkContourMeasure.ts +4 -0
  549. package/src/skia/web/JsiSkContourMeasureIter.ts +4 -0
  550. package/src/skia/web/JsiSkData.ts +3 -3
  551. package/src/skia/web/JsiSkFont.ts +4 -0
  552. package/src/skia/web/JsiSkImage.ts +2 -2
  553. package/src/skia/web/JsiSkImageFilter.ts +4 -0
  554. package/src/skia/web/JsiSkMaskFilter.ts +4 -0
  555. package/src/skia/web/JsiSkMatrix.ts +4 -0
  556. package/src/skia/web/JsiSkPaint.ts +4 -0
  557. package/src/skia/web/JsiSkPath.ts +4 -0
  558. package/src/skia/web/JsiSkPathEffect.ts +4 -0
  559. package/src/skia/web/JsiSkPicture.ts +4 -0
  560. package/src/skia/web/JsiSkPictureRecorder.ts +4 -0
  561. package/src/skia/web/JsiSkPoint.ts +4 -0
  562. package/src/skia/web/JsiSkRRect.ts +4 -0
  563. package/src/skia/web/JsiSkRSXform.ts +4 -0
  564. package/src/skia/web/JsiSkRect.ts +4 -0
  565. package/src/skia/web/JsiSkRuntimeEffect.ts +4 -0
  566. package/src/skia/web/JsiSkShader.ts +4 -0
  567. package/src/skia/web/JsiSkSurface.ts +4 -0
  568. package/src/skia/web/JsiSkTextBlob.ts +4 -0
  569. package/src/skia/web/JsiSkTypeface.ts +2 -2
  570. package/src/skia/web/JsiSkVertices.ts +4 -0
  571. package/src/values/hooks/useComputedValue.ts +1 -1
  572. package/src/values/types.ts +1 -1
  573. package/src/values/web/RNSkComputedValue.ts +1 -1
  574. package/src/values/web/RNSkReadonlyValue.ts +1 -1
  575. package/src/views/SkiaDomView.web.tsx +6 -1
  576. package/src/views/types.ts +2 -1
  577. package/cpp/skia/include/core/SkImageEncoder.h +0 -71
  578. package/cpp/skia/include/gpu/GrConfig.h +0 -53
  579. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
  580. package/cpp/skia/include/private/SkHalf.h +0 -38
  581. package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
  582. package/cpp/skia/include/private/SkSLIRNode.h +0 -64
  583. package/cpp/skia/include/private/SkSLLayout.h +0 -144
  584. package/cpp/skia/include/private/SkSLModifiers.h +0 -178
  585. package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
  586. package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
  587. package/cpp/skia/include/private/SkSLStatement.h +0 -86
  588. package/cpp/skia/include/private/SkSLString.h +0 -41
  589. package/cpp/skia/include/private/SkSLSymbol.h +0 -94
  590. package/cpp/skia/include/private/SkSafe_math.h +0 -52
  591. package/cpp/skia/include/private/SkStringView.h +0 -51
  592. package/cpp/skia/include/private/SkTArray.h +0 -655
  593. package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
  594. package/cpp/skia/include/private/SkVx.h +0 -1026
  595. package/cpp/skia/include/sksl/DSL.h +0 -37
  596. package/cpp/skia/include/sksl/DSLBlock.h +0 -58
  597. package/cpp/skia/include/sksl/DSLCase.h +0 -62
  598. package/cpp/skia/include/sksl/DSLCore.h +0 -492
  599. package/cpp/skia/include/sksl/DSLExpression.h +0 -241
  600. package/cpp/skia/include/sksl/DSLFunction.h +0 -113
  601. package/cpp/skia/include/sksl/DSLLayout.h +0 -92
  602. package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
  603. package/cpp/skia/include/sksl/DSLStatement.h +0 -82
  604. package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
  605. package/cpp/skia/include/sksl/DSLType.h +0 -271
  606. package/cpp/skia/include/sksl/DSLVar.h +0 -231
  607. package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
  608. package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
  609. package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
  610. package/cpp/skia/include/utils/SkRandom.h +0 -169
  611. package/cpp/skia/src/core/SkLRUCache.h +0 -126
  612. package/cpp/skia/src/core/SkTInternalLList.h +0 -302
  613. /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
  614. /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
  615. /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright 2022 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 SkDebug_DEFINED
9
+ #define SkDebug_DEFINED
10
+
11
+ #include "include/private/base/SkAPI.h"
12
+ #include "include/private/base/SkAttributes.h"
13
+ #include "include/private/base/SkLoadUserConfig.h" // IWYU pragma: keep
14
+
15
+ #if !defined(SkDebugf)
16
+ void SK_SPI SkDebugf(const char format[], ...) SK_PRINTF_LIKE(1, 2);
17
+ #endif
18
+
19
+ #if defined(SK_DEBUG)
20
+ #define SkDEBUGCODE(...) __VA_ARGS__
21
+ #define SkDEBUGF(...) SkDebugf(__VA_ARGS__)
22
+ #else
23
+ #define SkDEBUGCODE(...)
24
+ #define SkDEBUGF(...)
25
+ #endif
26
+
27
+ #endif
@@ -10,7 +10,9 @@
10
10
  #ifndef SkDeque_DEFINED
11
11
  #define SkDeque_DEFINED
12
12
 
13
- #include "include/core/SkTypes.h"
13
+ #include "include/private/base/SkAPI.h"
14
+
15
+ #include <cstddef>
14
16
 
15
17
  /*
16
18
  * The deque class works by blindly creating memory space of a specified element
@@ -0,0 +1,151 @@
1
+ /*
2
+ * Copyright 2022 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 SkFeatures_DEFINED
9
+ #define SkFeatures_DEFINED
10
+
11
+ #if !defined(SK_BUILD_FOR_ANDROID) && !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_WIN) && \
12
+ !defined(SK_BUILD_FOR_UNIX) && !defined(SK_BUILD_FOR_MAC)
13
+
14
+ #ifdef __APPLE__
15
+ #include <TargetConditionals.h>
16
+ #endif
17
+
18
+ #if defined(_WIN32) || defined(__SYMBIAN32__)
19
+ #define SK_BUILD_FOR_WIN
20
+ #elif defined(ANDROID) || defined(__ANDROID__)
21
+ #define SK_BUILD_FOR_ANDROID
22
+ #elif defined(linux) || defined(__linux) || defined(__FreeBSD__) || \
23
+ defined(__OpenBSD__) || defined(__sun) || defined(__NetBSD__) || \
24
+ defined(__DragonFly__) || defined(__Fuchsia__) || \
25
+ defined(__GLIBC__) || defined(__GNU__) || defined(__unix__)
26
+ #define SK_BUILD_FOR_UNIX
27
+ #elif TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
28
+ #define SK_BUILD_FOR_IOS
29
+ #else
30
+ #define SK_BUILD_FOR_MAC
31
+ #endif
32
+ #endif // end SK_BUILD_FOR_*
33
+
34
+
35
+ #if defined(SK_BUILD_FOR_WIN) && !defined(__clang__)
36
+ #if !defined(SK_RESTRICT)
37
+ #define SK_RESTRICT __restrict
38
+ #endif
39
+ #if !defined(SK_WARN_UNUSED_RESULT)
40
+ #define SK_WARN_UNUSED_RESULT
41
+ #endif
42
+ #endif
43
+
44
+ #if !defined(SK_RESTRICT)
45
+ #define SK_RESTRICT __restrict__
46
+ #endif
47
+
48
+ #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
49
+ #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
50
+ #define SK_CPU_BENDIAN
51
+ #elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
52
+ #define SK_CPU_LENDIAN
53
+ #elif defined(__sparc) || defined(__sparc__) || \
54
+ defined(_POWER) || defined(__powerpc__) || \
55
+ defined(__ppc__) || defined(__hppa) || \
56
+ defined(__PPC__) || defined(__PPC64__) || \
57
+ defined(_MIPSEB) || defined(__ARMEB__) || \
58
+ defined(__s390__) || \
59
+ (defined(__sh__) && defined(__BIG_ENDIAN__)) || \
60
+ (defined(__ia64) && defined(__BIG_ENDIAN__))
61
+ #define SK_CPU_BENDIAN
62
+ #else
63
+ #define SK_CPU_LENDIAN
64
+ #endif
65
+ #endif
66
+
67
+ #if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
68
+ #define SK_CPU_X86 1
69
+ #endif
70
+
71
+ /**
72
+ * SK_CPU_SSE_LEVEL
73
+ *
74
+ * If defined, SK_CPU_SSE_LEVEL should be set to the highest supported level.
75
+ * On non-intel CPU this should be undefined.
76
+ */
77
+ #define SK_CPU_SSE_LEVEL_SSE1 10
78
+ #define SK_CPU_SSE_LEVEL_SSE2 20
79
+ #define SK_CPU_SSE_LEVEL_SSE3 30
80
+ #define SK_CPU_SSE_LEVEL_SSSE3 31
81
+ #define SK_CPU_SSE_LEVEL_SSE41 41
82
+ #define SK_CPU_SSE_LEVEL_SSE42 42
83
+ #define SK_CPU_SSE_LEVEL_AVX 51
84
+ #define SK_CPU_SSE_LEVEL_AVX2 52
85
+ #define SK_CPU_SSE_LEVEL_SKX 60
86
+
87
+ // TODO(brianosman,kjlubick) clean up these checks
88
+
89
+ // Are we in GCC/Clang?
90
+ #ifndef SK_CPU_SSE_LEVEL
91
+ // These checks must be done in descending order to ensure we set the highest
92
+ // available SSE level.
93
+ #if defined(__AVX512F__) && defined(__AVX512DQ__) && defined(__AVX512CD__) && \
94
+ defined(__AVX512BW__) && defined(__AVX512VL__)
95
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SKX
96
+ #elif defined(__AVX2__)
97
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX2
98
+ #elif defined(__AVX__)
99
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX
100
+ #elif defined(__SSE4_2__)
101
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE42
102
+ #elif defined(__SSE4_1__)
103
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE41
104
+ #elif defined(__SSSE3__)
105
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSSE3
106
+ #elif defined(__SSE3__)
107
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE3
108
+ #elif defined(__SSE2__)
109
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE2
110
+ #endif
111
+ #endif
112
+
113
+ // Are we in VisualStudio?
114
+ #ifndef SK_CPU_SSE_LEVEL
115
+ // These checks must be done in descending order to ensure we set the highest
116
+ // available SSE level. 64-bit intel guarantees at least SSE2 support.
117
+ #if defined(__AVX512F__) && defined(__AVX512DQ__) && defined(__AVX512CD__) && \
118
+ defined(__AVX512BW__) && defined(__AVX512VL__)
119
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SKX
120
+ #elif defined(__AVX2__)
121
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX2
122
+ #elif defined(__AVX__)
123
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_AVX
124
+ #elif defined(_M_X64) || defined(_M_AMD64)
125
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE2
126
+ #elif defined(_M_IX86_FP)
127
+ #if _M_IX86_FP >= 2
128
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE2
129
+ #elif _M_IX86_FP == 1
130
+ #define SK_CPU_SSE_LEVEL SK_CPU_SSE_LEVEL_SSE1
131
+ #endif
132
+ #endif
133
+ #endif
134
+
135
+ // ARM defines
136
+ #if defined(__arm__) && (!defined(__APPLE__) || !TARGET_IPHONE_SIMULATOR)
137
+ #define SK_CPU_ARM32
138
+ #elif defined(__aarch64__)
139
+ #define SK_CPU_ARM64
140
+ #endif
141
+
142
+ // All 64-bit ARM chips have NEON. Many 32-bit ARM chips do too.
143
+ #if !defined(SK_ARM_HAS_NEON) && defined(__ARM_NEON)
144
+ #define SK_ARM_HAS_NEON
145
+ #endif
146
+
147
+ #if defined(__ARM_FEATURE_CRC32)
148
+ #define SK_ARM_HAS_CRC32
149
+ #endif
150
+
151
+ #endif // SkFeatures_DEFINED
@@ -8,11 +8,12 @@
8
8
  #ifndef SkFixed_DEFINED
9
9
  #define SkFixed_DEFINED
10
10
 
11
- #include "include/core/SkScalar.h"
12
- #include "include/core/SkTypes.h"
13
- #include "include/private/SkSafe_math.h"
14
- #include "include/private/SkTPin.h"
15
- #include "include/private/SkTo.h"
11
+ #include "include/private/base/SkAssert.h"
12
+ #include "include/private/base/SkDebug.h"
13
+ #include "include/private/base/SkMath.h" // IWYU pragma: keep
14
+ #include "include/private/base/SkTPin.h" // IWYU pragma: keep
15
+
16
+ #include <cstdint>
16
17
 
17
18
  /** \file SkFixed.h
18
19
 
@@ -86,7 +87,6 @@ static inline SkFixed SkFixedFloorToFixed(SkFixed x) {
86
87
  return (SkFixed)( (uint32_t)x & 0xFFFF0000 );
87
88
  }
88
89
 
89
- #define SkFixedAbs(x) SkAbs32(x)
90
90
  #define SkFixedAve(a, b) (((a) + (b)) >> 1)
91
91
 
92
92
  // The divide may exceed 32 bits. Clamp to a signed 32 bit result.
@@ -102,6 +102,8 @@ static inline SkFixed SkFixedMul(SkFixed a, SkFixed b) {
102
102
 
103
103
  // The VCVT float-to-fixed instruction is part of the VFPv3 instruction set.
104
104
  #if defined(__ARM_VFPV3__)
105
+ #include <cstring>
106
+
105
107
  /* This does not handle NaN or other obscurities, but is faster than
106
108
  than (int)(x*65536). When built on Android with -Os, needs forcing
107
109
  to inline or we lose the speed benefit.
@@ -110,7 +112,7 @@ static inline SkFixed SkFixedMul(SkFixed a, SkFixed b) {
110
112
  {
111
113
  int32_t y;
112
114
  asm("vcvt.s32.f32 %0, %0, #16": "+w"(x));
113
- memcpy(&y, &x, sizeof(y));
115
+ std::memcpy(&y, &x, sizeof(y));
114
116
  return y;
115
117
  }
116
118
  #undef SkFloatToFixed
@@ -8,10 +8,9 @@
8
8
  #ifndef SkFloatBits_DEFINED
9
9
  #define SkFloatBits_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
12
- #include "include/private/SkSafe_math.h"
11
+ #include "include/private/base/SkMath.h"
13
12
 
14
- #include <float.h>
13
+ #include <cstdint>
15
14
 
16
15
  /** Convert a sign-bit int (i.e. float interpreted as int) into a 2s compliement
17
16
  int. This also converts -0 (0x80000000) to 0. Doing this to a float allows
@@ -8,14 +8,14 @@
8
8
  #ifndef SkFloatingPoint_DEFINED
9
9
  #define SkFloatingPoint_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
12
- #include "include/private/SkFloatBits.h"
13
- #include "include/private/SkSafe_math.h"
14
- #include <float.h>
15
- #include <math.h>
11
+ #include "include/private/base/SkAttributes.h"
12
+ #include "include/private/base/SkFloatBits.h"
13
+ #include "include/private/base/SkMath.h"
14
+
15
+ #include <cfloat>
16
16
  #include <cmath>
17
+ #include <cstdint>
17
18
  #include <cstring>
18
- #include <limits>
19
19
 
20
20
  constexpr float SK_FloatSqrt2 = 1.41421356f;
21
21
  constexpr float SK_FloatPI = 3.14159265f;
@@ -150,7 +150,7 @@ static inline int64_t sk_float_saturate2int64(float x) {
150
150
  // Cast double to float, ignoring any warning about too-large finite values being cast to float.
151
151
  // Clang thinks this is undefined, but it's actually implementation defined to return either
152
152
  // the largest float or infinity (one of the two bracketing representable floats). Good enough!
153
- SK_ATTRIBUTE(no_sanitize("float-cast-overflow"))
153
+ SK_NO_SANITIZE("float-cast-overflow")
154
154
  static inline float sk_double_to_float(double x) {
155
155
  return static_cast<float>(x);
156
156
  }
@@ -196,12 +196,12 @@ static inline int sk_float_nextlog2(float x) {
196
196
  // IEEE defines how float divide behaves for non-finite values and zero-denoms, but C does not
197
197
  // so we have a helper that suppresses the possible undefined-behavior warnings.
198
198
 
199
- SK_ATTRIBUTE(no_sanitize("float-divide-by-zero"))
199
+ SK_NO_SANITIZE("float-divide-by-zero")
200
200
  static inline float sk_ieee_float_divide(float numer, float denom) {
201
201
  return numer / denom;
202
202
  }
203
203
 
204
- SK_ATTRIBUTE(no_sanitize("float-divide-by-zero"))
204
+ SK_NO_SANITIZE("float-divide-by-zero")
205
205
  static inline double sk_ieee_double_divide(double numer, double denom) {
206
206
  return numer / denom;
207
207
  }
@@ -219,4 +219,13 @@ static inline float sk_fmaf(float f, float m, float a) {
219
219
  #endif
220
220
  }
221
221
 
222
+ // Returns true iff the provided number is within a small epsilon of 0.
223
+ bool sk_double_nearly_zero(double a);
224
+
225
+ // Comparing floating point numbers is complicated. This helper only works if one or none
226
+ // of the two inputs is not very close to zero. It also does not work if both inputs could be NaN.
227
+ // The term "ulps" stands for "units of least precision". Read the following for more nuance:
228
+ // https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
229
+ bool sk_doubles_nearly_equal_ulps(double a, double b, uint8_t max_ulps_diff=16);
230
+
222
231
  #endif
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Copyright 2022 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 SK_USER_CONFIG_WAS_LOADED
9
+
10
+ // Include this to set reasonable defaults (e.g. for SK_CPU_LENDIAN)
11
+ #include "include/private/base/SkFeatures.h"
12
+
13
+ // Allows embedders that want to disable macros that take arguments to just
14
+ // define that symbol to be one of these
15
+ #define SK_NOTHING_ARG1(arg1)
16
+ #define SK_NOTHING_ARG2(arg1, arg2)
17
+ #define SK_NOTHING_ARG3(arg1, arg2, arg3)
18
+
19
+ // IWYU pragma: begin_exports
20
+
21
+ // Note: SK_USER_CONFIG_HEADER will not work with Bazel builds and some C++ compilers.
22
+ #if defined(SK_USER_CONFIG_HEADER)
23
+ #include SK_USER_CONFIG_HEADER
24
+ #elif defined(SK_USE_BAZEL_CONFIG_HEADER)
25
+ // The Bazel config file is presumed to be in the root directory of its Bazel Workspace.
26
+ // This is achieved in Skia by having a nested WORKSPACE in include/config and a cc_library
27
+ // defined in that folder. As a result, we do not try to include SkUserConfig.h from the
28
+ // top of Skia because Bazel sandboxing will move it to a different location.
29
+ #include "SkUserConfig.h"
30
+ #else
31
+ #include "include/config/SkUserConfig.h"
32
+ #endif
33
+ // IWYU pragma: end_exports
34
+
35
+ // Checks to make sure the SkUserConfig options do not conflict.
36
+ #if !defined(SK_DEBUG) && !defined(SK_RELEASE)
37
+ #ifdef NDEBUG
38
+ #define SK_RELEASE
39
+ #else
40
+ #define SK_DEBUG
41
+ #endif
42
+ #endif
43
+
44
+ #if defined(SK_DEBUG) && defined(SK_RELEASE)
45
+ # error "cannot define both SK_DEBUG and SK_RELEASE"
46
+ #elif !defined(SK_DEBUG) && !defined(SK_RELEASE)
47
+ # error "must define either SK_DEBUG or SK_RELEASE"
48
+ #endif
49
+
50
+ #if defined(SK_CPU_LENDIAN) && defined(SK_CPU_BENDIAN)
51
+ # error "cannot define both SK_CPU_LENDIAN and SK_CPU_BENDIAN"
52
+ #elif !defined(SK_CPU_LENDIAN) && !defined(SK_CPU_BENDIAN)
53
+ # error "must define either SK_CPU_LENDIAN or SK_CPU_BENDIAN"
54
+ #endif
55
+
56
+ #if defined(SK_CPU_BENDIAN) && !defined(I_ACKNOWLEDGE_SKIA_DOES_NOT_SUPPORT_BIG_ENDIAN)
57
+ #error "The Skia team is not endian-savvy enough to support big-endian CPUs."
58
+ #error "If you still want to use Skia,"
59
+ #error "please define I_ACKNOWLEDGE_SKIA_DOES_NOT_SUPPORT_BIG_ENDIAN."
60
+ #endif
61
+
62
+ #define SK_USER_CONFIG_WAS_LOADED
63
+ #endif // SK_USER_CONFIG_WAS_LOADED
@@ -7,8 +7,6 @@
7
7
  #ifndef SkMacros_DEFINED
8
8
  #define SkMacros_DEFINED
9
9
 
10
- #include <type_traits>
11
-
12
10
  /*
13
11
  * Usage: SK_MACRO_CONCAT(a, b) to construct the symbol ab
14
12
  *
@@ -40,6 +38,23 @@
40
38
  #define SK_END_REQUIRE_DENSE
41
39
  #endif
42
40
 
41
+ #if defined(__clang__) && defined(__has_feature)
42
+ // Some compilers have a preprocessor that does not appear to do short-circuit
43
+ // evaluation as expected
44
+ #if __has_feature(leak_sanitizer) || __has_feature(address_sanitizer)
45
+ // Chrome had issues if we tried to include lsan_interface.h ourselves.
46
+ // https://github.com/llvm/llvm-project/blob/10a35632d55bb05004fe3d0c2d4432bb74897ee7/compiler-rt/include/sanitizer/lsan_interface.h#L26
47
+ extern "C" {
48
+ void __lsan_ignore_object(const void *p);
49
+ }
50
+ #define SK_INTENTIONALLY_LEAKED(X) __lsan_ignore_object(X)
51
+ #else
52
+ #define SK_INTENTIONALLY_LEAKED(X) ((void)0)
53
+ #endif
54
+ #else
55
+ #define SK_INTENTIONALLY_LEAKED(X) ((void)0)
56
+ #endif
57
+
43
58
  #define SK_INIT_TO_AVOID_WARNING = 0
44
59
 
45
60
  ////////////////////////////////////////////////////////////////////////////////
@@ -8,10 +8,9 @@
8
8
  #ifndef SkMalloc_DEFINED
9
9
  #define SkMalloc_DEFINED
10
10
 
11
- #include <cstddef>
12
11
  #include <cstring>
13
12
 
14
- #include "include/core/SkTypes.h"
13
+ #include "include/private/base/SkAPI.h"
15
14
 
16
15
  /*
17
16
  memory wrappers to be implemented by the porting layer (platform)
@@ -51,7 +50,9 @@ enum {
51
50
  SK_API extern void* sk_malloc_flags(size_t size, unsigned flags);
52
51
 
53
52
  /** Same as standard realloc(), but this one never returns null on failure. It will throw
54
- * an exception if it fails.
53
+ * if it fails.
54
+ * If size is 0, it will call sk_free on buffer and return null. (This behavior is implementation-
55
+ * defined for normal realloc. We follow what glibc does.)
55
56
  */
56
57
  SK_API extern void* sk_realloc_throw(void* buffer, size_t size);
57
58
 
@@ -78,10 +79,6 @@ SK_API extern void* sk_calloc_throw(size_t count, size_t elemSize);
78
79
  SK_API extern void* sk_malloc_throw(size_t count, size_t elemSize);
79
80
  SK_API extern void* sk_realloc_throw(void* buffer, size_t count, size_t elemSize);
80
81
 
81
- // Returns the true usable size provided by the underlying allocator, or 0 if
82
- // querying the allocation size is not supported.
83
- SK_API extern size_t sk_malloc_usable_size(void* buffer);
84
-
85
82
  /**
86
83
  * These variants return nullptr on failure
87
84
  */
@@ -8,7 +8,22 @@
8
8
  #ifndef SkMath_DEFINED
9
9
  #define SkMath_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
11
+ #include "include/private/base/SkAssert.h"
12
+ #include "include/private/base/SkCPUTypes.h"
13
+
14
+ #include <cstdint>
15
+ #include <climits>
16
+
17
+ // Max Signed 16 bit value
18
+ static constexpr int16_t SK_MaxS16 = INT16_MAX;
19
+ static constexpr int16_t SK_MinS16 = -SK_MaxS16;
20
+
21
+ static constexpr int32_t SK_MaxS32 = INT32_MAX;
22
+ static constexpr int32_t SK_MinS32 = -SK_MaxS32;
23
+ static constexpr int32_t SK_NaN32 = INT32_MIN;
24
+
25
+ static constexpr int64_t SK_MaxS64 = INT64_MAX;
26
+ static constexpr int64_t SK_MinS64 = -SK_MaxS64;
12
27
 
13
28
  // 64bit -> 32bit utilities
14
29
 
@@ -19,6 +34,14 @@ static inline int64_t sk_64_mul(int64_t a, int64_t b) {
19
34
  return a * b;
20
35
  }
21
36
 
37
+ static inline constexpr int32_t SkLeftShift(int32_t value, int32_t shift) {
38
+ return (int32_t) ((uint32_t) value << shift);
39
+ }
40
+
41
+ static inline constexpr int64_t SkLeftShift(int64_t value, int32_t shift) {
42
+ return (int64_t) ((uint64_t) value << shift);
43
+ }
44
+
22
45
  ///////////////////////////////////////////////////////////////////////////////
23
46
 
24
47
  /**
@@ -48,7 +71,7 @@ static inline unsigned SkMul16ShiftRound(U16CPU a, U16CPU b, int shift) {
48
71
  * Only valid if a and b are unsigned and <= 32767.
49
72
  */
50
73
  static inline U8CPU SkMulDiv255Round(U16CPU a, U16CPU b) {
51
- return SkMul16ShiftRound(a,b,8);
74
+ return SkMul16ShiftRound(a, b, 8);
52
75
  }
53
76
 
54
77
  #endif
@@ -8,11 +8,11 @@
8
8
  #ifndef SkMutex_DEFINED
9
9
  #define SkMutex_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
12
- #include "include/private/SkMacros.h"
13
- #include "include/private/SkSemaphore.h"
14
- #include "include/private/SkThreadAnnotations.h"
15
- #include "include/private/SkThreadID.h"
11
+ #include "include/private/base/SkAssert.h"
12
+ #include "include/private/base/SkDebug.h"
13
+ #include "include/private/base/SkSemaphore.h"
14
+ #include "include/private/base/SkThreadAnnotations.h"
15
+ #include "include/private/base/SkThreadID.h"
16
16
 
17
17
  class SK_CAPABILITY("mutex") SkMutex {
18
18
  public:
@@ -8,9 +8,9 @@
8
8
  #ifndef SkNoncopyable_DEFINED
9
9
  #define SkNoncopyable_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
11
+ #include "include/private/base/SkAPI.h"
12
12
 
13
- /** \class SkNoncopyable
13
+ /** \class SkNoncopyable (DEPRECATED)
14
14
 
15
15
  SkNoncopyable is the base class for objects that do not want to
16
16
  be copied. It hides its copy-constructor and its assignment-operator.
@@ -8,8 +8,10 @@
8
8
  #ifndef SkOnce_DEFINED
9
9
  #define SkOnce_DEFINED
10
10
 
11
- #include "include/private/SkThreadAnnotations.h"
11
+ #include "include/private/base/SkThreadAnnotations.h"
12
+
12
13
  #include <atomic>
14
+ #include <cstdint>
13
15
  #include <utility>
14
16
 
15
17
  // SkOnce provides call-once guarantees for Skia, much like std::once_flag/std::call_once().
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright 2022 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
+ * This file contains private enums related to paths. See also skbug.com/10670
8
+ */
9
+
10
+ #ifndef SkPathEnums_DEFINED
11
+ #define SkPathEnums_DEFINED
12
+
13
+ enum class SkPathConvexity {
14
+ kConvex,
15
+ kConcave,
16
+ kUnknown,
17
+ };
18
+
19
+ enum class SkPathFirstDirection {
20
+ kCW, // == SkPathDirection::kCW
21
+ kCCW, // == SkPathDirection::kCCW
22
+ kUnknown,
23
+ };
24
+
25
+ #endif
@@ -8,7 +8,10 @@
8
8
  #ifndef SkSafe32_DEFINED
9
9
  #define SkSafe32_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
11
+ #include "include/private/base/SkAssert.h"
12
+ #include "include/private/base/SkMath.h"
13
+
14
+ #include <cstdint>
12
15
 
13
16
  static constexpr int32_t Sk64_pin_to_s32(int64_t x) {
14
17
  return x < SK_MinS32 ? SK_MinS32 : (x > SK_MaxS32 ? SK_MaxS32 : (int32_t)x);
@@ -31,4 +34,16 @@ static constexpr int32_t Sk32_can_overflow_sub(int32_t a, int32_t b) {
31
34
  return (int32_t)((uint32_t)a - (uint32_t)b);
32
35
  }
33
36
 
37
+ /**
38
+ * This is a 'safe' abs for 32-bit integers that asserts when undefined behavior would occur.
39
+ * SkTAbs (in SkTemplates.h) is a general purpose absolute-value function.
40
+ */
41
+ static inline int32_t SkAbs32(int32_t value) {
42
+ SkASSERT(value != SK_NaN32); // The most negative int32_t can't be negated.
43
+ if (value < 0) {
44
+ value = -value;
45
+ }
46
+ return value;
47
+ }
48
+
34
49
  #endif
@@ -8,9 +8,10 @@
8
8
  #ifndef SkSemaphore_DEFINED
9
9
  #define SkSemaphore_DEFINED
10
10
 
11
- #include "include/core/SkTypes.h"
12
- #include "include/private/SkOnce.h"
13
- #include "include/private/SkThreadAnnotations.h"
11
+ #include "include/private/base/SkAPI.h"
12
+ #include "include/private/base/SkOnce.h"
13
+ #include "include/private/base/SkThreadAnnotations.h"
14
+
14
15
  #include <algorithm>
15
16
  #include <atomic>
16
17