group2
0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
SystemMenuOverlay.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
config/UserSettings.hpp
"
4
#include "
menus/pause/ConfirmModal.hpp
"
5
#include "
menus/settings/SettingsEditor.hpp
"
6
7
#include <SDL3/SDL_events.h>
8
9
#include <string_view>
10
12
struct
SystemMenuOverlayResult
13
{
14
bool
settingsApplied
=
false
;
15
bool
exitToDesktop
=
false
;
16
};
17
19
class
SystemMenuOverlay
20
{
21
public
:
23
void
open
();
24
26
void
close
();
27
29
[[nodiscard]]
bool
isOpen
()
const
;
30
32
void
handleEscape
(
const
UserSettings
& settings);
33
35
bool
consumeEvent
(
const
SDL_Event& event);
36
38
SystemMenuOverlayResult
render
(
UserSettings
& settings, std::string_view settingsPath);
39
40
private
:
41
bool
open_
=
false
;
42
SettingsEditor
settingsEditor_
;
43
ConfirmModal
confirm_
;
44
};
ConfirmModal.hpp
SettingsEditor.hpp
UserSettings.hpp
ConfirmModal
Definition
ConfirmModal.hpp:22
SettingsEditor
Shared tabbed settings editor used by front-end screens and the pause menu.
Definition
SettingsEditor.hpp:23
SystemMenuOverlay
Shared Escape menu for non-gameplay screens.
Definition
SystemMenuOverlay.hpp:20
SystemMenuOverlay::render
SystemMenuOverlayResult render(UserSettings &settings, std::string_view settingsPath)
Draw the overlay and return any commands emitted this frame.
Definition
SystemMenuOverlay.cpp:80
SystemMenuOverlay::confirm_
ConfirmModal confirm_
Definition
SystemMenuOverlay.hpp:43
SystemMenuOverlay::consumeEvent
bool consumeEvent(const SDL_Event &event)
Consume input events while the overlay owns focus.
Definition
SystemMenuOverlay.cpp:55
SystemMenuOverlay::handleEscape
void handleEscape(const UserSettings &settings)
Handle Escape while the overlay is active.
Definition
SystemMenuOverlay.cpp:37
SystemMenuOverlay::open_
bool open_
Definition
SystemMenuOverlay.hpp:41
SystemMenuOverlay::settingsEditor_
SettingsEditor settingsEditor_
Definition
SystemMenuOverlay.hpp:42
SystemMenuOverlay::close
void close()
Close the menu and discard transient settings state.
Definition
SystemMenuOverlay.cpp:23
SystemMenuOverlay::open
void open()
Open the system menu on its root page.
Definition
SystemMenuOverlay.cpp:17
SystemMenuOverlay::isOpen
bool isOpen() const
True while the overlay is active.
Definition
SystemMenuOverlay.cpp:32
SystemMenuOverlayResult
Commands emitted by one system-menu overlay frame.
Definition
SystemMenuOverlay.hpp:13
SystemMenuOverlayResult::exitToDesktop
bool exitToDesktop
User confirmed exiting the application.
Definition
SystemMenuOverlay.hpp:15
SystemMenuOverlayResult::settingsApplied
bool settingsApplied
Settings were applied and saved this frame.
Definition
SystemMenuOverlay.hpp:14
UserSettings
Per-user gameplay settings loaded from SDL's pref-path TOML file.
Definition
UserSettings.hpp:25
src
client
menus
settings
SystemMenuOverlay.hpp
Generated by
1.16.1