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,50 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_MtlGraphiteTypesUtils_DEFINED
9
+ #define skgpu_graphite_MtlGraphiteTypesUtils_DEFINED
10
+
11
+ #include "include/core/SkTypes.h"
12
+
13
+ #include "include/gpu/graphite/BackendTexture.h"
14
+ #include "include/gpu/graphite/TextureInfo.h"
15
+ #include "include/private/SkAPI.h"
16
+
17
+ #import <CoreFoundation/CoreFoundation.h>
18
+
19
+ namespace skgpu::graphite {
20
+
21
+ // MtlTextureInfo requires compiling with Objective-C, so this header is split to allow invoking
22
+ // the various backend wrapping APIs from a C++-only compilation unit.
23
+ class SK_API MtlTextureInfo;
24
+
25
+ namespace TextureInfos {
26
+ SK_API TextureInfo MakeMetal(const MtlTextureInfo&);
27
+ SK_API TextureInfo MakeMetal(CFTypeRef mtlTexture);
28
+
29
+ SK_API bool GetMtlTextureInfo(const TextureInfo&, MtlTextureInfo*);
30
+ } // namespace TextureInfos
31
+
32
+ namespace BackendTextures {
33
+ // The BackendTexture will not call retain or release on the passed in CFTypeRef. Thus the
34
+ // client must keep the CFTypeRef valid until they are no longer using the BackendTexture.
35
+ SK_API BackendTexture MakeMetal(SkISize dimensions, CFTypeRef mtlTexture);
36
+
37
+ SK_API CFTypeRef GetMtlTexture(const BackendTexture&);
38
+ } // namespace BackendTextures
39
+
40
+ namespace BackendSemaphores {
41
+ // TODO(b/286088355) Determine creator's responsibility for setting refcnt.
42
+ SK_API BackendSemaphore MakeMetal(CFTypeRef mtlEvent, uint64_t value);
43
+
44
+ SK_API CFTypeRef GetMtlEvent(const BackendSemaphore&);
45
+ SK_API uint64_t GetMtlValue(const BackendSemaphore&);
46
+ } // namespace BackendSemaphores
47
+
48
+ } // namespace skgpu::graphite
49
+
50
+ #endif // skgpu_graphite_MtlGraphiteTypesUtils_DEFINED
@@ -0,0 +1,9 @@
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
+ // DEPRECRATED: MtlGraphiteUtils.h will be removed in the future, please include MtlBackendContext.h
9
+ #include "include/gpu/graphite/mtl/MtlBackendContext.h"
@@ -0,0 +1,211 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_precompile_PaintOptions_DEFINED
9
+ #define skgpu_graphite_precompile_PaintOptions_DEFINED
10
+
11
+ #include "include/core/SkBlendMode.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/core/SkSpan.h"
14
+ #include "include/private/SkTArray.h"
15
+ #include "include/private/SkTDArray.h"
16
+
17
+ #include <functional>
18
+
19
+ namespace skgpu::graphite {
20
+
21
+ class PrecompileBlender;
22
+ class PrecompileColorFilter;
23
+ class PrecompileImageFilter;
24
+ class PrecompileMaskFilter;
25
+ class PrecompileShader;
26
+
27
+ enum class Coverage;
28
+ enum DrawTypeFlags : uint16_t;
29
+ enum class PrecompileImageFilterFlags : uint32_t;
30
+ enum class TextureFormat : uint8_t;
31
+
32
+ class KeyContext;
33
+ class PaintOptionsPriv;
34
+ class PaintParamsKeyBuilder;
35
+ struct RenderPassDesc;
36
+ class UniquePaintParamsID;
37
+
38
+ /** \class PaintOptions
39
+ This is the Precompilation analog to SkPaint. It encapsulates a set of options for each
40
+ field of the SkPaint (e.g., colorFilters, imageFilters, etc). Many of the specific details
41
+ of an SkPaint that are irrelevant to the final compiled Pipelines are abstracted away
42
+ (e.g., the SkPaint's color field).
43
+
44
+ How Precompilation works in practice is a PaintOptions object is created and a set of options
45
+ for each slot (e.g., shader, blender) are added. When passed to the Precompile() function,
46
+ all the combinations specified by the PaintOptions will be created and precompiled.
47
+
48
+ To be concrete, if a PaintOptions object had two shader options and two blender options,
49
+ four combinations would be precompiled.
50
+ */
51
+ class SK_API PaintOptions {
52
+ public:
53
+ /** Constructs a PaintOptions object with default values. It is equivalent to a default
54
+ * initialized SkPaint.
55
+
56
+ @return default initialized PaintOptions
57
+ */
58
+ PaintOptions();
59
+ PaintOptions(const PaintOptions&);
60
+ ~PaintOptions();
61
+ PaintOptions& operator=(const PaintOptions&);
62
+
63
+ /** Sets the shader options used when generating precompilation combinations.
64
+
65
+ This corresponds to SkPaint's setShader() method
66
+
67
+ @param shaders The options used for shading when generating precompilation combinations.
68
+ */
69
+ void setShaders(SkSpan<const sk_sp<PrecompileShader>> shaders);
70
+ SkSpan<const sk_sp<PrecompileShader>> getShaders() const {
71
+ return SkSpan<const sk_sp<PrecompileShader>>(fShaderOptions);
72
+ }
73
+
74
+ /** Sets the image filter options used when generating precompilation combinations.
75
+
76
+ This corresponds to SkPaint's setImageFilter() method
77
+
78
+ @param imageFilters The options used for image filtering when generating precompilation
79
+ combinations.
80
+ */
81
+ void setImageFilters(SkSpan<const sk_sp<PrecompileImageFilter>> imageFilters);
82
+ SkSpan<const sk_sp<PrecompileImageFilter>> getImageFilters() const {
83
+ return SkSpan<const sk_sp<PrecompileImageFilter>>(fImageFilterOptions);
84
+ }
85
+
86
+ /** Sets the mask filter options used when generating precompilation combinations.
87
+
88
+ This corresponds to SkPaint's setMaskFilter() method
89
+
90
+ @param maskFilters The options used for mask filtering when generating precompilation
91
+ combinations.
92
+ */
93
+ void setMaskFilters(SkSpan<const sk_sp<PrecompileMaskFilter>> maskFilters);
94
+ SkSpan<const sk_sp<PrecompileMaskFilter>> getMaskFilters() const {
95
+ return SkSpan<const sk_sp<PrecompileMaskFilter>>(fMaskFilterOptions);
96
+ }
97
+
98
+ /** Sets the color filter options used when generating precompilation combinations.
99
+
100
+ This corresponds to SkPaint's setColorFilter() method
101
+
102
+ @param colorFilters The options used for color filtering when generating precompilation
103
+ combinations.
104
+ */
105
+ void setColorFilters(SkSpan<const sk_sp<PrecompileColorFilter>> colorFilters);
106
+ SkSpan<const sk_sp<PrecompileColorFilter>> getColorFilters() const {
107
+ return SkSpan<const sk_sp<PrecompileColorFilter>>(fColorFilterOptions);
108
+ }
109
+
110
+ /** Sets the blend mode options used when generating precompilation combinations.
111
+
112
+ This corresponds to SkPaint's setBlendMode() method
113
+
114
+ @param blendModes The options used for blending when generating precompilation
115
+ combinations.
116
+ */
117
+ void setBlendModes(SkSpan<const SkBlendMode> blendModes);
118
+ SkSpan<const SkBlendMode> getBlendModes() const {
119
+ return SkSpan<const SkBlendMode>(fBlendModeOptions.data(), fBlendModeOptions.size());
120
+ }
121
+ void addBlendMode(SkBlendMode bm) {
122
+ fBlendModeOptions.push_back(bm);
123
+ }
124
+
125
+ /** Sets the blender options used when generating precompilation combinations.
126
+
127
+ This corresponds to SkPaint's setBlender() method
128
+
129
+ @param blenders The options used for blending when generating precompilation combinations.
130
+ */
131
+ void setBlenders(SkSpan<const sk_sp<PrecompileBlender>> blenders);
132
+ SkSpan<const sk_sp<PrecompileBlender>> getBlenders() const {
133
+ return SkSpan<const sk_sp<PrecompileBlender>>(fBlenderOptions);
134
+ }
135
+
136
+ /** Sets the dither setting used when generating precompilation combinations
137
+
138
+ This corresponds to SkPaint's setDither() method
139
+
140
+ @param dither the dither setting used when generating precompilation combinations.
141
+ */
142
+ void setDither(bool dither) { fDither = dither; }
143
+ bool isDither() const { return fDither; }
144
+
145
+ void setPaintColorIsOpaque(bool paintColorIsOpaque) {
146
+ fPaintColorIsOpaque = paintColorIsOpaque;
147
+ }
148
+ bool isPaintColorOpaque() const { return fPaintColorIsOpaque; }
149
+
150
+ // Provides access to functions that aren't part of the public API.
151
+ PaintOptionsPriv priv();
152
+ const PaintOptionsPriv priv() const; // NOLINT(readability-const-return-type)
153
+
154
+ private:
155
+ friend class PaintOptionsPriv;
156
+ friend class PrecompileImageFilter; // for ProcessCombination access
157
+ friend class PrecompileMaskFilter; // for ProcessCombination access
158
+
159
+ void addColorFilter(sk_sp<PrecompileColorFilter> cf);
160
+
161
+ void setClipShaders(SkSpan<const sk_sp<PrecompileShader>> clipShaders);
162
+
163
+ // In the main API this is specified via the SkBlender parameter to drawVertices
164
+ void setPrimitiveBlendMode(SkBlendMode bm) { fPrimitiveBlendMode = bm; }
165
+ void setSkipColorXform(bool skipColorXform) { fSkipColorXform = skipColorXform; }
166
+
167
+ int numShaderCombinations() const;
168
+ int numColorFilterCombinations() const;
169
+ int numBlendCombinations() const;
170
+ int numClipShaderCombinations() const;
171
+
172
+ int numCombinations() const;
173
+ // 'desiredCombination' must be less than the result of the numCombinations call
174
+ void createKey(const KeyContext&,
175
+ TextureFormat,
176
+ int desiredCombination,
177
+ bool addPrimitiveBlender,
178
+ bool addAnalyticClip,
179
+ Coverage coverage) const;
180
+
181
+ typedef std::function<void(UniquePaintParamsID id,
182
+ DrawTypeFlags,
183
+ bool withPrimitiveBlender,
184
+ Coverage,
185
+ const RenderPassDesc&)> ProcessCombination;
186
+
187
+ void buildCombinations(const KeyContext&,
188
+ DrawTypeFlags,
189
+ bool addPrimitiveBlender,
190
+ Coverage,
191
+ const RenderPassDesc&,
192
+ const ProcessCombination&) const;
193
+
194
+ skia_private::TArray<sk_sp<PrecompileShader>> fShaderOptions;
195
+ skia_private::TArray<sk_sp<PrecompileColorFilter>> fColorFilterOptions;
196
+ skia_private::TArray<SkBlendMode> fBlendModeOptions;
197
+ skia_private::TArray<sk_sp<PrecompileBlender>> fBlenderOptions;
198
+ skia_private::TArray<sk_sp<PrecompileShader>> fClipShaderOptions;
199
+
200
+ skia_private::TArray<sk_sp<PrecompileImageFilter>> fImageFilterOptions;
201
+ skia_private::TArray<sk_sp<PrecompileMaskFilter>> fMaskFilterOptions;
202
+
203
+ SkBlendMode fPrimitiveBlendMode = SkBlendMode::kSrcOver;
204
+ bool fSkipColorXform = false;
205
+ bool fDither = false;
206
+ bool fPaintColorIsOpaque = true;
207
+ };
208
+
209
+ } // namespace skgpu::graphite
210
+
211
+ #endif // skgpu_graphite_precompile_PaintOptions_DEFINED
@@ -0,0 +1,59 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_precompile_Precompile_DEFINED
9
+ #define skgpu_graphite_precompile_Precompile_DEFINED
10
+
11
+ #include "include/core/SkColorSpace.h"
12
+ #include "include/core/SkColorType.h"
13
+ #include "include/core/SkSpan.h"
14
+ #include "include/gpu/graphite/GraphiteTypes.h"
15
+
16
+ namespace skgpu::graphite {
17
+
18
+ class PaintOptions;
19
+ class PrecompileContext;
20
+
21
+ /**
22
+ * Describes the required properties of a RenderPass that will be combined with the
23
+ * other portions of the Precompilation API (i.e., paintOptions and drawTypes) to yield
24
+ * a pipeline.
25
+ */
26
+ struct SK_API RenderPassProperties {
27
+ bool operator==(const RenderPassProperties& other) const {
28
+ return fDSFlags == other.fDSFlags &&
29
+ fDstCT == other.fDstCT &&
30
+ fRequiresMSAA == other.fRequiresMSAA &&
31
+ SkColorSpace::Equals(fDstCS.get(), other.fDstCS.get());
32
+ }
33
+ bool operator!= (const RenderPassProperties& other) const { return !(*this == other); }
34
+
35
+ DepthStencilFlags fDSFlags = DepthStencilFlags::kNone;
36
+ SkColorType fDstCT = kRGBA_8888_SkColorType;
37
+ sk_sp<SkColorSpace> fDstCS = nullptr;
38
+ bool fRequiresMSAA = false;
39
+ };
40
+
41
+ /**
42
+ * Precompilation allows clients to create pipelines ahead of time based on what they expect
43
+ * to draw. This can reduce performance hitches, due to inline compilation, during the actual
44
+ * drawing. Graphite will always be able to perform an inline compilation if some SkPaint
45
+ * combination was omitted from precompilation.
46
+ *
47
+ * @param precompileContext thread-safe helper holding required portions of the Context
48
+ * @param paintOptions captures a set of SkPaints that will be drawn
49
+ * @param drawTypes communicates which primitives those paints will be drawn with
50
+ * @param renderPassProperties describes the RenderPasses needed for the desired Pipelines
51
+ */
52
+ void SK_API Precompile(PrecompileContext* precompileContext,
53
+ const PaintOptions& paintOptions,
54
+ DrawTypeFlags drawTypes,
55
+ SkSpan<const RenderPassProperties> renderPassProperties);
56
+
57
+ } // namespace skgpu::graphite
58
+
59
+ #endif // skgpu_graphite_precompile_Precompile_DEFINED
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_precompile_PrecompileBase_DEFINED
9
+ #define skgpu_graphite_precompile_PrecompileBase_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/core/SkSpan.h"
13
+
14
+ namespace skgpu::graphite {
15
+
16
+ class KeyContext;
17
+ class PaintParamsKeyBuilder;
18
+ class PrecompileBasePriv;
19
+
20
+ /** \class PrecompileBase
21
+ This is the base class for all the objects that can be attached to PaintOptions.
22
+ */
23
+ class SK_API PrecompileBase : public SkRefCnt {
24
+ public:
25
+ enum class Type {
26
+ kBlender,
27
+ kColorFilter,
28
+ kImageFilter,
29
+ kMaskFilter,
30
+ kShader,
31
+ };
32
+
33
+ Type type() const { return fType; }
34
+
35
+ // Provides access to functions that aren't part of the public API.
36
+ PrecompileBasePriv priv();
37
+ const PrecompileBasePriv priv() const; // NOLINT(readability-const-return-type)
38
+
39
+ protected:
40
+ PrecompileBase(Type type) : fType(type) {}
41
+
42
+ virtual int numIntrinsicCombinations() const { return 1; }
43
+ virtual int numChildCombinations() const { return 1; }
44
+
45
+ /** This call returns the number of combinations generated from this object and its childen.
46
+
47
+ @return number of precompilation combinations generated by this object
48
+ */
49
+ int numCombinations() const {
50
+ return this->numIntrinsicCombinations() * this->numChildCombinations();
51
+ }
52
+
53
+ virtual void addToKey(const KeyContext&, int desiredCombination) const = 0;
54
+
55
+ // This returns the desired option along with the child options.
56
+ template<typename T>
57
+ static std::pair<sk_sp<T>, int> SelectOption(SkSpan<const sk_sp<T>> options,
58
+ int desiredOption);
59
+
60
+ // In general, derived classes should use AddToKey to select the desired child option from
61
+ // a span and then have it added to the key with its reduced/nested child option.
62
+ template<typename T>
63
+ static void AddToKey(const KeyContext&, SkSpan<const sk_sp<T>> options, int desiredOption);
64
+
65
+ private:
66
+ friend class PrecompileBasePriv;
67
+
68
+ friend class PaintOptions; // for access to SelectOption
69
+ friend class PrecompileBlenderList; // ""
70
+
71
+ Type fType;
72
+ };
73
+
74
+ } // namespace skgpu::graphite
75
+
76
+ #endif // skgpu_graphite_precompile_PrecompileBase_DEFINED
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_precompile_PrecompileBlender_DEFINED
9
+ #define skgpu_graphite_precompile_PrecompileBlender_DEFINED
10
+
11
+ #include "include/core/SkBlendMode.h"
12
+ #include "include/gpu/graphite/precompile/PrecompileBase.h"
13
+
14
+ #include <optional>
15
+
16
+ namespace skgpu::graphite {
17
+
18
+ class PrecompileBlenderPriv;
19
+
20
+ /** \class PrecompileBlender
21
+ This class corresponds to the SkBlender class in the main API.
22
+ */
23
+ class SK_API PrecompileBlender : public PrecompileBase {
24
+ public:
25
+ // Provides access to functions that aren't part of the public API.
26
+ PrecompileBlenderPriv priv();
27
+ const PrecompileBlenderPriv priv() const; // NOLINT(readability-const-return-type)
28
+
29
+ protected:
30
+ friend class PrecompileBlenderPriv;
31
+
32
+ virtual std::optional<SkBlendMode> asBlendMode() const { return {}; }
33
+
34
+ PrecompileBlender() : PrecompileBase(Type::kBlender) {}
35
+ ~PrecompileBlender() override;
36
+ };
37
+
38
+ //--------------------------------------------------------------------------------------------------
39
+ // This is the Precompile correlate to the SkBlenders namespace in the main API
40
+ namespace PrecompileBlenders {
41
+
42
+ // This factory creates a Precompilation object that represents the Arithmetic SkBlender from
43
+ // the main API. Note that the actual Arithmetic parameters (i.e., k1, k2, k3 and k4) are
44
+ // abstracted away since they do not impact the generated shader.
45
+ SK_API sk_sp<PrecompileBlender> Arithmetic();
46
+
47
+ // This is the Precompilation correlate to the SkBlender::Mode factory in the main API. It
48
+ // creates an object that represents SkBlendMode-based blending.
49
+ SK_API sk_sp<PrecompileBlender> Mode(SkBlendMode);
50
+
51
+ } // namespace PrecompileBlenders
52
+
53
+
54
+ } // namespace skgpu::graphite
55
+
56
+ #endif // skgpu_graphite_precompile_PrecompileBlender_DEFINED
@@ -0,0 +1,95 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_precompile_PrecompileColorFilter_DEFINED
9
+ #define skgpu_graphite_precompile_PrecompileColorFilter_DEFINED
10
+
11
+ #include "include/gpu/graphite/precompile/PrecompileBase.h"
12
+
13
+ enum class SkBlendMode;
14
+
15
+ namespace skgpu::graphite {
16
+
17
+ class PrecompileColorFilterPriv;
18
+
19
+ /** \class PrecompileColorFilter
20
+ This class corresponds to the SkColorFilter class in the main API.
21
+ */
22
+ class SK_API PrecompileColorFilter : public PrecompileBase {
23
+ public:
24
+ /**
25
+ * This is the Precompile correlate to SkColorFilter::makeComposed.
26
+ *
27
+ * The PrecompileColorFilters::Compose factory can be used to generate a set of color filters
28
+ * that would've been generated via multiple makeComposed calls. That is, rather than
29
+ * performing:
30
+ * sk_sp<PrecompileColorFilter> option1 = outer->makeComposed(colorFilter1);
31
+ * sk_sp<PrecompileColorFilter> option2 = outer->makeComposed(colorFilter2);
32
+ * one could call:
33
+ * sk_sp<PrecompileColorFilter> combinedOptions = Compose({ outer },
34
+ * { colorFilter1, colorFilter2 });
35
+ * With an alternative use case one could also use the Compose factory thusly:
36
+ * sk_sp<PrecompileColorFilter> combinedOptions = Compose({ outer1, outer2 },
37
+ * { innerColorFilter });
38
+ */
39
+ sk_sp<PrecompileColorFilter> makeComposed(sk_sp<PrecompileColorFilter> inner) const;
40
+
41
+ // Provides access to functions that aren't part of the public API.
42
+ PrecompileColorFilterPriv priv();
43
+ const PrecompileColorFilterPriv priv() const; // NOLINT(readability-const-return-type)
44
+
45
+ protected:
46
+ friend class PrecompileColorFilterPriv;
47
+
48
+ PrecompileColorFilter() : PrecompileBase(Type::kColorFilter) {}
49
+ ~PrecompileColorFilter() override;
50
+
51
+ virtual bool isAlphaUnchanged(int /*desiredCombination*/) const = 0;
52
+ };
53
+
54
+ //--------------------------------------------------------------------------------------------------
55
+ // This is the Precompile correlate to the SkColorFilters namespace in the main API
56
+ namespace PrecompileColorFilters {
57
+
58
+ // --- The next 9 entries match those in include/core/SkColorFilter.h
59
+ SK_API sk_sp<PrecompileColorFilter> Compose(SkSpan<const sk_sp<PrecompileColorFilter>> outer,
60
+ SkSpan<const sk_sp<PrecompileColorFilter>> inner);
61
+
62
+ // This encompasses both variants of SkColorFilters::Blend
63
+ SK_API sk_sp<PrecompileColorFilter> Blend(SkSpan<const SkBlendMode> blendModes);
64
+ SK_API sk_sp<PrecompileColorFilter> Blend(); // Prefer the explicit blend mode variant
65
+
66
+ // This encompasses both variants of SkColorFilters::Matrix
67
+ SK_API sk_sp<PrecompileColorFilter> Matrix(bool clamp=true);
68
+
69
+ // This encompasses both variants of SkColorFilters::HSLAMatrix
70
+ SK_API sk_sp<PrecompileColorFilter> HSLAMatrix();
71
+
72
+ SK_API sk_sp<PrecompileColorFilter> LinearToSRGBGamma();
73
+ SK_API sk_sp<PrecompileColorFilter> SRGBToLinearGamma();
74
+ SK_API sk_sp<PrecompileColorFilter> Lerp(SkSpan<const sk_sp<PrecompileColorFilter>> dstOptions,
75
+ SkSpan<const sk_sp<PrecompileColorFilter>> srcOptions);
76
+
77
+ // This encompases both the SkColorFilters::Table and TableARGB variants
78
+ SK_API sk_sp<PrecompileColorFilter> Table();
79
+
80
+ SK_API sk_sp<PrecompileColorFilter> Lighting();
81
+
82
+ // This matches the main API's factory in include/effects/SkHighContrastFilter.h
83
+ SK_API sk_sp<PrecompileColorFilter> HighContrast();
84
+
85
+ // This matches the main API's factory in include/effects/SkLumaColorFilter.h
86
+ SK_API sk_sp<PrecompileColorFilter> Luma();
87
+
88
+ // This matches the main API's factory in include/effects/SkOverdrawColorFilter.h
89
+ SK_API sk_sp<PrecompileColorFilter> Overdraw();
90
+
91
+ } // namespace PrecompileColorFilters
92
+
93
+ } // namespace skgpu::graphite
94
+
95
+ #endif // skgpu_graphite_precompile_PrecompileColorFilter_DEFINED
@@ -0,0 +1,116 @@
1
+ /*
2
+ * Copyright 2024 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 skgpu_graphite_precompile_PrecompileImageFilter_DEFINED
9
+ #define skgpu_graphite_precompile_PrecompileImageFilter_DEFINED
10
+
11
+ #include "include/gpu/graphite/precompile/PrecompileBase.h"
12
+
13
+ #include "include/core/SkBlendMode.h"
14
+ #include "include/gpu/graphite/precompile/PaintOptions.h"
15
+ #include "include/private/SkTemplates.h"
16
+
17
+ namespace skgpu::graphite {
18
+
19
+ class PrecompileBlender;
20
+ class PrecompileColorFilter;
21
+ class PrecompileImageFilterPriv;
22
+
23
+ /** \class PrecompileImageFilter
24
+ This class corresponds to the SkImageFilter class in the main API.
25
+ */
26
+ class SK_API PrecompileImageFilter : public PrecompileBase {
27
+ public:
28
+ ~PrecompileImageFilter() override;
29
+
30
+ // Provides access to functions that aren't part of the public API.
31
+ PrecompileImageFilterPriv priv();
32
+ const PrecompileImageFilterPriv priv() const; // NOLINT(readability-const-return-type)
33
+
34
+ protected:
35
+ PrecompileImageFilter(SkSpan<sk_sp<PrecompileImageFilter>> inputs);
36
+
37
+ private:
38
+ friend class PaintOptions; // for createPipelines() access
39
+ friend class PrecompileImageFilterPriv;
40
+
41
+ int countInputs() const { return fInputs.count(); }
42
+
43
+ const PrecompileImageFilter* getInput(int index) const {
44
+ SkASSERT(index < this->countInputs());
45
+ return fInputs[index].get();
46
+ }
47
+
48
+ virtual sk_sp<PrecompileColorFilter> isColorFilterNode() const { return nullptr; }
49
+
50
+ sk_sp<PrecompileColorFilter> asAColorFilter() const;
51
+
52
+ // The PrecompileImageFilter classes do not use the PrecompileBase::addToKey virtual since
53
+ // they, in general, do not themselves contribute to a given SkPaint/Pipeline but, rather,
54
+ // create separate SkPaints/Pipelines from whole cloth (in onCreatePipelines).
55
+ void addToKey(const KeyContext& /* keyContext */, int /* desiredCombination */) const final {
56
+ SkASSERT(false);
57
+ }
58
+
59
+ virtual void onCreatePipelines(const KeyContext&,
60
+ const RenderPassDesc&,
61
+ const PaintOptions::ProcessCombination&) const = 0;
62
+
63
+ void createPipelines(const KeyContext&,
64
+ const RenderPassDesc&,
65
+ const PaintOptions::ProcessCombination&);
66
+
67
+ skia_private::AutoSTArray<2, sk_sp<PrecompileImageFilter>> fInputs;
68
+ };
69
+
70
+ //--------------------------------------------------------------------------------------------------
71
+ // This is the Precompile correlate to the SkImageFilters class' factories in the main API
72
+ //
73
+ // Note: In order to make precompilation analysis more tractable we don't allow options for the
74
+ // internals of an PrecompileImageFilter nor in the structure of the DAG.
75
+ namespace PrecompileImageFilters {
76
+
77
+ // This is the Precompile correlate to SkImageFilters::Arithmetic
78
+ SK_API sk_sp<PrecompileImageFilter> Arithmetic(sk_sp<PrecompileImageFilter> background,
79
+ sk_sp<PrecompileImageFilter> foreground);
80
+
81
+ // This is the Precompile correlate to SkImageFilters::Blend(SkBlendMode, ...)
82
+ SK_API sk_sp<PrecompileImageFilter> Blend(SkBlendMode bm,
83
+ sk_sp<PrecompileImageFilter> background,
84
+ sk_sp<PrecompileImageFilter> foreground);
85
+
86
+ // This is the Precompile correlate to SkImageFilters::Blend(sk_sp<SkBlender>, ...)
87
+ SK_API sk_sp<PrecompileImageFilter> Blend(sk_sp<PrecompileBlender> blender,
88
+ sk_sp<PrecompileImageFilter> background,
89
+ sk_sp<PrecompileImageFilter> foreground);
90
+
91
+ // This is the Precompile correlate to the two SkImageFilters::Blur factories
92
+ SK_API sk_sp<PrecompileImageFilter> Blur(sk_sp<PrecompileImageFilter> input);
93
+
94
+ // This is the Precompile correlate to SkImageFilters::ColorFilter.
95
+ SK_API sk_sp<PrecompileImageFilter> ColorFilter(sk_sp<PrecompileColorFilter> colorFilter,
96
+ sk_sp<PrecompileImageFilter> input);
97
+
98
+ // This is the Precompile correlate to SkImageFilters::DisplacementMap
99
+ SK_API sk_sp<PrecompileImageFilter> DisplacementMap(sk_sp<PrecompileImageFilter> input);
100
+
101
+ // This is the Precompile correlate to all of SkImageFilters::
102
+ // DistantLitDiffuse, PointLitDiffuse, SpotLitDiffuse
103
+ // DistantLitSpecular, PointLitSpecular, SpotLitSpecular
104
+ SK_API sk_sp<PrecompileImageFilter> Lighting(sk_sp<PrecompileImageFilter> input);
105
+
106
+ // This is the Precompile correlate to SkImageFilters::MatrixConvolution
107
+ SK_API sk_sp<PrecompileImageFilter> MatrixConvolution(sk_sp<PrecompileImageFilter> input);
108
+
109
+ // This is the Precompile correlate to SkImageFilters::Erode and SkImageFilters::Dilate
110
+ SK_API sk_sp<PrecompileImageFilter> Morphology(sk_sp<PrecompileImageFilter> input);
111
+
112
+ } // namespace PrecompileImageFilters
113
+
114
+ } // namespace skgpu::graphite
115
+
116
+ #endif // skgpu_graphite_precompile_PrecompileImageFilter_DEFINED