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,701 @@
1
+ /*
2
+ * Copyright 2005 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 SkRegion_DEFINED
9
+ #define SkRegion_DEFINED
10
+
11
+ #include "include/core/SkPath.h"
12
+ #include "include/core/SkRect.h"
13
+ #include "include/core/SkSpan.h"
14
+ #include "include/private/SkAPI.h"
15
+ #include "include/private/SkAssert.h"
16
+ #include "include/private/SkDebug.h"
17
+ #include "include/private/SkTypeTraits.h"
18
+
19
+ #include <cstddef>
20
+ #include <cstdint>
21
+ #include <type_traits>
22
+
23
+ class SkPathBuilder;
24
+
25
+ /** \class SkRegion
26
+ SkRegion describes the set of pixels used to clip SkCanvas. SkRegion is compact,
27
+ efficiently storing a single integer rectangle, or a run length encoded array
28
+ of rectangles. SkRegion may reduce the current SkCanvas clip, or may be drawn as
29
+ one or more integer rectangles. SkRegion iterator returns the scan lines or
30
+ rectangles contained by it, optionally intersecting a bounding rectangle.
31
+ */
32
+ class SK_API SkRegion {
33
+ typedef int32_t RunType;
34
+ public:
35
+
36
+ /** Constructs an empty SkRegion. SkRegion is set to empty bounds
37
+ at (0, 0) with zero width and height.
38
+
39
+ @return empty SkRegion
40
+
41
+ example: https://fiddle.skia.org/c/@Region_empty_constructor
42
+ */
43
+ SkRegion();
44
+
45
+ /** Constructs a copy of an existing region.
46
+ Copy constructor makes two regions identical by value. Internally, region and
47
+ the returned result share pointer values. The underlying SkRect array is
48
+ copied when modified.
49
+
50
+ Creating a SkRegion copy is very efficient and never allocates memory.
51
+ SkRegion are always copied by value from the interface; the underlying shared
52
+ pointers are not exposed.
53
+
54
+ @param region SkRegion to copy by value
55
+ @return copy of SkRegion
56
+
57
+ example: https://fiddle.skia.org/c/@Region_copy_const_SkRegion
58
+ */
59
+ SkRegion(const SkRegion& region);
60
+
61
+ /** Constructs a rectangular SkRegion matching the bounds of rect.
62
+
63
+ @param rect bounds of constructed SkRegion
64
+ @return rectangular SkRegion
65
+
66
+ example: https://fiddle.skia.org/c/@Region_copy_const_SkIRect
67
+ */
68
+ explicit SkRegion(const SkIRect& rect);
69
+
70
+ /** Releases ownership of any shared data and deletes data if SkRegion is sole owner.
71
+
72
+ example: https://fiddle.skia.org/c/@Region_destructor
73
+ */
74
+ ~SkRegion();
75
+
76
+ /** Constructs a copy of an existing region.
77
+ Makes two regions identical by value. Internally, region and
78
+ the returned result share pointer values. The underlying SkRect array is
79
+ copied when modified.
80
+
81
+ Creating a SkRegion copy is very efficient and never allocates memory.
82
+ SkRegion are always copied by value from the interface; the underlying shared
83
+ pointers are not exposed.
84
+
85
+ @param region SkRegion to copy by value
86
+ @return SkRegion to copy by value
87
+
88
+ example: https://fiddle.skia.org/c/@Region_copy_operator
89
+ */
90
+ SkRegion& operator=(const SkRegion& region);
91
+
92
+ /** Compares SkRegion and other; returns true if they enclose exactly
93
+ the same area.
94
+
95
+ @param other SkRegion to compare
96
+ @return true if SkRegion pair are equivalent
97
+
98
+ example: https://fiddle.skia.org/c/@Region_equal1_operator
99
+ */
100
+ bool operator==(const SkRegion& other) const;
101
+
102
+ /** Compares SkRegion and other; returns true if they do not enclose the same area.
103
+
104
+ @param other SkRegion to compare
105
+ @return true if SkRegion pair are not equivalent
106
+ */
107
+ bool operator!=(const SkRegion& other) const {
108
+ return !(*this == other);
109
+ }
110
+
111
+ /** Sets SkRegion to src, and returns true if src bounds is not empty.
112
+ This makes SkRegion and src identical by value. Internally,
113
+ SkRegion and src share pointer values. The underlying SkRect array is
114
+ copied when modified.
115
+
116
+ Creating a SkRegion copy is very efficient and never allocates memory.
117
+ SkRegion are always copied by value from the interface; the underlying shared
118
+ pointers are not exposed.
119
+
120
+ @param src SkRegion to copy
121
+ @return copy of src
122
+ */
123
+ bool set(const SkRegion& src) {
124
+ *this = src;
125
+ return !this->isEmpty();
126
+ }
127
+
128
+ /** Exchanges SkIRect array of SkRegion and other. swap() internally exchanges pointers,
129
+ so it is lightweight and does not allocate memory.
130
+
131
+ swap() usage has largely been replaced by operator=(const SkRegion& region).
132
+ SkPath do not copy their content on assignment until they are written to,
133
+ making assignment as efficient as swap().
134
+
135
+ @param other operator=(const SkRegion& region) set
136
+
137
+ example: https://fiddle.skia.org/c/@Region_swap
138
+ */
139
+ void swap(SkRegion& other);
140
+
141
+ /** Returns true if SkRegion is empty.
142
+ Empty SkRegion has bounds width or height less than or equal to zero.
143
+ SkRegion() constructs empty SkRegion; setEmpty()
144
+ and setRect() with dimensionless data make SkRegion empty.
145
+
146
+ @return true if bounds has no width or height
147
+ */
148
+ bool isEmpty() const { return fRunHead == emptyRunHeadPtr(); }
149
+
150
+ /** Returns true if SkRegion is one SkIRect with positive dimensions.
151
+
152
+ @return true if SkRegion contains one SkIRect
153
+ */
154
+ bool isRect() const { return fRunHead == kRectRunHeadPtr; }
155
+
156
+ /** Returns true if SkRegion is described by more than one rectangle.
157
+
158
+ @return true if SkRegion contains more than one SkIRect
159
+ */
160
+ bool isComplex() const { return !this->isEmpty() && !this->isRect(); }
161
+
162
+ /** Returns minimum and maximum axes values of SkIRect array.
163
+ Returns (0, 0, 0, 0) if SkRegion is empty.
164
+
165
+ @return combined bounds of all SkIRect elements
166
+ */
167
+ const SkIRect& getBounds() const { return fBounds; }
168
+
169
+ /** Returns a value that increases with the number of
170
+ elements in SkRegion. Returns zero if SkRegion is empty.
171
+ Returns one if SkRegion equals SkIRect; otherwise, returns
172
+ value greater than one indicating that SkRegion is complex.
173
+
174
+ Call to compare SkRegion for relative complexity.
175
+
176
+ @return relative complexity
177
+
178
+ example: https://fiddle.skia.org/c/@Region_computeRegionComplexity
179
+ */
180
+ int computeRegionComplexity() const;
181
+
182
+ /** Appends outline of SkRegion to path builder.
183
+ Returns true if SkRegion is not empty; otherwise, returns false, and leaves path
184
+ unmodified.
185
+
186
+ @param path SkPath to append to
187
+ @return true if path changed
188
+
189
+ example: https://fiddle.skia.org/c/@Region_getBoundaryPath
190
+ */
191
+ bool addBoundaryPath(SkPathBuilder*) const;
192
+
193
+ /**
194
+ * Return the boundary of the region as a path.
195
+ */
196
+ SkPath getBoundaryPath() const;
197
+
198
+ /** Constructs an empty SkRegion. SkRegion is set to empty bounds
199
+ at (0, 0) with zero width and height. Always returns false.
200
+
201
+ @return false
202
+
203
+ example: https://fiddle.skia.org/c/@Region_setEmpty
204
+ */
205
+ bool setEmpty();
206
+
207
+ /** Constructs a rectangular SkRegion matching the bounds of rect.
208
+ If rect is empty, constructs empty and returns false.
209
+
210
+ @param rect bounds of constructed SkRegion
211
+ @return true if rect is not empty
212
+
213
+ example: https://fiddle.skia.org/c/@Region_setRect
214
+ */
215
+ bool setRect(const SkIRect& rect);
216
+
217
+ /** Constructs SkRegion as the union of SkIRect in rects array. If count is
218
+ zero, constructs empty SkRegion. Returns false if constructed SkRegion is empty.
219
+
220
+ May be faster than repeated calls to op().
221
+
222
+ @param rects array of SkIRect
223
+ @param count array size
224
+ @return true if constructed SkRegion is not empty
225
+
226
+ example: https://fiddle.skia.org/c/@Region_setRects
227
+ */
228
+ bool setRects(SkSpan<const SkIRect> rects);
229
+ #if !defined(SK_DISABLE_LEGACY_SKREGION_UNSPANNED_APIS)
230
+ bool setRects(const SkIRect rects[], int count) {
231
+ return this->setRects({rects, count});
232
+ }
233
+ #endif
234
+
235
+ /** Constructs a copy of an existing region.
236
+ Makes two regions identical by value. Internally, region and
237
+ the returned result share pointer values. The underlying SkRect array is
238
+ copied when modified.
239
+
240
+ Creating a SkRegion copy is very efficient and never allocates memory.
241
+ SkRegion are always copied by value from the interface; the underlying shared
242
+ pointers are not exposed.
243
+
244
+ @param region SkRegion to copy by value
245
+ @return SkRegion to copy by value
246
+
247
+ example: https://fiddle.skia.org/c/@Region_setRegion
248
+ */
249
+ bool setRegion(const SkRegion& region);
250
+
251
+ /** Constructs SkRegion to match outline of path within clip.
252
+ Returns false if constructed SkRegion is empty.
253
+
254
+ Constructed SkRegion draws the same pixels as path through clip when
255
+ anti-aliasing is disabled.
256
+
257
+ @param path SkPath providing outline
258
+ @param clip SkRegion containing path
259
+ @return true if constructed SkRegion is not empty
260
+
261
+ example: https://fiddle.skia.org/c/@Region_setPath
262
+ */
263
+ bool setPath(const SkPath& path, const SkRegion& clip);
264
+
265
+ /** Returns true if SkRegion intersects rect.
266
+ Returns false if either rect or SkRegion is empty, or do not intersect.
267
+
268
+ @param rect SkIRect to intersect
269
+ @return true if rect and SkRegion have area in common
270
+
271
+ example: https://fiddle.skia.org/c/@Region_intersects
272
+ */
273
+ bool intersects(const SkIRect& rect) const;
274
+
275
+ /** Returns true if SkRegion intersects other.
276
+ Returns false if either other or SkRegion is empty, or do not intersect.
277
+
278
+ @param other SkRegion to intersect
279
+ @return true if other and SkRegion have area in common
280
+
281
+ example: https://fiddle.skia.org/c/@Region_intersects_2
282
+ */
283
+ bool intersects(const SkRegion& other) const;
284
+
285
+ /** Returns true if SkIPoint (x, y) is inside SkRegion.
286
+ Returns false if SkRegion is empty.
287
+
288
+ @param x test SkIPoint x-coordinate
289
+ @param y test SkIPoint y-coordinate
290
+ @return true if (x, y) is inside SkRegion
291
+
292
+ example: https://fiddle.skia.org/c/@Region_contains
293
+ */
294
+ bool contains(int32_t x, int32_t y) const;
295
+
296
+ /** Returns true if other is completely inside SkRegion.
297
+ Returns false if SkRegion or other is empty.
298
+
299
+ @param other SkIRect to contain
300
+ @return true if other is inside SkRegion
301
+
302
+ example: https://fiddle.skia.org/c/@Region_contains_2
303
+ */
304
+ bool contains(const SkIRect& other) const;
305
+
306
+ /** Returns true if other is completely inside SkRegion.
307
+ Returns false if SkRegion or other is empty.
308
+
309
+ @param other SkRegion to contain
310
+ @return true if other is inside SkRegion
311
+
312
+ example: https://fiddle.skia.org/c/@Region_contains_3
313
+ */
314
+ bool contains(const SkRegion& other) const;
315
+
316
+ /** Returns true if SkRegion is a single rectangle and contains r.
317
+ May return false even though SkRegion contains r.
318
+
319
+ @param r SkIRect to contain
320
+ @return true quickly if r points are equal or inside
321
+ */
322
+ bool quickContains(const SkIRect& r) const {
323
+ SkASSERT(this->isEmpty() == fBounds.isEmpty()); // valid region
324
+
325
+ return r.fLeft < r.fRight && r.fTop < r.fBottom &&
326
+ fRunHead == kRectRunHeadPtr && // this->isRect()
327
+ /* fBounds.contains(left, top, right, bottom); */
328
+ fBounds.fLeft <= r.fLeft && fBounds.fTop <= r.fTop &&
329
+ fBounds.fRight >= r.fRight && fBounds.fBottom >= r.fBottom;
330
+ }
331
+
332
+ /** Returns true if SkRegion does not intersect rect.
333
+ Returns true if rect is empty or SkRegion is empty.
334
+ May return false even though SkRegion does not intersect rect.
335
+
336
+ @param rect SkIRect to intersect
337
+ @return true if rect does not intersect
338
+ */
339
+ bool quickReject(const SkIRect& rect) const {
340
+ return this->isEmpty() || rect.isEmpty() ||
341
+ !SkIRect::Intersects(fBounds, rect);
342
+ }
343
+
344
+ /** Returns true if SkRegion does not intersect rgn.
345
+ Returns true if rgn is empty or SkRegion is empty.
346
+ May return false even though SkRegion does not intersect rgn.
347
+
348
+ @param rgn SkRegion to intersect
349
+ @return true if rgn does not intersect
350
+ */
351
+ bool quickReject(const SkRegion& rgn) const {
352
+ return this->isEmpty() || rgn.isEmpty() ||
353
+ !SkIRect::Intersects(fBounds, rgn.fBounds);
354
+ }
355
+
356
+ /** Offsets SkRegion by ivector (dx, dy). Has no effect if SkRegion is empty.
357
+
358
+ @param dx x-axis offset
359
+ @param dy y-axis offset
360
+ */
361
+ void translate(int dx, int dy) { this->translate(dx, dy, this); }
362
+
363
+ /** Offsets SkRegion by ivector (dx, dy), writing result to dst. SkRegion may be passed
364
+ as dst parameter, translating SkRegion in place. Has no effect if dst is nullptr.
365
+ If SkRegion is empty, sets dst to empty.
366
+
367
+ @param dx x-axis offset
368
+ @param dy y-axis offset
369
+ @param dst translated result
370
+
371
+ example: https://fiddle.skia.org/c/@Region_translate_2
372
+ */
373
+ void translate(int dx, int dy, SkRegion* dst) const;
374
+
375
+ /** \enum SkRegion::Op
376
+ The logical operations that can be performed when combining two SkRegion.
377
+ */
378
+ enum Op {
379
+ kDifference_Op, //!< target minus operand
380
+ kIntersect_Op, //!< target intersected with operand
381
+ kUnion_Op, //!< target unioned with operand
382
+ kXOR_Op, //!< target exclusive or with operand
383
+ kReverseDifference_Op, //!< operand minus target
384
+ kReplace_Op, //!< replace target with operand
385
+ kLastOp = kReplace_Op, //!< last operator
386
+ };
387
+
388
+ static const int kOpCnt = kLastOp + 1;
389
+
390
+ /** Replaces SkRegion with the result of SkRegion op rect.
391
+ Returns true if replaced SkRegion is not empty.
392
+
393
+ @param rect SkIRect operand
394
+ @return false if result is empty
395
+ */
396
+ bool op(const SkIRect& rect, Op op) {
397
+ if (this->isRect() && kIntersect_Op == op) {
398
+ if (!fBounds.intersect(rect)) {
399
+ return this->setEmpty();
400
+ }
401
+ return true;
402
+ }
403
+ return this->op(*this, rect, op);
404
+ }
405
+
406
+ /** Replaces SkRegion with the result of SkRegion op rgn.
407
+ Returns true if replaced SkRegion is not empty.
408
+
409
+ @param rgn SkRegion operand
410
+ @return false if result is empty
411
+ */
412
+ bool op(const SkRegion& rgn, Op op) { return this->op(*this, rgn, op); }
413
+
414
+ /** Replaces SkRegion with the result of rect op rgn.
415
+ Returns true if replaced SkRegion is not empty.
416
+
417
+ @param rect SkIRect operand
418
+ @param rgn SkRegion operand
419
+ @return false if result is empty
420
+
421
+ example: https://fiddle.skia.org/c/@Region_op_4
422
+ */
423
+ bool op(const SkIRect& rect, const SkRegion& rgn, Op op);
424
+
425
+ /** Replaces SkRegion with the result of rgn op rect.
426
+ Returns true if replaced SkRegion is not empty.
427
+
428
+ @param rgn SkRegion operand
429
+ @param rect SkIRect operand
430
+ @return false if result is empty
431
+
432
+ example: https://fiddle.skia.org/c/@Region_op_5
433
+ */
434
+ bool op(const SkRegion& rgn, const SkIRect& rect, Op op);
435
+
436
+ /** Replaces SkRegion with the result of rgna op rgnb.
437
+ Returns true if replaced SkRegion is not empty.
438
+
439
+ @param rgna SkRegion operand
440
+ @param rgnb SkRegion operand
441
+ @return false if result is empty
442
+
443
+ example: https://fiddle.skia.org/c/@Region_op_6
444
+ */
445
+ bool op(const SkRegion& rgna, const SkRegion& rgnb, Op op);
446
+
447
+ #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
448
+ /** Private. Android framework only.
449
+
450
+ @return string representation of SkRegion
451
+ */
452
+ char* toString();
453
+ #endif
454
+
455
+ /** \class SkRegion::Iterator
456
+ Goes through the region one rectangle at a time. For each "strip" of one or more contiguous
457
+ Y values (scanlines) in ascending order, the iterator returns each rectangle in that strip
458
+ (from left to right) before advancing to the next strip (which may or may not have a gap).
459
+ */
460
+ class SK_API Iterator {
461
+ public:
462
+
463
+ /** Initializes SkRegion::Iterator with an empty SkRegion. done() on SkRegion::Iterator
464
+ returns true.
465
+ Call reset() to initialized SkRegion::Iterator at a later time.
466
+
467
+ @return empty SkRegion iterator
468
+ */
469
+ Iterator() : fRgn(nullptr), fDone(true) {}
470
+
471
+ /** Sets SkRegion::Iterator to return elements of SkIRect array in region.
472
+
473
+ @param region SkRegion to iterate
474
+ @return SkRegion iterator
475
+
476
+ example: https://fiddle.skia.org/c/@Region_Iterator_copy_const_SkRegion
477
+ */
478
+ Iterator(const SkRegion& region);
479
+
480
+ /** SkPoint SkRegion::Iterator to start of SkRegion.
481
+ Returns true if SkRegion was set; otherwise, returns false.
482
+
483
+ @return true if SkRegion was set
484
+
485
+ example: https://fiddle.skia.org/c/@Region_Iterator_rewind
486
+ */
487
+ bool rewind();
488
+
489
+ /** Resets iterator, using the new SkRegion.
490
+
491
+ @param region SkRegion to iterate
492
+
493
+ example: https://fiddle.skia.org/c/@Region_Iterator_reset
494
+ */
495
+ void reset(const SkRegion& region);
496
+
497
+ /** Returns true if SkRegion::Iterator is pointing to final SkIRect in SkRegion.
498
+
499
+ @return true if data parsing is complete
500
+ */
501
+ bool done() const { return fDone; }
502
+
503
+ /** Advances SkRegion::Iterator to next SkIRect in SkRegion if it is not done.
504
+ * This moves to the next rectangle to the right within the current
505
+ * horizontal strip. If the end of the strip is reached, it automatically
506
+ * advances to the first rectangle in the next strip, skipping any vertical gaps.
507
+ *
508
+ * example: https://fiddle.skia.org/c/@Region_Iterator_next
509
+ */
510
+ void next();
511
+
512
+ /** Returns SkIRect element in SkRegion. Does not return predictable results if SkRegion
513
+ is empty.
514
+
515
+ @return part of SkRegion as SkIRect
516
+ */
517
+ const SkIRect& rect() const { return fRect; }
518
+
519
+ /** Returns SkRegion if set; otherwise, returns nullptr.
520
+
521
+ @return iterated SkRegion
522
+ */
523
+ const SkRegion* rgn() const { return fRgn; }
524
+
525
+ private:
526
+ const SkRegion* fRgn;
527
+ // See top of SkRegion.cpp for more on the RLE encoding
528
+ const SkRegion::RunType* fRuns;
529
+ SkIRect fRect = {0, 0, 0, 0};
530
+ bool fDone;
531
+ };
532
+
533
+ /** \class SkRegion::Cliperator
534
+ Returns the sequence of rectangles, sorted along y-axis, then x-axis, that make
535
+ up SkRegion intersected with the specified clip rectangle.
536
+ */
537
+ class SK_API Cliperator {
538
+ public:
539
+
540
+ /** Sets SkRegion::Cliperator to return elements of SkIRect array in SkRegion within clip.
541
+
542
+ @param region SkRegion to iterate
543
+ @param clip bounds of iteration
544
+ @return SkRegion iterator
545
+
546
+ example: https://fiddle.skia.org/c/@Region_Cliperator_const_SkRegion_const_SkIRect
547
+ */
548
+ Cliperator(const SkRegion& region, const SkIRect& clip);
549
+
550
+ /** Returns true if SkRegion::Cliperator is pointing to final SkIRect in SkRegion.
551
+
552
+ @return true if data parsing is complete
553
+ */
554
+ bool done() { return fDone; }
555
+
556
+ /** Advances iterator to next SkIRect in SkRegion contained by clip.
557
+
558
+ example: https://fiddle.skia.org/c/@Region_Cliperator_next
559
+ */
560
+ void next();
561
+
562
+ /** Returns SkIRect element in SkRegion, intersected with clip passed to
563
+ SkRegion::Cliperator constructor. Does not return predictable results if SkRegion
564
+ is empty.
565
+
566
+ @return part of SkRegion inside clip as SkIRect
567
+ */
568
+ const SkIRect& rect() const { return fRect; }
569
+
570
+ private:
571
+ Iterator fIter;
572
+ SkIRect fClip;
573
+ SkIRect fRect = {0, 0, 0, 0};
574
+ bool fDone;
575
+ };
576
+
577
+ /** \class SkRegion::Spanerator
578
+ Returns the line segment ends within SkRegion that intersect a horizontal line.
579
+ */
580
+ class SK_API Spanerator {
581
+ public:
582
+
583
+ /** Sets SkRegion::Spanerator to return line segments in SkRegion on scan line.
584
+
585
+ @param region SkRegion to iterate
586
+ @param y horizontal line to intersect
587
+ @param left bounds of iteration
588
+ @param right bounds of iteration
589
+ @return SkRegion iterator
590
+
591
+ example: https://fiddle.skia.org/c/@Region_Spanerator_const_SkRegion_int_int_int
592
+ */
593
+ Spanerator(const SkRegion& region, int y, int left, int right);
594
+
595
+ /** Advances iterator to next span intersecting SkRegion within line segment provided
596
+ in constructor. Returns true if interval was found.
597
+
598
+ @param left pointer to span start; may be nullptr
599
+ @param right pointer to span end; may be nullptr
600
+ @return true if interval was found
601
+
602
+ example: https://fiddle.skia.org/c/@Region_Spanerator_next
603
+ */
604
+ bool next(int* left, int* right);
605
+
606
+ private:
607
+ const SkRegion::RunType* fRuns;
608
+ int fLeft, fRight;
609
+ bool fDone;
610
+ };
611
+
612
+ /** Writes SkRegion to buffer, and returns number of bytes written.
613
+ If buffer is nullptr, returns number number of bytes that would be written.
614
+
615
+ @param buffer storage for binary data
616
+ @return size of SkRegion
617
+
618
+ example: https://fiddle.skia.org/c/@Region_writeToMemory
619
+ */
620
+ size_t writeToMemory(void* buffer) const;
621
+
622
+ /** Constructs SkRegion from buffer of size length. Returns bytes read.
623
+ Returned value will be multiple of four or zero if length was too small.
624
+
625
+ @param buffer storage for binary data
626
+ @param length size of buffer
627
+ @return bytes read
628
+
629
+ example: https://fiddle.skia.org/c/@Region_readFromMemory
630
+ */
631
+ size_t readFromMemory(const void* buffer, size_t length);
632
+
633
+ using sk_is_trivially_relocatable = std::true_type;
634
+
635
+ private:
636
+ static constexpr int kOpCount = kReplace_Op + 1;
637
+
638
+ // T
639
+ // [B N L R S]
640
+ // S
641
+ static constexpr int kRectRegionRuns = 7;
642
+
643
+ struct RunHead;
644
+
645
+ static RunHead* emptyRunHeadPtr() { return (SkRegion::RunHead*) -1; }
646
+ static constexpr const RunHead* const kRectRunHeadPtr = nullptr;
647
+
648
+ // allocate space for count runs
649
+ void allocateRuns(int count);
650
+ void allocateRuns(int count, int ySpanCount, int intervalCount);
651
+ void allocateRuns(const RunHead& src);
652
+
653
+ SkDEBUGCODE(void dump() const;)
654
+
655
+ SkIRect fBounds;
656
+ RunHead* fRunHead;
657
+
658
+ static_assert(::sk_is_trivially_relocatable<decltype(fBounds)>::value);
659
+ static_assert(::sk_is_trivially_relocatable<decltype(fRunHead)>::value);
660
+
661
+ void freeRuns();
662
+
663
+ /**
664
+ * Return the runs from this region, consing up fake runs if the region
665
+ * is empty or a rect. In those 2 cases, we use tmpStorage to hold the
666
+ * run data.
667
+ */
668
+ const RunType* getRuns(RunType tmpStorage[], int* intervals) const;
669
+
670
+ // This is called with runs[] that do not yet have their interval-count
671
+ // field set on each scanline. That is computed as part of this call
672
+ // (inside ComputeRunBounds).
673
+ bool setRuns(RunType runs[], int count);
674
+
675
+ int count_runtype_values(int* itop, int* ibot) const;
676
+
677
+ bool isValid() const;
678
+
679
+ static void BuildRectRuns(const SkIRect& bounds,
680
+ RunType runs[kRectRegionRuns]);
681
+
682
+ // If the runs define a simple rect, return true and set bounds to that
683
+ // rect. If not, return false and ignore bounds.
684
+ static bool RunsAreARect(const SkRegion::RunType runs[], int count,
685
+ SkIRect* bounds);
686
+
687
+ /**
688
+ * If the last arg is null, just return if the result is non-empty,
689
+ * else store the result in the last arg.
690
+ */
691
+ static bool Oper(const SkRegion&, const SkRegion&, SkRegion::Op, SkRegion*);
692
+
693
+ friend struct RunHead;
694
+ friend class Iterator;
695
+ friend class Spanerator;
696
+ friend class SkRegionPriv;
697
+ friend class SkRgnBuilder;
698
+ friend class SkFlatRegion;
699
+ };
700
+
701
+ #endif