Struct std::GuiTheme
struct GuiTheme {
int dark;
struct GuiColor window;
struct GuiColor panel;
struct GuiColor text;
struct GuiColor textDim;
struct GuiColor textDisabled;
struct GuiColor accent;
struct GuiColor accentText;
struct GuiColor button;
struct GuiColor buttonHover;
struct GuiColor buttonPressed;
struct GuiColor input;
struct GuiColor border;
struct GuiColor borderStrong;
struct GuiColor selection;
struct GuiColor selectionText;
struct GuiColor hover;
struct GuiColor header;
struct GuiColor altRow;
struct GuiColor scrollbar;
struct GuiColor scrollbarHover;
struct GuiColor tooltip;
struct GuiColor tooltipText;
struct GuiColor shadow;
struct GuiColor overlay;
float fontSize;
float smallFontSize;
float radius;
float borderWidth;
int padding;
int spacing;
int controlHeight;
int rowHeight;
int scrollbarSize;
const ?&GuiTypeface font;
const ?&GuiTypeface boldFont;
}Colors, fonts and metrics every built-in widget paints with. Metrics are logical units (scaled by the window's scale factor). Start from light() or dark() and change fields; GuiUi::set_theme() applies one.
Fields
window background
group boxes, tab pages, menus' background
placeholders, secondary text
selection, checked controls, focus ring
text on the accent color
text field / list background
hovered / focused borders
selected list rows, selected text
hovered rows and menu items
table headers, menu bar
every other row in tables
dims the window behind a modal dialog
corner radius of controls
inside controls
between children of boxes
buttons, inputs, combo boxes
list/tree/table rows, menu items
light()/dark() pick the system's sans-serif (GuiTypeface::system); set these to GuiTypeface::fallback() for output that doesn't depend on the installed fonts (tests, golden images).
null: GuiTypeface::fallback()
null: font
Methods
The theme matching the system's dark-mode setting where it can be read ($SAFEC_GUI_THEME=dark|light overrides), else light().