rngine 0.7.2 → 0.8.1

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 (588) hide show
  1. package/README.md +51 -26
  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 +46 -2
  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 +2 -1
  15. package/lib/typescript/src/GameMethods.d.ts.map +1 -1
  16. package/lib/typescript/src/GameMethods.nitro.d.ts +5 -2
  17. package/lib/typescript/src/GameMethods.nitro.d.ts.map +1 -1
  18. package/lib/typescript/src/index.d.ts +1 -2
  19. package/lib/typescript/src/index.d.ts.map +1 -1
  20. package/lib/typescript/src/nativeTypes.d.ts +12 -0
  21. package/lib/typescript/src/nativeTypes.d.ts.map +1 -1
  22. package/lib/typescript/src/types.d.ts +7 -10
  23. package/lib/typescript/src/types.d.ts.map +1 -1
  24. package/nitro.json +0 -10
  25. package/nitrogen/generated/android/rngine+autolinking.cmake +0 -2
  26. package/nitrogen/generated/android/rngineOnLoad.cpp +0 -16
  27. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.cpp +0 -33
  28. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.hpp +0 -96
  29. package/nitrogen/generated/ios/Rngine-Swift-Cxx-Umbrella.hpp +0 -9
  30. package/nitrogen/generated/ios/RngineAutolinking.mm +0 -8
  31. package/nitrogen/generated/ios/RngineAutolinking.swift +0 -12
  32. package/nitrogen/generated/shared/c++/Entity.hpp +10 -2
  33. package/nitrogen/generated/shared/c++/EntityUpdate.hpp +10 -2
  34. package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.cpp +4 -1
  35. package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.hpp +8 -1
  36. package/nitrogen/generated/shared/c++/World.hpp +91 -0
  37. package/package.json +4 -1
  38. package/shared/CollisionUtils.hpp +1 -6
  39. package/{android/src/main/cpp/ColorUtils.hpp → shared/ColorUtils.cpp} +8 -12
  40. package/shared/ColorUtils.hpp +7 -0
  41. package/shared/GameLoop.cpp +142 -51
  42. package/shared/GameLoop.hpp +10 -14
  43. package/shared/GameMethods.cpp +101 -10
  44. package/shared/GameMethods.hpp +19 -1
  45. package/shared/GameRenderer.cpp +420 -0
  46. package/shared/GameRenderer.hpp +65 -0
  47. package/shared/GameStats.hpp +3 -3
  48. package/shared/Overlap.hpp +9 -0
  49. package/shared/skia/include/android/AHardwareBufferUtils.h +26 -0
  50. package/shared/skia/include/android/GrAHardwareBufferUtils.h +97 -0
  51. package/shared/skia/include/android/SkAndroidFrameworkUtils.h +83 -0
  52. package/shared/skia/include/android/SkAnimatedImage.h +193 -0
  53. package/shared/skia/include/android/SkCanvasAndroid.h +20 -0
  54. package/shared/skia/include/android/SkImageAndroid.h +100 -0
  55. package/shared/skia/include/android/SkSurfaceAndroid.h +50 -0
  56. package/shared/skia/include/android/graphite/SurfaceAndroid.h +59 -0
  57. package/shared/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +31 -0
  58. package/shared/skia/include/codec/SkAndroidCodec.h +302 -0
  59. package/shared/skia/include/codec/SkAvifDecoder.h +80 -0
  60. package/shared/skia/include/codec/SkBmpDecoder.h +44 -0
  61. package/shared/skia/include/codec/SkBmpRustDecoder.h +42 -0
  62. package/shared/skia/include/codec/SkCodec.h +1178 -0
  63. package/shared/skia/include/codec/SkCodecAnimation.h +61 -0
  64. package/shared/skia/include/codec/SkEncodedImageFormat.h +33 -0
  65. package/shared/skia/include/codec/SkEncodedOrigin.h +71 -0
  66. package/shared/skia/include/codec/SkGifDecoder.h +44 -0
  67. package/shared/skia/include/codec/SkIcoDecoder.h +44 -0
  68. package/shared/skia/include/codec/SkJpegDecoder.h +51 -0
  69. package/shared/skia/include/codec/SkJpegxlDecoder.h +44 -0
  70. package/shared/skia/include/codec/SkPixmapUtils.h +31 -0
  71. package/shared/skia/include/codec/SkPngChunkReader.h +45 -0
  72. package/shared/skia/include/codec/SkPngDecoder.h +51 -0
  73. package/shared/skia/include/codec/SkPngRustDecoder.h +30 -0
  74. package/shared/skia/include/codec/SkRawDecoder.h +50 -0
  75. package/shared/skia/include/codec/SkWbmpDecoder.h +44 -0
  76. package/shared/skia/include/codec/SkWebpDecoder.h +51 -0
  77. package/shared/skia/include/config/SkUserConfig.h +141 -0
  78. package/shared/skia/include/core/SkAlphaType.h +45 -0
  79. package/shared/skia/include/core/SkAnnotation.h +52 -0
  80. package/shared/skia/include/core/SkArc.h +69 -0
  81. package/shared/skia/include/core/SkBBHFactory.h +67 -0
  82. package/shared/skia/include/core/SkBitmap.h +1264 -0
  83. package/shared/skia/include/core/SkBlendMode.h +112 -0
  84. package/shared/skia/include/core/SkBlender.h +30 -0
  85. package/shared/skia/include/core/SkBlurTypes.h +20 -0
  86. package/shared/skia/include/core/SkCPUContext.h +31 -0
  87. package/shared/skia/include/core/SkCPURecorder.h +76 -0
  88. package/shared/skia/include/core/SkCanvas.h +2770 -0
  89. package/shared/skia/include/core/SkCanvasVirtualEnforcer.h +61 -0
  90. package/shared/skia/include/core/SkCapabilities.h +35 -0
  91. package/shared/skia/include/core/SkClipOp.h +19 -0
  92. package/shared/skia/include/core/SkColor.h +469 -0
  93. package/shared/skia/include/core/SkColorFilter.h +150 -0
  94. package/shared/skia/include/core/SkColorSpace.h +432 -0
  95. package/shared/skia/include/core/SkColorTable.h +62 -0
  96. package/shared/skia/include/core/SkColorType.h +159 -0
  97. package/shared/skia/include/core/SkContourMeasure.h +215 -0
  98. package/shared/skia/include/core/SkCoverageMode.h +28 -0
  99. package/shared/skia/include/core/SkCubicMap.h +47 -0
  100. package/shared/skia/include/core/SkData.h +225 -0
  101. package/shared/skia/include/core/SkDataTable.h +122 -0
  102. package/shared/skia/include/core/SkDocument.h +93 -0
  103. package/shared/skia/include/core/SkDrawable.h +178 -0
  104. package/shared/skia/include/core/SkExecutor.h +59 -0
  105. package/shared/skia/include/core/SkFlattenable.h +115 -0
  106. package/shared/skia/include/core/SkFont.h +536 -0
  107. package/shared/skia/include/core/SkFontArguments.h +116 -0
  108. package/shared/skia/include/core/SkFontMetrics.h +139 -0
  109. package/shared/skia/include/core/SkFontMgr.h +178 -0
  110. package/shared/skia/include/core/SkFontParameters.h +43 -0
  111. package/shared/skia/include/core/SkFontScanner.h +45 -0
  112. package/shared/skia/include/core/SkFontStyle.h +84 -0
  113. package/shared/skia/include/core/SkFontTypes.h +25 -0
  114. package/shared/skia/include/core/SkFourByteTag.h +19 -0
  115. package/shared/skia/include/core/SkGraphics.h +169 -0
  116. package/shared/skia/include/core/SkImage.h +918 -0
  117. package/shared/skia/include/core/SkImageFilter.h +119 -0
  118. package/shared/skia/include/core/SkImageGenerator.h +140 -0
  119. package/shared/skia/include/core/SkImageInfo.h +634 -0
  120. package/shared/skia/include/core/SkM44.h +442 -0
  121. package/shared/skia/include/core/SkMallocPixelRef.h +45 -0
  122. package/shared/skia/include/core/SkMaskFilter.h +45 -0
  123. package/shared/skia/include/core/SkMatrix.h +1887 -0
  124. package/shared/skia/include/core/SkMesh.h +429 -0
  125. package/shared/skia/include/core/SkMilestone.h +9 -0
  126. package/shared/skia/include/core/SkOpenTypeSVGDecoder.h +30 -0
  127. package/shared/skia/include/core/SkOverdrawCanvas.h +94 -0
  128. package/shared/skia/include/core/SkPaint.h +698 -0
  129. package/shared/skia/include/core/SkPath.h +1145 -0
  130. package/shared/skia/include/core/SkPathBuilder.h +1052 -0
  131. package/shared/skia/include/core/SkPathEffect.h +88 -0
  132. package/shared/skia/include/core/SkPathIter.h +90 -0
  133. package/shared/skia/include/core/SkPathMeasure.h +96 -0
  134. package/shared/skia/include/core/SkPathTypes.h +71 -0
  135. package/shared/skia/include/core/SkPathUtils.h +39 -0
  136. package/shared/skia/include/core/SkPicture.h +291 -0
  137. package/shared/skia/include/core/SkPictureRecorder.h +115 -0
  138. package/shared/skia/include/core/SkPixelRef.h +120 -0
  139. package/shared/skia/include/core/SkPixmap.h +736 -0
  140. package/shared/skia/include/core/SkPoint.h +560 -0
  141. package/shared/skia/include/core/SkPoint3.h +149 -0
  142. package/shared/skia/include/core/SkRRect.h +548 -0
  143. package/shared/skia/include/core/SkRSXform.h +71 -0
  144. package/shared/skia/include/core/SkRasterHandleAllocator.h +94 -0
  145. package/shared/skia/include/core/SkRecorder.h +49 -0
  146. package/shared/skia/include/core/SkRect.h +1419 -0
  147. package/shared/skia/include/core/SkRefCnt.h +391 -0
  148. package/shared/skia/include/core/SkRegion.h +701 -0
  149. package/shared/skia/include/core/SkSamplingOptions.h +107 -0
  150. package/shared/skia/include/core/SkScalar.h +148 -0
  151. package/shared/skia/include/core/SkSerialProcs.h +127 -0
  152. package/shared/skia/include/core/SkShader.h +123 -0
  153. package/shared/skia/include/core/SkSize.h +93 -0
  154. package/shared/skia/include/core/SkSpan.h +174 -0
  155. package/shared/skia/include/core/SkStream.h +524 -0
  156. package/shared/skia/include/core/SkStrikeRef.h +96 -0
  157. package/shared/skia/include/core/SkString.h +297 -0
  158. package/shared/skia/include/core/SkStrokeRec.h +160 -0
  159. package/shared/skia/include/core/SkSurface.h +689 -0
  160. package/shared/skia/include/core/SkSurfaceProps.h +122 -0
  161. package/shared/skia/include/core/SkSwizzle.h +21 -0
  162. package/shared/skia/include/core/SkTextBlob.h +541 -0
  163. package/shared/skia/include/core/SkTextureCompressionType.h +30 -0
  164. package/shared/skia/include/core/SkTileMode.h +41 -0
  165. package/shared/skia/include/core/SkTiledImageUtils.h +125 -0
  166. package/shared/skia/include/core/SkTraceMemoryDump.h +121 -0
  167. package/shared/skia/include/core/SkTypeface.h +468 -0
  168. package/shared/skia/include/core/SkTypes.h +193 -0
  169. package/shared/skia/include/core/SkUnPreMultiply.h +55 -0
  170. package/shared/skia/include/core/SkVertices.h +136 -0
  171. package/shared/skia/include/core/SkYUVAInfo.h +311 -0
  172. package/shared/skia/include/core/SkYUVAPixmaps.h +335 -0
  173. package/shared/skia/include/docs/SkMultiPictureDocument.h +53 -0
  174. package/shared/skia/include/docs/SkPDFDocument.h +277 -0
  175. package/shared/skia/include/docs/SkPDFJpegHelpers.h +41 -0
  176. package/shared/skia/include/docs/SkXPSDocument.h +43 -0
  177. package/shared/skia/include/effects/Sk1DPathEffect.h +40 -0
  178. package/shared/skia/include/effects/Sk2DPathEffect.h +33 -0
  179. package/shared/skia/include/effects/SkBlenders.h +27 -0
  180. package/shared/skia/include/effects/SkBlurMaskFilter.h +35 -0
  181. package/shared/skia/include/effects/SkColorMatrix.h +57 -0
  182. package/shared/skia/include/effects/SkColorMatrixFilter.h +22 -0
  183. package/shared/skia/include/effects/SkCornerPathEffect.h +32 -0
  184. package/shared/skia/include/effects/SkDashPathEffect.h +43 -0
  185. package/shared/skia/include/effects/SkDiscretePathEffect.h +37 -0
  186. package/shared/skia/include/effects/SkGradient.h +206 -0
  187. package/shared/skia/include/effects/SkHighContrastFilter.h +84 -0
  188. package/shared/skia/include/effects/SkImageFilters.h +641 -0
  189. package/shared/skia/include/effects/SkLumaColorFilter.h +37 -0
  190. package/shared/skia/include/effects/SkOverdrawColorFilter.h +33 -0
  191. package/shared/skia/include/effects/SkPerlinNoiseShader.h +53 -0
  192. package/shared/skia/include/effects/SkRuntimeEffect.h +503 -0
  193. package/shared/skia/include/effects/SkShaderMaskFilter.h +28 -0
  194. package/shared/skia/include/effects/SkTableMaskFilter.h +47 -0
  195. package/shared/skia/include/effects/SkTrimPathEffect.h +45 -0
  196. package/shared/skia/include/encode/SkEncoder.h +63 -0
  197. package/shared/skia/include/encode/SkICC.h +36 -0
  198. package/shared/skia/include/encode/SkJpegEncoder.h +127 -0
  199. package/shared/skia/include/encode/SkPngEncoder.h +132 -0
  200. package/shared/skia/include/encode/SkPngRustEncoder.h +121 -0
  201. package/shared/skia/include/encode/SkWebpEncoder.h +87 -0
  202. package/shared/skia/include/gpu/GpuTypes.h +98 -0
  203. package/shared/skia/include/gpu/MutableTextureState.h +68 -0
  204. package/shared/skia/include/gpu/ShaderErrorHandler.h +46 -0
  205. package/shared/skia/include/gpu/ganesh/GrBackendSemaphore.h +50 -0
  206. package/shared/skia/include/gpu/ganesh/GrBackendSurface.h +257 -0
  207. package/shared/skia/include/gpu/ganesh/GrContextOptions.h +384 -0
  208. package/shared/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
  209. package/shared/skia/include/gpu/ganesh/GrDirectContext.h +1027 -0
  210. package/shared/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
  211. package/shared/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +49 -0
  212. package/shared/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +54 -0
  213. package/shared/skia/include/gpu/ganesh/GrRecordingContext.h +300 -0
  214. package/shared/skia/include/gpu/ganesh/GrTypes.h +193 -0
  215. package/shared/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
  216. package/shared/skia/include/gpu/ganesh/SkImageGanesh.h +361 -0
  217. package/shared/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
  218. package/shared/skia/include/gpu/ganesh/SkSurfaceGanesh.h +218 -0
  219. package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
  220. package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +20 -0
  221. package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +59 -0
  222. package/shared/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +28 -0
  223. package/shared/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
  224. package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
  225. package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
  226. package/shared/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +64 -0
  227. package/shared/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
  228. package/shared/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +30 -0
  229. package/shared/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
  230. package/shared/skia/include/gpu/ganesh/gl/GrGLFunctions.h +313 -0
  231. package/shared/skia/include/gpu/ganesh/gl/GrGLInterface.h +337 -0
  232. package/shared/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
  233. package/shared/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
  234. package/shared/skia/include/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h +23 -0
  235. package/shared/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
  236. package/shared/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h +23 -0
  237. package/shared/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
  238. package/shared/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
  239. package/shared/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
  240. package/shared/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
  241. package/shared/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
  242. package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +21 -0
  243. package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
  244. package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
  245. package/shared/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
  246. package/shared/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +61 -0
  247. package/shared/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +73 -0
  248. package/shared/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +44 -0
  249. package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
  250. package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +71 -0
  251. package/shared/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +33 -0
  252. package/shared/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
  253. package/shared/skia/include/gpu/graphite/BackendSemaphore.h +60 -0
  254. package/shared/skia/include/gpu/graphite/BackendTexture.h +65 -0
  255. package/shared/skia/include/gpu/graphite/Context.h +440 -0
  256. package/shared/skia/include/gpu/graphite/ContextOptions.h +239 -0
  257. package/shared/skia/include/gpu/graphite/GraphiteTypes.h +315 -0
  258. package/shared/skia/include/gpu/graphite/Image.h +428 -0
  259. package/shared/skia/include/gpu/graphite/ImageProvider.h +68 -0
  260. package/shared/skia/include/gpu/graphite/PersistentPipelineStorage.h +45 -0
  261. package/shared/skia/include/gpu/graphite/PrecompileContext.h +109 -0
  262. package/shared/skia/include/gpu/graphite/Recorder.h +355 -0
  263. package/shared/skia/include/gpu/graphite/Recording.h +100 -0
  264. package/shared/skia/include/gpu/graphite/Surface.h +121 -0
  265. package/shared/skia/include/gpu/graphite/TextureInfo.h +133 -0
  266. package/shared/skia/include/gpu/graphite/YUVABackendTextures.h +148 -0
  267. package/shared/skia/include/gpu/graphite/dawn/DawnBackendContext.h +77 -0
  268. package/shared/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +163 -0
  269. package/shared/skia/include/gpu/graphite/dawn/DawnTypes.h +9 -0
  270. package/shared/skia/include/gpu/graphite/dawn/DawnUtils.h +9 -0
  271. package/shared/skia/include/gpu/graphite/mtl/MtlBackendContext.h +34 -0
  272. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +73 -0
  273. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h +10 -0
  274. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h +50 -0
  275. package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +9 -0
  276. package/shared/skia/include/gpu/graphite/precompile/PaintOptions.h +211 -0
  277. package/shared/skia/include/gpu/graphite/precompile/Precompile.h +59 -0
  278. package/shared/skia/include/gpu/graphite/precompile/PrecompileBase.h +76 -0
  279. package/shared/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
  280. package/shared/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +95 -0
  281. package/shared/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +116 -0
  282. package/shared/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +49 -0
  283. package/shared/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
  284. package/shared/skia/include/gpu/graphite/precompile/PrecompileShader.h +268 -0
  285. package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +31 -0
  286. package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +104 -0
  287. package/shared/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h +39 -0
  288. package/shared/skia/include/gpu/mtl/MtlMemoryAllocator.h +41 -0
  289. package/shared/skia/include/gpu/vk/VulkanBackendContext.h +57 -0
  290. package/shared/skia/include/gpu/vk/VulkanExtensions.h +73 -0
  291. package/shared/skia/include/gpu/vk/VulkanMemoryAllocator.h +117 -0
  292. package/shared/skia/include/gpu/vk/VulkanMutableTextureState.h +26 -0
  293. package/shared/skia/include/gpu/vk/VulkanPreferredFeatures.h +225 -0
  294. package/shared/skia/include/gpu/vk/VulkanTypes.h +245 -0
  295. package/shared/skia/include/pathops/SkPathOps.h +150 -0
  296. package/shared/skia/include/ports/SkCFObject.h +180 -0
  297. package/shared/skia/include/ports/SkFontConfigInterface.h +112 -0
  298. package/shared/skia/include/ports/SkFontMgr_FontConfigInterface.h +24 -0
  299. package/shared/skia/include/ports/SkFontMgr_Fontations.h +20 -0
  300. package/shared/skia/include/ports/SkFontMgr_android.h +48 -0
  301. package/shared/skia/include/ports/SkFontMgr_android_ndk.h +27 -0
  302. package/shared/skia/include/ports/SkFontMgr_data.h +22 -0
  303. package/shared/skia/include/ports/SkFontMgr_directory.h +21 -0
  304. package/shared/skia/include/ports/SkFontMgr_empty.h +21 -0
  305. package/shared/skia/include/ports/SkFontMgr_fontconfig.h +24 -0
  306. package/shared/skia/include/ports/SkFontMgr_fuchsia.h +21 -0
  307. package/shared/skia/include/ports/SkFontMgr_mac_ct.h +27 -0
  308. package/shared/skia/include/ports/SkFontScanner_Fontations.h +15 -0
  309. package/shared/skia/include/ports/SkFontScanner_FreeType.h +15 -0
  310. package/shared/skia/include/ports/SkImageGeneratorCG.h +28 -0
  311. package/shared/skia/include/ports/SkImageGeneratorNDK.h +40 -0
  312. package/shared/skia/include/ports/SkImageGeneratorWIC.h +41 -0
  313. package/shared/skia/include/ports/SkTypeface_fontations.h +24 -0
  314. package/shared/skia/include/ports/SkTypeface_mac.h +44 -0
  315. package/shared/skia/include/ports/SkTypeface_win.h +63 -0
  316. package/shared/skia/include/private/SingleOwner.h +75 -0
  317. package/shared/skia/include/private/SkAPI.h +52 -0
  318. package/shared/skia/include/private/SkASAN.h +56 -0
  319. package/shared/skia/include/private/SkAlign.h +51 -0
  320. package/shared/skia/include/private/SkAlignedStorage.h +32 -0
  321. package/shared/skia/include/private/SkAnySubclass.h +79 -0
  322. package/shared/skia/include/private/SkAssert.h +203 -0
  323. package/shared/skia/include/private/SkAttributes.h +96 -0
  324. package/shared/skia/include/private/SkCPUTypes.h +25 -0
  325. package/shared/skia/include/private/SkContainers.h +54 -0
  326. package/shared/skia/include/private/SkDebug.h +27 -0
  327. package/shared/skia/include/private/SkDeque.h +138 -0
  328. package/shared/skia/include/private/SkEncodedInfo.h +249 -0
  329. package/shared/skia/include/private/SkEnumBitMask.h +92 -0
  330. package/shared/skia/include/private/SkExif.h +69 -0
  331. package/shared/skia/include/private/SkFeatures.h +173 -0
  332. package/shared/skia/include/private/SkFixed.h +143 -0
  333. package/shared/skia/include/private/SkFloatingPoint.h +183 -0
  334. package/shared/skia/include/private/SkGainmapInfo.h +140 -0
  335. package/shared/skia/include/private/SkGainmapShader.h +60 -0
  336. package/shared/skia/include/private/SkHdrMetadata.h +357 -0
  337. package/shared/skia/include/private/SkIDChangeListener.h +76 -0
  338. package/shared/skia/include/private/SkJpegGainmapEncoder.h +48 -0
  339. package/shared/skia/include/private/SkJpegMetadataDecoder.h +103 -0
  340. package/shared/skia/include/private/SkLoadUserConfig.h +64 -0
  341. package/shared/skia/include/private/SkLog.h +62 -0
  342. package/shared/skia/include/private/SkLogPriority.h +34 -0
  343. package/shared/skia/include/private/SkMacros.h +170 -0
  344. package/shared/skia/include/private/SkMalloc.h +152 -0
  345. package/shared/skia/include/private/SkMath.h +77 -0
  346. package/shared/skia/include/private/SkMutex.h +72 -0
  347. package/shared/skia/include/private/SkNoncopyable.h +30 -0
  348. package/shared/skia/include/private/SkOnce.h +55 -0
  349. package/shared/skia/include/private/SkPathRef.h +90 -0
  350. package/shared/skia/include/private/SkPixelStorage.h +52 -0
  351. package/shared/skia/include/private/SkSLSampleUsage.h +85 -0
  352. package/shared/skia/include/private/SkSafe32.h +49 -0
  353. package/shared/skia/include/private/SkSemaphore.h +84 -0
  354. package/shared/skia/include/private/SkTArray.h +823 -0
  355. package/shared/skia/include/private/SkTDArray.h +247 -0
  356. package/shared/skia/include/private/SkTFitsIn.h +92 -0
  357. package/shared/skia/include/private/SkTLogic.h +56 -0
  358. package/shared/skia/include/private/SkTPin.h +23 -0
  359. package/shared/skia/include/private/SkTemplates.h +500 -0
  360. package/shared/skia/include/private/SkThreadAnnotations.h +104 -0
  361. package/shared/skia/include/private/SkThreadID.h +23 -0
  362. package/shared/skia/include/private/SkTo.h +39 -0
  363. package/shared/skia/include/private/SkTypeTraits.h +53 -0
  364. package/shared/skia/include/private/SkWeakRefCnt.h +173 -0
  365. package/shared/skia/include/private/SkXmp.h +62 -0
  366. package/shared/skia/include/private/chromium/GrDeferredDisplayList.h +120 -0
  367. package/shared/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +62 -0
  368. package/shared/skia/include/private/chromium/GrPromiseImageTexture.h +43 -0
  369. package/shared/skia/include/private/chromium/GrSurfaceCharacterization.h +211 -0
  370. package/shared/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +131 -0
  371. package/shared/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +150 -0
  372. package/shared/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
  373. package/shared/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  374. package/shared/skia/include/private/chromium/SkExifChromium.h +26 -0
  375. package/shared/skia/include/private/chromium/SkImageChromium.h +117 -0
  376. package/shared/skia/include/private/chromium/SkPMColor.h +38 -0
  377. package/shared/skia/include/private/chromium/Slug.h +72 -0
  378. package/shared/skia/include/private/gpu/ganesh/GrContext_Base.h +104 -0
  379. package/shared/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +60 -0
  380. package/shared/skia/include/private/gpu/ganesh/GrImageContext.h +56 -0
  381. package/shared/skia/include/private/gpu/ganesh/GrTextureGenerator.h +66 -0
  382. package/shared/skia/include/private/gpu/ganesh/GrTypesPriv.h +959 -0
  383. package/shared/skia/include/private/gpu/vk/SkiaVulkan.h +36 -0
  384. package/shared/skia/include/sksl/SkSLDebugTrace.h +25 -0
  385. package/shared/skia/include/sksl/SkSLVersion.h +27 -0
  386. package/shared/skia/include/svg/SkSVGCanvas.h +62 -0
  387. package/shared/skia/include/third_party/vulkan/vulkan/vk_icd.h +245 -0
  388. package/shared/skia/include/third_party/vulkan/vulkan/vk_layer.h +192 -0
  389. package/shared/skia/include/third_party/vulkan/vulkan/vk_platform.h +84 -0
  390. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +394 -0
  391. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +109 -0
  392. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +143 -0
  393. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
  394. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
  395. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +147 -0
  396. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
  397. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
  398. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +157 -0
  399. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
  400. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
  401. package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
  402. package/shared/skia/include/third_party/vulkan/vulkan/vulkan.h +103 -0
  403. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_android.h +159 -0
  404. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +375 -0
  405. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_core.h +25896 -0
  406. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +59 -0
  407. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +282 -0
  408. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +62 -0
  409. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +50 -0
  410. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +50 -0
  411. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +244 -0
  412. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
  413. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +114 -0
  414. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +50 -0
  415. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +59 -0
  416. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +372 -0
  417. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +60 -0
  418. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +60 -0
  419. package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +50 -0
  420. package/shared/skia/include/utils/SkCamera.h +109 -0
  421. package/shared/skia/include/utils/SkCanvasStateUtils.h +81 -0
  422. package/shared/skia/include/utils/SkCustomTypeface.h +70 -0
  423. package/shared/skia/include/utils/SkEventTracer.h +93 -0
  424. package/shared/skia/include/utils/SkNWayCanvas.h +123 -0
  425. package/shared/skia/include/utils/SkNoDrawCanvas.h +78 -0
  426. package/shared/skia/include/utils/SkNullCanvas.h +22 -0
  427. package/shared/skia/include/utils/SkOrderedFontMgr.h +66 -0
  428. package/shared/skia/include/utils/SkPaintFilterCanvas.h +140 -0
  429. package/shared/skia/include/utils/SkParse.h +36 -0
  430. package/shared/skia/include/utils/SkParsePath.h +33 -0
  431. package/shared/skia/include/utils/SkShadowUtils.h +102 -0
  432. package/shared/skia/include/utils/SkTextUtils.h +43 -0
  433. package/shared/skia/include/utils/SkTraceEventPhase.h +19 -0
  434. package/shared/skia/include/utils/mac/SkCGUtils.h +90 -0
  435. package/shared/skia/modules/jsonreader/SkJSONReader.cpp +996 -0
  436. package/shared/skia/modules/jsonreader/SkJSONReader.h +389 -0
  437. package/shared/skia/modules/skcms/skcms.h +10 -0
  438. package/shared/skia/modules/skcms/src/Transform_inl.h +1600 -0
  439. package/shared/skia/modules/skcms/src/skcms_Transform.h +167 -0
  440. package/shared/skia/modules/skcms/src/skcms_internals.h +157 -0
  441. package/shared/skia/modules/skcms/src/skcms_public.h +496 -0
  442. package/shared/skia/modules/skottie/include/ExternalLayer.h +56 -0
  443. package/shared/skia/modules/skottie/include/Skottie.h +324 -0
  444. package/shared/skia/modules/skottie/include/SkottieProperty.h +190 -0
  445. package/shared/skia/modules/skottie/include/SlotManager.h +113 -0
  446. package/shared/skia/modules/skottie/include/TextShaper.h +197 -0
  447. package/shared/skia/modules/skottie/src/SkottieValue.h +56 -0
  448. package/shared/skia/modules/skottie/src/animator/Animator.h +89 -0
  449. package/shared/skia/modules/skottie/src/text/Font.h +82 -0
  450. package/shared/skia/modules/skottie/src/text/TextAdapter.h +155 -0
  451. package/shared/skia/modules/skottie/src/text/TextAnimator.h +122 -0
  452. package/shared/skia/modules/skottie/src/text/TextValue.h +28 -0
  453. package/shared/skia/modules/skparagraph/include/DartTypes.h +153 -0
  454. package/shared/skia/modules/skparagraph/include/FontArguments.h +46 -0
  455. package/shared/skia/modules/skparagraph/include/FontCollection.h +76 -0
  456. package/shared/skia/modules/skparagraph/include/Metrics.h +98 -0
  457. package/shared/skia/modules/skparagraph/include/Paragraph.h +289 -0
  458. package/shared/skia/modules/skparagraph/include/ParagraphBuilder.h +94 -0
  459. package/shared/skia/modules/skparagraph/include/ParagraphCache.h +52 -0
  460. package/shared/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  461. package/shared/skia/modules/skparagraph/include/ParagraphStyle.h +160 -0
  462. package/shared/skia/modules/skparagraph/include/TextShadow.h +30 -0
  463. package/shared/skia/modules/skparagraph/include/TextStyle.h +392 -0
  464. package/shared/skia/modules/skparagraph/include/TypefaceFontProvider.h +78 -0
  465. package/shared/skia/modules/skresources/include/SkResources.h +291 -0
  466. package/shared/skia/modules/sksg/include/SkSGClipEffect.h +61 -0
  467. package/shared/skia/modules/sksg/include/SkSGColorFilter.h +135 -0
  468. package/shared/skia/modules/sksg/include/SkSGDraw.h +57 -0
  469. package/shared/skia/modules/sksg/include/SkSGEffectNode.h +50 -0
  470. package/shared/skia/modules/sksg/include/SkSGGeometryEffect.h +207 -0
  471. package/shared/skia/modules/sksg/include/SkSGGeometryNode.h +54 -0
  472. package/shared/skia/modules/sksg/include/SkSGGradient.h +108 -0
  473. package/shared/skia/modules/sksg/include/SkSGGroup.h +65 -0
  474. package/shared/skia/modules/sksg/include/SkSGImage.h +59 -0
  475. package/shared/skia/modules/sksg/include/SkSGInvalidationController.h +46 -0
  476. package/shared/skia/modules/sksg/include/SkSGMaskEffect.h +65 -0
  477. package/shared/skia/modules/sksg/include/SkSGMerge.h +74 -0
  478. package/shared/skia/modules/sksg/include/SkSGNode.h +128 -0
  479. package/shared/skia/modules/sksg/include/SkSGOpacityEffect.h +54 -0
  480. package/shared/skia/modules/sksg/include/SkSGPaint.h +112 -0
  481. package/shared/skia/modules/sksg/include/SkSGPath.h +68 -0
  482. package/shared/skia/modules/sksg/include/SkSGPlane.h +47 -0
  483. package/shared/skia/modules/sksg/include/SkSGRect.h +122 -0
  484. package/shared/skia/modules/sksg/include/SkSGRenderEffect.h +283 -0
  485. package/shared/skia/modules/sksg/include/SkSGRenderNode.h +157 -0
  486. package/shared/skia/modules/sksg/include/SkSGScene.h +47 -0
  487. package/shared/skia/modules/sksg/include/SkSGText.h +82 -0
  488. package/shared/skia/modules/sksg/include/SkSGTransform.h +127 -0
  489. package/shared/skia/modules/skshaper/include/SkShaper.h +318 -0
  490. package/shared/skia/modules/skshaper/include/SkShaper_coretext.h +26 -0
  491. package/shared/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
  492. package/shared/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
  493. package/shared/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
  494. package/shared/skia/modules/skunicode/include/SkUnicode.h +321 -0
  495. package/shared/skia/modules/skunicode/include/SkUnicode_icu.h +18 -0
  496. package/shared/skia/modules/skunicode/include/SkUnicode_libgrapheme.h +19 -0
  497. package/shared/skia/modules/svg/include/SkSVGAttribute.h +110 -0
  498. package/shared/skia/modules/svg/include/SkSVGAttributeParser.h +170 -0
  499. package/shared/skia/modules/svg/include/SkSVGCircle.h +56 -0
  500. package/shared/skia/modules/svg/include/SkSVGClipPath.h +41 -0
  501. package/shared/skia/modules/svg/include/SkSVGContainer.h +52 -0
  502. package/shared/skia/modules/svg/include/SkSVGDOM.h +111 -0
  503. package/shared/skia/modules/svg/include/SkSVGDefs.h +23 -0
  504. package/shared/skia/modules/svg/include/SkSVGEllipse.h +51 -0
  505. package/shared/skia/modules/svg/include/SkSVGFe.h +93 -0
  506. package/shared/skia/modules/svg/include/SkSVGFeBlend.h +54 -0
  507. package/shared/skia/modules/svg/include/SkSVGFeColorMatrix.h +55 -0
  508. package/shared/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
  509. package/shared/skia/modules/svg/include/SkSVGFeComposite.h +55 -0
  510. package/shared/skia/modules/svg/include/SkSVGFeDisplacementMap.h +56 -0
  511. package/shared/skia/modules/svg/include/SkSVGFeFlood.h +42 -0
  512. package/shared/skia/modules/svg/include/SkSVGFeGaussianBlur.h +50 -0
  513. package/shared/skia/modules/svg/include/SkSVGFeImage.h +44 -0
  514. package/shared/skia/modules/svg/include/SkSVGFeLightSource.h +93 -0
  515. package/shared/skia/modules/svg/include/SkSVGFeLighting.h +131 -0
  516. package/shared/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
  517. package/shared/skia/modules/svg/include/SkSVGFeMorphology.h +55 -0
  518. package/shared/skia/modules/svg/include/SkSVGFeOffset.h +44 -0
  519. package/shared/skia/modules/svg/include/SkSVGFeTurbulence.h +49 -0
  520. package/shared/skia/modules/svg/include/SkSVGFilter.h +48 -0
  521. package/shared/skia/modules/svg/include/SkSVGFilterContext.h +69 -0
  522. package/shared/skia/modules/svg/include/SkSVGG.h +23 -0
  523. package/shared/skia/modules/svg/include/SkSVGGradient.h +56 -0
  524. package/shared/skia/modules/svg/include/SkSVGHiddenContainer.h +23 -0
  525. package/shared/skia/modules/svg/include/SkSVGIDMapper.h +19 -0
  526. package/shared/skia/modules/svg/include/SkSVGImage.h +67 -0
  527. package/shared/skia/modules/svg/include/SkSVGLine.h +53 -0
  528. package/shared/skia/modules/svg/include/SkSVGLinearGradient.h +47 -0
  529. package/shared/skia/modules/svg/include/SkSVGMask.h +49 -0
  530. package/shared/skia/modules/svg/include/SkSVGNode.h +235 -0
  531. package/shared/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +37 -0
  532. package/shared/skia/modules/svg/include/SkSVGPath.h +46 -0
  533. package/shared/skia/modules/svg/include/SkSVGPattern.h +61 -0
  534. package/shared/skia/modules/svg/include/SkSVGPoly.h +56 -0
  535. package/shared/skia/modules/svg/include/SkSVGRadialGradient.h +48 -0
  536. package/shared/skia/modules/svg/include/SkSVGRect.h +56 -0
  537. package/shared/skia/modules/svg/include/SkSVGRenderContext.h +229 -0
  538. package/shared/skia/modules/svg/include/SkSVGSVG.h +60 -0
  539. package/shared/skia/modules/svg/include/SkSVGShape.h +40 -0
  540. package/shared/skia/modules/svg/include/SkSVGStop.h +36 -0
  541. package/shared/skia/modules/svg/include/SkSVGText.h +128 -0
  542. package/shared/skia/modules/svg/include/SkSVGTransformableNode.h +48 -0
  543. package/shared/skia/modules/svg/include/SkSVGTypes.h +740 -0
  544. package/shared/skia/modules/svg/include/SkSVGUse.h +49 -0
  545. package/shared/skia/modules/svg/include/SkSVGValue.h +85 -0
  546. package/shared/skia/src/core/SkArenaAlloc.h +371 -0
  547. package/shared/skia/src/core/SkAutoLocaleSetter.h +94 -0
  548. package/shared/skia/src/core/SkChecksum.h +118 -0
  549. package/shared/skia/src/core/SkLRUCache.h +143 -0
  550. package/shared/skia/src/core/SkMathPriv.h +225 -0
  551. package/shared/skia/src/core/SkTHash.h +714 -0
  552. package/shared/skia/src/core/SkTInternalLList.h +304 -0
  553. package/shared/skia/src/core/SkTLazy.h +216 -0
  554. package/shared/skia/src/core/SkUTF.h +102 -0
  555. package/shared/skia/src/gpu/ganesh/gl/GrGLDefines.h +1162 -0
  556. package/src/GameMethods.nitro.ts +12 -2
  557. package/src/GameMethods.ts +57 -2
  558. package/src/index.tsx +1 -1
  559. package/src/nativeTypes.ts +13 -0
  560. package/src/types.ts +7 -9
  561. package/android/src/main/cpp/GameLoopJNI.cpp +0 -132
  562. package/android/src/main/java/com/margelo/nitro/rngine/Asset.kt +0 -9
  563. package/android/src/main/java/com/margelo/nitro/rngine/GameAssets.kt +0 -61
  564. package/android/src/main/java/com/margelo/nitro/rngine/Screen.kt +0 -9
  565. package/android/src/main/java/com/margelo/nitro/rngine/Shape.kt +0 -26
  566. package/android/src/main/java/com/margelo/nitro/rngine/Snapshot.kt +0 -3
  567. package/android/src/main/java/com/margelo/nitro/rngine/SnapshotSerializer.kt +0 -53
  568. package/lib/module/GameAssets.js +0 -41
  569. package/lib/module/GameAssets.js.map +0 -1
  570. package/lib/module/GameAssets.nitro.js +0 -5
  571. package/lib/module/GameAssets.nitro.js.map +0 -1
  572. package/lib/typescript/src/GameAssets.d.ts +0 -2
  573. package/lib/typescript/src/GameAssets.d.ts.map +0 -1
  574. package/lib/typescript/src/GameAssets.nitro.d.ts +0 -12
  575. package/lib/typescript/src/GameAssets.nitro.d.ts.map +0 -1
  576. package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.cpp +0 -86
  577. package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.hpp +0 -65
  578. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngine/HybridGameAssetsSpec.kt +0 -63
  579. package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.cpp +0 -11
  580. package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.hpp +0 -99
  581. package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
  582. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
  583. package/nitrogen/generated/ios/swift/HybridGameAssetsSpec.swift +0 -57
  584. package/nitrogen/generated/ios/swift/HybridGameAssetsSpec_cxx.swift +0 -176
  585. package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.cpp +0 -23
  586. package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.hpp +0 -65
  587. package/src/GameAssets.nitro.ts +0 -14
  588. package/src/GameAssets.ts +0 -47
@@ -0,0 +1,60 @@
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 SkGainmapShader_DEFINED
9
+ #define SkGainmapShader_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/SkAPI.h"
13
+
14
+ class SkColorSpace;
15
+ class SkShader;
16
+ class SkImage;
17
+ struct SkGainmapInfo;
18
+ struct SkRect;
19
+ struct SkSamplingOptions;
20
+
21
+ /**
22
+ * A gainmap shader will apply a gainmap to an base image using the math described alongside the
23
+ * definition of SkGainmapInfo.
24
+ */
25
+ class SK_API SkGainmapShader {
26
+ public:
27
+ /**
28
+ * Make a gainmap shader.
29
+ *
30
+ * When sampling the base image baseImage, the rectangle baseRect will be sampled to map to
31
+ * the rectangle dstRect. Sampling will be done according to baseSamplingOptions.
32
+ *
33
+ * When sampling the gainmap image gainmapImage, the rectangle gainmapRect will be sampled to
34
+ * map to the rectangle dstRect. Sampling will be done according to gainmapSamplingOptions.
35
+ *
36
+ * The gainmap will be applied according to the HDR to SDR ratio specified in dstHdrRatio.
37
+ */
38
+ static sk_sp<SkShader> Make(const sk_sp<const SkImage>& baseImage,
39
+ const SkRect& baseRect,
40
+ const SkSamplingOptions& baseSamplingOptions,
41
+ const sk_sp<const SkImage>& gainmapImage,
42
+ const SkRect& gainmapRect,
43
+ const SkSamplingOptions& gainmapSamplingOptions,
44
+ const SkGainmapInfo& gainmapInfo,
45
+ const SkRect& dstRect,
46
+ float dstHdrRatio);
47
+
48
+ static sk_sp<SkShader> Make(const sk_sp<const SkImage>& baseImage,
49
+ const SkRect& baseRect,
50
+ const SkSamplingOptions& baseSamplingOptions,
51
+ const sk_sp<const SkImage>& gainmapImage,
52
+ const SkRect& gainmapRect,
53
+ const SkSamplingOptions& gainmapSamplingOptions,
54
+ const SkGainmapInfo& gainmapInfo,
55
+ const SkRect& dstRect,
56
+ float dstHdrRatio,
57
+ sk_sp<SkColorSpace> dstColorSpace);
58
+ };
59
+
60
+ #endif
@@ -0,0 +1,357 @@
1
+ /*
2
+ * Copyright 2025 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 SkHdrMetadata_DEFINED
9
+ #define SkHdrMetadata_DEFINED
10
+
11
+ #include "include/core/SkColorSpace.h"
12
+ #include "include/core/SkData.h"
13
+ #include "include/private/SkAPI.h"
14
+
15
+ #include <algorithm>
16
+ #include <cmath>
17
+ #include <memory>
18
+ #include <optional>
19
+ #include <vector>
20
+
21
+ class SkColorFilter;
22
+ class SkData;
23
+ class SkString;
24
+
25
+ namespace skhdr {
26
+
27
+ /**
28
+ * Content light level metadata.
29
+ * The semantics of this metadata is defined in:
30
+ * ANSI/CTA-861-H A DTV Profile for Uncompressed High Speed Digital Interfaces
31
+ * Annex P Calculation of MaxCLL and MaxFALL
32
+ * Slightly different semantics for this metadata are defined in:
33
+ * Portable Network Graphics (PNG) Specification (Third Edition)
34
+ * 11.3.2.8 cLLI Content Light Level Information
35
+ * https://www.w3.org/TR/png-3/#cLLI-chunk
36
+ * This metadata should only be used in ways that work with both semantics.
37
+ */
38
+ struct SK_API ContentLightLevelInformation {
39
+ float fMaxCLL = 0.f;
40
+ float fMaxFALL = 0.f;
41
+
42
+ /**
43
+ * Decode from the binary encoding listed at:
44
+ * AV1 Bitstream & Decoding Process Specification Version 1.0.0 Errata 1
45
+ * https://aomediacodec.github.io/av1-spec/av1-spec.pdf
46
+ * 5.8.3 Metadata high dynamic range content light level syntax
47
+ * This encoding is equivalent to:
48
+ * ITU-T H.265 (V10) (07/2024)
49
+ * D.2.35 Content light level information SEI message syntax
50
+ * Return false if parsing fails.
51
+ */
52
+ bool parse(const SkData* data);
53
+
54
+ /**
55
+ * Serialize to the encoding used by parse().
56
+ */
57
+ sk_sp<SkData> serialize() const;
58
+
59
+ /**
60
+ * Helper functions for accessing members as uint16_t, which is often needed when interacting
61
+ * with libraries using the CTA semantics.
62
+ */
63
+ static ContentLightLevelInformation MakeUint16(uint16_t maxCLL, uint16_t maxFALL) {
64
+ return { .fMaxCLL = static_cast<float>(maxCLL), .fMaxFALL = static_cast<float>(maxFALL) };
65
+ }
66
+ uint16_t getUint16MaxCLL() const {
67
+ return static_cast<uint16_t>(std::clamp(std::round(fMaxCLL), 0.f, 65535.f));
68
+ }
69
+ uint16_t getUint16MaxFALL() const {
70
+ return static_cast<uint16_t>(std::clamp(std::round(fMaxFALL), 0.f, 65535.f));
71
+ }
72
+
73
+ /**
74
+ * Decode from the binary encoding listed at:
75
+ * Portable Network Graphics (PNG) Specification (Third Edition)
76
+ * 11.3.2.8 cLLI Content Light Level Information
77
+ * https://www.w3.org/TR/png-3/#cLLI-chunk
78
+ * This encoding is not equivalent to the encoding used by parse().
79
+ * Return false if parsing fails.
80
+ */
81
+ bool parsePngChunk(const SkData* data);
82
+
83
+ /**
84
+ * Serialize to the encoding used by parsePngChunk().
85
+ */
86
+ sk_sp<SkData> serializePngChunk() const;
87
+
88
+ /**
89
+ * Return a human-readable description.
90
+ */
91
+ SkString toString() const;
92
+
93
+ bool operator==(const ContentLightLevelInformation& other) const;
94
+ bool operator!=(const ContentLightLevelInformation& other) const {
95
+ return !(*this == other);
96
+ }
97
+ };
98
+
99
+ /**
100
+ * Mastering display color volume metadata.
101
+ * The semantics of this metadata is defined in:
102
+ * SMPTE ST 2086:2018 Mastering Display Color Volume Metadata Supporting
103
+ * High Luminance and Wide Color Gamut Images
104
+ */
105
+ struct SK_API MasteringDisplayColorVolume {
106
+ SkColorSpacePrimaries fDisplayPrimaries = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f};
107
+ float fMaximumDisplayMasteringLuminance = 0.f;
108
+ float fMinimumDisplayMasteringLuminance = 0.f;
109
+
110
+ /**
111
+ * The encoding as defined in:
112
+ * AV1 Bitstream & Decoding Process Specification Version 1.0.0 Errata 1
113
+ * https://aomediacodec.github.io/av1-spec/av1-spec.pdf
114
+ * 5.8.4 Metadata high dynamic range mastering display color volume syntax
115
+ * This encoding is equivalent to:
116
+ * ITU-T H.265 (V10) (07/2024)
117
+ * D.2.35 Content light level information SEI message syntax
118
+ * This encoding is also equivalent to:
119
+ * Portable Network Graphics (PNG) Specification (Third Edition)
120
+ * 11.3.2.7 mDCV Mastering Display Color Volume
121
+ * https://www.w3.org/TR/png-3/#mDCV-chunk
122
+ * Return false if parsing fails.
123
+ */
124
+ bool parse(const SkData* data);
125
+
126
+ /**
127
+ * Serialize to the encoding used by parse().
128
+ */
129
+ sk_sp<SkData> serialize() const;
130
+
131
+ /**
132
+ * Return a human-readable description.
133
+ */
134
+ SkString toString() const;
135
+
136
+ bool operator==(const MasteringDisplayColorVolume& other) const;
137
+ bool operator!=(const MasteringDisplayColorVolume& other) const {
138
+ return !(*this == other);
139
+ }
140
+ };
141
+
142
+ /**
143
+ * Adaptive Global Tone Map
144
+ * This structure contains the metadata items from the ColorVolumeTransform metadata group
145
+ * in Clause 7.1: Metadata set of SMPTE ST 2094-50: Dynamic metadata for color volume transform
146
+ * Application #5
147
+ * https://github.com/SMPTE/st2094-50
148
+ * WARNING: This specification is still a DRAFT and is subject to change before publication.
149
+ */
150
+ struct SK_API AdaptiveGlobalToneMap {
151
+ // A GainCurve metadata group.
152
+ struct SK_API GainCurve {
153
+ // Structure holding one entry of the GainCurveControlPointX, GainCurveControlPointY, and
154
+ // GainCurveControlPointM metadata items.
155
+ struct ControlPoint {
156
+ float fX = 0.f;
157
+ float fY = 0.f;
158
+ float fM = 0.f;
159
+
160
+ bool operator==(const ControlPoint& other) const {
161
+ return fX == other.fX && fY == other.fY && fM == other.fM;
162
+ }
163
+ };
164
+
165
+ // The size of this vector is the value of the GainCurveNumControlPoints metadata item.
166
+ static constexpr size_t kMinNumControlPoints = 1u;
167
+ static constexpr size_t kMaxNumControlPoints = 32u;
168
+ std::vector<ControlPoint> fControlPoints = {};
169
+
170
+ bool operator==(const GainCurve& other) const {
171
+ return fControlPoints == other.fControlPoints;
172
+ }
173
+ };
174
+
175
+ // A ComponentMix metadata group.
176
+ struct SK_API ComponentMixingFunction {
177
+ // The ComponentMixRed/Green/Blue/Max/Min/Component metadata items.
178
+ float fRed = 0.f;
179
+ float fGreen = 0.f;
180
+ float fBlue = 0.f;
181
+ float fMax = 0.f;
182
+ float fMin = 0.f;
183
+ float fComponent = 0.f;
184
+
185
+ bool operator==(const ComponentMixingFunction& other) const {
186
+ return fRed == other.fRed && fGreen == other.fGreen && fBlue == other.fBlue &&
187
+ fMax == other.fMax && fMin == other.fMin && fComponent == other.fComponent;
188
+ }
189
+ };
190
+
191
+ // A ColorGainFunction metadata group.
192
+ struct SK_API ColorGainFunction {
193
+ // The ComponentMix metadata group.
194
+ ComponentMixingFunction fComponentMixing = {};
195
+
196
+ // The GainCurve metadata group.
197
+ GainCurve fGainCurve = {};
198
+
199
+ bool operator==(const ColorGainFunction& other) const {
200
+ return fComponentMixing == other.fComponentMixing && fGainCurve == other.fGainCurve;
201
+ }
202
+ };
203
+
204
+ // Structure holding the metadata items and groups for an alternate image.
205
+ struct SK_API AlternateImage {
206
+ // The AlternateHdrHeadroom metadata item.
207
+ float fHdrHeadroom = 0.f;
208
+
209
+ // The ColorGainFunction metadata group.
210
+ ColorGainFunction fColorGainFunction = {};
211
+
212
+ bool operator==(const AlternateImage& other) const {
213
+ return fHdrHeadroom == other.fHdrHeadroom && fColorGainFunction == other.fColorGainFunction;
214
+ }
215
+ };
216
+
217
+ // HeadroomAdaptiveToneMap metadata group.
218
+ struct SK_API HeadroomAdaptiveToneMap {
219
+ // The BaselineHdrHeadroom metadata item.
220
+ float fBaselineHdrHeadroom = 0.f;
221
+
222
+ // The GainApplicationSpaceColorPrimaries metadata item.
223
+ SkColorSpacePrimaries fGainApplicationSpacePrimaries =
224
+ {0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 0.f};
225
+
226
+ // The size of this vector is the NumAlternateImages metadata item.
227
+ static constexpr size_t kMaxNumAlternateImages = 4u;
228
+ std::vector<AlternateImage> fAlternateImages = {};
229
+
230
+ bool operator==(const HeadroomAdaptiveToneMap& other) const {
231
+ return fBaselineHdrHeadroom == other.fBaselineHdrHeadroom &&
232
+ fGainApplicationSpacePrimaries == other.fGainApplicationSpacePrimaries &&
233
+ fAlternateImages == other.fAlternateImages;
234
+ }
235
+ };
236
+
237
+ // The default value for the HdrReferenceWhite metadata item.
238
+ static constexpr float kDefaultHdrReferenceWhite = 203.f;
239
+
240
+ // The HdrReferenceWhite metadata item.
241
+ float fHdrReferenceWhite = kDefaultHdrReferenceWhite;
242
+
243
+ // The HeadroomAdaptiveToneMap metadata group.
244
+ std::optional<HeadroomAdaptiveToneMap> fHeadroomAdaptiveToneMap = std::nullopt;
245
+
246
+ /**
247
+ * Decode from the binary encoding in Annex C.
248
+ */
249
+ bool parse(const SkData* data);
250
+
251
+ /**
252
+ * Serialize to the encoding used by parse().
253
+ */
254
+ sk_sp<SkData> serialize() const;
255
+
256
+ /**
257
+ * Return a human-readable description.
258
+ */
259
+ SkString toString() const;
260
+
261
+ /**
262
+ * Return true if this metadata satisfies all normative constraints.
263
+ */
264
+ bool isValid() const;
265
+
266
+ bool operator==(const AdaptiveGlobalToneMap& other) const {
267
+ return fHdrReferenceWhite == other.fHdrReferenceWhite &&
268
+ fHeadroomAdaptiveToneMap == other.fHeadroomAdaptiveToneMap;
269
+ }
270
+ };
271
+
272
+ /**
273
+ * Structure containing all HDR metadata that can be attached to an image or video frame.
274
+ */
275
+ class SK_API Metadata {
276
+ public:
277
+ /**
278
+ * Return a container with no metadata.
279
+ */
280
+ static Metadata MakeEmpty();
281
+
282
+ /**
283
+ * If there does not exists Content Light Level Information metadata, then return false.
284
+ * Otherwise return true and if `clli` is non-nullptr then write the metadata to `clli`.
285
+ */
286
+ bool getContentLightLevelInformation(ContentLightLevelInformation* clli) const;
287
+
288
+ /**
289
+ * Set the Content Light Level Information metadata.
290
+ */
291
+ void setContentLightLevelInformation(const ContentLightLevelInformation& clli);
292
+
293
+ /**
294
+ * If there does not exists Mastering Display Color Volume metadata, then return false.
295
+ * Otherwise return true and if `mdcv` is non-nullptr then write the metadata to `mdcv`.
296
+ */
297
+ bool getMasteringDisplayColorVolume(MasteringDisplayColorVolume* mdcv) const;
298
+
299
+ /**
300
+ * Set the Mastering Display Color Volume metadata.
301
+ */
302
+ void setMasteringDisplayColorVolume(const MasteringDisplayColorVolume& mdcv);
303
+
304
+ /**
305
+ * If there does not exists Adaptive Global Tone Map metadata, then return false.
306
+ * Otherwise return true and if `agtm` is non-nullptr then write the metadata to `agtm`.
307
+ */
308
+ bool getAdaptiveGlobalToneMap(AdaptiveGlobalToneMap* agtm) const;
309
+
310
+ /**
311
+ * Set the Adaptive Global Tone Map metadata.
312
+ */
313
+ void setAdaptiveGlobalToneMap(const AdaptiveGlobalToneMap& agtm);
314
+
315
+ /**
316
+ * Return the serialized Adaptive Global Tone Mapping metadata, or nullptr if none has been set.
317
+ */
318
+ sk_sp<const SkData> getSerializedAgtm() const;
319
+
320
+ /**
321
+ * Set the serialized Adaptive Global Tone Mapping metadata.
322
+ */
323
+ void setSerializedAgtm(sk_sp<const SkData>);
324
+
325
+ /**
326
+ * Return a human-readable description.
327
+ */
328
+ SkString toString() const;
329
+
330
+ /**
331
+ * Return the SkColorFilter to tone map to the specified targeted HDR headroom.
332
+ *
333
+ * The `inputColorSpace` parameter is the color space of the input image that will be
334
+ * used with the image. If it is PQ or HLG, then the color filter will effectively
335
+ * reinterpret the image as having the HDR reference white parameter indicated in the
336
+ * metadata.
337
+ *
338
+ * If `inputColorSpace` is PQ or HLG, then a default tone mapping will be provided,
339
+ * inferring the baseline HDR headroom from the CLLI or MDCV metadata, if present.
340
+ */
341
+ sk_sp<SkColorFilter> makeToneMapColorFilter(
342
+ float targetedHdrHeadroom, const SkColorSpace* inputColorSpace = nullptr) const;
343
+
344
+ bool operator==(const Metadata& other) const;
345
+ bool operator!=(const Metadata& other) const {
346
+ return !(*this == other);
347
+ }
348
+
349
+ private:
350
+ std::optional<ContentLightLevelInformation> fContentLightLevelInformation;
351
+ std::optional<MasteringDisplayColorVolume> fMasteringDisplayColorVolume;
352
+ std::optional<AdaptiveGlobalToneMap> fAdaptiveGlobalToneMap;
353
+ };
354
+
355
+ } // namespace skhdr
356
+
357
+ #endif
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Copyright 2020 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkIDChangeListener_DEFINED
9
+ #define SkIDChangeListener_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/private/SkMutex.h"
13
+ #include "include/private/SkTArray.h"
14
+ #include "include/private/SkThreadAnnotations.h"
15
+
16
+ #include <atomic>
17
+
18
+ /**
19
+ * Used to be notified when a gen/unique ID is invalidated, typically to preemptively purge
20
+ * associated items from a cache that are no longer reachable. The listener can
21
+ * be marked for deregistration if the cached item is remove before the listener is
22
+ * triggered. This prevents unbounded listener growth when cache items are routinely
23
+ * removed before the gen ID/unique ID is invalidated.
24
+ */
25
+ class SkIDChangeListener : public SkRefCnt {
26
+ public:
27
+ SkIDChangeListener();
28
+
29
+ ~SkIDChangeListener() override;
30
+
31
+ virtual void changed() = 0;
32
+
33
+ /**
34
+ * Mark the listener is no longer needed. It should be removed and changed() should not be
35
+ * called.
36
+ */
37
+ void markShouldDeregister() { fShouldDeregister.store(true, std::memory_order_relaxed); }
38
+
39
+ /** Indicates whether markShouldDeregister was called. */
40
+ bool shouldDeregister() { return fShouldDeregister.load(std::memory_order_acquire); }
41
+
42
+ /** Manages a list of SkIDChangeListeners. */
43
+ class List {
44
+ public:
45
+ List();
46
+
47
+ ~List();
48
+
49
+ /**
50
+ * Add a new listener to the list. It must not already be deregistered. Also clears out
51
+ * previously deregistered listeners.
52
+ */
53
+ void add(sk_sp<SkIDChangeListener> listener) SK_EXCLUDES(fMutex);
54
+
55
+ /**
56
+ * The number of registered listeners (including deregisterd listeners that are yet-to-be
57
+ * removed.
58
+ */
59
+ int count() const SK_EXCLUDES(fMutex);
60
+
61
+ /** Calls changed() on all listeners that haven't been deregistered and resets the list. */
62
+ void changed() SK_EXCLUDES(fMutex);
63
+
64
+ /** Resets without calling changed() on the listeners. */
65
+ void reset() SK_EXCLUDES(fMutex);
66
+
67
+ private:
68
+ mutable SkMutex fMutex;
69
+ skia_private::STArray<1, sk_sp<SkIDChangeListener>> fListeners SK_GUARDED_BY(fMutex);
70
+ };
71
+
72
+ private:
73
+ std::atomic<bool> fShouldDeregister;
74
+ };
75
+
76
+ #endif
@@ -0,0 +1,48 @@
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 SkJpegGainmapEncoder_DEFINED
9
+ #define SkJpegGainmapEncoder_DEFINED
10
+
11
+ #include "include/encode/SkJpegEncoder.h"
12
+
13
+ class SkPixmap;
14
+ class SkWStream;
15
+ struct SkGainmapInfo;
16
+
17
+ class SK_API SkJpegGainmapEncoder {
18
+ public:
19
+ /**
20
+ * Encode an UltraHDR image to |dst|.
21
+ *
22
+ * The base image is specified by |base|, and |baseOptions| controls the encoding behavior for
23
+ * the base image.
24
+ *
25
+ * The gainmap image is specified by |gainmap|, and |gainmapOptions| controls the encoding
26
+ * behavior for the gainmap image.
27
+ *
28
+ * The rendering behavior of the gainmap image is provided in |gainmapInfo|.
29
+ *
30
+ * If |baseOptions| or |gainmapOptions| specify XMP metadata, then that metadata will be
31
+ * overwritten.
32
+ *
33
+ * Returns true on success. Returns false on an invalid or unsupported |src|.
34
+ */
35
+ static bool EncodeHDRGM(SkWStream* dst,
36
+ const SkPixmap& base,
37
+ const SkJpegEncoder::Options& baseOptions,
38
+ const SkPixmap& gainmap,
39
+ const SkJpegEncoder::Options& gainmapOptions,
40
+ const SkGainmapInfo& gainmapInfo);
41
+
42
+ /**
43
+ * Write a Multi Picture Format containing the |imageCount| images specified by |images|.
44
+ */
45
+ static bool MakeMPF(SkWStream* dst, const SkData** images, size_t imageCount);
46
+ };
47
+
48
+ #endif
@@ -0,0 +1,103 @@
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 SkJpegMetadataDecoder_DEFINED
9
+ #define SkJpegMetadataDecoder_DEFINED
10
+
11
+ #include "include/core/SkData.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/core/SkTypes.h"
14
+
15
+ #include <memory>
16
+ #include <vector>
17
+
18
+ struct SkGainmapInfo;
19
+
20
+ /**
21
+ * An interface that can be used to extract metadata from an encoded JPEG file.
22
+ */
23
+ class SK_API SkJpegMetadataDecoder {
24
+ public:
25
+ SkJpegMetadataDecoder() {}
26
+ virtual ~SkJpegMetadataDecoder() {}
27
+
28
+ SkJpegMetadataDecoder(const SkJpegMetadataDecoder&) = delete;
29
+ SkJpegMetadataDecoder& operator=(const SkJpegMetadataDecoder&) = delete;
30
+
31
+ /**
32
+ * A segment from a JPEG file. This is usually populated from a jpeg_marker_struct.
33
+ */
34
+ struct SK_API Segment {
35
+ Segment(uint8_t marker, sk_sp<const SkData> data)
36
+ : fMarker(marker), fData(std::move(data)) {}
37
+
38
+ // The segment's marker.
39
+ uint8_t fMarker = 0;
40
+
41
+ // The segment's parameters (not including the marker and parameter length).
42
+ sk_sp<const SkData> fData;
43
+ };
44
+
45
+ /**
46
+ * Create metadata for the specified segments from a JPEG file's header (defined as all segments
47
+ * before the first StartOfScan). This may return nullptr.
48
+ */
49
+ static std::unique_ptr<SkJpegMetadataDecoder> Make(std::vector<Segment> headerSegments);
50
+
51
+ /**
52
+ * Create metadata for the specified encoded JPEG file. This may return nullptr.
53
+ */
54
+ static std::unique_ptr<SkJpegMetadataDecoder> Make(sk_sp<const SkData> data);
55
+
56
+ /**
57
+ * Return the Exif data attached to the image (if any) and nullptr otherwise. If |copyData| is
58
+ * false, then the returned SkData may directly reference the data provided when this object was
59
+ * created.
60
+ */
61
+ virtual sk_sp<const SkData> getExifMetadata(bool copyData) const = 0;
62
+
63
+ /**
64
+ * Return the ICC profile of the image if any, and nullptr otherwise. If |copyData| is false,
65
+ * then the returned SkData may directly reference the data provided when this object was
66
+ * created.
67
+ */
68
+ virtual sk_sp<const SkData> getICCProfileData(bool copyData) const = 0;
69
+
70
+ /**
71
+ * Return the ISO 21496-1 metadata, if any, and nullptr otherwise. If |copyData| is false,
72
+ * then the returned SkData may directly reference the data provided when this object was
73
+ * created.
74
+ */
75
+ virtual sk_sp<const SkData> getISOGainmapMetadata(bool copyData) const = 0;
76
+
77
+ /**
78
+ * Return true if there is a possibility that this image contains a gainmap image.
79
+ */
80
+ virtual bool mightHaveGainmapImage() const = 0;
81
+
82
+ /**
83
+ * Given a JPEG encoded image |baseImageData|, return in |outGainmapImageData| the JPEG encoded
84
+ * gainmap image and return in |outGainmapInfo| its gainmap rendering parameters. Return true if
85
+ * both output variables were successfully populated, otherwise return false.
86
+ */
87
+ virtual std::pair<sk_sp<const SkData>, SkGainmapInfo> findGainmapImage(
88
+ sk_sp<const SkData>) const = 0;
89
+
90
+ // deprecated
91
+ virtual bool findGainmapImage(sk_sp<const SkData> baseImageData,
92
+ sk_sp<SkData>& outGainmapImagedata,
93
+ SkGainmapInfo& outGainmapInfo) = 0;
94
+
95
+ /**
96
+ * Return the first JUMBF superbox, if any, and nullptr otherwise. If |copyData| is false,
97
+ * then the returned SkData may directly reference the data provided when this object was
98
+ * created.
99
+ */
100
+ virtual sk_sp<const SkData> getJUMBFMetadata(bool copyData) const = 0;
101
+ };
102
+
103
+ #endif