1#ifndef YAZE_APP_GUI_THEME_MANAGER_H
2#define YAZE_APP_GUI_THEME_MANAGER_H
8#include "absl/status/status.h"
9#include "absl/status/statusor.h"
11#include "imgui/imgui.h"
186 absl::Status
LoadTheme(
const std::string& theme_name);
205 void ApplyTheme(
const std::string& theme_name);
Manages themes, loading, saving, and switching.
Color GetSurfaceContainerHigh() const
void CreateFallbackYazeClassic()
Color ParseColorFromString(const std::string &color_str) const
Color GetOnPrimary() const
Color GetSurfaceVariant() const
Color GetTextSecondary() const
absl::Status ParseThemeFile(const std::string &content, EnhancedTheme &theme)
void ShowThemeEditor(bool *p_open)
Color GetWelcomeScreenBackground() const
ImVec4 GetThemeColorVec4(const std::string &color_name) const
std::string GetCurrentThemeFilePath() const
EnhancedTheme current_theme_
absl::Status LoadTheme(const std::string &theme_name)
Color GetPrimaryHover() const
absl::Status LoadThemeFromFile(const std::string &filepath)
void ApplyTheme(const std::string &theme_name)
std::string GetThemesDirectory() const
std::string current_theme_name_
Color GetWelcomeScreenAccent() const
absl::Status SaveTheme(const EnhancedTheme &theme, const std::string &filename)
std::vector< std::string > DiscoverAvailableThemeFiles() const
absl::Status LoadAllAvailableThemes()
Color GetSurfaceContainer() const
Color GetOnSurfaceVariant() const
EnhancedTheme CreateCustomTheme(const std::string &name)
std::vector< std::string > GetThemeSearchPaths() const
std::string SerializeTheme(const EnhancedTheme &theme) const
static ThemeManager & Get()
Color GetThemeColor(const std::string &color_name) const
Color GetOnSurface() const
absl::Status SaveThemeToFile(const EnhancedTheme &theme, const std::string &filepath) const
const std::string & GetCurrentThemeName() const
void ShowThemeSelector(bool *p_open)
void InitializeBuiltInThemes()
absl::Status RefreshAvailableThemes()
Color GetTextDisabled() const
const EnhancedTheme & GetCurrentTheme() const
Color GetSecondary() const
Color GetSurfaceContainerHighest() const
Color GetWelcomeScreenBorder() const
void ShowSimpleThemeEditor(bool *p_open)
void ApplyClassicYazeTheme()
Color GetPrimaryActive() const
std::vector< std::string > GetAvailableThemes() const
std::map< std::string, EnhancedTheme > themes_
ImVec4 ConvertColorToImVec4(const Color &color)
ImVec4 GetSurfaceContainerHighestVec4()
ImVec4 GetThemeColorVec4(const std::string &color_name)
Color GetOnSurfaceVariant()
ImVec4 GetOnPrimaryVec4()
ImVec4 GetPrimaryActiveVec4()
Color GetSurfaceContainerHighest()
const EnhancedTheme & GetTheme()
Get current theme (shortcut)
Color GetSurfaceContainer()
ImVec4 GetSurfaceVariantVec4()
ImVec4 GetTextDisabledVec4()
ImVec4 GetTextSecondaryVec4()
ImVec4 GetSurfaceContainerHighVec4()
ImVec4 GetPrimaryHoverVec4()
Color GetThemeColor(const std::string &color_name)
Color GetSurfaceContainerHigh()
ImVec4 GetOnSurfaceVariantVec4()
ImVec4 GetOnSurfaceVec4()
ImVec4 GetSurfaceContainerVec4()
Color GetSurfaceVariant()
Main namespace for the application.
Comprehensive theme structure for YAZE.
float panel_padding_multiplier
Color modal_window_dim_bg
Color tab_dimmed_selected
float input_width_multiplier
float widget_height_multiplier
float table_row_height_multiplier
Color table_border_strong
Color plot_histogram_hovered
Color scrollbar_grab_hovered
Color nav_windowing_dim_bg
Color tab_dimmed_selected_overline
Color nav_windowing_highlight
Color tab_unfocused_active
Color scrollbar_grab_active
void ApplyToImGui() const
float button_padding_multiplier
float canvas_toolbar_multiplier
Color resize_grip_hovered
Color tab_selected_overline
float toolbar_height_multiplier