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,64 @@
1
+ /*
2
+ * Copyright 2022 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SK_USER_CONFIG_WAS_LOADED
9
+
10
+ // Include this to set reasonable defaults (e.g. for SK_CPU_LENDIAN)
11
+ #include "include/private/SkFeatures.h"
12
+ // Include this so that users can define the lowest active log priority in their config
13
+ #include "include/private/SkLogPriority.h" // IWYU pragma: keep
14
+
15
+ // Allows embedders that want to disable macros that take arguments to just
16
+ // define that symbol to be one of these
17
+ #define SK_NOTHING_ARG1(arg1)
18
+ #define SK_NOTHING_ARG2(arg1, arg2)
19
+ #define SK_NOTHING_ARG3(arg1, arg2, arg3)
20
+
21
+ // IWYU pragma: begin_exports
22
+ // Note: SK_USER_CONFIG_HEADER will not work with Bazel builds and some C++ compilers.
23
+ #if defined(SK_USER_CONFIG_HEADER)
24
+ #include SK_USER_CONFIG_HEADER
25
+ #elif defined(SK_USE_BAZEL_CONFIG_HEADER)
26
+ // The Bazel config file is presumed to be in the root directory of its Bazel Workspace.
27
+ // This is achieved in Skia by having a nested WORKSPACE in include/config and a cc_library
28
+ // defined in that folder. As a result, we do not try to include SkUserConfig.h from the
29
+ // top of Skia because Bazel sandboxing will move it to a different location.
30
+ #include "SkUserConfig.h" // NO_G3_REWRITE
31
+ #else
32
+ #include "include/config/SkUserConfig.h"
33
+ #endif
34
+ // IWYU pragma: end_exports
35
+
36
+ // Checks to make sure the SkUserConfig options do not conflict.
37
+ #if !defined(SK_DEBUG) && !defined(SK_RELEASE)
38
+ #ifdef NDEBUG
39
+ #define SK_RELEASE
40
+ #else
41
+ #define SK_DEBUG
42
+ #endif
43
+ #endif
44
+
45
+ #if defined(SK_DEBUG) && defined(SK_RELEASE)
46
+ # error "cannot define both SK_DEBUG and SK_RELEASE"
47
+ #elif !defined(SK_DEBUG) && !defined(SK_RELEASE)
48
+ # error "must define either SK_DEBUG or SK_RELEASE"
49
+ #endif
50
+
51
+ #if defined(SK_CPU_LENDIAN) && defined(SK_CPU_BENDIAN)
52
+ # error "cannot define both SK_CPU_LENDIAN and SK_CPU_BENDIAN"
53
+ #elif !defined(SK_CPU_LENDIAN) && !defined(SK_CPU_BENDIAN)
54
+ # error "must define either SK_CPU_LENDIAN or SK_CPU_BENDIAN"
55
+ #endif
56
+
57
+ #if defined(SK_CPU_BENDIAN) && !defined(I_ACKNOWLEDGE_SKIA_DOES_NOT_SUPPORT_BIG_ENDIAN)
58
+ #error "The Skia team is not endian-savvy enough to support big-endian CPUs."
59
+ #error "If you still want to use Skia,"
60
+ #error "please define I_ACKNOWLEDGE_SKIA_DOES_NOT_SUPPORT_BIG_ENDIAN."
61
+ #endif
62
+
63
+ #define SK_USER_CONFIG_WAS_LOADED
64
+ #endif // SK_USER_CONFIG_WAS_LOADED
@@ -0,0 +1,62 @@
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 SkLog_DEFINED
9
+ #define SkLog_DEFINED
10
+
11
+ #include <cstdarg>
12
+
13
+ #include "include/private/SkAPI.h"
14
+ #include "include/private/SkAttributes.h"
15
+ #include "include/private/SkLoadUserConfig.h" // IWYU pragma: keep
16
+ #include "include/private/SkLogPriority.h"
17
+
18
+ #if !defined(SkLog)
19
+ // To be implemented per platform.
20
+ void SkLogVAList(SkLogPriority priority, const char format[], va_list args) SK_PRINTF_LIKE(2, 0);
21
+ void SK_SPI SkLog(SkLogPriority priority, const char format[], ...) SK_PRINTF_LIKE(2, 3);
22
+ #endif
23
+
24
+ /**
25
+ * TODO (b/469441457): SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY Was the config used to set the log
26
+ * priority, so we check for that define as well. Eventually, we should move clients using this
27
+ * define to the new one.
28
+ */
29
+ #if defined(SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY)
30
+ static constexpr SkLogPriority MapGraphitePriority(skgpu::graphite::LogPriority priority) {
31
+ switch (priority) {
32
+ case skgpu::graphite::LogPriority::kError: return SkLogPriority::kError;
33
+ case skgpu::graphite::LogPriority::kWarning: return SkLogPriority::kWarning;
34
+ case skgpu::graphite::LogPriority::kInfo: return SkLogPriority::kInfo;
35
+ case skgpu::graphite::LogPriority::kDebug: return SkLogPriority::kDebug;
36
+ default: return SkLogPriority::kDebug;
37
+ }
38
+ }
39
+ #define SKIA_LOWEST_ACTIVE_LOG_PRIORITY MapGraphitePriority(SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY)
40
+ #endif
41
+
42
+ #if !defined(SKIA_LOWEST_ACTIVE_LOG_PRIORITY)
43
+ #ifdef SK_DEBUG
44
+ #define SKIA_LOWEST_ACTIVE_LOG_PRIORITY SkLogPriority::kDebug
45
+ #else
46
+ #define SKIA_LOWEST_ACTIVE_LOG_PRIORITY SkLogPriority::kInfo
47
+ #endif
48
+ #endif
49
+
50
+ #define SKIA_LOG(priority, fmt, ...) \
51
+ do { \
52
+ if constexpr (priority <= SKIA_LOWEST_ACTIVE_LOG_PRIORITY) { \
53
+ SkLog(priority, "[skia] " fmt "\n", ##__VA_ARGS__); \
54
+ } \
55
+ } while (0)
56
+
57
+ #define SKIA_LOG_E(fmt, ...) SKIA_LOG(SkLogPriority::kError, "** ERROR ** " fmt, ##__VA_ARGS__)
58
+ #define SKIA_LOG_W(fmt, ...) SKIA_LOG(SkLogPriority::kWarning, "WARNING - " fmt, ##__VA_ARGS__)
59
+ #define SKIA_LOG_I(fmt, ...) SKIA_LOG(SkLogPriority::kInfo, fmt, ##__VA_ARGS__)
60
+ #define SKIA_LOG_D(fmt, ...) SKIA_LOG(SkLogPriority::kDebug, fmt, ##__VA_ARGS__)
61
+
62
+ #endif // SkLog_DEFINED
@@ -0,0 +1,34 @@
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 SkLogPriority_DEFINED
9
+ #define SkLogPriority_DEFINED
10
+
11
+ /**
12
+ * Note: this file may be included in clients' SkUserConfig.h files, so including any other headers
13
+ * in this file should be avoided.
14
+ */
15
+
16
+ /**
17
+ * SKIA_LOWEST_ACTIVE_LOG_PRIORITY can be defined to one of these values (in
18
+ * SkUserConfig.h) to control Skia's logging behavior.
19
+ *
20
+ * For example:
21
+ * ```
22
+ * #define SKIA_LOWEST_ACTIVE_LOG_PRIORITY SkLogPriority::kWarning
23
+ * ```
24
+ * Would cause Skia to log warnings, non-fatal errors, and fatal errors.
25
+ * However, debug logs would be omitted.
26
+ */
27
+ enum class SkLogPriority : int {
28
+ kError = 0,
29
+ kWarning = 1,
30
+ kInfo = 2,
31
+ kDebug = 3,
32
+ };
33
+
34
+ #endif // SkLogPriority_DEFINED
@@ -0,0 +1,170 @@
1
+ /*
2
+ * Copyright 2018 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
+ #ifndef SkMacros_DEFINED
8
+ #define SkMacros_DEFINED
9
+
10
+ #include "include/private/SkTo.h" // IWYU pragma: keep
11
+
12
+ /*
13
+ * Usage: SK_MACRO_CONCAT(a, b) to construct the symbol ab
14
+ *
15
+ * SK_MACRO_CONCAT_IMPL_PRIV just exists to make this work. Do not use directly
16
+ *
17
+ */
18
+ #define SK_MACRO_CONCAT(X, Y) SK_MACRO_CONCAT_IMPL_PRIV(X, Y)
19
+ #define SK_MACRO_CONCAT_IMPL_PRIV(X, Y) X ## Y
20
+
21
+ /*
22
+ * Usage: SK_MACRO_APPEND_LINE(foo) to make foo123, where 123 is the current
23
+ * line number. Easy way to construct
24
+ * unique names for local functions or
25
+ * variables.
26
+ */
27
+ #define SK_MACRO_APPEND_LINE(name) SK_MACRO_CONCAT(name, __LINE__)
28
+
29
+ #define SK_MACRO_APPEND_COUNTER(name) SK_MACRO_CONCAT(name, __COUNTER__)
30
+
31
+ /*
32
+ * Makes a string of X, where X is expanded before conversion to a string if X itself contains
33
+ * macros.
34
+ *
35
+ * Usage: SK_MACRO_STRINGIFY(__LINE__) to make "123", where 123 is the current line number.
36
+ */
37
+ #define SK_MACRO_STRINGIFY(X) SK_MACRO_STRINGIFY_IMPL_PRIV(X)
38
+ #define SK_MACRO_STRINGIFY_IMPL_PRIV(X) #X
39
+
40
+ ////////////////////////////////////////////////////////////////////////////////
41
+
42
+ // Can be used to bracket data types that must be dense/packed, e.g. hash keys.
43
+ #if defined(__clang__) // This should work on GCC too, but GCC diagnostic pop didn't seem to work!
44
+ #define SK_BEGIN_REQUIRE_DENSE _Pragma("GCC diagnostic push") \
45
+ _Pragma("GCC diagnostic error \"-Wpadded\"")
46
+ #define SK_END_REQUIRE_DENSE _Pragma("GCC diagnostic pop")
47
+ #else
48
+ #define SK_BEGIN_REQUIRE_DENSE
49
+ #define SK_END_REQUIRE_DENSE
50
+ #endif
51
+
52
+ #if defined(__clang__) && defined(__has_feature)
53
+ // Some compilers have a preprocessor that does not appear to do short-circuit
54
+ // evaluation as expected
55
+ #if __has_feature(leak_sanitizer) || __has_feature(address_sanitizer)
56
+ // Chrome had issues if we tried to include lsan_interface.h ourselves.
57
+ // https://github.com/llvm/llvm-project/blob/10a35632d55bb05004fe3d0c2d4432bb74897ee7/compiler-rt/include/sanitizer/lsan_interface.h#L26
58
+ extern "C" {
59
+ void __lsan_ignore_object(const void *p);
60
+ }
61
+ #define SK_INTENTIONALLY_LEAKED(X) __lsan_ignore_object(X)
62
+ #else
63
+ #define SK_INTENTIONALLY_LEAKED(X) ((void)0)
64
+ #endif
65
+ #else
66
+ #define SK_INTENTIONALLY_LEAKED(X) ((void)0)
67
+ #endif
68
+
69
+ #define SK_INIT_TO_AVOID_WARNING = 0
70
+
71
+ ////////////////////////////////////////////////////////////////////////////////
72
+
73
+ /**
74
+ * Defines overloaded bitwise operators to make it easier to use an enum as a
75
+ * bitfield.
76
+ */
77
+ #define SK_MAKE_BITFIELD_OPS(X) \
78
+ inline X operator ~(X a) { \
79
+ using U = std::underlying_type_t<X>; \
80
+ return (X) (~static_cast<U>(a)); \
81
+ } \
82
+ inline X operator |(X a, X b) { \
83
+ using U = std::underlying_type_t<X>; \
84
+ return (X) (static_cast<U>(a) | static_cast<U>(b)); \
85
+ } \
86
+ inline X& operator |=(X& a, X b) { \
87
+ return (a = a | b); \
88
+ } \
89
+ inline X operator &(X a, X b) { \
90
+ using U = std::underlying_type_t<X>; \
91
+ return (X) (static_cast<U>(a) & static_cast<U>(b)); \
92
+ } \
93
+ inline X& operator &=(X& a, X b) { \
94
+ return (a = a & b); \
95
+ }
96
+
97
+ #define SK_DECL_BITFIELD_OPS_FRIENDS(X) \
98
+ friend X operator ~(X a); \
99
+ friend X operator |(X a, X b); \
100
+ friend X& operator |=(X& a, X b); \
101
+ \
102
+ friend X operator &(X a, X b); \
103
+ friend X& operator &=(X& a, X b);
104
+
105
+ /**
106
+ * Wraps a C++11 enum that we use as a bitfield, and enables a limited amount of
107
+ * masking with type safety. Instantiated with the ~ operator.
108
+ */
109
+ template<typename TFlags> class SkTFlagsMask {
110
+ public:
111
+ constexpr explicit SkTFlagsMask(TFlags value) : SkTFlagsMask(static_cast<int>(value)) {}
112
+ constexpr explicit SkTFlagsMask(int value) : fValue(value) {}
113
+ constexpr int value() const { return fValue; }
114
+ private:
115
+ const int fValue;
116
+ };
117
+
118
+ /**
119
+ * Defines bitwise operators that make it possible to use an enum class as a
120
+ * basic bitfield.
121
+ */
122
+ #define SK_MAKE_BITFIELD_CLASS_OPS(X) \
123
+ [[maybe_unused]] constexpr SkTFlagsMask<X> operator~(X a) { \
124
+ return SkTFlagsMask<X>(~static_cast<int>(a)); \
125
+ } \
126
+ [[maybe_unused]] constexpr X operator|(X a, X b) { \
127
+ return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \
128
+ } \
129
+ [[maybe_unused]] inline X& operator|=(X& a, X b) { \
130
+ return (a = a | b); \
131
+ } \
132
+ [[maybe_unused]] constexpr bool operator&(X a, X b) { \
133
+ return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \
134
+ } \
135
+ [[maybe_unused]] constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X> a, SkTFlagsMask<X> b) { \
136
+ return SkTFlagsMask<X>(a.value() | b.value()); \
137
+ } \
138
+ [[maybe_unused]] constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X> a, X b) { \
139
+ return SkTFlagsMask<X>(a.value() | static_cast<int>(b)); \
140
+ } \
141
+ [[maybe_unused]] constexpr SkTFlagsMask<X> operator|(X a, SkTFlagsMask<X> b) { \
142
+ return SkTFlagsMask<X>(static_cast<int>(a) | b.value()); \
143
+ } \
144
+ [[maybe_unused]] constexpr X operator&(SkTFlagsMask<X> a, SkTFlagsMask<X> b) { \
145
+ return static_cast<X>(a.value() & b.value()); \
146
+ } \
147
+ [[maybe_unused]] constexpr X operator&(SkTFlagsMask<X> a, X b) { \
148
+ return static_cast<X>(a.value() & static_cast<int>(b)); \
149
+ } \
150
+ [[maybe_unused]] constexpr X operator&(X a, SkTFlagsMask<X> b) { \
151
+ return static_cast<X>(static_cast<int>(a) & b.value()); \
152
+ } \
153
+ [[maybe_unused]] inline X& operator&=(X& a, SkTFlagsMask<X> b) { \
154
+ return (a = a & b); \
155
+ } \
156
+
157
+ #define SK_DECL_BITFIELD_CLASS_OPS_FRIENDS(X) \
158
+ friend constexpr SkTFlagsMask<X> operator ~(X); \
159
+ friend constexpr X operator |(X, X); \
160
+ friend X& operator |=(X&, X); \
161
+ friend constexpr bool operator &(X, X); \
162
+ friend constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X>, SkTFlagsMask<X>); \
163
+ friend constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X>, X); \
164
+ friend constexpr SkTFlagsMask<X> operator|(X, SkTFlagsMask<X>); \
165
+ friend constexpr X operator&(SkTFlagsMask<X>, SkTFlagsMask<X>); \
166
+ friend constexpr X operator&(SkTFlagsMask<X>, X); \
167
+ friend constexpr X operator&(X, SkTFlagsMask<X>); \
168
+ friend X& operator &=(X&, SkTFlagsMask<X>)
169
+
170
+ #endif // SkMacros_DEFINED
@@ -0,0 +1,152 @@
1
+ /*
2
+ * Copyright 2017 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 SkMalloc_DEFINED
9
+ #define SkMalloc_DEFINED
10
+
11
+ #include <cstring>
12
+
13
+ #include "include/private/SkAPI.h"
14
+
15
+ /*
16
+ memory wrappers to be implemented by the porting layer (platform)
17
+ */
18
+
19
+
20
+ /** Free memory returned by sk_malloc(). It is safe to pass null. */
21
+ SK_API extern void sk_free(void*);
22
+
23
+ /**
24
+ * Called internally if we run out of memory. The platform implementation must
25
+ * not return, but should either throw an exception or otherwise exit.
26
+ */
27
+ SK_API extern void sk_out_of_memory(void);
28
+
29
+ enum {
30
+ /**
31
+ * If this bit is set, the returned buffer must be zero-initialized. If this bit is not set
32
+ * the buffer can be uninitialized.
33
+ */
34
+ SK_MALLOC_ZERO_INITIALIZE = 1 << 0,
35
+
36
+ /**
37
+ * If this bit is set, the implementation must throw/crash/quit if the request cannot
38
+ * be fulfilled. If this bit is not set, then it should return nullptr on failure.
39
+ */
40
+ SK_MALLOC_THROW = 1 << 1,
41
+ };
42
+ /**
43
+ * Return a block of memory (at least 4-byte aligned) of at least the specified size.
44
+ * If the requested memory cannot be returned, either return nullptr or throw/exit, depending
45
+ * on the SK_MALLOC_THROW bit. If the allocation succeeds, the memory will be zero-initialized
46
+ * if the SK_MALLOC_ZERO_INITIALIZE bit was set.
47
+ *
48
+ * To free the memory, call sk_free()
49
+ */
50
+ SK_API extern void* sk_malloc_flags(size_t size, unsigned flags);
51
+
52
+ /** Same as standard realloc(), but this one never returns null on failure. It will throw
53
+ * if it fails.
54
+ * If size is 0, it will call sk_free on buffer and return null. (This behavior is implementation-
55
+ * defined for normal realloc. We follow what glibc does.)
56
+ */
57
+ SK_API extern void* sk_realloc_throw(void* buffer, size_t size);
58
+
59
+ /**
60
+ * Return the size of the block of memory allocated in reality for a given pointer. The pointer
61
+ * passed must have been allocated using the sk_malloc_* or sk_realloc_* functions. The "size"
62
+ * parameter indicates the size originally requested when the memory block was allocated, and
63
+ * the value returned by this function must be bigger or equal to it.
64
+ */
65
+ SK_API extern size_t sk_malloc_size(void* addr, size_t size);
66
+
67
+ static inline void* sk_malloc_throw(size_t size) {
68
+ return sk_malloc_flags(size, SK_MALLOC_THROW);
69
+ }
70
+
71
+ static inline void* sk_calloc_throw(size_t size) {
72
+ return sk_malloc_flags(size, SK_MALLOC_THROW | SK_MALLOC_ZERO_INITIALIZE);
73
+ }
74
+
75
+ static inline void* sk_calloc_canfail(size_t size) {
76
+ #if defined(SK_BUILD_FOR_FUZZER)
77
+ // To reduce the chance of OOM, pretend we can't allocate more than 200kb.
78
+ if (size > 200000) {
79
+ return nullptr;
80
+ }
81
+ #endif
82
+ return sk_malloc_flags(size, SK_MALLOC_ZERO_INITIALIZE);
83
+ }
84
+
85
+ // Performs a safe multiply count * elemSize, checking for overflow
86
+ SK_API extern void* sk_calloc_throw(size_t count, size_t elemSize);
87
+ SK_API extern void* sk_malloc_throw(size_t count, size_t elemSize);
88
+ SK_API extern void* sk_realloc_throw(void* buffer, size_t count, size_t elemSize);
89
+
90
+ /**
91
+ * These variants return nullptr on failure
92
+ */
93
+ static inline void* sk_malloc_canfail(size_t size) {
94
+ #if defined(SK_BUILD_FOR_FUZZER)
95
+ // To reduce the chance of OOM, pretend we can't allocate more than 200kb.
96
+ if (size > 200000) {
97
+ return nullptr;
98
+ }
99
+ #endif
100
+ return sk_malloc_flags(size, 0);
101
+ }
102
+ SK_API extern void* sk_malloc_canfail(size_t count, size_t elemSize);
103
+
104
+ // bzero is safer than memset, but we can't rely on it, so... sk_bzero()
105
+ static inline void sk_bzero(void* buffer, size_t size) {
106
+ // Please c.f. sk_careful_memcpy. It's undefined behavior to call memset(null, 0, 0).
107
+ if (size) {
108
+ memset(buffer, 0, size);
109
+ }
110
+ }
111
+
112
+ /**
113
+ * sk_careful_memcpy() is just like memcpy(), but guards against undefined behavior.
114
+ *
115
+ * It is undefined behavior to call memcpy() with null dst or src, even if len is 0.
116
+ * If an optimizer is "smart" enough, it can exploit this to do unexpected things.
117
+ * memcpy(dst, src, 0);
118
+ * if (src) {
119
+ * printf("%x\n", *src);
120
+ * }
121
+ * In this code the compiler can assume src is not null and omit the if (src) {...} check,
122
+ * unconditionally running the printf, crashing the program if src really is null.
123
+ * Of the compilers we pay attention to only GCC performs this optimization in practice.
124
+ */
125
+ static inline void* sk_careful_memcpy(void* dst, const void* src, size_t len) {
126
+ // When we pass >0 len we had better already be passing valid pointers.
127
+ // So we just need to skip calling memcpy when len == 0.
128
+ if (len) {
129
+ memcpy(dst,src,len);
130
+ }
131
+ return dst;
132
+ }
133
+
134
+ static inline void* sk_careful_memmove(void* dst, const void* src, size_t len) {
135
+ // When we pass >0 len we had better already be passing valid pointers.
136
+ // So we just need to skip calling memcpy when len == 0.
137
+ if (len) {
138
+ memmove(dst,src,len);
139
+ }
140
+ return dst;
141
+ }
142
+
143
+ static inline int sk_careful_memcmp(const void* a, const void* b, size_t len) {
144
+ // When we pass >0 len we had better already be passing valid pointers.
145
+ // So we just need to skip calling memcmp when len == 0.
146
+ if (len == 0) {
147
+ return 0; // we treat zero-length buffers as "equal"
148
+ }
149
+ return memcmp(a, b, len);
150
+ }
151
+
152
+ #endif // SkMalloc_DEFINED
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Copyright 2006 The Android Open Source Project
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 SkMath_DEFINED
9
+ #define SkMath_DEFINED
10
+
11
+ #include "include/private/SkAssert.h"
12
+ #include "include/private/SkCPUTypes.h"
13
+
14
+ #include <cstdint>
15
+ #include <climits>
16
+
17
+ // Max Signed 16 bit value
18
+ static constexpr int16_t SK_MaxS16 = INT16_MAX;
19
+ static constexpr int16_t SK_MinS16 = -SK_MaxS16;
20
+
21
+ static constexpr int32_t SK_MaxS32 = INT32_MAX;
22
+ static constexpr int32_t SK_MinS32 = -SK_MaxS32;
23
+ static constexpr int32_t SK_NaN32 = INT32_MIN;
24
+
25
+ static constexpr int64_t SK_MaxS64 = INT64_MAX;
26
+ static constexpr int64_t SK_MinS64 = -SK_MaxS64;
27
+
28
+ // 64bit -> 32bit utilities
29
+
30
+ // Handy util that can be passed two ints, and will automatically promote to
31
+ // 64bits before the multiply, so the caller doesn't have to remember to cast
32
+ // e.g. (int64_t)a * b;
33
+ static inline int64_t sk_64_mul(int64_t a, int64_t b) {
34
+ return a * b;
35
+ }
36
+
37
+ static inline constexpr int32_t SkLeftShift(int32_t value, int32_t shift) {
38
+ return (int32_t) ((uint32_t) value << shift);
39
+ }
40
+
41
+ static inline constexpr int64_t SkLeftShift(int64_t value, int32_t shift) {
42
+ return (int64_t) ((uint64_t) value << shift);
43
+ }
44
+
45
+ ///////////////////////////////////////////////////////////////////////////////
46
+
47
+ /**
48
+ * Returns true if value is a power of 2. Does not explicitly check for
49
+ * value <= 0.
50
+ */
51
+ template <typename T> constexpr inline bool SkIsPow2(T value) {
52
+ return (value & (value - 1)) == 0;
53
+ }
54
+
55
+ ///////////////////////////////////////////////////////////////////////////////
56
+
57
+ /**
58
+ * Return a*b/((1 << shift) - 1), rounding any fractional bits.
59
+ * Only valid if a and b are unsigned and <= 32767 and shift is > 0 and <= 8
60
+ */
61
+ static inline unsigned SkMul16ShiftRound(U16CPU a, U16CPU b, int shift) {
62
+ SkASSERT(a <= 32767);
63
+ SkASSERT(b <= 32767);
64
+ SkASSERT(shift > 0 && shift <= 8);
65
+ unsigned prod = a*b + (1 << (shift - 1));
66
+ return (prod + (prod >> shift)) >> shift;
67
+ }
68
+
69
+ /**
70
+ * Return a*b/255, rounding any fractional bits.
71
+ * Only valid if a and b are unsigned and <= 32767.
72
+ */
73
+ static inline U8CPU SkMulDiv255Round(U16CPU a, U16CPU b) {
74
+ return SkMul16ShiftRound(a, b, 8);
75
+ }
76
+
77
+ #endif
@@ -0,0 +1,72 @@
1
+ /*
2
+ * Copyright 2015 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 SkMutex_DEFINED
9
+ #define SkMutex_DEFINED
10
+
11
+ #include "include/private/SkAssert.h"
12
+ #include "include/private/SkDebug.h"
13
+ #include "include/private/SkSemaphore.h"
14
+ #include "include/private/SkThreadAnnotations.h"
15
+ #include "include/private/SkThreadID.h"
16
+
17
+ /**
18
+ * class SkMutex
19
+ *
20
+ * This allows us to have a mutex without needing the one in
21
+ * the C++ std library which does not work with all clients.
22
+ * go/cstyle#Disallowed_Stdlib
23
+ */
24
+
25
+ class SK_CAPABILITY("mutex") SkMutex {
26
+ public:
27
+ constexpr SkMutex() = default;
28
+
29
+ ~SkMutex() {
30
+ this->assertNotHeld();
31
+ }
32
+
33
+ void acquire() SK_ACQUIRE() {
34
+ fSemaphore.wait();
35
+ SkDEBUGCODE(fOwner = SkGetThreadID();)
36
+ }
37
+
38
+ void release() SK_RELEASE_CAPABILITY() {
39
+ this->assertHeld();
40
+ SkDEBUGCODE(fOwner = kIllegalThreadID;)
41
+ fSemaphore.signal();
42
+ }
43
+
44
+ void assertHeld() SK_ASSERT_CAPABILITY(this) {
45
+ SkASSERT(fOwner == SkGetThreadID());
46
+ }
47
+
48
+ void assertNotHeld() {
49
+ SkASSERT(fOwner == kIllegalThreadID);
50
+ }
51
+
52
+ private:
53
+ SkSemaphore fSemaphore{1};
54
+ SkDEBUGCODE(SkThreadID fOwner{kIllegalThreadID};)
55
+ };
56
+
57
+ class SK_SCOPED_CAPABILITY SkAutoMutexExclusive {
58
+ public:
59
+ SkAutoMutexExclusive(SkMutex& mutex) SK_ACQUIRE(mutex) : fMutex(mutex) { fMutex.acquire(); }
60
+ ~SkAutoMutexExclusive() SK_RELEASE_CAPABILITY() { fMutex.release(); }
61
+
62
+ SkAutoMutexExclusive(const SkAutoMutexExclusive&) = delete;
63
+ SkAutoMutexExclusive(SkAutoMutexExclusive&&) = delete;
64
+
65
+ SkAutoMutexExclusive& operator=(const SkAutoMutexExclusive&) = delete;
66
+ SkAutoMutexExclusive& operator=(SkAutoMutexExclusive&&) = delete;
67
+
68
+ private:
69
+ SkMutex& fMutex;
70
+ };
71
+
72
+ #endif // SkMutex_DEFINED
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2006 The Android Open Source Project
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 SkNoncopyable_DEFINED
9
+ #define SkNoncopyable_DEFINED
10
+
11
+ #include "include/private/SkAPI.h"
12
+
13
+ /** \class SkNoncopyable (DEPRECATED)
14
+
15
+ SkNoncopyable is the base class for objects that do not want to
16
+ be copied. It hides its copy-constructor and its assignment-operator.
17
+ */
18
+ class SK_API SkNoncopyable {
19
+ public:
20
+ SkNoncopyable() = default;
21
+
22
+ SkNoncopyable(SkNoncopyable&&) = default;
23
+ SkNoncopyable& operator =(SkNoncopyable&&) = default;
24
+
25
+ private:
26
+ SkNoncopyable(const SkNoncopyable&) = delete;
27
+ SkNoncopyable& operator=(const SkNoncopyable&) = delete;
28
+ };
29
+
30
+ #endif