Interface implemented by each full-screen mode (Lobby, Game).
Definition IScreen.hpp:16
virtual SDL_AppResult iterate()=0
Update the screen state and render the next frame.
static void presentMenuFrame(NewRenderer &renderer)
Render the ImGui draw data and present a default-camera frame.
Definition IScreen.cpp:48
virtual SDL_AppResult event(SDL_Event *event)=0
Handle an incoming SDL event.
virtual void quit()=0
Perform any necessary cleanup before the screen is destroyed.
static void beginMenuFrame(NewRenderer *renderer)
Start a new ImGui frame and paint the shared menu background.
Definition IScreen.cpp:40
virtual void shutdownAfterRenderer()
Perform cleanup that must happen after the App-owned renderer shuts down.
Definition IScreen.hpp:33
static bool handleSystemMenuEvent(SDL_Event *event, SystemMenuOverlay &menu, UserSettings *settings)
Handle Escape-toggle of a SystemMenuOverlay and forward consumed events.
Definition IScreen.cpp:25
static SDL_AppResult processCommonImguiEvent(SDL_Event *event)
Forward event to ImGui and detect SDL_EVENT_QUIT.
Definition IScreen.cpp:17
virtual ~IScreen()=default
Graphics-team's work-in-progress SDL3 GPU renderer.
Definition NewRenderer.hpp:83
Per-user gameplay settings loaded from SDL's pref-path TOML file.
Definition UserSettings.hpp:25