4#include "flint/audio/audio.h"
5#include "flint/core/asset-loader.h"
6#include "flint/core/config.h"
7#include "flint/core/state.h"
8#include "flint/resource/assets-manager.h"
9#include "flint/ui/ui-canvas.h"
10#include "flint/ui/ui-system.h"
11#include "flint/window/IWindow.h"
49 return *m_gpuRenderer;
62 std::string loadUIContent(
const std::string &filePath);
66 return m_stateManager;
76 return *m_assetLoader;
80 return *m_assetManager;
83 const AssetManager &getAssetManager()
const {
84 return *m_assetManager;
87 const FlintConfig &getConfig()
const {
121 void setupGlobalEvents();
122 void updateDisplayScale();
124 SDL_GPUPresentMode getPresentMode(GRAPHICS_PRESENT_MODE presentMode);
127 GRAPHICS_BACKEND m_backend;
128 std::unique_ptr<IAssetLoader> m_ownedAssetLoader;
130 std::unique_ptr<IWindow> m_window;
132 std::unique_ptr<GPURenderer> m_gpuRenderer;
133 std::unique_ptr<AssetManager> m_assetManager;
135 std::unique_ptr<UICanvas> m_uiCanvas;
137 bool m_minimized =
false;
StateManager & getStateManager()
returns A reference to the state manager.
IAssetLoader & getAssetLoader()
returns A reference to the asset loader
UICanvas & getUICanvas()
Returns the UI renderer.
virtual std::unique_ptr< State > createInitialState()=0
Factory method that creates the game state pushed into the stack.
IWindow & getWindow()
returns A window reference.
UISystem & getUISystem()
Returns the UI system.
virtual void onInit()
Optional hook called after engine is fully initialized.
GPURenderer & getRenderer() const
returns A reference to the GPU renderer.
Application(const FlintConfig &config, IAssetLoader *assetLoader=nullptr)
Construct and initialize a Flint application.
virtual void onShutdown()
Optional hook called just before the engine shuts down.
Audio & getAudioEngine()
returns A reference to the audio engine.
Entry-point base class for a Flint application.
Central resource cache and hot-reload coordinator.
Manages audio playback via SDL3_mixer.
High-level SDL GPU renderer managing pipeline state, batching, and frame presentation.
Abstract interface for loading raw asset data by path.
Abstract interface for a platform window.
Manages a stack of States and applies queued transitions.
Dynamic 2D batching engine processing shape vector geometry and hardware-accelerated text strings....
Central gateway subsystem managing UI multi-context lifetimes, resolution scaling,...
Aggregate configuration passed to the engine bootstrap code.