MetaImGUI 1.0.0
ImGui Application Template for C++20
Loading...
Searching...
No Matches
ThemeManager.h
Go to the documentation of this file.
1/*
2 MetaImGUI
3 Copyright (C) 2026 A P Nicholson
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21namespace MetaImGUI {
22
31public:
32 enum class Theme {
33 Dark,
34 Light,
35 Classic,
36 Modern
37 };
38
43 static void Apply(Theme theme);
44
49 static Theme GetCurrent() {
50 return s_currentTheme;
51 }
52
53private:
54 static void ApplyModernTheme();
55 static Theme s_currentTheme;
56};
57
58} // namespace MetaImGUI
Manages application themes and styling.
static void Apply(Theme theme)
Apply a theme to the current ImGui context.
static Theme GetCurrent()
Get the currently active theme.
@ Light
ImGui's default light theme.
@ Dark
ImGui's default dark theme.
@ Modern
Custom light theme with rounded corners and borders.
@ Classic
ImGui's classic theme.