Themes: Add CollapsibleHeaderStyle

This commit is contained in:
Henrik Rydgård 2025-02-14 15:37:01 -06:00
parent 40f38933c7
commit af05119869
7 changed files with 17 additions and 1 deletions

View file

@ -624,7 +624,7 @@ CollapsibleHeader::CollapsibleHeader(bool *toggle, std::string_view text, Layout
}
void CollapsibleHeader::Draw(UIContext &dc) {
Style style = dc.theme->itemStyle;
Style style = dc.theme->collapsibleHeaderStyle;
if (HasFocus()) style = dc.theme->itemFocusedStyle;
if (down_) style = dc.theme->itemDownStyle;
if (!IsEnabled()) style = dc.theme->itemDisabledStyle;

View file

@ -107,6 +107,7 @@ struct Theme {
Style headerStyle;
Style infoStyle;
Style collapsibleHeaderStyle;
Style popupStyle;
Style popupHeaderStyle;

View file

@ -55,6 +55,8 @@ struct ThemeInfo {
uint32_t uPopupHeaderStyleBg = 0x00000000; // default to invisible
uint32_t uTooltipStyleFg = 0xFFFFFFFF;
uint32_t uTooltipStyleBg = 0xC0303030;
uint32_t uCollapsibleHeaderStyleFg = 0xFFFFFFFF;
uint32_t uCollapsibleHeaderStyleBg = 0x55000000;
uint32_t uBackgroundColor = 0xFF754D24;
uint32_t uScrollbarColor = 0x80FFFFFF;
@ -148,6 +150,8 @@ static void LoadThemeInfo(const std::vector<Path> &directories) {
section.Get("TooltipStyleBg", &info.uTooltipStyleBg, info.uTooltipStyleBg);
section.Get("PopupHeaderStyleFg", &info.uPopupHeaderStyleFg, info.uItemStyleFg); // Backwards compat
section.Get("PopupHeaderStyleBg", &info.uPopupHeaderStyleBg, info.uPopupHeaderStyleBg);
section.Get("CollapsibleHeaderStyleFg", &info.uCollapsibleHeaderStyleFg, info.uItemStyleFg); // Backwards compat
section.Get("CollapsibleHeaderStyleBg", &info.uCollapsibleHeaderStyleBg, info.uItemStyleBg);
section.Get("BackgroundColor", &info.uBackgroundColor, info.uBackgroundColor);
section.Get("ScrollbarColor", &info.uScrollbarColor, info.uScrollbarColor);
@ -248,6 +252,7 @@ void UpdateTheme(UIContext *ctx) {
ui_theme.itemDisabledStyle = MakeStyle(themeInfo.uItemDisabledStyleFg, themeInfo.uItemDisabledStyleBg);
ui_theme.headerStyle = MakeStyle(themeInfo.uHeaderStyleFg, themeInfo.uHeaderStyleBg);
ui_theme.collapsibleHeaderStyle = MakeStyle(themeInfo.uCollapsibleHeaderStyleFg, themeInfo.uCollapsibleHeaderStyleBg);
ui_theme.infoStyle = MakeStyle(themeInfo.uInfoStyleFg, themeInfo.uInfoStyleBg);
ui_theme.popupStyle = MakeStyle(themeInfo.uPopupStyleFg, themeInfo.uPopupStyleBg);

View file

@ -28,6 +28,8 @@ PopupStyleFg = "#000000FF"
PopupStyleBg = "#FFFFAAFF"
PopupHeaderStyleFg = "#FFFFFFFF"
PopupHeaderStyleBg = "#000080FF"
CollapsibleHeaderStyleFg = "#000000FF"
CollapsibleHeaderStyleBg = "#C0C0C0FF"
TooltipStyleFg = "#FFFFFFFF"
TooltipStyleBg = "#000080D0"
BackgroundColor = "#008080FF"

View file

@ -16,6 +16,8 @@ PopupStyleFg = "#FFFFFFFF"
PopupStyleBg = "#1f4d5eFF"
PopupHeaderStyleFg = "#FFFFFFFF"
PopupHeaderStyleBg = "#00000000"
CollapsibleHeaderStyleFg = "#FFFFFFFF"
CollapsibleHeaderStyleBg = "#00000055"
TooltipStyleFg = "#FFFFFFFF"
TooltipStyleBg = "#303030C0"
BackgroundColor = "#244D75FF"
@ -44,6 +46,8 @@ PopupStyleFg = "#FFFFFFFF"
PopupStyleBg = "#0c1d24FF"
PopupHeaderStyleFg = "#FFFFFFFF"
PopupHeaderStyleBg = "#00000000"
CollapsibleHeaderStyleFg = "#FFFFFFFF"
CollapsibleHeaderStyleBg = "#00000055"
TooltipStyleFg = "#FFFFFFFF"
TooltipStyleBg = "#303030C0"
BackgroundColor = "#000000FF"

View file

@ -26,6 +26,8 @@ PopupStyleFg = "#FFFFFFFF"
PopupStyleBg = "#9498A1FF"
PopupHeaderStyleFg = "#FFFFFFFF"
PopupHeaderStyleBg = "#00000000"
CollapsibleHeaderStyleFg = "#FFFFFFFF"
CollapsibleHeaderStyleBg = "#2D4459B0"
TooltipStyleFg = "#FFFFFFFF"
TooltipStyleBg = "#303030C0"
BackgroundColor = "#122537FF"

View file

@ -27,6 +27,8 @@ PopupStyleFg = "#C3D7A4FF"
PopupStyleBg = "#94B185FF"
PopupHeaderStyleFg = "#FFFFFFFF"
PopupHeaderStyleBg = "#00000000"
CollapsibleHeaderStyleFg = "#C3D7A4FF"
CollapsibleHeaderStyleBg = "#000000C0"
TooltipStyleFg = "#FFFFFFFF"
TooltipStyleBg = "#303030C0"
BackgroundColor = "#62865AFF"