yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::gui::ThemeManager Class Reference

Manages themes, loading, saving, and switching. More...

#include <theme_manager.h>

Collaboration diagram for yaze::gui::ThemeManager:

Public Member Functions

absl::Status LoadTheme (const std::string &theme_name)
 
absl::Status SaveTheme (const EnhancedTheme &theme, const std::string &filename)
 
absl::Status LoadThemeFromFile (const std::string &filepath)
 
absl::Status SaveThemeToFile (const EnhancedTheme &theme, const std::string &filepath) const
 
std::vector< std::string > DiscoverAvailableThemeFiles () const
 
absl::Status LoadAllAvailableThemes ()
 
absl::Status RefreshAvailableThemes ()
 
void InitializeBuiltInThemes ()
 
std::vector< std::string > GetAvailableThemes () const
 
const EnhancedThemeGetTheme (const std::string &name) const
 
const EnhancedThemeGetCurrentTheme () const
 
const std::string & GetCurrentThemeName () const
 
void ApplyTheme (const std::string &theme_name)
 
void ApplyTheme (const EnhancedTheme &theme)
 
void ApplyClassicYazeTheme ()
 
EnhancedTheme CreateCustomTheme (const std::string &name)
 
void ShowThemeEditor (bool *p_open)
 
void ShowThemeSelector (bool *p_open)
 
void ShowSimpleThemeEditor (bool *p_open)
 
Color GetWelcomeScreenBackground () const
 
Color GetWelcomeScreenBorder () const
 
Color GetWelcomeScreenAccent () const
 
Color GetThemeColor (const std::string &color_name) const
 
ImVec4 GetThemeColorVec4 (const std::string &color_name) const
 
Color GetPrimary () const
 
Color GetPrimaryHover () const
 
Color GetPrimaryActive () const
 
Color GetSecondary () const
 
Color GetSurface () const
 
Color GetSurfaceVariant () const
 
Color GetSurfaceContainer () const
 
Color GetSurfaceContainerHigh () const
 
Color GetSurfaceContainerHighest () const
 
Color GetOnSurface () const
 
Color GetOnSurfaceVariant () const
 
Color GetOnPrimary () const
 
Color GetOutline () const
 
Color GetTextSecondary () const
 
Color GetTextDisabled () const
 
Color GetShadow () const
 

Static Public Member Functions

static ThemeManagerGet ()
 

Private Member Functions

 ThemeManager ()
 
void CreateFallbackYazeClassic ()
 
absl::Status ParseThemeFile (const std::string &content, EnhancedTheme &theme)
 
Color ParseColorFromString (const std::string &color_str) const
 
std::string SerializeTheme (const EnhancedTheme &theme) const
 
std::vector< std::string > GetThemeSearchPaths () const
 
std::string GetThemesDirectory () const
 
std::string GetCurrentThemeFilePath () const
 

Private Attributes

std::map< std::string, EnhancedThemethemes_
 
EnhancedTheme current_theme_
 
std::string current_theme_name_ = "Classic YAZE"
 

Detailed Description

Manages themes, loading, saving, and switching.

Definition at line 181 of file theme_manager.h.

Constructor & Destructor Documentation

◆ ThemeManager()

yaze::gui::ThemeManager::ThemeManager ( )
inlineprivate

Definition at line 243 of file theme_manager.h.

References InitializeBuiltInThemes().

Here is the call graph for this function:

Member Function Documentation

◆ Get()

ThemeManager & yaze::gui::ThemeManager::Get ( )
static

Definition at line 117 of file theme_manager.cc.

Referenced by yaze::gui::DockSpaceRenderer::BeginEnhancedDockSpace(), yaze::editor::UICoordinator::DrawCommandPalette(), yaze::gui::DrawDisplaySettings(), yaze::gui::DrawDisplaySettingsForPopup(), yaze::editor::SessionCoordinator::DrawSessionIndicator(), yaze::gui::BackgroundRenderer::DrawSettingsUI(), yaze::editor::EditorCardRegistry::DrawSidebar(), yaze::editor::SettingsEditor::DrawThemeSettings(), yaze::editor::AgentUITheme::FromCurrentTheme(), yaze::gui::GetAccentColor(), yaze::gui::GetErrorColor(), yaze::gui::GetInfoColor(), yaze::gui::GetModifiedColor(), yaze::gui::GetOnPrimary(), yaze::gui::GetOnSurface(), yaze::gui::GetOnSurfaceVariant(), yaze::gui::GetOutline(), yaze::gui::GetPrimary(), yaze::gui::GetPrimaryActive(), yaze::gui::GetPrimaryHover(), yaze::gui::GetSecondary(), yaze::gui::GetSelectedColor(), yaze::gui::GetShadow(), yaze::gui::GetSuccessColor(), yaze::gui::GetSurface(), yaze::gui::GetSurfaceContainer(), yaze::gui::GetSurfaceContainerHigh(), yaze::gui::GetSurfaceContainerHighest(), yaze::gui::GetSurfaceVariant(), yaze::gui::GetTextDisabled(), yaze::gui::GetTextSecondary(), yaze::gui::LayoutHelpers::GetTheme(), yaze::gui::GetTheme(), yaze::gui::GetThemeColor(), yaze::gui::GetThemeColorVec4(), yaze::editor::anonymous_namespace{welcome_screen.cc}::GetThemedColor(), yaze::gui::GetWarningColor(), yaze::emu::ui::RenderAIAgentPanel(), yaze::emu::ui::RenderApuDebugger(), yaze::emu::ui::RenderBreakpointList(), yaze::emu::ui::RenderCpuInstructionLog(), yaze::gui::BackgroundRenderer::RenderDockingBackground(), yaze::emu::Emulator::RenderEmulatorInterface(), yaze::emu::ui::RenderEmulatorInterface(), yaze::emu::ui::RenderKeyboardShortcuts(), yaze::emu::ui::RenderMemoryViewer(), yaze::emu::Emulator::RenderModernCpuDebugger(), yaze::emu::ui::RenderModernCpuDebugger(), yaze::emu::ui::RenderNavBar(), yaze::emu::ui::RenderPerformanceMonitor(), yaze::emu::Emulator::RenderSaveStates(), yaze::emu::ui::RenderSnesPpu(), and yaze::editor::EditorManager::Update().

◆ LoadTheme()

absl::Status yaze::gui::ThemeManager::LoadTheme ( const std::string &  theme_name)

Definition at line 254 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::ApplyToImGui(), current_theme_, current_theme_name_, and themes_.

Referenced by ApplyTheme(), ShowSimpleThemeEditor(), and ShowThemeSelector().

Here is the call graph for this function:

◆ SaveTheme()

absl::Status yaze::gui::ThemeManager::SaveTheme ( const EnhancedTheme theme,
const std::string &  filename 
)

◆ LoadThemeFromFile()

absl::Status yaze::gui::ThemeManager::LoadThemeFromFile ( const std::string &  filepath)

Definition at line 267 of file theme_manager.cc.

References yaze::util::GetResourcePath(), yaze::gui::EnhancedTheme::name, ParseThemeFile(), and themes_.

Referenced by LoadAllAvailableThemes(), ShowSimpleThemeEditor(), and ShowThemeSelector().

Here is the call graph for this function:

◆ SaveThemeToFile()

absl::Status yaze::gui::ThemeManager::SaveThemeToFile ( const EnhancedTheme theme,
const std::string &  filepath 
) const

Definition at line 830 of file theme_manager.cc.

References SerializeTheme().

Referenced by ShowSimpleThemeEditor().

Here is the call graph for this function:

◆ DiscoverAvailableThemeFiles()

std::vector< std::string > yaze::gui::ThemeManager::DiscoverAvailableThemeFiles ( ) const

Definition at line 1980 of file theme_manager.cc.

References yaze::util::GetFileName(), yaze::util::FileDialogWrapper::GetFilesInFolder(), GetThemeSearchPaths(), and LOG_ERROR.

Referenced by LoadAllAvailableThemes().

Here is the call graph for this function:

◆ LoadAllAvailableThemes()

absl::Status yaze::gui::ThemeManager::LoadAllAvailableThemes ( )

Definition at line 2032 of file theme_manager.cc.

References DiscoverAvailableThemeFiles(), and LoadThemeFromFile().

Referenced by InitializeBuiltInThemes(), and RefreshAvailableThemes().

Here is the call graph for this function:

◆ RefreshAvailableThemes()

absl::Status yaze::gui::ThemeManager::RefreshAvailableThemes ( )

Definition at line 2055 of file theme_manager.cc.

References LoadAllAvailableThemes().

Referenced by ShowThemeSelector().

Here is the call graph for this function:

◆ InitializeBuiltInThemes()

void yaze::gui::ThemeManager::InitializeBuiltInThemes ( )

Definition at line 122 of file theme_manager.cc.

References ApplyClassicYazeTheme(), CreateFallbackYazeClassic(), current_theme_, current_theme_name_, LoadAllAvailableThemes(), LOG_ERROR, and themes_.

Referenced by ThemeManager().

Here is the call graph for this function:

◆ GetAvailableThemes()

std::vector< std::string > yaze::gui::ThemeManager::GetAvailableThemes ( ) const

Definition at line 317 of file theme_manager.cc.

References themes_.

Referenced by ShowSimpleThemeEditor().

◆ GetTheme()

const EnhancedTheme * yaze::gui::ThemeManager::GetTheme ( const std::string &  name) const

Definition at line 325 of file theme_manager.cc.

References themes_.

◆ GetCurrentTheme()

◆ GetCurrentThemeName()

const std::string & yaze::gui::ThemeManager::GetCurrentThemeName ( ) const
inline

Definition at line 202 of file theme_manager.h.

References current_theme_name_.

◆ ApplyTheme() [1/2]

void yaze::gui::ThemeManager::ApplyTheme ( const std::string &  theme_name)

Definition at line 330 of file theme_manager.cc.

References LoadTheme(), and LOG_ERROR.

Referenced by ShowSimpleThemeEditor().

Here is the call graph for this function:

◆ ApplyTheme() [2/2]

void yaze::gui::ThemeManager::ApplyTheme ( const EnhancedTheme theme)

Definition at line 341 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::ApplyToImGui(), current_theme_, current_theme_name_, and yaze::gui::EnhancedTheme::name.

Here is the call graph for this function:

◆ ApplyClassicYazeTheme()

void yaze::gui::ThemeManager::ApplyClassicYazeTheme ( )

Definition at line 848 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::accent, yaze::gui::EnhancedTheme::active_selection, yaze::gui::EnhancedTheme::author, yaze::gui::EnhancedTheme::background, yaze::gui::EnhancedTheme::border, yaze::gui::EnhancedTheme::border_shadow, yaze::gui::EnhancedTheme::button, yaze::gui::EnhancedTheme::button_active, yaze::gui::EnhancedTheme::button_hovered, yaze::gui::EnhancedTheme::check_mark, yaze::gui::EnhancedTheme::child_bg, yaze::gui::EnhancedTheme::code_background, yaze::gui::ColorsYaze(), current_theme_, current_theme_name_, yaze::gui::EnhancedTheme::description, yaze::gui::EnhancedTheme::disabled_overlay, yaze::gui::EnhancedTheme::docking_empty_bg, yaze::gui::EnhancedTheme::docking_preview, yaze::gui::EnhancedTheme::drag_drop_target, yaze::gui::EnhancedTheme::editor_background, yaze::gui::EnhancedTheme::editor_cursor, yaze::gui::EnhancedTheme::editor_grid, yaze::gui::EnhancedTheme::editor_selection, yaze::gui::EnhancedTheme::enable_glow_effects, yaze::gui::EnhancedTheme::error_light, yaze::gui::EnhancedTheme::focus_border, yaze::gui::EnhancedTheme::frame_bg, yaze::gui::EnhancedTheme::frame_bg_active, yaze::gui::EnhancedTheme::frame_bg_hovered, yaze::gui::EnhancedTheme::frame_rounding, yaze::gui::EnhancedTheme::header, yaze::gui::EnhancedTheme::header_active, yaze::gui::EnhancedTheme::header_hovered, yaze::gui::EnhancedTheme::hover_highlight, yaze::gui::EnhancedTheme::info_light, yaze::gui::EnhancedTheme::input_text_cursor, yaze::gui::EnhancedTheme::link_hover, yaze::gui::EnhancedTheme::menu_bar_bg, yaze::gui::EnhancedTheme::modal_window_dim_bg, yaze::gui::EnhancedTheme::name, yaze::gui::EnhancedTheme::nav_cursor, yaze::gui::EnhancedTheme::nav_windowing_dim_bg, yaze::gui::EnhancedTheme::nav_windowing_highlight, yaze::gui::EnhancedTheme::plot_histogram, yaze::gui::EnhancedTheme::plot_histogram_hovered, yaze::gui::EnhancedTheme::plot_lines, yaze::gui::EnhancedTheme::plot_lines_hovered, yaze::gui::EnhancedTheme::popup_bg, yaze::gui::EnhancedTheme::primary, yaze::gui::EnhancedTheme::resize_grip, yaze::gui::EnhancedTheme::resize_grip_active, yaze::gui::EnhancedTheme::resize_grip_hovered, yaze::gui::RGBA(), yaze::gui::EnhancedTheme::scrollbar_bg, yaze::gui::EnhancedTheme::scrollbar_grab, yaze::gui::EnhancedTheme::scrollbar_grab_active, yaze::gui::EnhancedTheme::scrollbar_grab_hovered, yaze::gui::EnhancedTheme::scrollbar_rounding, yaze::gui::EnhancedTheme::secondary, yaze::gui::EnhancedTheme::separator, yaze::gui::EnhancedTheme::separator_active, yaze::gui::EnhancedTheme::separator_hovered, yaze::gui::EnhancedTheme::slider_grab, yaze::gui::EnhancedTheme::slider_grab_active, yaze::gui::EnhancedTheme::success_light, yaze::gui::EnhancedTheme::tab, yaze::gui::EnhancedTheme::tab_active, yaze::gui::EnhancedTheme::tab_dimmed, yaze::gui::EnhancedTheme::tab_dimmed_selected, yaze::gui::EnhancedTheme::tab_dimmed_selected_overline, yaze::gui::EnhancedTheme::tab_hovered, yaze::gui::EnhancedTheme::tab_rounding, yaze::gui::EnhancedTheme::tab_selected_overline, yaze::gui::EnhancedTheme::tab_unfocused, yaze::gui::EnhancedTheme::tab_unfocused_active, yaze::gui::EnhancedTheme::table_border_light, yaze::gui::EnhancedTheme::table_border_strong, yaze::gui::EnhancedTheme::table_header_bg, yaze::gui::EnhancedTheme::table_row_bg, yaze::gui::EnhancedTheme::table_row_bg_alt, yaze::gui::EnhancedTheme::text_disabled, yaze::gui::EnhancedTheme::text_highlight, yaze::gui::EnhancedTheme::text_link, yaze::gui::EnhancedTheme::text_primary, yaze::gui::EnhancedTheme::text_selected_bg, yaze::gui::EnhancedTheme::title_bg, yaze::gui::EnhancedTheme::title_bg_active, yaze::gui::EnhancedTheme::title_bg_collapsed, yaze::gui::EnhancedTheme::tree_lines, yaze::gui::EnhancedTheme::warning_light, yaze::gui::EnhancedTheme::window_bg, and yaze::gui::EnhancedTheme::window_rounding.

Referenced by InitializeBuiltInThemes(), ShowSimpleThemeEditor(), and ShowThemeSelector().

Here is the call graph for this function:

◆ CreateCustomTheme()

EnhancedTheme yaze::gui::ThemeManager::CreateCustomTheme ( const std::string &  name)

◆ ShowThemeEditor()

void yaze::gui::ThemeManager::ShowThemeEditor ( bool *  p_open)

◆ ShowThemeSelector()

◆ ShowSimpleThemeEditor()

void yaze::gui::ThemeManager::ShowSimpleThemeEditor ( bool *  p_open)

Definition at line 990 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::accent, yaze::gui::EnhancedTheme::active_selection, yaze::gui::EnhancedTheme::animation_speed, ApplyClassicYazeTheme(), ApplyTheme(), yaze::gui::EnhancedTheme::ApplyToImGui(), yaze::gui::EnhancedTheme::author, yaze::gui::EnhancedTheme::background, yaze::gui::EnhancedTheme::border, yaze::gui::EnhancedTheme::border_shadow, yaze::gui::EnhancedTheme::button, yaze::gui::EnhancedTheme::button_active, yaze::gui::EnhancedTheme::button_hovered, yaze::gui::EnhancedTheme::check_mark, yaze::gui::EnhancedTheme::child_bg, yaze::gui::EnhancedTheme::code_background, yaze::gui::ConvertColorToImVec4(), current_theme_, yaze::gui::EnhancedTheme::description, yaze::gui::EnhancedTheme::disabled_overlay, yaze::gui::EnhancedTheme::docking_empty_bg, yaze::gui::EnhancedTheme::docking_preview, yaze::gui::EnhancedTheme::drag_drop_target, yaze::gui::EnhancedTheme::editor_background, yaze::gui::EnhancedTheme::editor_cursor, yaze::gui::EnhancedTheme::editor_grid, yaze::gui::EnhancedTheme::editor_selection, yaze::gui::EnhancedTheme::enable_animations, yaze::gui::EnhancedTheme::enable_glow_effects, yaze::gui::EnhancedTheme::error_light, yaze::gui::EnhancedTheme::focus_border, yaze::gui::EnhancedTheme::frame_bg, yaze::gui::EnhancedTheme::frame_bg_active, yaze::gui::EnhancedTheme::frame_bg_hovered, yaze::gui::EnhancedTheme::frame_border_size, yaze::gui::EnhancedTheme::frame_rounding, GetAvailableThemes(), GetCurrentTheme(), GetCurrentThemeFilePath(), yaze::gui::EnhancedTheme::grab_rounding, yaze::gui::EnhancedTheme::header, yaze::gui::EnhancedTheme::header_active, yaze::gui::EnhancedTheme::header_hovered, yaze::gui::EnhancedTheme::hover_highlight, ICON_MD_ADD, ICON_MD_AUTO_AWESOME, ICON_MD_BORDER_ALL, ICON_MD_COLOR_LENS, ICON_MD_FOLDER_OPEN, ICON_MD_NAVIGATION, ICON_MD_PALETTE, ICON_MD_SAVE, ICON_MD_SAVE_AS, ICON_MD_TABLE_CHART, ICON_MD_TEXT_FIELDS, ICON_MD_TOUCH_APP, ICON_MD_TUNE, yaze::gui::EnhancedTheme::info_light, yaze::gui::EnhancedTheme::input_text_cursor, yaze::gui::EnhancedTheme::link_hover, LoadTheme(), LoadThemeFromFile(), LOG_ERROR, yaze::gui::EnhancedTheme::menu_bar_bg, yaze::gui::EnhancedTheme::modal_bg, yaze::gui::EnhancedTheme::modal_window_dim_bg, yaze::gui::EnhancedTheme::name, yaze::gui::EnhancedTheme::nav_cursor, yaze::gui::EnhancedTheme::nav_windowing_dim_bg, yaze::gui::EnhancedTheme::nav_windowing_highlight, yaze::gui::EnhancedTheme::plot_histogram, yaze::gui::EnhancedTheme::plot_histogram_hovered, yaze::gui::EnhancedTheme::plot_lines, yaze::gui::EnhancedTheme::plot_lines_hovered, yaze::gui::EnhancedTheme::popup_bg, yaze::gui::EnhancedTheme::primary, yaze::gui::EnhancedTheme::resize_grip, yaze::gui::EnhancedTheme::resize_grip_active, yaze::gui::EnhancedTheme::resize_grip_hovered, SaveThemeToFile(), yaze::gui::EnhancedTheme::scrollbar_bg, yaze::gui::EnhancedTheme::scrollbar_grab, yaze::gui::EnhancedTheme::scrollbar_grab_active, yaze::gui::EnhancedTheme::scrollbar_grab_hovered, yaze::gui::EnhancedTheme::scrollbar_rounding, yaze::gui::EnhancedTheme::secondary, yaze::gui::EnhancedTheme::separator, yaze::gui::EnhancedTheme::separator_active, yaze::gui::EnhancedTheme::separator_hovered, yaze::util::FileDialogWrapper::ShowOpenFileDialog(), yaze::util::FileDialogWrapper::ShowSaveFileDialog(), yaze::gui::EnhancedTheme::slider_grab, yaze::gui::EnhancedTheme::slider_grab_active, yaze::gui::EnhancedTheme::success_light, yaze::gui::EnhancedTheme::tab, yaze::gui::EnhancedTheme::tab_active, yaze::gui::EnhancedTheme::tab_dimmed, yaze::gui::EnhancedTheme::tab_dimmed_selected, yaze::gui::EnhancedTheme::tab_hovered, yaze::gui::EnhancedTheme::tab_rounding, yaze::gui::EnhancedTheme::tab_unfocused, yaze::gui::EnhancedTheme::tab_unfocused_active, yaze::gui::EnhancedTheme::table_border_light, yaze::gui::EnhancedTheme::table_border_strong, yaze::gui::EnhancedTheme::table_header_bg, yaze::gui::EnhancedTheme::table_row_bg, yaze::gui::EnhancedTheme::table_row_bg_alt, yaze::gui::EnhancedTheme::text_disabled, yaze::gui::EnhancedTheme::text_highlight, yaze::gui::EnhancedTheme::text_link, yaze::gui::EnhancedTheme::text_primary, yaze::gui::EnhancedTheme::text_secondary, yaze::gui::EnhancedTheme::text_selected_bg, themes_, yaze::gui::EnhancedTheme::title_bg, yaze::gui::EnhancedTheme::title_bg_active, yaze::gui::EnhancedTheme::title_bg_collapsed, yaze::gui::EnhancedTheme::tree_lines, yaze::gui::EnhancedTheme::warning_light, yaze::gui::EnhancedTheme::window_bg, yaze::gui::EnhancedTheme::window_border_size, and yaze::gui::EnhancedTheme::window_rounding.

Referenced by ShowThemeSelector().

◆ GetWelcomeScreenBackground()

Color yaze::gui::ThemeManager::GetWelcomeScreenBackground ( ) const

◆ GetWelcomeScreenBorder()

Color yaze::gui::ThemeManager::GetWelcomeScreenBorder ( ) const

Definition at line 353 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::accent, and current_theme_.

◆ GetWelcomeScreenAccent()

Color yaze::gui::ThemeManager::GetWelcomeScreenAccent ( ) const

Definition at line 357 of file theme_manager.cc.

References current_theme_, and yaze::gui::EnhancedTheme::primary.

◆ GetThemeColor()

Color yaze::gui::ThemeManager::GetThemeColor ( const std::string &  color_name) const

◆ GetThemeColorVec4()

ImVec4 yaze::gui::ThemeManager::GetThemeColorVec4 ( const std::string &  color_name) const

◆ GetPrimary()

Color yaze::gui::ThemeManager::GetPrimary ( ) const
inline

Definition at line 225 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::primary.

Referenced by yaze::gui::GetPrimary().

◆ GetPrimaryHover()

Color yaze::gui::ThemeManager::GetPrimaryHover ( ) const
inline

◆ GetPrimaryActive()

Color yaze::gui::ThemeManager::GetPrimaryActive ( ) const
inline

◆ GetSecondary()

Color yaze::gui::ThemeManager::GetSecondary ( ) const
inline

Definition at line 228 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::secondary.

Referenced by yaze::gui::GetSecondary().

◆ GetSurface()

Color yaze::gui::ThemeManager::GetSurface ( ) const
inline

Definition at line 229 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::surface.

Referenced by yaze::gui::GetSurface().

◆ GetSurfaceVariant()

Color yaze::gui::ThemeManager::GetSurfaceVariant ( ) const
inline

Definition at line 230 of file theme_manager.h.

References yaze::gui::EnhancedTheme::child_bg, and current_theme_.

Referenced by yaze::gui::GetSurfaceVariant().

◆ GetSurfaceContainer()

Color yaze::gui::ThemeManager::GetSurfaceContainer ( ) const
inline

Definition at line 231 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::popup_bg.

Referenced by yaze::gui::GetSurfaceContainer().

◆ GetSurfaceContainerHigh()

Color yaze::gui::ThemeManager::GetSurfaceContainerHigh ( ) const
inline

◆ GetSurfaceContainerHighest()

Color yaze::gui::ThemeManager::GetSurfaceContainerHighest ( ) const
inline

◆ GetOnSurface()

Color yaze::gui::ThemeManager::GetOnSurface ( ) const
inline

Definition at line 234 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::text_primary.

Referenced by yaze::gui::GetOnSurface().

◆ GetOnSurfaceVariant()

Color yaze::gui::ThemeManager::GetOnSurfaceVariant ( ) const
inline

◆ GetOnPrimary()

Color yaze::gui::ThemeManager::GetOnPrimary ( ) const
inline

Definition at line 236 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::text_primary.

Referenced by yaze::gui::GetOnPrimary().

◆ GetOutline()

Color yaze::gui::ThemeManager::GetOutline ( ) const
inline

Definition at line 237 of file theme_manager.h.

References yaze::gui::EnhancedTheme::border, and current_theme_.

Referenced by yaze::gui::GetOutline().

◆ GetTextSecondary()

Color yaze::gui::ThemeManager::GetTextSecondary ( ) const
inline

◆ GetTextDisabled()

Color yaze::gui::ThemeManager::GetTextDisabled ( ) const
inline

Definition at line 239 of file theme_manager.h.

References current_theme_, and yaze::gui::EnhancedTheme::text_disabled.

Referenced by yaze::gui::GetTextDisabled().

◆ GetShadow()

Color yaze::gui::ThemeManager::GetShadow ( ) const
inline

Definition at line 240 of file theme_manager.h.

References yaze::gui::EnhancedTheme::border_shadow, and current_theme_.

Referenced by yaze::gui::GetShadow().

◆ CreateFallbackYazeClassic()

void yaze::gui::ThemeManager::CreateFallbackYazeClassic ( )
private

Definition at line 145 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::accent, yaze::gui::EnhancedTheme::author, yaze::gui::EnhancedTheme::background, yaze::gui::EnhancedTheme::border, yaze::gui::EnhancedTheme::border_shadow, yaze::gui::EnhancedTheme::button, yaze::gui::EnhancedTheme::button_active, yaze::gui::EnhancedTheme::button_hovered, yaze::gui::EnhancedTheme::check_mark, yaze::gui::EnhancedTheme::child_bg, current_theme_, current_theme_name_, yaze::gui::EnhancedTheme::description, yaze::gui::EnhancedTheme::docking_empty_bg, yaze::gui::EnhancedTheme::docking_preview, yaze::gui::EnhancedTheme::drag_drop_target, yaze::gui::EnhancedTheme::enable_glow_effects, yaze::gui::EnhancedTheme::error, yaze::gui::EnhancedTheme::frame_rounding, yaze::gui::EnhancedTheme::header, yaze::gui::EnhancedTheme::header_active, yaze::gui::EnhancedTheme::header_hovered, yaze::gui::EnhancedTheme::info, yaze::gui::EnhancedTheme::input_text_cursor, yaze::gui::EnhancedTheme::menu_bar_bg, yaze::gui::EnhancedTheme::modal_bg, yaze::gui::EnhancedTheme::modal_window_dim_bg, yaze::gui::EnhancedTheme::name, yaze::gui::EnhancedTheme::nav_cursor, yaze::gui::EnhancedTheme::nav_windowing_dim_bg, yaze::gui::EnhancedTheme::nav_windowing_highlight, yaze::gui::EnhancedTheme::plot_histogram, yaze::gui::EnhancedTheme::plot_histogram_hovered, yaze::gui::EnhancedTheme::plot_lines, yaze::gui::EnhancedTheme::plot_lines_hovered, yaze::gui::EnhancedTheme::popup_bg, yaze::gui::EnhancedTheme::primary, yaze::gui::EnhancedTheme::resize_grip, yaze::gui::EnhancedTheme::resize_grip_active, yaze::gui::EnhancedTheme::resize_grip_hovered, yaze::gui::RGBA(), yaze::gui::EnhancedTheme::scrollbar_bg, yaze::gui::EnhancedTheme::scrollbar_grab, yaze::gui::EnhancedTheme::scrollbar_grab_active, yaze::gui::EnhancedTheme::scrollbar_grab_hovered, yaze::gui::EnhancedTheme::scrollbar_rounding, yaze::gui::EnhancedTheme::secondary, yaze::gui::EnhancedTheme::separator, yaze::gui::EnhancedTheme::separator_active, yaze::gui::EnhancedTheme::separator_hovered, yaze::gui::EnhancedTheme::slider_grab, yaze::gui::EnhancedTheme::slider_grab_active, yaze::gui::EnhancedTheme::success, yaze::gui::EnhancedTheme::surface, yaze::gui::EnhancedTheme::tab, yaze::gui::EnhancedTheme::tab_active, yaze::gui::EnhancedTheme::tab_hovered, yaze::gui::EnhancedTheme::tab_rounding, yaze::gui::EnhancedTheme::tab_unfocused, yaze::gui::EnhancedTheme::tab_unfocused_active, yaze::gui::EnhancedTheme::table_border_light, yaze::gui::EnhancedTheme::table_border_strong, yaze::gui::EnhancedTheme::table_header_bg, yaze::gui::EnhancedTheme::table_row_bg, yaze::gui::EnhancedTheme::table_row_bg_alt, yaze::gui::EnhancedTheme::text_disabled, yaze::gui::EnhancedTheme::text_link, yaze::gui::EnhancedTheme::text_primary, yaze::gui::EnhancedTheme::text_secondary, yaze::gui::EnhancedTheme::text_selected_bg, themes_, yaze::gui::EnhancedTheme::title_bg, yaze::gui::EnhancedTheme::title_bg_active, yaze::gui::EnhancedTheme::title_bg_collapsed, yaze::gui::EnhancedTheme::warning, yaze::gui::EnhancedTheme::window_bg, and yaze::gui::EnhancedTheme::window_rounding.

Referenced by InitializeBuiltInThemes().

Here is the call graph for this function:

◆ ParseThemeFile()

absl::Status yaze::gui::ThemeManager::ParseThemeFile ( const std::string &  content,
EnhancedTheme theme 
)
private

Definition at line 505 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::accent, yaze::gui::EnhancedTheme::animation_speed, yaze::gui::EnhancedTheme::author, yaze::gui::EnhancedTheme::background, yaze::gui::EnhancedTheme::border, yaze::gui::EnhancedTheme::border_shadow, yaze::gui::EnhancedTheme::button, yaze::gui::EnhancedTheme::button_active, yaze::gui::EnhancedTheme::button_hovered, yaze::gui::EnhancedTheme::check_mark, yaze::gui::EnhancedTheme::child_bg, yaze::gui::EnhancedTheme::description, yaze::gui::EnhancedTheme::docking_empty_bg, yaze::gui::EnhancedTheme::docking_preview, yaze::gui::EnhancedTheme::drag_drop_target, yaze::gui::EnhancedTheme::enable_animations, yaze::gui::EnhancedTheme::enable_glow_effects, yaze::gui::EnhancedTheme::error, yaze::gui::EnhancedTheme::frame_bg, yaze::gui::EnhancedTheme::frame_bg_active, yaze::gui::EnhancedTheme::frame_bg_hovered, yaze::gui::EnhancedTheme::frame_border_size, yaze::gui::EnhancedTheme::frame_rounding, yaze::gui::EnhancedTheme::grab_rounding, yaze::gui::EnhancedTheme::header, yaze::gui::EnhancedTheme::header_active, yaze::gui::EnhancedTheme::header_hovered, yaze::gui::EnhancedTheme::info, yaze::gui::EnhancedTheme::input_text_cursor, yaze::gui::EnhancedTheme::menu_bar_bg, yaze::gui::EnhancedTheme::modal_window_dim_bg, yaze::gui::EnhancedTheme::name, yaze::gui::EnhancedTheme::nav_cursor, yaze::gui::EnhancedTheme::nav_windowing_dim_bg, yaze::gui::EnhancedTheme::nav_windowing_highlight, ParseColorFromString(), yaze::gui::EnhancedTheme::plot_histogram, yaze::gui::EnhancedTheme::plot_histogram_hovered, yaze::gui::EnhancedTheme::plot_lines, yaze::gui::EnhancedTheme::plot_lines_hovered, yaze::gui::EnhancedTheme::popup_bg, yaze::gui::EnhancedTheme::primary, yaze::gui::EnhancedTheme::resize_grip, yaze::gui::EnhancedTheme::resize_grip_active, yaze::gui::EnhancedTheme::resize_grip_hovered, yaze::gui::EnhancedTheme::scrollbar_bg, yaze::gui::EnhancedTheme::scrollbar_grab, yaze::gui::EnhancedTheme::scrollbar_grab_active, yaze::gui::EnhancedTheme::scrollbar_grab_hovered, yaze::gui::EnhancedTheme::scrollbar_rounding, yaze::gui::EnhancedTheme::secondary, yaze::gui::EnhancedTheme::separator, yaze::gui::EnhancedTheme::separator_active, yaze::gui::EnhancedTheme::separator_hovered, yaze::gui::EnhancedTheme::slider_grab, yaze::gui::EnhancedTheme::slider_grab_active, yaze::gui::EnhancedTheme::success, yaze::gui::EnhancedTheme::surface, yaze::gui::EnhancedTheme::tab, yaze::gui::EnhancedTheme::tab_active, yaze::gui::EnhancedTheme::tab_dimmed, yaze::gui::EnhancedTheme::tab_dimmed_selected, yaze::gui::EnhancedTheme::tab_dimmed_selected_overline, yaze::gui::EnhancedTheme::tab_hovered, yaze::gui::EnhancedTheme::tab_rounding, yaze::gui::EnhancedTheme::tab_selected_overline, yaze::gui::EnhancedTheme::table_border_light, yaze::gui::EnhancedTheme::table_border_strong, yaze::gui::EnhancedTheme::table_header_bg, yaze::gui::EnhancedTheme::table_row_bg, yaze::gui::EnhancedTheme::table_row_bg_alt, yaze::gui::EnhancedTheme::text_disabled, yaze::gui::EnhancedTheme::text_link, yaze::gui::EnhancedTheme::text_primary, yaze::gui::EnhancedTheme::text_secondary, yaze::gui::EnhancedTheme::text_selected_bg, yaze::gui::EnhancedTheme::title_bg, yaze::gui::EnhancedTheme::title_bg_active, yaze::gui::EnhancedTheme::title_bg_collapsed, yaze::gui::EnhancedTheme::tree_lines, yaze::gui::EnhancedTheme::warning, yaze::gui::EnhancedTheme::window_bg, yaze::gui::EnhancedTheme::window_border_size, and yaze::gui::EnhancedTheme::window_rounding.

Referenced by LoadThemeFromFile().

Here is the call graph for this function:

◆ ParseColorFromString()

Color yaze::gui::ThemeManager::ParseColorFromString ( const std::string &  color_str) const
private

Definition at line 636 of file theme_manager.cc.

References yaze::gui::RGBA().

Referenced by ParseThemeFile().

Here is the call graph for this function:

◆ SerializeTheme()

std::string yaze::gui::ThemeManager::SerializeTheme ( const EnhancedTheme theme) const
private

Definition at line 653 of file theme_manager.cc.

References yaze::gui::EnhancedTheme::accent, yaze::gui::EnhancedTheme::active_selection, yaze::gui::EnhancedTheme::author, yaze::gui::EnhancedTheme::background, yaze::gui::EnhancedTheme::border, yaze::gui::EnhancedTheme::border_shadow, yaze::gui::EnhancedTheme::button, yaze::gui::EnhancedTheme::button_active, yaze::gui::EnhancedTheme::button_hovered, yaze::gui::EnhancedTheme::check_mark, yaze::gui::EnhancedTheme::child_bg, yaze::gui::EnhancedTheme::code_background, yaze::gui::EnhancedTheme::description, yaze::gui::EnhancedTheme::disabled_overlay, yaze::gui::EnhancedTheme::docking_empty_bg, yaze::gui::EnhancedTheme::docking_preview, yaze::gui::EnhancedTheme::drag_drop_target, yaze::gui::EnhancedTheme::editor_background, yaze::gui::EnhancedTheme::editor_cursor, yaze::gui::EnhancedTheme::editor_grid, yaze::gui::EnhancedTheme::editor_selection, yaze::gui::EnhancedTheme::enable_animations, yaze::gui::EnhancedTheme::enable_glow_effects, yaze::gui::EnhancedTheme::error, yaze::gui::EnhancedTheme::error_light, yaze::gui::EnhancedTheme::focus_border, yaze::gui::EnhancedTheme::frame_bg, yaze::gui::EnhancedTheme::frame_bg_active, yaze::gui::EnhancedTheme::frame_bg_hovered, yaze::gui::EnhancedTheme::frame_rounding, yaze::gui::EnhancedTheme::header, yaze::gui::EnhancedTheme::header_active, yaze::gui::EnhancedTheme::header_hovered, yaze::gui::EnhancedTheme::hover_highlight, yaze::gui::EnhancedTheme::info, yaze::gui::EnhancedTheme::info_light, yaze::gui::EnhancedTheme::input_text_cursor, yaze::gui::EnhancedTheme::link_hover, yaze::gui::EnhancedTheme::menu_bar_bg, yaze::gui::EnhancedTheme::modal_window_dim_bg, yaze::gui::EnhancedTheme::name, yaze::gui::EnhancedTheme::nav_cursor, yaze::gui::EnhancedTheme::nav_windowing_dim_bg, yaze::gui::EnhancedTheme::nav_windowing_highlight, yaze::gui::EnhancedTheme::plot_histogram, yaze::gui::EnhancedTheme::plot_histogram_hovered, yaze::gui::EnhancedTheme::plot_lines, yaze::gui::EnhancedTheme::plot_lines_hovered, yaze::gui::EnhancedTheme::popup_bg, yaze::gui::EnhancedTheme::primary, yaze::gui::EnhancedTheme::resize_grip, yaze::gui::EnhancedTheme::resize_grip_active, yaze::gui::EnhancedTheme::resize_grip_hovered, yaze::gui::EnhancedTheme::scrollbar_bg, yaze::gui::EnhancedTheme::scrollbar_grab, yaze::gui::EnhancedTheme::scrollbar_grab_active, yaze::gui::EnhancedTheme::scrollbar_grab_hovered, yaze::gui::EnhancedTheme::scrollbar_rounding, yaze::gui::EnhancedTheme::secondary, yaze::gui::EnhancedTheme::separator, yaze::gui::EnhancedTheme::separator_active, yaze::gui::EnhancedTheme::separator_hovered, yaze::gui::EnhancedTheme::slider_grab, yaze::gui::EnhancedTheme::slider_grab_active, yaze::gui::EnhancedTheme::success, yaze::gui::EnhancedTheme::success_light, yaze::gui::EnhancedTheme::surface, yaze::gui::EnhancedTheme::tab, yaze::gui::EnhancedTheme::tab_active, yaze::gui::EnhancedTheme::tab_dimmed, yaze::gui::EnhancedTheme::tab_dimmed_selected, yaze::gui::EnhancedTheme::tab_dimmed_selected_overline, yaze::gui::EnhancedTheme::tab_hovered, yaze::gui::EnhancedTheme::tab_rounding, yaze::gui::EnhancedTheme::tab_selected_overline, yaze::gui::EnhancedTheme::table_border_light, yaze::gui::EnhancedTheme::table_border_strong, yaze::gui::EnhancedTheme::table_header_bg, yaze::gui::EnhancedTheme::table_row_bg, yaze::gui::EnhancedTheme::table_row_bg_alt, yaze::gui::EnhancedTheme::text_disabled, yaze::gui::EnhancedTheme::text_highlight, yaze::gui::EnhancedTheme::text_link, yaze::gui::EnhancedTheme::text_primary, yaze::gui::EnhancedTheme::text_secondary, yaze::gui::EnhancedTheme::text_selected_bg, yaze::gui::EnhancedTheme::title_bg, yaze::gui::EnhancedTheme::title_bg_active, yaze::gui::EnhancedTheme::title_bg_collapsed, yaze::gui::EnhancedTheme::tree_lines, yaze::gui::EnhancedTheme::warning, yaze::gui::EnhancedTheme::warning_light, yaze::gui::EnhancedTheme::window_bg, and yaze::gui::EnhancedTheme::window_rounding.

Referenced by SaveThemeToFile().

◆ GetThemeSearchPaths()

std::vector< std::string > yaze::gui::ThemeManager::GetThemeSearchPaths ( ) const
private

◆ GetThemesDirectory()

std::string yaze::gui::ThemeManager::GetThemesDirectory ( ) const
private

Definition at line 1955 of file theme_manager.cc.

References GetThemeSearchPaths().

Here is the call graph for this function:

◆ GetCurrentThemeFilePath()

std::string yaze::gui::ThemeManager::GetCurrentThemeFilePath ( ) const
private

Definition at line 2059 of file theme_manager.cc.

References current_theme_name_, and GetThemeSearchPaths().

Referenced by ShowSimpleThemeEditor().

Here is the call graph for this function:

Member Data Documentation

◆ themes_

std::map<std::string, EnhancedTheme> yaze::gui::ThemeManager::themes_
private

◆ current_theme_

◆ current_theme_name_

std::string yaze::gui::ThemeManager::current_theme_name_ = "Classic YAZE"
private

The documentation for this class was generated from the following files: