rngine 0.8.0 → 0.8.2

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 (585) hide show
  1. package/README.md +50 -25
  2. package/android/CMakeLists.txt +45 -2
  3. package/android/build.gradle +1 -3
  4. package/android/kls_database.db +0 -0
  5. package/android/src/main/cpp/game-view.cpp +29 -0
  6. package/android/src/main/java/com/margelo/nitro/rngine/GameEngine.kt +1 -28
  7. package/android/src/main/java/com/margelo/nitro/rngine/GameView.kt +22 -166
  8. package/android/src/main/java/com/margelo/nitro/rngine/SvgLoaderHelper.kt +24 -0
  9. package/lib/module/GameMethods.js +44 -0
  10. package/lib/module/GameMethods.js.map +1 -1
  11. package/lib/module/GameMethods.nitro.js.map +1 -1
  12. package/lib/module/index.js +0 -1
  13. package/lib/module/index.js.map +1 -1
  14. package/lib/typescript/src/GameMethods.d.ts +1 -0
  15. package/lib/typescript/src/GameMethods.d.ts.map +1 -1
  16. package/lib/typescript/src/GameMethods.nitro.d.ts +3 -0
  17. package/lib/typescript/src/GameMethods.nitro.d.ts.map +1 -1
  18. package/lib/typescript/src/index.d.ts +0 -1
  19. package/lib/typescript/src/index.d.ts.map +1 -1
  20. package/lib/typescript/src/nativeTypes.d.ts +6 -0
  21. package/lib/typescript/src/nativeTypes.d.ts.map +1 -1
  22. package/nitro.json +0 -10
  23. package/nitrogen/generated/android/rngine+autolinking.cmake +0 -2
  24. package/nitrogen/generated/android/rngineOnLoad.cpp +0 -16
  25. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.cpp +0 -33
  26. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.hpp +0 -96
  27. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Umbrella.hpp +0 -9
  28. package/nitrogen/generated/ios/RngineAutolinking.mm +0 -8
  29. package/nitrogen/generated/ios/RngineAutolinking.swift +0 -12
  30. package/nitrogen/generated/shared/c++/Entity.hpp +13 -1
  31. package/nitrogen/generated/shared/c++/EntityUpdate.hpp +13 -1
  32. package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.cpp +3 -0
  33. package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.hpp +4 -0
  34. package/nitrogen/generated/shared/c++/Screen.hpp +14 -2
  35. package/package.json +4 -1
  36. package/shared/CollisionUtils.hpp +1 -6
  37. package/{android/src/main/cpp/ColorUtils.hpp → shared/ColorUtils.cpp} +8 -12
  38. package/shared/ColorUtils.hpp +7 -0
  39. package/shared/GameLoop.cpp +45 -27
  40. package/shared/GameLoop.hpp +1 -11
  41. package/shared/GameMethods.cpp +103 -6
  42. package/shared/GameMethods.hpp +17 -0
  43. package/shared/GameRenderer.cpp +431 -0
  44. package/shared/GameRenderer.hpp +65 -0
  45. package/shared/GameStats.hpp +3 -3
  46. package/shared/Overlap.hpp +9 -0
  47. package/shared/skia/include/android/AHardwareBufferUtils.h +26 -0
  48. package/shared/skia/include/android/GrAHardwareBufferUtils.h +97 -0
  49. package/shared/skia/include/android/SkAndroidFrameworkUtils.h +83 -0
  50. package/shared/skia/include/android/SkAnimatedImage.h +193 -0
  51. package/shared/skia/include/android/SkCanvasAndroid.h +20 -0
  52. package/shared/skia/include/android/SkImageAndroid.h +100 -0
  53. package/shared/skia/include/android/SkSurfaceAndroid.h +50 -0
  54. package/shared/skia/include/android/graphite/SurfaceAndroid.h +59 -0
  55. package/shared/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +31 -0
  56. package/shared/skia/include/codec/SkAndroidCodec.h +302 -0
  57. package/shared/skia/include/codec/SkAvifDecoder.h +80 -0
  58. package/shared/skia/include/codec/SkBmpDecoder.h +44 -0
  59. package/shared/skia/include/codec/SkBmpRustDecoder.h +42 -0
  60. package/shared/skia/include/codec/SkCodec.h +1178 -0
  61. package/shared/skia/include/codec/SkCodecAnimation.h +61 -0
  62. package/shared/skia/include/codec/SkEncodedImageFormat.h +33 -0
  63. package/shared/skia/include/codec/SkEncodedOrigin.h +71 -0
  64. package/shared/skia/include/codec/SkGifDecoder.h +44 -0
  65. package/shared/skia/include/codec/SkIcoDecoder.h +44 -0
  66. package/shared/skia/include/codec/SkJpegDecoder.h +51 -0
  67. package/shared/skia/include/codec/SkJpegxlDecoder.h +44 -0
  68. package/shared/skia/include/codec/SkPixmapUtils.h +31 -0
  69. package/shared/skia/include/codec/SkPngChunkReader.h +45 -0
  70. package/shared/skia/include/codec/SkPngDecoder.h +51 -0
  71. package/shared/skia/include/codec/SkPngRustDecoder.h +30 -0
  72. package/shared/skia/include/codec/SkRawDecoder.h +50 -0
  73. package/shared/skia/include/codec/SkWbmpDecoder.h +44 -0
  74. package/shared/skia/include/codec/SkWebpDecoder.h +51 -0
  75. package/shared/skia/include/config/SkUserConfig.h +141 -0
  76. package/shared/skia/include/core/SkAlphaType.h +45 -0
  77. package/shared/skia/include/core/SkAnnotation.h +52 -0
  78. package/shared/skia/include/core/SkArc.h +69 -0
  79. package/shared/skia/include/core/SkBBHFactory.h +67 -0
  80. package/shared/skia/include/core/SkBitmap.h +1264 -0
  81. package/shared/skia/include/core/SkBlendMode.h +112 -0
  82. package/shared/skia/include/core/SkBlender.h +30 -0
  83. package/shared/skia/include/core/SkBlurTypes.h +20 -0
  84. package/shared/skia/include/core/SkCPUContext.h +31 -0
  85. package/shared/skia/include/core/SkCPURecorder.h +76 -0
  86. package/shared/skia/include/core/SkCanvas.h +2770 -0
  87. package/shared/skia/include/core/SkCanvasVirtualEnforcer.h +61 -0
  88. package/shared/skia/include/core/SkCapabilities.h +35 -0
  89. package/shared/skia/include/core/SkClipOp.h +19 -0
  90. package/shared/skia/include/core/SkColor.h +469 -0
  91. package/shared/skia/include/core/SkColorFilter.h +150 -0
  92. package/shared/skia/include/core/SkColorSpace.h +432 -0
  93. package/shared/skia/include/core/SkColorTable.h +62 -0
  94. package/shared/skia/include/core/SkColorType.h +159 -0
  95. package/shared/skia/include/core/SkContourMeasure.h +215 -0
  96. package/shared/skia/include/core/SkCoverageMode.h +28 -0
  97. package/shared/skia/include/core/SkCubicMap.h +47 -0
  98. package/shared/skia/include/core/SkData.h +225 -0
  99. package/shared/skia/include/core/SkDataTable.h +122 -0
  100. package/shared/skia/include/core/SkDocument.h +93 -0
  101. package/shared/skia/include/core/SkDrawable.h +178 -0
  102. package/shared/skia/include/core/SkExecutor.h +59 -0
  103. package/shared/skia/include/core/SkFlattenable.h +115 -0
  104. package/shared/skia/include/core/SkFont.h +536 -0
  105. package/shared/skia/include/core/SkFontArguments.h +116 -0
  106. package/shared/skia/include/core/SkFontMetrics.h +139 -0
  107. package/shared/skia/include/core/SkFontMgr.h +178 -0
  108. package/shared/skia/include/core/SkFontParameters.h +43 -0
  109. package/shared/skia/include/core/SkFontScanner.h +45 -0
  110. package/shared/skia/include/core/SkFontStyle.h +84 -0
  111. package/shared/skia/include/core/SkFontTypes.h +25 -0
  112. package/shared/skia/include/core/SkFourByteTag.h +19 -0
  113. package/shared/skia/include/core/SkGraphics.h +169 -0
  114. package/shared/skia/include/core/SkImage.h +918 -0
  115. package/shared/skia/include/core/SkImageFilter.h +119 -0
  116. package/shared/skia/include/core/SkImageGenerator.h +140 -0
  117. package/shared/skia/include/core/SkImageInfo.h +634 -0
  118. package/shared/skia/include/core/SkM44.h +442 -0
  119. package/shared/skia/include/core/SkMallocPixelRef.h +45 -0
  120. package/shared/skia/include/core/SkMaskFilter.h +45 -0
  121. package/shared/skia/include/core/SkMatrix.h +1887 -0
  122. package/shared/skia/include/core/SkMesh.h +429 -0
  123. package/shared/skia/include/core/SkMilestone.h +9 -0
  124. package/shared/skia/include/core/SkOpenTypeSVGDecoder.h +30 -0
  125. package/shared/skia/include/core/SkOverdrawCanvas.h +94 -0
  126. package/shared/skia/include/core/SkPaint.h +698 -0
  127. package/shared/skia/include/core/SkPath.h +1145 -0
  128. package/shared/skia/include/core/SkPathBuilder.h +1052 -0
  129. package/shared/skia/include/core/SkPathEffect.h +88 -0
  130. package/shared/skia/include/core/SkPathIter.h +90 -0
  131. package/shared/skia/include/core/SkPathMeasure.h +96 -0
  132. package/shared/skia/include/core/SkPathTypes.h +71 -0
  133. package/shared/skia/include/core/SkPathUtils.h +39 -0
  134. package/shared/skia/include/core/SkPicture.h +291 -0
  135. package/shared/skia/include/core/SkPictureRecorder.h +115 -0
  136. package/shared/skia/include/core/SkPixelRef.h +120 -0
  137. package/shared/skia/include/core/SkPixmap.h +736 -0
  138. package/shared/skia/include/core/SkPoint.h +560 -0
  139. package/shared/skia/include/core/SkPoint3.h +149 -0
  140. package/shared/skia/include/core/SkRRect.h +548 -0
  141. package/shared/skia/include/core/SkRSXform.h +71 -0
  142. package/shared/skia/include/core/SkRasterHandleAllocator.h +94 -0
  143. package/shared/skia/include/core/SkRecorder.h +49 -0
  144. package/shared/skia/include/core/SkRect.h +1419 -0
  145. package/shared/skia/include/core/SkRefCnt.h +391 -0
  146. package/shared/skia/include/core/SkRegion.h +701 -0
  147. package/shared/skia/include/core/SkSamplingOptions.h +107 -0
  148. package/shared/skia/include/core/SkScalar.h +148 -0
  149. package/shared/skia/include/core/SkSerialProcs.h +127 -0
  150. package/shared/skia/include/core/SkShader.h +123 -0
  151. package/shared/skia/include/core/SkSize.h +93 -0
  152. package/shared/skia/include/core/SkSpan.h +174 -0
  153. package/shared/skia/include/core/SkStream.h +524 -0
  154. package/shared/skia/include/core/SkStrikeRef.h +96 -0
  155. package/shared/skia/include/core/SkString.h +297 -0
  156. package/shared/skia/include/core/SkStrokeRec.h +160 -0
  157. package/shared/skia/include/core/SkSurface.h +689 -0
  158. package/shared/skia/include/core/SkSurfaceProps.h +122 -0
  159. package/shared/skia/include/core/SkSwizzle.h +21 -0
  160. package/shared/skia/include/core/SkTextBlob.h +541 -0
  161. package/shared/skia/include/core/SkTextureCompressionType.h +30 -0
  162. package/shared/skia/include/core/SkTileMode.h +41 -0
  163. package/shared/skia/include/core/SkTiledImageUtils.h +125 -0
  164. package/shared/skia/include/core/SkTraceMemoryDump.h +121 -0
  165. package/shared/skia/include/core/SkTypeface.h +468 -0
  166. package/shared/skia/include/core/SkTypes.h +193 -0
  167. package/shared/skia/include/core/SkUnPreMultiply.h +55 -0
  168. package/shared/skia/include/core/SkVertices.h +136 -0
  169. package/shared/skia/include/core/SkYUVAInfo.h +311 -0
  170. package/shared/skia/include/core/SkYUVAPixmaps.h +335 -0
  171. package/shared/skia/include/docs/SkMultiPictureDocument.h +53 -0
  172. package/shared/skia/include/docs/SkPDFDocument.h +277 -0
  173. package/shared/skia/include/docs/SkPDFJpegHelpers.h +41 -0
  174. package/shared/skia/include/docs/SkXPSDocument.h +43 -0
  175. package/shared/skia/include/effects/Sk1DPathEffect.h +40 -0
  176. package/shared/skia/include/effects/Sk2DPathEffect.h +33 -0
  177. package/shared/skia/include/effects/SkBlenders.h +27 -0
  178. package/shared/skia/include/effects/SkBlurMaskFilter.h +35 -0
  179. package/shared/skia/include/effects/SkColorMatrix.h +57 -0
  180. package/shared/skia/include/effects/SkColorMatrixFilter.h +22 -0
  181. package/shared/skia/include/effects/SkCornerPathEffect.h +32 -0
  182. package/shared/skia/include/effects/SkDashPathEffect.h +43 -0
  183. package/shared/skia/include/effects/SkDiscretePathEffect.h +37 -0
  184. package/shared/skia/include/effects/SkGradient.h +206 -0
  185. package/shared/skia/include/effects/SkHighContrastFilter.h +84 -0
  186. package/shared/skia/include/effects/SkImageFilters.h +641 -0
  187. package/shared/skia/include/effects/SkLumaColorFilter.h +37 -0
  188. package/shared/skia/include/effects/SkOverdrawColorFilter.h +33 -0
  189. package/shared/skia/include/effects/SkPerlinNoiseShader.h +53 -0
  190. package/shared/skia/include/effects/SkRuntimeEffect.h +503 -0
  191. package/shared/skia/include/effects/SkShaderMaskFilter.h +28 -0
  192. package/shared/skia/include/effects/SkTableMaskFilter.h +47 -0
  193. package/shared/skia/include/effects/SkTrimPathEffect.h +45 -0
  194. package/shared/skia/include/encode/SkEncoder.h +63 -0
  195. package/shared/skia/include/encode/SkICC.h +36 -0
  196. package/shared/skia/include/encode/SkJpegEncoder.h +127 -0
  197. package/shared/skia/include/encode/SkPngEncoder.h +132 -0
  198. package/shared/skia/include/encode/SkPngRustEncoder.h +121 -0
  199. package/shared/skia/include/encode/SkWebpEncoder.h +87 -0
  200. package/shared/skia/include/gpu/GpuTypes.h +98 -0
  201. package/shared/skia/include/gpu/MutableTextureState.h +68 -0
  202. package/shared/skia/include/gpu/ShaderErrorHandler.h +46 -0
  203. package/shared/skia/include/gpu/ganesh/GrBackendSemaphore.h +50 -0
  204. package/shared/skia/include/gpu/ganesh/GrBackendSurface.h +257 -0
  205. package/shared/skia/include/gpu/ganesh/GrContextOptions.h +384 -0
  206. package/shared/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
  207. package/shared/skia/include/gpu/ganesh/GrDirectContext.h +1027 -0
  208. package/shared/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
  209. package/shared/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +49 -0
  210. package/shared/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +54 -0
  211. package/shared/skia/include/gpu/ganesh/GrRecordingContext.h +300 -0
  212. package/shared/skia/include/gpu/ganesh/GrTypes.h +193 -0
  213. package/shared/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
  214. package/shared/skia/include/gpu/ganesh/SkImageGanesh.h +361 -0
  215. package/shared/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
  216. package/shared/skia/include/gpu/ganesh/SkSurfaceGanesh.h +218 -0
  217. package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
  218. package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +20 -0
  219. package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +59 -0
  220. package/shared/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +28 -0
  221. package/shared/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
  222. package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
  223. package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
  224. package/shared/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +64 -0
  225. package/shared/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
  226. package/shared/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +30 -0
  227. package/shared/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
  228. package/shared/skia/include/gpu/ganesh/gl/GrGLFunctions.h +313 -0
  229. package/shared/skia/include/gpu/ganesh/gl/GrGLInterface.h +337 -0
  230. package/shared/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
  231. package/shared/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
  232. package/shared/skia/include/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h +23 -0
  233. package/shared/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
  234. package/shared/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h +23 -0
  235. package/shared/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
  236. package/shared/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
  237. package/shared/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
  238. package/shared/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
  239. package/shared/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
  240. package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +21 -0
  241. package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
  242. package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
  243. package/shared/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
  244. package/shared/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +61 -0
  245. package/shared/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +73 -0
  246. package/shared/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +44 -0
  247. package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
  248. package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +71 -0
  249. package/shared/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +33 -0
  250. package/shared/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
  251. package/shared/skia/include/gpu/graphite/BackendSemaphore.h +60 -0
  252. package/shared/skia/include/gpu/graphite/BackendTexture.h +65 -0
  253. package/shared/skia/include/gpu/graphite/Context.h +440 -0
  254. package/shared/skia/include/gpu/graphite/ContextOptions.h +239 -0
  255. package/shared/skia/include/gpu/graphite/GraphiteTypes.h +315 -0
  256. package/shared/skia/include/gpu/graphite/Image.h +428 -0
  257. package/shared/skia/include/gpu/graphite/ImageProvider.h +68 -0
  258. package/shared/skia/include/gpu/graphite/PersistentPipelineStorage.h +45 -0
  259. package/shared/skia/include/gpu/graphite/PrecompileContext.h +109 -0
  260. package/shared/skia/include/gpu/graphite/Recorder.h +355 -0
  261. package/shared/skia/include/gpu/graphite/Recording.h +100 -0
  262. package/shared/skia/include/gpu/graphite/Surface.h +121 -0
  263. package/shared/skia/include/gpu/graphite/TextureInfo.h +133 -0
  264. package/shared/skia/include/gpu/graphite/YUVABackendTextures.h +148 -0
  265. package/shared/skia/include/gpu/graphite/dawn/DawnBackendContext.h +77 -0
  266. package/shared/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +163 -0
  267. package/shared/skia/include/gpu/graphite/dawn/DawnTypes.h +9 -0
  268. package/shared/skia/include/gpu/graphite/dawn/DawnUtils.h +9 -0
  269. package/shared/skia/include/gpu/graphite/mtl/MtlBackendContext.h +34 -0
  270. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +73 -0
  271. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h +10 -0
  272. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h +50 -0
  273. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +9 -0
  274. package/shared/skia/include/gpu/graphite/precompile/PaintOptions.h +211 -0
  275. package/shared/skia/include/gpu/graphite/precompile/Precompile.h +59 -0
  276. package/shared/skia/include/gpu/graphite/precompile/PrecompileBase.h +76 -0
  277. package/shared/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
  278. package/shared/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +95 -0
  279. package/shared/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +116 -0
  280. package/shared/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +49 -0
  281. package/shared/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
  282. package/shared/skia/include/gpu/graphite/precompile/PrecompileShader.h +268 -0
  283. package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +31 -0
  284. package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +104 -0
  285. package/shared/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h +39 -0
  286. package/shared/skia/include/gpu/mtl/MtlMemoryAllocator.h +41 -0
  287. package/shared/skia/include/gpu/vk/VulkanBackendContext.h +57 -0
  288. package/shared/skia/include/gpu/vk/VulkanExtensions.h +73 -0
  289. package/shared/skia/include/gpu/vk/VulkanMemoryAllocator.h +117 -0
  290. package/shared/skia/include/gpu/vk/VulkanMutableTextureState.h +26 -0
  291. package/shared/skia/include/gpu/vk/VulkanPreferredFeatures.h +225 -0
  292. package/shared/skia/include/gpu/vk/VulkanTypes.h +245 -0
  293. package/shared/skia/include/pathops/SkPathOps.h +150 -0
  294. package/shared/skia/include/ports/SkCFObject.h +180 -0
  295. package/shared/skia/include/ports/SkFontConfigInterface.h +112 -0
  296. package/shared/skia/include/ports/SkFontMgr_FontConfigInterface.h +24 -0
  297. package/shared/skia/include/ports/SkFontMgr_Fontations.h +20 -0
  298. package/shared/skia/include/ports/SkFontMgr_android.h +48 -0
  299. package/shared/skia/include/ports/SkFontMgr_android_ndk.h +27 -0
  300. package/shared/skia/include/ports/SkFontMgr_data.h +22 -0
  301. package/shared/skia/include/ports/SkFontMgr_directory.h +21 -0
  302. package/shared/skia/include/ports/SkFontMgr_empty.h +21 -0
  303. package/shared/skia/include/ports/SkFontMgr_fontconfig.h +24 -0
  304. package/shared/skia/include/ports/SkFontMgr_fuchsia.h +21 -0
  305. package/shared/skia/include/ports/SkFontMgr_mac_ct.h +27 -0
  306. package/shared/skia/include/ports/SkFontScanner_Fontations.h +15 -0
  307. package/shared/skia/include/ports/SkFontScanner_FreeType.h +15 -0
  308. package/shared/skia/include/ports/SkImageGeneratorCG.h +28 -0
  309. package/shared/skia/include/ports/SkImageGeneratorNDK.h +40 -0
  310. package/shared/skia/include/ports/SkImageGeneratorWIC.h +41 -0
  311. package/shared/skia/include/ports/SkTypeface_fontations.h +24 -0
  312. package/shared/skia/include/ports/SkTypeface_mac.h +44 -0
  313. package/shared/skia/include/ports/SkTypeface_win.h +63 -0
  314. package/shared/skia/include/private/SingleOwner.h +75 -0
  315. package/shared/skia/include/private/SkAPI.h +52 -0
  316. package/shared/skia/include/private/SkASAN.h +56 -0
  317. package/shared/skia/include/private/SkAlign.h +51 -0
  318. package/shared/skia/include/private/SkAlignedStorage.h +32 -0
  319. package/shared/skia/include/private/SkAnySubclass.h +79 -0
  320. package/shared/skia/include/private/SkAssert.h +203 -0
  321. package/shared/skia/include/private/SkAttributes.h +96 -0
  322. package/shared/skia/include/private/SkCPUTypes.h +25 -0
  323. package/shared/skia/include/private/SkContainers.h +54 -0
  324. package/shared/skia/include/private/SkDebug.h +27 -0
  325. package/shared/skia/include/private/SkDeque.h +138 -0
  326. package/shared/skia/include/private/SkEncodedInfo.h +249 -0
  327. package/shared/skia/include/private/SkEnumBitMask.h +92 -0
  328. package/shared/skia/include/private/SkExif.h +69 -0
  329. package/shared/skia/include/private/SkFeatures.h +173 -0
  330. package/shared/skia/include/private/SkFixed.h +143 -0
  331. package/shared/skia/include/private/SkFloatingPoint.h +183 -0
  332. package/shared/skia/include/private/SkGainmapInfo.h +140 -0
  333. package/shared/skia/include/private/SkGainmapShader.h +60 -0
  334. package/shared/skia/include/private/SkHdrMetadata.h +357 -0
  335. package/shared/skia/include/private/SkIDChangeListener.h +76 -0
  336. package/shared/skia/include/private/SkJpegGainmapEncoder.h +48 -0
  337. package/shared/skia/include/private/SkJpegMetadataDecoder.h +103 -0
  338. package/shared/skia/include/private/SkLoadUserConfig.h +64 -0
  339. package/shared/skia/include/private/SkLog.h +62 -0
  340. package/shared/skia/include/private/SkLogPriority.h +34 -0
  341. package/shared/skia/include/private/SkMacros.h +170 -0
  342. package/shared/skia/include/private/SkMalloc.h +152 -0
  343. package/shared/skia/include/private/SkMath.h +77 -0
  344. package/shared/skia/include/private/SkMutex.h +72 -0
  345. package/shared/skia/include/private/SkNoncopyable.h +30 -0
  346. package/shared/skia/include/private/SkOnce.h +55 -0
  347. package/shared/skia/include/private/SkPathRef.h +90 -0
  348. package/shared/skia/include/private/SkPixelStorage.h +52 -0
  349. package/shared/skia/include/private/SkSLSampleUsage.h +85 -0
  350. package/shared/skia/include/private/SkSafe32.h +49 -0
  351. package/shared/skia/include/private/SkSemaphore.h +84 -0
  352. package/shared/skia/include/private/SkTArray.h +823 -0
  353. package/shared/skia/include/private/SkTDArray.h +247 -0
  354. package/shared/skia/include/private/SkTFitsIn.h +92 -0
  355. package/shared/skia/include/private/SkTLogic.h +56 -0
  356. package/shared/skia/include/private/SkTPin.h +23 -0
  357. package/shared/skia/include/private/SkTemplates.h +500 -0
  358. package/shared/skia/include/private/SkThreadAnnotations.h +104 -0
  359. package/shared/skia/include/private/SkThreadID.h +23 -0
  360. package/shared/skia/include/private/SkTo.h +39 -0
  361. package/shared/skia/include/private/SkTypeTraits.h +53 -0
  362. package/shared/skia/include/private/SkWeakRefCnt.h +173 -0
  363. package/shared/skia/include/private/SkXmp.h +62 -0
  364. package/shared/skia/include/private/chromium/GrDeferredDisplayList.h +120 -0
  365. package/shared/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +62 -0
  366. package/shared/skia/include/private/chromium/GrPromiseImageTexture.h +43 -0
  367. package/shared/skia/include/private/chromium/GrSurfaceCharacterization.h +211 -0
  368. package/shared/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +131 -0
  369. package/shared/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +150 -0
  370. package/shared/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
  371. package/shared/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  372. package/shared/skia/include/private/chromium/SkExifChromium.h +26 -0
  373. package/shared/skia/include/private/chromium/SkImageChromium.h +117 -0
  374. package/shared/skia/include/private/chromium/SkPMColor.h +38 -0
  375. package/shared/skia/include/private/chromium/Slug.h +72 -0
  376. package/shared/skia/include/private/gpu/ganesh/GrContext_Base.h +104 -0
  377. package/shared/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +60 -0
  378. package/shared/skia/include/private/gpu/ganesh/GrImageContext.h +56 -0
  379. package/shared/skia/include/private/gpu/ganesh/GrTextureGenerator.h +66 -0
  380. package/shared/skia/include/private/gpu/ganesh/GrTypesPriv.h +959 -0
  381. package/shared/skia/include/private/gpu/vk/SkiaVulkan.h +36 -0
  382. package/shared/skia/include/sksl/SkSLDebugTrace.h +25 -0
  383. package/shared/skia/include/sksl/SkSLVersion.h +27 -0
  384. package/shared/skia/include/svg/SkSVGCanvas.h +62 -0
  385. package/shared/skia/include/third_party/vulkan/vulkan/vk_icd.h +245 -0
  386. package/shared/skia/include/third_party/vulkan/vulkan/vk_layer.h +192 -0
  387. package/shared/skia/include/third_party/vulkan/vulkan/vk_platform.h +84 -0
  388. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +394 -0
  389. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +109 -0
  390. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +143 -0
  391. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
  392. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
  393. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +147 -0
  394. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
  395. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
  396. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +157 -0
  397. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
  398. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
  399. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
  400. package/shared/skia/include/third_party/vulkan/vulkan/vulkan.h +103 -0
  401. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_android.h +159 -0
  402. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +375 -0
  403. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_core.h +25896 -0
  404. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +59 -0
  405. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +282 -0
  406. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +62 -0
  407. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +50 -0
  408. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +50 -0
  409. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +244 -0
  410. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
  411. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +114 -0
  412. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +50 -0
  413. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +59 -0
  414. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +372 -0
  415. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +60 -0
  416. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +60 -0
  417. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +50 -0
  418. package/shared/skia/include/utils/SkCamera.h +109 -0
  419. package/shared/skia/include/utils/SkCanvasStateUtils.h +81 -0
  420. package/shared/skia/include/utils/SkCustomTypeface.h +70 -0
  421. package/shared/skia/include/utils/SkEventTracer.h +93 -0
  422. package/shared/skia/include/utils/SkNWayCanvas.h +123 -0
  423. package/shared/skia/include/utils/SkNoDrawCanvas.h +78 -0
  424. package/shared/skia/include/utils/SkNullCanvas.h +22 -0
  425. package/shared/skia/include/utils/SkOrderedFontMgr.h +66 -0
  426. package/shared/skia/include/utils/SkPaintFilterCanvas.h +140 -0
  427. package/shared/skia/include/utils/SkParse.h +36 -0
  428. package/shared/skia/include/utils/SkParsePath.h +33 -0
  429. package/shared/skia/include/utils/SkShadowUtils.h +102 -0
  430. package/shared/skia/include/utils/SkTextUtils.h +43 -0
  431. package/shared/skia/include/utils/SkTraceEventPhase.h +19 -0
  432. package/shared/skia/include/utils/mac/SkCGUtils.h +90 -0
  433. package/shared/skia/modules/jsonreader/SkJSONReader.cpp +996 -0
  434. package/shared/skia/modules/jsonreader/SkJSONReader.h +389 -0
  435. package/shared/skia/modules/skcms/skcms.h +10 -0
  436. package/shared/skia/modules/skcms/src/Transform_inl.h +1600 -0
  437. package/shared/skia/modules/skcms/src/skcms_Transform.h +167 -0
  438. package/shared/skia/modules/skcms/src/skcms_internals.h +157 -0
  439. package/shared/skia/modules/skcms/src/skcms_public.h +496 -0
  440. package/shared/skia/modules/skottie/include/ExternalLayer.h +56 -0
  441. package/shared/skia/modules/skottie/include/Skottie.h +324 -0
  442. package/shared/skia/modules/skottie/include/SkottieProperty.h +190 -0
  443. package/shared/skia/modules/skottie/include/SlotManager.h +113 -0
  444. package/shared/skia/modules/skottie/include/TextShaper.h +197 -0
  445. package/shared/skia/modules/skottie/src/SkottieValue.h +56 -0
  446. package/shared/skia/modules/skottie/src/animator/Animator.h +89 -0
  447. package/shared/skia/modules/skottie/src/text/Font.h +82 -0
  448. package/shared/skia/modules/skottie/src/text/TextAdapter.h +155 -0
  449. package/shared/skia/modules/skottie/src/text/TextAnimator.h +122 -0
  450. package/shared/skia/modules/skottie/src/text/TextValue.h +28 -0
  451. package/shared/skia/modules/skparagraph/include/DartTypes.h +153 -0
  452. package/shared/skia/modules/skparagraph/include/FontArguments.h +46 -0
  453. package/shared/skia/modules/skparagraph/include/FontCollection.h +76 -0
  454. package/shared/skia/modules/skparagraph/include/Metrics.h +98 -0
  455. package/shared/skia/modules/skparagraph/include/Paragraph.h +289 -0
  456. package/shared/skia/modules/skparagraph/include/ParagraphBuilder.h +94 -0
  457. package/shared/skia/modules/skparagraph/include/ParagraphCache.h +52 -0
  458. package/shared/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  459. package/shared/skia/modules/skparagraph/include/ParagraphStyle.h +160 -0
  460. package/shared/skia/modules/skparagraph/include/TextShadow.h +30 -0
  461. package/shared/skia/modules/skparagraph/include/TextStyle.h +392 -0
  462. package/shared/skia/modules/skparagraph/include/TypefaceFontProvider.h +78 -0
  463. package/shared/skia/modules/skresources/include/SkResources.h +291 -0
  464. package/shared/skia/modules/sksg/include/SkSGClipEffect.h +61 -0
  465. package/shared/skia/modules/sksg/include/SkSGColorFilter.h +135 -0
  466. package/shared/skia/modules/sksg/include/SkSGDraw.h +57 -0
  467. package/shared/skia/modules/sksg/include/SkSGEffectNode.h +50 -0
  468. package/shared/skia/modules/sksg/include/SkSGGeometryEffect.h +207 -0
  469. package/shared/skia/modules/sksg/include/SkSGGeometryNode.h +54 -0
  470. package/shared/skia/modules/sksg/include/SkSGGradient.h +108 -0
  471. package/shared/skia/modules/sksg/include/SkSGGroup.h +65 -0
  472. package/shared/skia/modules/sksg/include/SkSGImage.h +59 -0
  473. package/shared/skia/modules/sksg/include/SkSGInvalidationController.h +46 -0
  474. package/shared/skia/modules/sksg/include/SkSGMaskEffect.h +65 -0
  475. package/shared/skia/modules/sksg/include/SkSGMerge.h +74 -0
  476. package/shared/skia/modules/sksg/include/SkSGNode.h +128 -0
  477. package/shared/skia/modules/sksg/include/SkSGOpacityEffect.h +54 -0
  478. package/shared/skia/modules/sksg/include/SkSGPaint.h +112 -0
  479. package/shared/skia/modules/sksg/include/SkSGPath.h +68 -0
  480. package/shared/skia/modules/sksg/include/SkSGPlane.h +47 -0
  481. package/shared/skia/modules/sksg/include/SkSGRect.h +122 -0
  482. package/shared/skia/modules/sksg/include/SkSGRenderEffect.h +283 -0
  483. package/shared/skia/modules/sksg/include/SkSGRenderNode.h +157 -0
  484. package/shared/skia/modules/sksg/include/SkSGScene.h +47 -0
  485. package/shared/skia/modules/sksg/include/SkSGText.h +82 -0
  486. package/shared/skia/modules/sksg/include/SkSGTransform.h +127 -0
  487. package/shared/skia/modules/skshaper/include/SkShaper.h +318 -0
  488. package/shared/skia/modules/skshaper/include/SkShaper_coretext.h +26 -0
  489. package/shared/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
  490. package/shared/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
  491. package/shared/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
  492. package/shared/skia/modules/skunicode/include/SkUnicode.h +321 -0
  493. package/shared/skia/modules/skunicode/include/SkUnicode_icu.h +18 -0
  494. package/shared/skia/modules/skunicode/include/SkUnicode_libgrapheme.h +19 -0
  495. package/shared/skia/modules/svg/include/SkSVGAttribute.h +110 -0
  496. package/shared/skia/modules/svg/include/SkSVGAttributeParser.h +170 -0
  497. package/shared/skia/modules/svg/include/SkSVGCircle.h +56 -0
  498. package/shared/skia/modules/svg/include/SkSVGClipPath.h +41 -0
  499. package/shared/skia/modules/svg/include/SkSVGContainer.h +52 -0
  500. package/shared/skia/modules/svg/include/SkSVGDOM.h +111 -0
  501. package/shared/skia/modules/svg/include/SkSVGDefs.h +23 -0
  502. package/shared/skia/modules/svg/include/SkSVGEllipse.h +51 -0
  503. package/shared/skia/modules/svg/include/SkSVGFe.h +93 -0
  504. package/shared/skia/modules/svg/include/SkSVGFeBlend.h +54 -0
  505. package/shared/skia/modules/svg/include/SkSVGFeColorMatrix.h +55 -0
  506. package/shared/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
  507. package/shared/skia/modules/svg/include/SkSVGFeComposite.h +55 -0
  508. package/shared/skia/modules/svg/include/SkSVGFeDisplacementMap.h +56 -0
  509. package/shared/skia/modules/svg/include/SkSVGFeFlood.h +42 -0
  510. package/shared/skia/modules/svg/include/SkSVGFeGaussianBlur.h +50 -0
  511. package/shared/skia/modules/svg/include/SkSVGFeImage.h +44 -0
  512. package/shared/skia/modules/svg/include/SkSVGFeLightSource.h +93 -0
  513. package/shared/skia/modules/svg/include/SkSVGFeLighting.h +131 -0
  514. package/shared/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
  515. package/shared/skia/modules/svg/include/SkSVGFeMorphology.h +55 -0
  516. package/shared/skia/modules/svg/include/SkSVGFeOffset.h +44 -0
  517. package/shared/skia/modules/svg/include/SkSVGFeTurbulence.h +49 -0
  518. package/shared/skia/modules/svg/include/SkSVGFilter.h +48 -0
  519. package/shared/skia/modules/svg/include/SkSVGFilterContext.h +69 -0
  520. package/shared/skia/modules/svg/include/SkSVGG.h +23 -0
  521. package/shared/skia/modules/svg/include/SkSVGGradient.h +56 -0
  522. package/shared/skia/modules/svg/include/SkSVGHiddenContainer.h +23 -0
  523. package/shared/skia/modules/svg/include/SkSVGIDMapper.h +19 -0
  524. package/shared/skia/modules/svg/include/SkSVGImage.h +67 -0
  525. package/shared/skia/modules/svg/include/SkSVGLine.h +53 -0
  526. package/shared/skia/modules/svg/include/SkSVGLinearGradient.h +47 -0
  527. package/shared/skia/modules/svg/include/SkSVGMask.h +49 -0
  528. package/shared/skia/modules/svg/include/SkSVGNode.h +235 -0
  529. package/shared/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +37 -0
  530. package/shared/skia/modules/svg/include/SkSVGPath.h +46 -0
  531. package/shared/skia/modules/svg/include/SkSVGPattern.h +61 -0
  532. package/shared/skia/modules/svg/include/SkSVGPoly.h +56 -0
  533. package/shared/skia/modules/svg/include/SkSVGRadialGradient.h +48 -0
  534. package/shared/skia/modules/svg/include/SkSVGRect.h +56 -0
  535. package/shared/skia/modules/svg/include/SkSVGRenderContext.h +229 -0
  536. package/shared/skia/modules/svg/include/SkSVGSVG.h +60 -0
  537. package/shared/skia/modules/svg/include/SkSVGShape.h +40 -0
  538. package/shared/skia/modules/svg/include/SkSVGStop.h +36 -0
  539. package/shared/skia/modules/svg/include/SkSVGText.h +128 -0
  540. package/shared/skia/modules/svg/include/SkSVGTransformableNode.h +48 -0
  541. package/shared/skia/modules/svg/include/SkSVGTypes.h +740 -0
  542. package/shared/skia/modules/svg/include/SkSVGUse.h +49 -0
  543. package/shared/skia/modules/svg/include/SkSVGValue.h +85 -0
  544. package/shared/skia/src/core/SkArenaAlloc.h +371 -0
  545. package/shared/skia/src/core/SkAutoLocaleSetter.h +94 -0
  546. package/shared/skia/src/core/SkChecksum.h +118 -0
  547. package/shared/skia/src/core/SkLRUCache.h +143 -0
  548. package/shared/skia/src/core/SkMathPriv.h +225 -0
  549. package/shared/skia/src/core/SkTHash.h +714 -0
  550. package/shared/skia/src/core/SkTInternalLList.h +304 -0
  551. package/shared/skia/src/core/SkTLazy.h +216 -0
  552. package/shared/skia/src/core/SkUTF.h +102 -0
  553. package/shared/skia/src/gpu/ganesh/gl/GrGLDefines.h +1162 -0
  554. package/src/GameMethods.nitro.ts +4 -0
  555. package/src/GameMethods.ts +55 -0
  556. package/src/index.tsx +0 -1
  557. package/src/nativeTypes.ts +6 -0
  558. package/android/src/main/cpp/GameLoopJNI.cpp +0 -132
  559. package/android/src/main/java/com/margelo/nitro/rngine/Asset.kt +0 -9
  560. package/android/src/main/java/com/margelo/nitro/rngine/GameAssets.kt +0 -61
  561. package/android/src/main/java/com/margelo/nitro/rngine/Screen.kt +0 -9
  562. package/android/src/main/java/com/margelo/nitro/rngine/Shape.kt +0 -26
  563. package/android/src/main/java/com/margelo/nitro/rngine/Snapshot.kt +0 -3
  564. package/android/src/main/java/com/margelo/nitro/rngine/SnapshotSerializer.kt +0 -53
  565. package/lib/module/GameAssets.js +0 -41
  566. package/lib/module/GameAssets.js.map +0 -1
  567. package/lib/module/GameAssets.nitro.js +0 -5
  568. package/lib/module/GameAssets.nitro.js.map +0 -1
  569. package/lib/typescript/src/GameAssets.d.ts +0 -2
  570. package/lib/typescript/src/GameAssets.d.ts.map +0 -1
  571. package/lib/typescript/src/GameAssets.nitro.d.ts +0 -12
  572. package/lib/typescript/src/GameAssets.nitro.d.ts.map +0 -1
  573. package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.cpp +0 -86
  574. package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.hpp +0 -65
  575. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngine/HybridGameAssetsSpec.kt +0 -63
  576. package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.cpp +0 -11
  577. package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.hpp +0 -99
  578. package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
  579. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
  580. package/nitrogen/generated/ios/swift/HybridGameAssetsSpec.swift +0 -57
  581. package/nitrogen/generated/ios/swift/HybridGameAssetsSpec_cxx.swift +0 -176
  582. package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.cpp +0 -23
  583. package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.hpp +0 -65
  584. package/src/GameAssets.nitro.ts +0 -14
  585. package/src/GameAssets.ts +0 -47
@@ -0,0 +1,211 @@
1
+ /*
2
+ * Copyright 2023 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef GrSurfaceCharacterization_DEFINED
9
+ #define GrSurfaceCharacterization_DEFINED
10
+
11
+ #include "include/core/SkColorSpace.h" // IWYU pragma: keep
12
+ #include "include/core/SkColorType.h"
13
+ #include "include/core/SkImageInfo.h"
14
+ #include "include/core/SkRefCnt.h"
15
+ #include "include/core/SkSize.h"
16
+ #include "include/core/SkSurfaceProps.h"
17
+ #include "include/core/SkTypes.h"
18
+ #include "include/gpu/GpuTypes.h"
19
+ #include "include/gpu/ganesh/GrBackendSurface.h"
20
+ #include "include/gpu/ganesh/GrContextThreadSafeProxy.h"
21
+ #include "include/gpu/ganesh/GrTypes.h"
22
+ #include "include/private/SkDebug.h"
23
+
24
+ #include <cstddef>
25
+ #include <utility>
26
+
27
+ /** \class GrSurfaceCharacterization
28
+ A surface characterization contains all the information Ganesh requires to makes its internal
29
+ rendering decisions. When passed into a GrDeferredDisplayListRecorder it will copy the
30
+ data and pass it on to the GrDeferredDisplayList if/when it is created. Note that both of
31
+ those objects (the Recorder and the DisplayList) will take a ref on the
32
+ GrContextThreadSafeProxy and SkColorSpace objects.
33
+ */
34
+ class SK_API GrSurfaceCharacterization {
35
+ public:
36
+ enum class Textureable : bool { kNo = false, kYes = true };
37
+ enum class UsesGLFBO0 : bool { kNo = false, kYes = true };
38
+ // This flag indicates that the backing VkImage for this Vulkan surface will have the
39
+ // VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set. This bit allows skia to handle advanced blends
40
+ // more optimally in a shader by being able to directly read the dst values.
41
+ enum class VkRTSupportsInputAttachment : bool { kNo = false, kYes = true };
42
+ // This flag indicates if the surface is wrapping a raw Vulkan secondary command buffer.
43
+ enum class VulkanSecondaryCBCompatible : bool { kNo = false, kYes = true };
44
+
45
+ GrSurfaceCharacterization()
46
+ : fCacheMaxResourceBytes(0)
47
+ , fOrigin(kBottomLeft_GrSurfaceOrigin)
48
+ , fSampleCnt(0)
49
+ , fIsTextureable(Textureable::kYes)
50
+ , fIsMipmapped(skgpu::Mipmapped::kYes)
51
+ , fUsesGLFBO0(UsesGLFBO0::kNo)
52
+ , fVulkanSecondaryCBCompatible(VulkanSecondaryCBCompatible::kNo)
53
+ , fIsProtected(skgpu::Protected::kNo)
54
+ , fSurfaceProps() {}
55
+
56
+ GrSurfaceCharacterization(GrSurfaceCharacterization&&) = default;
57
+ GrSurfaceCharacterization& operator=(GrSurfaceCharacterization&&) = default;
58
+
59
+ GrSurfaceCharacterization(const GrSurfaceCharacterization&) = default;
60
+ GrSurfaceCharacterization& operator=(const GrSurfaceCharacterization& other) = default;
61
+ bool operator==(const GrSurfaceCharacterization& other) const;
62
+ bool operator!=(const GrSurfaceCharacterization& other) const {
63
+ return !(*this == other);
64
+ }
65
+
66
+ /*
67
+ * Return a new surface characterization with the only difference being a different width
68
+ * and height
69
+ */
70
+ GrSurfaceCharacterization createResized(int width, int height) const;
71
+
72
+ /*
73
+ * Return a new surface characterization with only a replaced color space
74
+ */
75
+ GrSurfaceCharacterization createColorSpace(sk_sp<SkColorSpace>) const;
76
+
77
+ /*
78
+ * Return a new surface characterization with the backend format replaced. A colorType
79
+ * must also be supplied to indicate the interpretation of the new format.
80
+ */
81
+ GrSurfaceCharacterization createBackendFormat(SkColorType colorType,
82
+ const GrBackendFormat& backendFormat) const;
83
+
84
+ /*
85
+ * Return a new surface characterization with just a different use of FBO0 (in GL)
86
+ */
87
+ GrSurfaceCharacterization createFBO0(bool usesGLFBO0) const;
88
+
89
+ GrContextThreadSafeProxy* contextInfo() const { return fContextInfo.get(); }
90
+ sk_sp<GrContextThreadSafeProxy> refContextInfo() const { return fContextInfo; }
91
+ size_t cacheMaxResourceBytes() const { return fCacheMaxResourceBytes; }
92
+
93
+ bool isValid() const { return kUnknown_SkColorType != fImageInfo.colorType(); }
94
+
95
+ const SkImageInfo& imageInfo() const { return fImageInfo; }
96
+ const GrBackendFormat& backendFormat() const { return fBackendFormat; }
97
+ GrSurfaceOrigin origin() const { return fOrigin; }
98
+ SkISize dimensions() const { return fImageInfo.dimensions(); }
99
+ int width() const { return fImageInfo.width(); }
100
+ int height() const { return fImageInfo.height(); }
101
+ SkColorType colorType() const { return fImageInfo.colorType(); }
102
+ int sampleCount() const { return fSampleCnt; }
103
+ bool isTextureable() const { return Textureable::kYes == fIsTextureable; }
104
+ bool isMipMapped() const { return skgpu::Mipmapped::kYes == fIsMipmapped; }
105
+ bool usesGLFBO0() const { return UsesGLFBO0::kYes == fUsesGLFBO0; }
106
+ bool vkRTSupportsInputAttachment() const {
107
+ return VkRTSupportsInputAttachment::kYes == fVkRTSupportsInputAttachment;
108
+ }
109
+ bool vulkanSecondaryCBCompatible() const {
110
+ return VulkanSecondaryCBCompatible::kYes == fVulkanSecondaryCBCompatible;
111
+ }
112
+ skgpu::Protected isProtected() const { return fIsProtected; }
113
+ SkColorSpace* colorSpace() const { return fImageInfo.colorSpace(); }
114
+ sk_sp<SkColorSpace> refColorSpace() const { return fImageInfo.refColorSpace(); }
115
+ const SkSurfaceProps& surfaceProps()const { return fSurfaceProps; }
116
+
117
+ private:
118
+ friend class SkSurface_Ganesh; // for 'set' & 'config'
119
+ friend class GrVkSecondaryCBDrawContext; // for 'set' & 'config'
120
+ friend class GrContextThreadSafeProxy; // for private ctor
121
+ friend class GrVkContextThreadSafeProxy; // for private ctor
122
+ friend class GrDeferredDisplayListRecorder; // for 'config'
123
+ friend class SkSurface; // for 'config'
124
+
125
+ SkDEBUGCODE(void validate() const;)
126
+
127
+ GrSurfaceCharacterization(sk_sp<GrContextThreadSafeProxy> contextInfo,
128
+ size_t cacheMaxResourceBytes,
129
+ const SkImageInfo& ii,
130
+ const GrBackendFormat& backendFormat,
131
+ GrSurfaceOrigin origin,
132
+ int sampleCnt,
133
+ Textureable isTextureable,
134
+ skgpu::Mipmapped isMipmapped,
135
+ UsesGLFBO0 usesGLFBO0,
136
+ VkRTSupportsInputAttachment vkRTSupportsInputAttachment,
137
+ VulkanSecondaryCBCompatible vulkanSecondaryCBCompatible,
138
+ skgpu::Protected isProtected,
139
+ const SkSurfaceProps& surfaceProps)
140
+ : fContextInfo(std::move(contextInfo))
141
+ , fCacheMaxResourceBytes(cacheMaxResourceBytes)
142
+ , fImageInfo(ii)
143
+ , fBackendFormat(std::move(backendFormat))
144
+ , fOrigin(origin)
145
+ , fSampleCnt(sampleCnt)
146
+ , fIsTextureable(isTextureable)
147
+ , fIsMipmapped(isMipmapped)
148
+ , fUsesGLFBO0(usesGLFBO0)
149
+ , fVkRTSupportsInputAttachment(vkRTSupportsInputAttachment)
150
+ , fVulkanSecondaryCBCompatible(vulkanSecondaryCBCompatible)
151
+ , fIsProtected(isProtected)
152
+ , fSurfaceProps(surfaceProps) {
153
+ if (fSurfaceProps.flags() & SkSurfaceProps::kDynamicMSAA_Flag) {
154
+ // Dynamic MSAA is not currently supported with DDL.
155
+ *this = {};
156
+ }
157
+ SkDEBUGCODE(this->validate());
158
+ }
159
+
160
+ void set(sk_sp<GrContextThreadSafeProxy> contextInfo,
161
+ size_t cacheMaxResourceBytes,
162
+ const SkImageInfo& ii,
163
+ const GrBackendFormat& backendFormat,
164
+ GrSurfaceOrigin origin,
165
+ int sampleCnt,
166
+ Textureable isTextureable,
167
+ skgpu::Mipmapped isMipmapped,
168
+ UsesGLFBO0 usesGLFBO0,
169
+ VkRTSupportsInputAttachment vkRTSupportsInputAttachment,
170
+ VulkanSecondaryCBCompatible vulkanSecondaryCBCompatible,
171
+ skgpu::Protected isProtected,
172
+ const SkSurfaceProps& surfaceProps) {
173
+ if (surfaceProps.flags() & SkSurfaceProps::kDynamicMSAA_Flag) {
174
+ // Dynamic MSAA is not currently supported with DDL.
175
+ *this = {};
176
+ } else {
177
+ fContextInfo = std::move(contextInfo);
178
+ fCacheMaxResourceBytes = cacheMaxResourceBytes;
179
+
180
+ fImageInfo = ii;
181
+ fBackendFormat = std::move(backendFormat);
182
+ fOrigin = origin;
183
+ fSampleCnt = sampleCnt;
184
+ fIsTextureable = isTextureable;
185
+ fIsMipmapped = isMipmapped;
186
+ fUsesGLFBO0 = usesGLFBO0;
187
+ fVkRTSupportsInputAttachment = vkRTSupportsInputAttachment;
188
+ fVulkanSecondaryCBCompatible = vulkanSecondaryCBCompatible;
189
+ fIsProtected = isProtected;
190
+ fSurfaceProps = surfaceProps;
191
+ }
192
+ SkDEBUGCODE(this->validate());
193
+ }
194
+
195
+ sk_sp<GrContextThreadSafeProxy> fContextInfo;
196
+ size_t fCacheMaxResourceBytes;
197
+
198
+ SkImageInfo fImageInfo;
199
+ GrBackendFormat fBackendFormat;
200
+ GrSurfaceOrigin fOrigin;
201
+ int fSampleCnt;
202
+ Textureable fIsTextureable;
203
+ skgpu::Mipmapped fIsMipmapped;
204
+ UsesGLFBO0 fUsesGLFBO0;
205
+ VkRTSupportsInputAttachment fVkRTSupportsInputAttachment;
206
+ VulkanSecondaryCBCompatible fVulkanSecondaryCBCompatible;
207
+ skgpu::Protected fIsProtected;
208
+ SkSurfaceProps fSurfaceProps;
209
+ };
210
+
211
+ #endif
@@ -0,0 +1,131 @@
1
+ /*
2
+ * Copyright 2019 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 GrVkSecondaryCBDrawContext_DEFINED
9
+ #define GrVkSecondaryCBDrawContext_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/core/SkSurfaceProps.h"
13
+ #include "include/core/SkTypes.h"
14
+
15
+ #include <memory>
16
+
17
+ class GrBackendSemaphore;
18
+ class GrDeferredDisplayList;
19
+ class GrRecordingContext;
20
+ class GrSurfaceCharacterization;
21
+ struct GrVkDrawableInfo;
22
+ namespace skgpu::ganesh {
23
+ class Device;
24
+ }
25
+ class SkCanvas;
26
+ struct SkImageInfo;
27
+ class SkSurfaceProps;
28
+
29
+ /**
30
+ * This class is a private header that is intended to only be used inside of Chromium. This requires
31
+ * Chromium to burrow in and include this specifically since it is not part of skia's public include
32
+ * directory.
33
+ */
34
+
35
+ /**
36
+ * This class is used to draw into an external Vulkan secondary command buffer that is imported
37
+ * by the client. The secondary command buffer that gets imported must already have had begin called
38
+ * on it with VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT. Thus any draws to the imported
39
+ * command buffer cannot require changing the render pass. This requirement means that certain types
40
+ * of draws will not be supported when using a GrVkSecondaryCBDrawContext. This includes:
41
+ * Draws that require a dst copy for blending will be dropped
42
+ * Text draws will be dropped (these may require intermediate uploads of text data)
43
+ * Read and Write pixels will not work
44
+ * Any other draw that requires a copy will fail (this includes using backdrop filter with save
45
+ * layer).
46
+ * Stenciling is also disabled, but that should not restrict any actual draws from working.
47
+ *
48
+ * While using a GrVkSecondaryCBDrawContext, the client can also draw into normal SkSurfaces and
49
+ * then draw those SkSufaces (as SkImages) into the GrVkSecondaryCBDrawContext. If any of the
50
+ * previously mentioned unsupported draws are needed by the client, they can draw them into an
51
+ * offscreen surface, and then draw that into the GrVkSecondaryCBDrawContext.
52
+ *
53
+ * After all drawing to the GrVkSecondaryCBDrawContext has been done, the client must call flush()
54
+ * on the GrVkSecondaryCBDrawContext to actually fill in the secondary VkCommandBuffer with the
55
+ * draws.
56
+ *
57
+ * Additionally, the client must keep the GrVkSecondaryCBDrawContext alive until the secondary
58
+ * VkCommandBuffer has been submitted and all work finished on the GPU. Before deleting the
59
+ * GrVkSecondaryCBDrawContext, the client must call releaseResources() so that Skia can cleanup
60
+ * any internal objects that were created for the draws into the secondary command buffer.
61
+ */
62
+ class SK_SPI GrVkSecondaryCBDrawContext : public SkRefCnt {
63
+ public:
64
+ static sk_sp<GrVkSecondaryCBDrawContext> Make(GrRecordingContext*,
65
+ const SkImageInfo&,
66
+ const GrVkDrawableInfo&,
67
+ const SkSurfaceProps* props);
68
+
69
+ ~GrVkSecondaryCBDrawContext() override;
70
+
71
+ SkCanvas* getCanvas();
72
+
73
+ // Records all the draws to the imported secondary command buffer and sets any dependent
74
+ // offscreen draws to the GPU.
75
+ void flush();
76
+
77
+ /** Inserts a list of GPU semaphores that Skia will have the driver wait on before executing
78
+ commands for this secondary CB. The wait semaphores will get added to the VkCommandBuffer
79
+ owned by this GrContext when flush() is called, and not the command buffer which the
80
+ Secondary CB is from. This will guarantee that the driver waits on the semaphores before
81
+ the secondary command buffer gets executed. We will submit the semphore to wait at
82
+ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT and VK_PIPELINE_STAGE_TRANSFER_BIT. If this
83
+ call returns false, then the GPU back end will not wait on any passed in semaphores, and the
84
+ client will still own the semaphores, regardless of the value of deleteSemaphoresAfterWait.
85
+
86
+ If deleteSemaphoresAfterWait is false then Skia will not delete the semaphores. In this case
87
+ it is the client's responsibility to not destroy or attempt to reuse the semaphores until it
88
+ knows that Skia has finished waiting on them. This can be done by using finishedProcs
89
+ on flush calls.
90
+
91
+ @param numSemaphores size of waitSemaphores array
92
+ @param waitSemaphores array of semaphore containers
93
+ @paramm deleteSemaphoresAfterWait who owns and should delete the semaphores
94
+ @return true if GPU is waiting on semaphores
95
+ */
96
+ bool wait(int numSemaphores,
97
+ const GrBackendSemaphore waitSemaphores[],
98
+ bool deleteSemaphoresAfterWait = true);
99
+
100
+ // This call will release all resources held by the draw context. The client must call
101
+ // releaseResources() before deleting the drawing context. However, the resources also include
102
+ // any Vulkan resources that were created and used for draws. Therefore the client must only
103
+ // call releaseResources() after submitting the secondary command buffer, and waiting for it to
104
+ // finish on the GPU. If it is called earlier then some vulkan objects may be deleted while they
105
+ // are still in use by the GPU.
106
+ void releaseResources();
107
+
108
+ const SkSurfaceProps& props() const { return fProps; }
109
+
110
+ // TODO: Fill out these calls to support DDL
111
+ bool characterize(GrSurfaceCharacterization* characterization) const;
112
+
113
+ #ifndef SK_DDL_IS_UNIQUE_POINTER
114
+ bool draw(sk_sp<const GrDeferredDisplayList> deferredDisplayList);
115
+ #else
116
+ bool draw(const GrDeferredDisplayList* deferredDisplayList);
117
+ #endif
118
+
119
+ bool isCompatible(const GrSurfaceCharacterization& characterization) const;
120
+
121
+ private:
122
+ explicit GrVkSecondaryCBDrawContext(sk_sp<skgpu::ganesh::Device>, const SkSurfaceProps*);
123
+
124
+ sk_sp<skgpu::ganesh::Device> fDevice;
125
+ std::unique_ptr<SkCanvas> fCachedCanvas;
126
+ const SkSurfaceProps fProps;
127
+
128
+ using INHERITED = SkRefCnt;
129
+ };
130
+
131
+ #endif
@@ -0,0 +1,150 @@
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 SkChromeRemoteGlyphCache_DEFINED
9
+ #define SkChromeRemoteGlyphCache_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/core/SkTypeface.h"
13
+ #include "include/private/SkAPI.h"
14
+
15
+ #include <cstddef>
16
+ #include <cstdint>
17
+ #include <memory>
18
+ #include <vector>
19
+
20
+ class SkAutoDescriptor;
21
+ class SkCanvas;
22
+ class SkColorSpace;
23
+ class SkStrikeCache;
24
+ class SkStrikeClientImpl;
25
+ class SkStrikeServerImpl;
26
+ class SkSurfaceProps;
27
+ namespace sktext::gpu { class Slug; }
28
+
29
+ using SkDiscardableHandleId = uint32_t;
30
+ // This class is not thread-safe.
31
+ class SkStrikeServer {
32
+ public:
33
+ // An interface used by the server to create handles for pinning SkStrike
34
+ // entries on the remote client.
35
+ class DiscardableHandleManager {
36
+ public:
37
+ SK_SPI virtual ~DiscardableHandleManager() = default;
38
+
39
+ // Creates a new *locked* handle and returns a unique ID that can be used to identify
40
+ // it on the remote client.
41
+ SK_SPI virtual SkDiscardableHandleId createHandle() = 0;
42
+
43
+ // Returns true if the handle could be successfully locked. The server can
44
+ // assume it will remain locked until the next set of serialized entries is
45
+ // pulled from the SkStrikeServer.
46
+ // If returns false, the cache entry mapped to the handle has been deleted
47
+ // on the client. Any subsequent attempts to lock the same handle are not
48
+ // allowed.
49
+ SK_SPI virtual bool lockHandle(SkDiscardableHandleId) = 0;
50
+
51
+ // Returns true if a handle has been deleted on the remote client. It is
52
+ // invalid to use a handle id again with this manager once this returns true.
53
+ SK_SPI virtual bool isHandleDeleted(SkDiscardableHandleId) = 0;
54
+ };
55
+
56
+ SK_SPI explicit SkStrikeServer(DiscardableHandleManager* discardableHandleManager);
57
+ SK_SPI ~SkStrikeServer();
58
+
59
+ // Create an analysis SkCanvas used to populate the SkStrikeServer with ops
60
+ // which will be serialized and rendered using the SkStrikeClient.
61
+ SK_API std::unique_ptr<SkCanvas> makeAnalysisCanvas(int width, int height,
62
+ const SkSurfaceProps& props,
63
+ sk_sp<SkColorSpace> colorSpace,
64
+ bool DFTSupport,
65
+ bool DFTPerspSupport = true);
66
+
67
+ // Serializes the strike data captured using a canvas returned by ::makeAnalysisCanvas. Any
68
+ // handles locked using the DiscardableHandleManager will be assumed to be
69
+ // unlocked after this call.
70
+ SK_SPI void writeStrikeData(std::vector<uint8_t>* memory);
71
+
72
+ // Testing helpers
73
+ void setMaxEntriesInDescriptorMapForTesting(size_t count);
74
+ size_t remoteStrikeMapSizeForTesting() const;
75
+
76
+ private:
77
+ SkStrikeServerImpl* impl();
78
+
79
+ std::unique_ptr<SkStrikeServerImpl> fImpl;
80
+ };
81
+
82
+ class SkStrikeClient {
83
+ public:
84
+ // This enum is used in histogram reporting in chromium. Please don't re-order the list of
85
+ // entries, and consider it to be append-only.
86
+ enum CacheMissType : uint32_t {
87
+ // Hard failures where no fallback could be found.
88
+ kFontMetrics = 0,
89
+ kGlyphMetrics = 1,
90
+ kGlyphImage = 2,
91
+ kGlyphPath = 3,
92
+
93
+ // (DEPRECATED) The original glyph could not be found and a fallback was used.
94
+ kGlyphMetricsFallback = 4,
95
+ kGlyphPathFallback = 5,
96
+
97
+ kGlyphDrawable = 6,
98
+ kLast = kGlyphDrawable
99
+ };
100
+
101
+ // An interface to delete handles that may be pinned by the remote server.
102
+ class DiscardableHandleManager : public SkRefCnt {
103
+ public:
104
+ ~DiscardableHandleManager() override = default;
105
+
106
+ // Returns true if the handle was unlocked and can be safely deleted. Once
107
+ // successful, subsequent attempts to delete the same handle are invalid.
108
+ virtual bool deleteHandle(SkDiscardableHandleId) = 0;
109
+
110
+ virtual void assertHandleValid(SkDiscardableHandleId) {}
111
+
112
+ virtual void notifyCacheMiss(CacheMissType type, int fontSize) = 0;
113
+
114
+ struct ReadFailureData {
115
+ size_t memorySize;
116
+ size_t bytesRead;
117
+ uint64_t typefaceSize;
118
+ uint64_t strikeCount;
119
+ uint64_t glyphImagesCount;
120
+ uint64_t glyphPathsCount;
121
+ };
122
+ virtual void notifyReadFailure(const ReadFailureData& data) {}
123
+ };
124
+
125
+ SK_SPI explicit SkStrikeClient(sk_sp<DiscardableHandleManager>,
126
+ bool isLogging = true,
127
+ SkStrikeCache* strikeCache = nullptr);
128
+ SK_SPI ~SkStrikeClient();
129
+
130
+ // Deserializes the strike data from a SkStrikeServer. All messages generated
131
+ // from a server when serializing the ops must be deserialized before the op
132
+ // is rasterized.
133
+ // Returns false if the data is invalid.
134
+ SK_SPI bool readStrikeData(const volatile void* memory, size_t memorySize);
135
+
136
+ // Given a descriptor re-write the Rec mapping the typefaceID from the renderer to the
137
+ // corresponding typefaceID on the GPU.
138
+ SK_SPI bool translateTypefaceID(SkAutoDescriptor* descriptor) const;
139
+
140
+ // Testing helpers
141
+ sk_sp<SkTypeface> retrieveTypefaceUsingServerIDForTest(SkTypefaceID) const;
142
+
143
+ // Given a buffer, unflatten into a slug making sure to do the typefaceID translation from
144
+ // renderer to GPU. Returns nullptr if there was a problem.
145
+ sk_sp<sktext::gpu::Slug> deserializeSlugForTest(const void* data, size_t size) const;
146
+
147
+ private:
148
+ std::unique_ptr<SkStrikeClientImpl> fImpl;
149
+ };
150
+ #endif // SkChromeRemoteGlyphCache_DEFINED
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Copyright 2026 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 SkCodecsICCProfileChromium_DEFINED
9
+ #define SkCodecsICCProfileChromium_DEFINED
10
+
11
+ #include <memory>
12
+
13
+ #include "include/core/SkData.h"
14
+ #include "include/core/SkRefCnt.h"
15
+ #include "include/private/SkAPI.h"
16
+ #include "modules/skcms/skcms.h"
17
+
18
+ namespace SkCodecs {
19
+
20
+ // Allows Chromium code that does not use SkCodec to parse ICC profiles
21
+ // using the same parser that SkCodec uses (skcms or moxcms).
22
+ class SK_API ICCProfileChromium {
23
+ public:
24
+ virtual ~ICCProfileChromium() = default;
25
+
26
+ // Force all ICC profile parsing to use skcms instead of the build-default
27
+ // parser. This is intended for Chromium to have a kill-switch to fall back
28
+ // to skcms if moxcms causes issues in the field.
29
+ //
30
+ // This is a global setting and is NOT thread-safe with respect to concurrent
31
+ // codec operations. It should be called once early during process startup.
32
+ static void ForceSkcms(bool forceSkcms);
33
+
34
+ // Returns nullptr if parsing fails. May retain `data`. Uses the parser
35
+ // selected by ForceSkcms (defaults to the build-default parser).
36
+ static std::unique_ptr<ICCProfileChromium> Make(sk_sp<SkData> data);
37
+
38
+ // Return the parsed profile. The pointers in the structure are guaranteed
39
+ // to be valid until `this` is destroyed.
40
+ virtual const skcms_ICCProfile& GetProfile() const = 0;
41
+
42
+ protected:
43
+ ICCProfileChromium() = default;
44
+
45
+ private:
46
+ ICCProfileChromium(const ICCProfileChromium&) = delete;
47
+ ICCProfileChromium& operator=(const ICCProfileChromium&) = delete;
48
+ };
49
+
50
+ } // namespace SkCodecs
51
+
52
+ #endif // SkCodecsICCProfileChromium_DEFINED
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Copyright 2013 Google Inc.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkDiscardableMemory_DEFINED
9
+ #define SkDiscardableMemory_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/core/SkTypes.h"
13
+
14
+ /**
15
+ * Interface for discardable memory. Implementation is provided by the
16
+ * embedder.
17
+ */
18
+ class SK_SPI SkDiscardableMemory {
19
+ public:
20
+ /**
21
+ * Factory method that creates, initializes and locks an SkDiscardableMemory
22
+ * object. If either of these steps fails, a nullptr pointer will be returned.
23
+ */
24
+ static SkDiscardableMemory* Create(size_t bytes);
25
+
26
+ /**
27
+ * Factory class that creates, initializes and locks an SkDiscardableMemory
28
+ * object. If either of these steps fails, a nullptr pointer will be returned.
29
+ */
30
+ class Factory : public SkRefCnt {
31
+ public:
32
+ virtual SkDiscardableMemory* create(size_t bytes) = 0;
33
+ private:
34
+ using INHERITED = SkRefCnt;
35
+ };
36
+
37
+ /** Must not be called while locked.
38
+ */
39
+ virtual ~SkDiscardableMemory() {}
40
+
41
+ /**
42
+ * Locks the memory, prevent it from being discarded. Once locked. you may
43
+ * obtain a pointer to that memory using the data() method.
44
+ *
45
+ * lock() may return false, indicating that the underlying memory was
46
+ * discarded and that the lock failed.
47
+ *
48
+ * Nested calls to lock are not allowed.
49
+ */
50
+ [[nodiscard]] virtual bool lock() = 0;
51
+
52
+ /**
53
+ * Returns the current pointer for the discardable memory. This call is ONLY
54
+ * valid when the discardable memory object is locked.
55
+ */
56
+ virtual void* data() = 0;
57
+
58
+ /**
59
+ * Unlock the memory so that it can be purged by the system. Must be called
60
+ * after every successful lock call.
61
+ */
62
+ virtual void unlock() = 0;
63
+
64
+ protected:
65
+ SkDiscardableMemory() = default;
66
+ SkDiscardableMemory(const SkDiscardableMemory&) = delete;
67
+ SkDiscardableMemory& operator=(const SkDiscardableMemory&) = delete;
68
+ };
69
+
70
+ #endif
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright 2026 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 SkExifChromium_DEFINED
9
+ #define SkExifChromium_DEFINED
10
+
11
+ #include "include/private/SkAPI.h"
12
+
13
+ namespace SkExif {
14
+
15
+ // Force all EXIF parsing to use the C++ SkExif parser instead of the
16
+ // build-default parser. This is intended for Chromium to have a kill-switch
17
+ // to fall back to the C++ implementation if rust_exif causes issues in the
18
+ // field.
19
+ //
20
+ // This is a global setting and is NOT thread-safe with respect to concurrent
21
+ // codec operations. It should be called once early during process startup.
22
+ SK_API void ForceSkExif(bool forceSkExif);
23
+
24
+ } // namespace SkExif
25
+
26
+ #endif // SkExifChromium_DEFINED