group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
SettingsScreen.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include "IScreen.hpp"
7#include "app/AppContext.hpp"
10
11#include <string_view>
12
14class SettingsScreen : public IScreen
15{
16public:
18 bool init(AppContext& ctx);
19
20 SDL_AppResult event(SDL_Event* event) override;
21 SDL_AppResult iterate() override;
22 void quit() override;
23
25 bool consumeBackRequest();
26
27private:
28 NewRenderer* renderer = nullptr;
29 SDL_Window* window = nullptr;
31 std::string_view settingsPath;
33 bool pendingBack = false;
34};
Borrowed dependencies shared by client screens.
Abstract interface for top-level application screens (lobby, in-game).
Work-in-progress SDL3 GPU renderer.
Interface implemented by each full-screen mode (Lobby, Game).
Definition IScreen.hpp:16
Graphics-team's work-in-progress SDL3 GPU renderer.
Definition NewRenderer.hpp:83
Shared tabbed settings editor used by front-end screens and the pause menu.
Definition SettingsEditor.hpp:23
IScreen wrapper around the shared tabbed settings editor.
Definition SettingsScreen.hpp:15
UserSettings * settings
Live user settings; not owned.
Definition SettingsScreen.hpp:30
std::string_view settingsPath
Save path for user settings.
Definition SettingsScreen.hpp:31
SDL_AppResult iterate() override
Update the screen state and render the next frame.
Definition SettingsScreen.cpp:44
SettingsEditor editor
Shared settings page implementation.
Definition SettingsScreen.hpp:32
NewRenderer * renderer
Renderer; not owned.
Definition SettingsScreen.hpp:28
void quit() override
Perform any necessary cleanup before the screen is destroyed.
Definition SettingsScreen.cpp:70
bool pendingBack
Set when the page should close, cleared by App.
Definition SettingsScreen.hpp:33
bool consumeBackRequest()
True if the user requested returning to the previous screen, then clear that request.
Definition SettingsScreen.cpp:75
SDL_AppResult event(SDL_Event *event) override
Handle an incoming SDL event.
Definition SettingsScreen.cpp:27
SDL_Window * window
Application window; not owned.
Definition SettingsScreen.hpp:29
bool init(AppContext &ctx)
Bind app-owned dependencies and open the settings editor.
Definition SettingsScreen.cpp:14
Non-owning view of App-owned services and configuration.
Definition AppContext.hpp:20
Per-user gameplay settings loaded from SDL's pref-path TOML file.
Definition UserSettings.hpp:25