TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
gui_theme.h
Go to the documentation of this file.
1#pragma once
2
5
8
9#include <map>
10#include <set>
11#include <span>
12#include <string>
13#include <string_view>
14#include <unordered_map>
15
16namespace tachyon
17{
20
21 class StyleManager;
22 class ITextSystem;
23
34
46 {
47 public:
51
58
59 // View panel toolbars: side bins (one reorderable group per side), the per-toolbar
60 // item container and the central content placeholder.
63
68
74
76
87
98
105
281 int32_t axisLabelWidth = 0;
300 int socketSize = 12;
435
461
481
490
493
497
500
503
513
516
532
533 // Line colors, from the palette's custom properties.
544 float disabledOpacity = 0.4f;
555
562
565 int32_t tableRowHeight = 0;
566
571 int32_t treeTableIndent = 0;
573 int32_t treeTableIconSize = 0;
576
578 int32_t nodeGridSize = 0;
579
580 public:
584 void InitializeDefaultStyles(StyleManager& styleManager, ITextSystem* textSystem);
589 bool LoadTheme(StyleManager& styleManager, ITextSystem* textSystem, const std::string& themePath,
590 std::span<const std::string> styleFiles, float fontScale);
591
594 StyleRef GetStyle(std::string_view cssClass) const;
596 Result<StyleRef> FindStyle(std::string_view cssClass) const;
597
600 color4f GetColor(std::string_view varName, color4f fallback = {}) const;
601
603 void ComputeRowMetrics(StyleManager& styleManager, ITextSystem& textSystem);
604 private:
605 std::unordered_map<std::string, color4f> m_paletteColors;
606 std::map<std::string, StyleRef, std::less<>> m_classStyles;
607 mutable std::set<std::string, std::less<>> m_missingWarned;
608 };
609
611} // namespace tachyon
The library's styles, icons and theme metrics, the defaults the controls draw with.
Definition gui_theme.h:46
StyleRef gradientEditorColumnsStyleRef
gradient editor: the two columns
Definition gui_theme.h:205
StyleRef commandSearchHintStyleRef
Definition gui_theme.h:289
StyleRef treeTableTextStyleRef
Definition gui_theme.h:261
IconID eyedropperIcon
picks a color from the screen
Definition gui_theme.h:519
StyleRef colorPickerStyleRef
color picker: the window
Definition gui_theme.h:138
StyleRef dockWindowLeafStyleRef
a torn-off window's root leaf: the title bar over the panel
Definition gui_theme.h:309
StyleRef emptyVertWrapStyleRef
vertical flex, wrap
Definition gui_theme.h:55
StyleRef messageBoxItemMetaStyleRef
MessageDialog: an affected item's extra info.
Definition gui_theme.h:163
StyleRef imageStyleRef
default box for the Image() element
Definition gui_theme.h:82
StyleRef iconButtonEndStyleRef
the same, end-aligned (the trailing add button)
Definition gui_theme.h:338
StyleRef documentNameStyleRef
a tab's icon and name
Definition gui_theme.h:472
StyleRef tableHeaderLockedStyleRef
Locked column headers: default cursor, since they can't be dragged.
Definition gui_theme.h:248
Style gridViewItemBaseStyle
Parsed .grid-view-item, for cloning with another iconSize (registering is deduped).
Definition gui_theme.h:421
tachyon::VisualColorStyleIndex panelColor
a selected swatch's ring and gap
Definition gui_theme.h:553
StyleRef tooltipFooterStyleRef
its footer, under a line
Definition gui_theme.h:366
StyleRef gradientEditorLocationStyleRef
gradient editor: the location box
Definition gui_theme.h:211
IconID sortArrowUpIcon
table header: sorted descending
Definition gui_theme.h:501
StyleRef groupLabelTitleStyleRef
Label with a caption: the title.
Definition gui_theme.h:335
int32_t gridViewListRowHeight
a list-mode grid view row, in pixels (ComputeRowMetrics)
Definition gui_theme.h:425
StyleRef messageBoxDetailsStyleRef
MessageDialog: the details, monospace in a well.
Definition gui_theme.h:165
StyleRef groupLabelCaptionStyleRef
Label with a caption: the caption.
Definition gui_theme.h:336
StyleRef documentTabStyleRef
the bar and the active document's panels, a column
Definition gui_theme.h:471
IconID alertIcon
message severity: warning
Definition gui_theme.h:520
StyleRef collectionAreaStyleRef
card-like well behind the list & dictionary Field() helpers
Definition gui_theme.h:318
StyleRef dialogIconButtonStyleRef
dialog: a small borderless icon button (previous / next)
Definition gui_theme.h:198
StyleRef dialogDeleteButtonStyleRef
dialog: the same, in the error color
Definition gui_theme.h:200
StyleRef collectionRowStyleRef
list field: a row
Definition gui_theme.h:323
StyleRef documentListStyleRef
"N open", listing every document
Definition gui_theme.h:479
StyleRef tableFitContentBodyStyleRef
SectionSizing::FitContent section body.
Definition gui_theme.h:233
StyleRef gradientEditorTableStyleRef
gradient editor: the stops table
Definition gui_theme.h:216
StyleRef dockWindowBodyStyleRef
a torn-off window's split layout, inset the same
Definition gui_theme.h:311
StyleRef toolbarSideHorzEmptyStyleRef
Zero-thickness top / bottom side bin for an empty side, used only while no drag is in flight (during ...
Definition gui_theme.h:71
StyleRef sliderKnobStyleRef
Slider: knob painted by the custom-draw.
Definition gui_theme.h:116
StyleRef dialogContextStyleRef
dialog: what's being edited, after the title
Definition gui_theme.h:141
StyleRef dialogCloseStyleRef
dialog: the close button
Definition gui_theme.h:143
StyleRef nodeRowStyleRef
node property row (socket | body | socket)
Definition gui_theme.h:294
IconID reverseIcon
gradient editor: Reverse
Definition gui_theme.h:511
IconID distributeIcon
gradient editor: Distribute evenly
Definition gui_theme.h:512
StyleRef menuHeaderStyleRef
a section's name in a menu
Definition gui_theme.h:348
IconID chevronLeftIcon
previous
Definition gui_theme.h:508
StyleRef tableStyleRef
Table: the table.
Definition gui_theme.h:225
StyleRef nodeViewOverlayStyleRef
panel floating over the node view (breadcrumb, zoom bar)
Definition gui_theme.h:271
StyleRef gradientEditorStyleRef
gradient editor: the window
Definition gui_theme.h:195
StyleRef tooltipRichStyleRef
property help's box, on the popup surface
Definition gui_theme.h:363
StyleRef toolbarSideVertEmptyStyleRef
the same, for left / right
Definition gui_theme.h:72
StyleRef gradientEditorTableRowStyleRef
gradient editor: a stop's row
Definition gui_theme.h:218
StyleRef groupToggleStyleRef
.group-toggle
Definition gui_theme.h:96
StyleRef viewBackgroundStyleRef
solid backdrop (–bg-app) for the View panel's toolbar dock
Definition gui_theme.h:264
StyleRef menuSeparatorStyleRef
a divider between menu items
Definition gui_theme.h:347
IconID questionIcon
message severity: question
Definition gui_theme.h:522
StyleRef tooltipStyleRef
the tooltip's box
Definition gui_theme.h:360
StyleRef tableBodiesRowStyleRef
row holding the table's body sections, bounded to the table
Definition gui_theme.h:230
StyleRef breadcrumbSegmentStyleRef
a clickable path segment
Definition gui_theme.h:275
StyleRef titleBarStyleRef
a window's own title bar (BeginTitleBar)
Definition gui_theme.h:344
StyleRef colorPickerRangeStyleRef
color picker: the 0-255 / 0-1 toggle
Definition gui_theme.h:178
StyleRef toolbarThumbHorzStyleRef
a toolbar's drag thumb on a horizontal side
Definition gui_theme.h:66
IconID windowMaximizeIcon
title bar: maximize
Definition gui_theme.h:529
StyleRef titleBarTabBarStyleRef
the tab strip in a torn-off window's title bar
Definition gui_theme.h:312
StyleRef gradientEditorPresetStyleRef
gradient editor: a preset chip
Definition gui_theme.h:203
StyleRef buttonGroupStyleRef
.group-button
Definition gui_theme.h:93
tachyon::VisualColorStyleIndex lineGrayStyle
–text-3
Definition gui_theme.h:534
tachyon::VisualColorStyleIndex checkerBColor
transparency checkerboard
Definition gui_theme.h:551
StyleRef colorPickerSquareStyleRef
color picker: the saturation/value square
Definition gui_theme.h:171
tachyon::color4b scrim
dims a window under its modal dialog (fading in and out)
Definition gui_theme.h:541
StyleRef panelDropVisualizationStyleRef
overlay showing where a dragged panel or toolbar docks
Definition gui_theme.h:77
StyleRef colorPickerChannelValueStyleRef
color picker: a channel's value
Definition gui_theme.h:183
StyleRef sliderGrooveStyleRef
Slider: groove line painted by the custom-draw.
Definition gui_theme.h:114
StyleRef checkboxStyleRef
Checkbox: the control.
Definition gui_theme.h:166
StyleRef menuScrollButtonStyleRef
the scroll up / down arrows of a menu taller than the screen
Definition gui_theme.h:341
StyleRef nodeStyleRef
single node container (vertical column with border + bg)
Definition gui_theme.h:265
IconID dockIcon
returns a torn-off panel to its dock
Definition gui_theme.h:518
StyleRef documentCloseStyleRef
the bar and the active document's panels, a column
Definition gui_theme.h:475
StyleRef colorPickerSwatchStyleRef
color picker: a swatch
Definition gui_theme.h:190
StyleRef toastStyleRef
one toast, on the popup surface
Definition gui_theme.h:440
IconID searchIcon
SearchField.
Definition gui_theme.h:527
StyleRef checkboxLabelStyleRef
Checkbox: its label.
Definition gui_theme.h:168
int32_t tableRowHeight
Table row height in pixels, measured from real font metrics in ComputeRowMetrics.
Definition gui_theme.h:565
StyleRef gridViewRenameItemStyleRef
rename-mode cell: icon above inline editor
Definition gui_theme.h:405
StyleRef flexFillRowStyleRef
horizontal flex bounded to its parent (flex-basis:0)
Definition gui_theme.h:409
StyleRef colorPickerRowLabelStyleRef
color picker: Hex, HDR
Definition gui_theme.h:185
StyleRef nodeTextCenterStyleRef
text-only property body, centered (both dots)
Definition gui_theme.h:302
StyleRef tableFillStyleRef
Table bounded to its flex container (flex-basis:0): it doesn't grow, its rows scroll.
Definition gui_theme.h:227
StyleRef nodeSocketStyleRef
A socket's hit target; overflow:visible so the dot and its hover halo aren't clipped.
Definition gui_theme.h:297
StyleRef colorAlphaCaptionStyleRef
ColorField: the "A" before it.
Definition gui_theme.h:137
StyleRef toolbarItemVertStyleRef
toolbar on a vertical side: column, thumb above body
Definition gui_theme.h:65
StyleRef gradientSwatchStyleRef
GradientField: the swatch.
Definition gui_theme.h:194
IconID powerIcon
message severity: quitting
Definition gui_theme.h:521
StyleRef vectorComponentStyleRef
a vector component's field
Definition gui_theme.h:282
StyleRef dialogStatusStyleRef
dialog: the footer's status text
Definition gui_theme.h:145
StyleRef toastTitleStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:444
StyleRef gradientEditorTypeCellStyleRef
gradient editor: Type
Definition gui_theme.h:219
StyleRef groupButtonStyleRef
.group-button
Definition gui_theme.h:94
StyleRef collectionHeaderTypeStyleRef
dictionary: the type
Definition gui_theme.h:333
StyleRef tooltipPinRowStyleRef
a pin's first line: its name, type and value
Definition gui_theme.h:373
StyleRef dockWindowPanelStyleRef
the panel inset under a torn-off window's title bar
Definition gui_theme.h:310
StyleRef settingsPageStyleRef
settings page body - dock-content layout + left padding off the sizer
Definition gui_theme.h:492
StyleRef sliderFieldFillStyleRef
filled half painted by the slider's custom-draw
Definition gui_theme.h:109
StyleRef tableRowAltStyleRef
row backdrop (even rows)
Definition gui_theme.h:235
int scrollbarThickness
.scrollbar-vertical width (read from CSS, at the UI scale)
Definition gui_theme.h:130
StyleRef staticTextStyleRef
plain non-interactive text
Definition gui_theme.h:81
IconID menuCheckIcon
marks the current/checked item in a menu
Definition gui_theme.h:505
StyleRef titleBarButtonStyleRef
its minimize and maximize buttons
Definition gui_theme.h:345
StyleRef tooltipNoteStyleRef
a muted line: why it's disabled, where a pin's value comes from
Definition gui_theme.h:372
int32_t axisLabelWidth
Width shared by the component labels: the widest name (X..W, R..A) with its label's padding and borde...
Definition gui_theme.h:281
StyleRef nodeViewMinimapStyleRef
the node view's minimap
Definition gui_theme.h:273
StyleRef groupLabelHelpStyleRef
the same inside a label group
Definition gui_theme.h:377
StyleRef collectionIndexStyleRef
list field: a row's index
Definition gui_theme.h:324
StyleRef switchStyleRef
Switch: the control (track + label).
Definition gui_theme.h:117
StyleRef gridViewStyleRef
BeginGridView's default.
Definition gui_theme.h:400
StyleRef tableCellNumberStyleRef
right-aligned number cell (TableColumn::cellStyle)
Definition gui_theme.h:252
StyleRef documentTabBarStyleRef
the tabs and "+"
Definition gui_theme.h:470
StyleRef firstIconStyleRef
.first-icon
Definition gui_theme.h:100
StyleRef menuBarTriggerStyleRef
flat top-level trigger inside the menu bar
Definition gui_theme.h:343
StyleRef colorPickerNewStyleRef
color picker: the add-swatch button
Definition gui_theme.h:193
StyleRef dockWindowStyleRef
floating dock window - no internal padding
Definition gui_theme.h:308
StyleRef tooltipPinValueStyleRef
... its value, monospace, at the end
Definition gui_theme.h:375
StyleRef vertReorderableGroupStyleRef
Definition gui_theme.h:389
StyleRef toastActionStyleRef
the first action, in the link color
Definition gui_theme.h:451
StyleRef checkboxBoxStyleRef
Checkbox: the box.
Definition gui_theme.h:167
StyleRef flexFillColStyleRef
vertical flex bounded to its parent (flex-basis:0)
Definition gui_theme.h:410
tachyon::VisualColorStyleIndex alphaTrackColor
Definition gui_theme.h:552
StyleRef toolbarThumbVertStyleRef
a toolbar's drag thumb on a vertical side
Definition gui_theme.h:67
tachyon::VisualColorStyleIndex accentColor
Definition gui_theme.h:553
StyleRef typedFieldTypeStyleRef
TypedField: the type tag.
Definition gui_theme.h:321
StyleRef sliderFieldTrackStyleRef
SliderField: the track holding the parts below.
Definition gui_theme.h:107
StyleRef gradientEditorHeadCellStyleRef
gradient editor: a header caption
Definition gui_theme.h:221
tachyon::VisualColorStyleIndex popupArrowLine
–line-strong: its edges
Definition gui_theme.h:560
StyleRef colorPickerSwatchRowStyleRef
color picker: one swatch row
Definition gui_theme.h:188
StyleRef listRowStyleRef
rounded row without stripes (tree views, TableState::rowStyle)
Definition gui_theme.h:237
StyleRef groupDragLabelHelpStyleRef
the same inside a label group
Definition gui_theme.h:379
StyleRef vertReorderableGroupWrapStyleRef
Definition gui_theme.h:391
StyleRef gradientEditorLocationCellStyleRef
gradient editor: the stop's location
Definition gui_theme.h:224
StyleRef documentMarkStyleRef
the slot for the close button or the unsaved dot
Definition gui_theme.h:474
IconID treeArrowDown
tree expander: expanded
Definition gui_theme.h:499
StyleRef toastStackStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:439
StyleRef menuItemStyleRef
a menu item
Definition gui_theme.h:340
StyleRef tooltipTextStyleRef
its text
Definition gui_theme.h:361
tachyon::VisualColorStyleIndex alphaFillColor
a color's alpha bar
Definition gui_theme.h:552
StyleRef dockContainerStyleRef
a docking container
Definition gui_theme.h:482
StyleRef switchTrackStyleRef
Switch: the track; its knob is painted by the custom-draw.
Definition gui_theme.h:118
StyleRef messageBoxItemStyleRef
MessageDialog: an affected item's row.
Definition gui_theme.h:160
StyleRef labelHelpStyleRef
a Label() with property help: underlined, dotted
Definition gui_theme.h:376
StyleRef gridViewRowStyleRef
one row strip of cells in the virtual grid
Definition gui_theme.h:403
StyleRef bannerPrimaryStyleRef
BannerActionKind::Primary.
Definition gui_theme.h:457
tachyon::VisualColorStyleIndex treeDropIndicatorStyle
drop indicator lines + closed-branch outline
Definition gui_theme.h:554
StyleRef collectionHeaderStyleRef
dictionary: the header row
Definition gui_theme.h:330
StyleRef tableCellStyleRef
a cell
Definition gui_theme.h:251
tachyon::VisualColorStyleIndex treeGuideLineStyle
–line-node: tree guide lines
Definition gui_theme.h:538
StyleRef tooltipShortcutStyleRef
a shortcut chip after the text
Definition gui_theme.h:362
StyleRef treeTableTextEditStyleRef
Inline-rename editor.
Definition gui_theme.h:245
StyleRef scrollbarHorizontalThumbStyleRef
Definition gui_theme.h:128
float disabledOpacity
–disabled-opacity: a disabled control, with all its parts, is drawn this opaque, unless its style set...
Definition gui_theme.h:544
int32_t gridViewItemLineHeight
Line height of a grid view cell's name in pixels, measured in ComputeRowMetrics so names never clip.
Definition gui_theme.h:424
StyleRef windowStyleRef
BeginWindow's default.
Definition gui_theme.h:307
StyleRef listItemBodyStyleRef
reorderable list item text/icon body
Definition gui_theme.h:398
StyleRef collectionHeaderCaptionStyleRef
dictionary: the caption
Definition gui_theme.h:332
StyleRef tableSizerStyleRef
a column's resize handle
Definition gui_theme.h:249
StyleRef treeTableCellRowModeStyleRef
Row-mode tree cell: transparent hover/selected, so the row backdrop shows them.
Definition gui_theme.h:239
StyleRef dockSizerHorzStyleRef
vertical bar between left / right panes
Definition gui_theme.h:486
StyleRef colorPickerControlsStyleRef
color picker: the right column
Definition gui_theme.h:173
StyleRef listItemDragKnobHorzStyleRef
reorderable list item drag handle (horizontal list - drag along x)
Definition gui_theme.h:396
StyleRef messageBoxTitleStyleRef
MessageDialog: the title.
Definition gui_theme.h:157
StyleRef gradientEditorLabelStyleRef
gradient editor: a row's label
Definition gui_theme.h:210
StyleRef sliderFieldTextStyleRef
label text overlaid on the track
Definition gui_theme.h:110
StyleRef dialogStatusDotStyleRef
dialog: the dot before it
Definition gui_theme.h:146
StyleRef sliderFillStyleRef
Slider: the groove's filled part, up to the knob.
Definition gui_theme.h:115
StyleRef gradientEditorValueCellStyleRef
gradient editor: the stop's hex
Definition gui_theme.h:223
tachyon::VisualColorStyleIndex popupArrowFill
–bg-popup: property help's arrow
Definition gui_theme.h:559
StyleRef groupLabelTopStyleRef
Label with a caption: the container.
Definition gui_theme.h:334
StyleRef messageBoxDetailsToggleStyleRef
MessageDialog: "Details" with its chevron.
Definition gui_theme.h:164
StyleRef listItemDragKnobVertStyleRef
reorderable list item drag handle (vertical list - drag along y)
Definition gui_theme.h:397
StyleRef titleBarTitleStyleRef
the window's name when the tabs aren't in the bar
Definition gui_theme.h:315
StyleRef gradientEditorCountStyleRef
gradient editor: 2 / 3
Definition gui_theme.h:209
StyleRef ghostIconStyleRef
the icon in a drag ghost
Definition gui_theme.h:79
StyleRef emptyHorzStyleRef
horizontal flex, no wrap; groups elements without drawing anything
Definition gui_theme.h:52
StyleRef breadcrumbCurrentStyleRef
the last segment
Definition gui_theme.h:276
StyleRef collectionEntryStyleRef
dictionary: a row
Definition gui_theme.h:328
StyleRef toastCircleStyleRefs[4]
.toast-circle-info, -success, -warning, -error
Definition gui_theme.h:441
StyleRef tooltipExpandStyleRef
text cut short, shown whole over itself: the box
Definition gui_theme.h:367
StyleRef nodeCategoryStyleRef
the category square in a node header
Definition gui_theme.h:268
StyleRef toastHeaderStyleRef
the title and its time
Definition gui_theme.h:443
StyleRef menuStyleRef
a menu's window
Definition gui_theme.h:339
IconID chevronRightIcon
next; a collapsed section
Definition gui_theme.h:526
StyleRef mainWindowStyleRef
a window without padding, its content in a column
Definition gui_theme.h:306
StyleRef gradientEditorDividerStyleRef
gradient editor: a divider line
Definition gui_theme.h:214
StyleRef emptyHorzWrapStyleRef
horizontal flex, wrap
Definition gui_theme.h:53
StyleRef scrollbarVerticalTrackStyleRef
Definition gui_theme.h:125
StyleRef dialogFooterStyleRef
dialog: status and buttons
Definition gui_theme.h:144
StyleRef colorPickerModeRowStyleRef
color picker: space, Linear, range
Definition gui_theme.h:177
StyleRef collectionAddEntryStyleRef
dictionary: Add entry
Definition gui_theme.h:327
StyleRef iconButtonStyleRef
compact flat icon button (a list / dictionary row's remove)
Definition gui_theme.h:337
StyleRef gradientEditorBarStyleRef
gradient editor: the gradient bar with its stops
Definition gui_theme.h:196
IconID tabCloseIcon
a tab's close button
Definition gui_theme.h:504
StyleRef iconLabelNoIconStyleRef
icon-label with no icon, left-padded to align under icon'd siblings
Definition gui_theme.h:85
StyleRef colorSwatchStyleRef
ColorField: the swatch.
Definition gui_theme.h:131
StyleRef collectionValueStyleRef
dictionary: a value
Definition gui_theme.h:329
StyleRef groupDragLabelStyleRef
DragLabel() inside a label group.
Definition gui_theme.h:381
StyleRef colorFieldStyleRef
ColorField: swatch, hex and alpha in a row.
Definition gui_theme.h:132
StyleRef tableRowBarStyleRef
accent bar on a selected row's left
Definition gui_theme.h:236
tachyon::VisualColorStyleIndex marqueeFillColorStyle
selection-marquee fill (fixed translucent blue)
Definition gui_theme.h:556
StyleRef colorAlphaUnitStyleRef
ColorField: the % after it.
Definition gui_theme.h:136
StyleRef listItemStyleRef
ListItem's default.
Definition gui_theme.h:394
StyleRef dialogSmallButtonStyleRef
dialog: a short button (Save preset, Reverse)
Definition gui_theme.h:197
StyleRef viewContentStyleRef
the central content placeholder
Definition gui_theme.h:75
StyleRef menuItemRowStyleRef
interactive row: icon slot + label + trailing shortcut/arrow
Definition gui_theme.h:354
StyleRef colorHexStyleRef
ColorField: the hex field.
Definition gui_theme.h:133
StyleRef dialogHeaderStyleRef
dialog: the title row
Definition gui_theme.h:139
StyleRef colorPickerSwatchesStyleRef
color picker: swatches and recent
Definition gui_theme.h:187
StyleRef knobStyleRef
.knob
Definition gui_theme.h:106
StyleRef gradientEditorHeadingStyleRef
gradient editor: Color stop
Definition gui_theme.h:208
StyleRef GetStyle(std::string_view cssClass) const
The style of a CSS class from the loaded style files (library or app); an invalid style,...
StyleRef gradientEditorActionsStyleRef
gradient editor: Reverse, Distribute
Definition gui_theme.h:215
StyleRef tableHeaderStyleRef
a column header
Definition gui_theme.h:246
StyleRef iconTopStyleRef
icon above, text below
Definition gui_theme.h:103
ControlStyles toolbarControls
the .toolbar-* variants of those
Definition gui_theme.h:49
StyleRef listViewStyleRef
BeginListView's default.
Definition gui_theme.h:393
color4f GetColor(std::string_view varName, color4f fallback={}) const
A palette color by custom-property name ("--node-input"), or fallback when the loaded theme doesn't d...
StyleRef sliderFieldEdgeStyleRef
the line ending the fill
Definition gui_theme.h:112
IconID removeIcon
list / dictionary Field(): remove a row
Definition gui_theme.h:515
StyleRef colorPickerPreviewGroupStyleRef
color picker: preview and captions
Definition gui_theme.h:174
StyleRef gradientEditorTableHeadStyleRef
gradient editor: its header row
Definition gui_theme.h:217
StyleRef iconLabelStyleRef
inline icon + text, centered (e.g. command cells)
Definition gui_theme.h:84
StyleRef nodeViewStyleRef
NodeView: the canvas.
Definition gui_theme.h:263
StyleRef breadcrumbSeparatorStyleRef
between two segments
Definition gui_theme.h:277
int32_t treeTableIconSize
a node's icon
Definition gui_theme.h:573
StyleRef dockSplitHorzStyleRef
horizontal flex row (split into left / right)
Definition gui_theme.h:484
IconID addIcon
list / dictionary Field(): add a row
Definition gui_theme.h:514
const ControlStyles * controls
the bundle in use
Definition gui_theme.h:50
StyleRef treeTableArrowStyleRef
Definition gui_theme.h:259
StyleRef treeTableIconStyleRef
Definition gui_theme.h:260
StyleRef switchLabelStyleRef
Switch: the label after the track.
Definition gui_theme.h:120
StyleRef scrollbarHorizontalTrackStyleRef
Definition gui_theme.h:127
void ComputeRowMetrics(StyleManager &styleManager, ITextSystem &textSystem)
Measures the font-dependent metrics above. Call after every LoadTheme.
StyleRef treeTableArrowGlyphStyleRef
The arrow's NoInput glyph, inside a full-row-height hit wrapper (treeTableArrowStyleRef) for forgivin...
Definition gui_theme.h:242
StyleRef dragLabelHelpStyleRef
a DragLabel() with property help
Definition gui_theme.h:378
StyleRef colorPickerChannelLabelStyleRef
color picker: R, G, B, A ...
Definition gui_theme.h:181
StyleRef toolbarItemHorzStyleRef
toolbar on a horizontal side: row, thumb left of body
Definition gui_theme.h:64
StyleRef commandSearchListStyleRef
Definition gui_theme.h:291
tachyon::VisualColorStyleIndex lineYellowStyle
–warn
Definition gui_theme.h:535
StyleRef titleBarGripStyleRef
the grip before it
Definition gui_theme.h:314
StyleRef toastActionSecondaryStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:452
StyleRef gridViewRenameEditStyleRef
grid-mode inline editor (full cell width)
Definition gui_theme.h:408
StyleRef gridViewScrollStyleRef
virtualized grid scroll viewport (column)
Definition gui_theme.h:402
StyleRef toastDismissStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:453
StyleRef dialogSquareButtonStyleRef
dialog: a small bordered icon button (duplicate)
Definition gui_theme.h:199
StyleRef tooltipDescriptionStyleRef
its description
Definition gui_theme.h:365
StyleRef scrollbarVerticalThumbStyleRef
Definition gui_theme.h:126
StyleRef collectionListStyleRef
list field: the rows
Definition gui_theme.h:322
StyleRef commandSearchStyleRef
Definition gui_theme.h:288
StyleRef treeTableIndentStyleRef
Definition gui_theme.h:258
IconID deleteIcon
delete (trash can)
Definition gui_theme.h:510
StyleRef dockLeafStyleRef
vertical flex: [tab bar][content]
Definition gui_theme.h:488
StyleRef groupLabelStyleRef
Label() inside a label group.
Definition gui_theme.h:380
StyleRef statusBarStyleRef
BeginStatusBar's default.
Definition gui_theme.h:283
StyleRef tooltipErrorStyleRef
a value that isn't accepted: the box, error border
Definition gui_theme.h:369
StyleRef toastProgressFillStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:449
StyleRef tabBarStyleRef
the "+N" button after the tabs that fit
Definition gui_theme.h:429
IconID treeArrowRight
tree expander: collapsed
Definition gui_theme.h:498
StyleRef iconLeftStyleRef
icon left, text right
Definition gui_theme.h:101
StyleRef tableCellCompactStyleRef
tighter-padded cell for dense tables (opt-in via VirtualTable cellStyle)
Definition gui_theme.h:253
StyleRef colorAlphaInputStyleRef
ColorField: the alpha value in its box.
Definition gui_theme.h:135
StyleRef typedFieldStyleRef
TypedField: the box.
Definition gui_theme.h:319
StyleRef nodeTitleStyleRef
a node header's title
Definition gui_theme.h:269
IconID infoIcon
message severity: information
Definition gui_theme.h:523
StyleRef menuBarStyleRef
horizontal strip at the top of the main window
Definition gui_theme.h:342
StyleRef gradientEditorHeadLocationStyleRef
gradient editor: Location
Definition gui_theme.h:222
StyleRef gradientEditorLocationUnitStyleRef
gradient editor: its %
Definition gui_theme.h:213
StyleRef tableRowStyleRef
row backdrop (odd rows)
Definition gui_theme.h:234
StyleRef tabStyleRef
the "+N" button after the tabs that fit
Definition gui_theme.h:430
IconID windowMinimizeIcon
title bar: minimize
Definition gui_theme.h:528
StyleRef documentDirtyStyleRef
the unsaved-changes dot
Definition gui_theme.h:476
void InitializeDefaultStyles(StyleManager &styleManager, ITextSystem *textSystem)
Registers the styles built in code (fieldElementGroupStyleRef, the empty*StyleRefs) and the built-in ...
StyleRef colorPickerCaptionStyleRef
color picker: a small caption
Definition gui_theme.h:176
tachyon::VisualColorStyleIndex checkerAColor
Definition gui_theme.h:551
StyleRef tooltipTitleStyleRef
its title
Definition gui_theme.h:364
StyleRef switchKnobStyleRef
Switch: the knob.
Definition gui_theme.h:119
StyleRef listAreaStyleRef
undecorated scrolling column (BeginArea)
Definition gui_theme.h:317
int32_t treeTableArrowGlyphSize
the expander arrow
Definition gui_theme.h:574
StyleRef toastBodyStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:446
StyleRef menuItemLabelStyleRef
grow:1 label inside a menu item row
Definition gui_theme.h:356
StyleRef gridViewItemStyleRef
a grid view cell, by default
Definition gui_theme.h:401
StyleRef colorPickerChannelsStyleRef
color picker: the channel rows
Definition gui_theme.h:179
StyleRef reorderDropSlotStyleRef
a list row's drop slot while it's dragged
Definition gui_theme.h:349
StyleRef bannerSecondaryStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:458
StyleRef colorPickerRecentStyleRef
color picker: a recent color
Definition gui_theme.h:191
StyleRef menuItemIconStyleRef
fixed icon slot inside a menu item row
Definition gui_theme.h:355
StyleRef messageBoxItemNameStyleRef
MessageDialog: an affected item's name.
Definition gui_theme.h:162
StyleRef messageBoxMessageStyleRef
MessageDialog: the message.
Definition gui_theme.h:158
StyleRef menuItemDestructiveLabelStyleRef
a destructive item's label (.menu-item-label-destructive)
Definition gui_theme.h:352
StyleRef colorPickerBodyStyleRef
color picker: planes and controls
Definition gui_theme.h:169
StyleRef itemStyleRef
an item in it
Definition gui_theme.h:305
StyleRef titleBarCloseButtonStyleRef
its close button
Definition gui_theme.h:346
StyleRef treeViewStyleRef
a tree view
Definition gui_theme.h:399
tachyon::VisualColorStyleIndex invalidLine
–error: an error tooltip's arrow edges, a field's error icon
Definition gui_theme.h:561
StyleRef tableScrollableBodyStyleRef
a scrolling section body
Definition gui_theme.h:231
StyleRef dockContentStyleRef
content area holding the selected panel's draw()
Definition gui_theme.h:489
StyleRef gradientEditorColumnStyleRef
gradient editor: the left column
Definition gui_theme.h:206
StyleRef fieldElementGroupStyleRef
Built in code: an undecorated, growing, wrapping flex row (a multi-value drag field).
Definition gui_theme.h:57
tachyon::VisualColorStyleIndex tooltipArrowLine
–tooltip-border: its edges
Definition gui_theme.h:558
StyleRef flatButtonStyleRef
button that reads as plain left-aligned text (no chrome)
Definition gui_theme.h:411
StyleRef colorPickerHdrValueStyleRef
color picker: the intensity value
Definition gui_theme.h:142
StyleRef toolbarSideVertStyleRef
toolbar side bin, left / right: column + flex-wrap
Definition gui_theme.h:62
StyleRef breadcrumbStyleRef
the breadcrumb path bar
Definition gui_theme.h:274
StyleRef nodeBodyCenterStyleRef
centered body for full-body content (image previews)
Definition gui_theme.h:295
StyleRef iconBottomStyleRef
text above, icon below
Definition gui_theme.h:104
StyleRef tooltipLinesStyleRef
a tooltip of a few lines: a disabled control's, a pin's
Definition gui_theme.h:371
StyleRef searchTextboxIconStyleRef
Definition gui_theme.h:417
StyleRef collectionHeaderCellStyleRef
dictionary: Key / Value
Definition gui_theme.h:331
IconID duplicateIcon
duplicate
Definition gui_theme.h:509
IconID windowRestoreIcon
title bar: restore
Definition gui_theme.h:530
StyleRef dialogButtonStyleRef
dialog: a secondary button (Cancel)
Definition gui_theme.h:147
StyleRef ghostWindowStyleRef
BeginGhostWindow's default: the window following a drag.
Definition gui_theme.h:78
StyleRef tooltipErrorTextStyleRef
its message
Definition gui_theme.h:370
StyleRef bannerStyleRefs[4]
.banner-info, -success, -warning, -error
Definition gui_theme.h:455
StyleRef dockContainerMainStyleRef
a main window's docking area, with a side gutter
Definition gui_theme.h:483
tachyon::VisualShadow invalidHalo
Definition gui_theme.h:547
int32_t treeTableExpanderWidth
the expander column (arrow or leaf spacer)
Definition gui_theme.h:572
StyleRef collectionAddStyleRef
list field: Add item
Definition gui_theme.h:326
StyleRef gradientEditorSectionLabelStyleRef
gradient editor: Presets
Definition gui_theme.h:202
StyleRef toggleGroupStyleRef
.group-button
Definition gui_theme.h:95
StyleRef documentNewStyleRef
"+"
Definition gui_theme.h:478
StyleRef nodeCaptionStyleRef
a node header's category name, right-aligned
Definition gui_theme.h:270
StyleRef titleBarTabStyleRef
a tab in it
Definition gui_theme.h:313
StyleRef colorPickerPlanesStyleRef
color picker: square and strips
Definition gui_theme.h:170
StyleRef nodeViewOverlayButtonStyleRef
flat button in such a panel
Definition gui_theme.h:272
tachyon::VisualColorStyleIndex lineWhiteStyle
–text-1
Definition gui_theme.h:536
Result< StyleRef > FindStyle(std::string_view cssClass) const
As GetStyle, but a class no file defines is a NotFound error.
StyleRef reorderLiftedRingStyleRef
the dragged row's ring, over its parts
Definition gui_theme.h:351
StyleRef colorPickerStripStyleRef
color picker: the hue and alpha strips
Definition gui_theme.h:172
StyleRef commandSearchCurrentRowStyleRef
Definition gui_theme.h:292
StyleRef textStyleRef
.text-style: rich text
Definition gui_theme.h:80
IconID errorIcon
message severity: error
Definition gui_theme.h:524
StyleRef reorderLiftedStyleRef
the dragged row itself, under its parts
Definition gui_theme.h:350
IconID dropdownArrowUpIcon
the same while its menu is open
Definition gui_theme.h:507
StyleRef toastProgressStyleRef
the progress bar's track
Definition gui_theme.h:448
StyleRef nodeTextRightStyleRef
text-only property body, right-aligned (right dot only)
Definition gui_theme.h:303
StyleRef toastContentStyleRef
title row, body, progress and actions
Definition gui_theme.h:442
StyleRef dialogPrimaryButtonStyleRef
dialog: the primary button (OK); .dialog-button-primary
Definition gui_theme.h:148
IconID dropdownArrowIcon
after a dropdown's text (menu triggers outside a menu bar)
Definition gui_theme.h:506
StyleRef nodeRerouteStyleRef
a reroute node's square (the dot is drawn on it)
Definition gui_theme.h:266
tachyon::VisualColorStyleIndex tooltipArrowFill
–tooltip-bg: a tooltip's arrow
Definition gui_theme.h:557
StyleRef colorPickerCaptionsStyleRef
color picker: New / Original
Definition gui_theme.h:175
StyleRef toastActionsStyleRef
the row of actions
Definition gui_theme.h:450
StyleRef menuItemShortcutStyleRef
dim trailing keyboard-shortcut text
Definition gui_theme.h:357
StyleRef settingsPageSelectionRef
the settings page list (.settings-page-selection)
Definition gui_theme.h:491
StyleRef iconRightStyleRef
text left, icon right
Definition gui_theme.h:102
StyleRef messageBoxWellStyleRef
MessageDialog: the affected items.
Definition gui_theme.h:159
StyleRef titleBarTextButtonStyleRef
a text button in a title bar (Dock)
Definition gui_theme.h:316
StyleRef searchTextboxFieldStyleRef
Definition gui_theme.h:418
StyleRef horzReorderableGroupStyleRef
Definition gui_theme.h:388
tachyon::VisualColorStyleIndex lineDarkStyle
–bg-app
Definition gui_theme.h:537
StyleRef messageBoxStyleRef
MessageDialog: the window.
Definition gui_theme.h:150
StyleRef searchRowStyleRef
full-width row hosting a top-of-panel SearchField (bottom spacing)
Definition gui_theme.h:412
StyleRef toastBodyMonoStyleRef
a body of code or file locations
Definition gui_theme.h:447
StyleRef gradientEditorSwatchCellStyleRef
gradient editor: the stop's color
Definition gui_theme.h:220
StyleRef typedFieldInputStyleRef
TypedField: the value.
Definition gui_theme.h:320
StyleRef dialogTitleStyleRef
dialog: its title
Definition gui_theme.h:140
StyleRef nodeTextLeftStyleRef
text-only property body, left-aligned (left dot only)
Definition gui_theme.h:301
StyleRef toastEarlierStyleRef
"+N earlier"
Definition gui_theme.h:454
StyleRef gridViewRenameListItemStyleRef
rename-mode list row: icon left of editor
Definition gui_theme.h:406
StyleRef colorPickerTrackStyleRef
color picker: a channel's track
Definition gui_theme.h:182
StyleRef dockSplitVertStyleRef
vertical flex column (split into top / bottom)
Definition gui_theme.h:485
tachyon::VisualColorStyleIndex nanTextColor
a number field's NaN
Definition gui_theme.h:540
StyleRef gradientEditorLocationInputStyleRef
gradient editor: its value
Definition gui_theme.h:212
StyleRef tooltipExpandTextStyleRef
its text's colors (the font is the cut text's)
Definition gui_theme.h:368
tachyon::LinkStyle linkStyle
The .link class: its color, :hover color and cursor, for a ContentRun's linkStyle.
Definition gui_theme.h:550
StyleRef documentLineStyleRef
under the bar, in the active document's color
Definition gui_theme.h:477
StyleRef tooltipPinTypeStyleRef
... its type, muted and monospace
Definition gui_theme.h:374
StyleRef colorPickerPreviewStyleRef
color picker: the color preview
Definition gui_theme.h:192
StyleRef tabCloseStyleRef
the "+N" button after the tabs that fit
Definition gui_theme.h:433
StyleRef messageBoxWarningStyleRef
MessageDialog: severity circle, warning / quit.
Definition gui_theme.h:153
int socketSize
.node-socket box size in pixels (read from CSS); the custom-drawn dot and the on-border insets derive...
Definition gui_theme.h:300
StyleRef labelStyleRef
Label()'s default.
Definition gui_theme.h:83
tachyon::VisualColorStyleIndex dividerHoverLineStyle
a hovered divider drawn as a line (label sizer)
Definition gui_theme.h:539
StyleRef messageBoxBodyStyleRef
MessageDialog: the icon and text row.
Definition gui_theme.h:152
StyleRef messageBoxTextStyleRef
MessageDialog: title, message and extras.
Definition gui_theme.h:156
StyleRef dashedStyleRef
a box with a dashed border
Definition gui_theme.h:99
StyleRef gridViewListItemStyleRef
list-mode cell: icon left, name right, one line
Definition gui_theme.h:404
StyleRef searchTextboxStyleRef
Definition gui_theme.h:416
StyleRef tableHeaderSectionStyleRef
Header grid, a sibling of the body so it doesn't scroll with the rows.
Definition gui_theme.h:229
StyleRef reorderableItemStyleRef
Definition gui_theme.h:387
StyleRef collectionRemoveStyleRef
list / dictionary: remove
Definition gui_theme.h:325
StyleRef toolbarFloatingWindowStyleRef
floating tear-off window content host (no padding)
Definition gui_theme.h:73
StyleRef treeTableCellStyleRef
Definition gui_theme.h:257
StyleRef colorPickerHdrStyleRef
color picker: the intensity box
Definition gui_theme.h:186
StyleRef itemListStyleRef
a bordered scrolling list box
Definition gui_theme.h:304
StyleRef bannerLinkStyleRef
the toasts, a column in the window's corner
Definition gui_theme.h:459
StyleRef tabContentStyleRef
the "+N" button after the tabs that fit
Definition gui_theme.h:432
StyleRef emptyVertStyleRef
vertical flex, no wrap
Definition gui_theme.h:54
StyleRef gradientEditorRowStyleRef
gradient editor: a labeled row
Definition gui_theme.h:207
StyleRef sliderFieldBgStyleRef
unfilled half painted by the slider's custom-draw
Definition gui_theme.h:108
StyleRef messageBoxErrorStyleRef
MessageDialog: severity circle, error.
Definition gui_theme.h:155
StyleRef tableSeparatorStyleRef
the divider between table sections
Definition gui_theme.h:250
StyleRef colorAlphaStyleRef
ColorField: the alpha box (value and %).
Definition gui_theme.h:134
StyleRef sliderStyleRef
Slider: a groove and knob, no value text.
Definition gui_theme.h:113
StyleRef documentBarStyleRef
the bar: its row over the line
Definition gui_theme.h:468
StyleRef commandSearchKeyStyleRef
Definition gui_theme.h:290
StyleRef messageBoxQuestionStyleRef
MessageDialog: severity circle, question / info.
Definition gui_theme.h:154
StyleRef statusTextStyleRef
text in the status bar
Definition gui_theme.h:284
StyleRef documentRowStyleRef
the tabs, "+" and the list
Definition gui_theme.h:469
StyleRef messageBoxItemDotStyleRef
MessageDialog: an affected item's dot.
Definition gui_theme.h:161
IconID dragHandleIcon
three-bar grip of a reorderable list / tree row
Definition gui_theme.h:517
StyleRef listItemRowStyleRef
reorderable list item outer container
Definition gui_theme.h:395
StyleRef colorPickerChannelStyleRef
color picker: one channel row
Definition gui_theme.h:180
int32_t nodeGridSize
Node-view grid pitch: half a property row, measured in ComputeRowMetrics.
Definition gui_theme.h:578
StyleRef axisLabelStyleRefs[4]
vector fields: the label of each component (X, Y, Z, W)
Definition gui_theme.h:278
StyleRef menuItemDestructiveIconStyleRef
a destructive item's icon (.menu-item-icon-destructive)
Definition gui_theme.h:353
StyleRef gridViewRenameIconStyleRef
the icon child of a renaming cell
Definition gui_theme.h:407
StyleRef dockSizerVertStyleRef
horizontal bar between top / bottom panes
Definition gui_theme.h:487
tachyon::color4b invalidColor
An invalid control's border color (–error) and the halo around it (–invalid-halo).
Definition gui_theme.h:546
StyleRef documentsStyleRef
the bar and the active document's panels, a column
Definition gui_theme.h:467
StyleRef gradientEditorPresetsStyleRef
gradient editor: the presets row
Definition gui_theme.h:201
StyleRef messageBoxCloseStyleRef
MessageDialog: the close button, top right.
Definition gui_theme.h:151
StyleRef toolbarSideHorzStyleRef
toolbar side bin, top / bottom: row + flex-wrap
Definition gui_theme.h:61
StyleRef documentExtensionStyleRef
".level", after the name
Definition gui_theme.h:473
StyleRef gradientEditorBadgeStyleRef
gradient editor: the selected stop's location
Definition gui_theme.h:204
StyleRef dragLabelStyleRef
DragLabel()'s default.
Definition gui_theme.h:86
StyleRef collectionStyleRef
BeginArea / BeginCached default.
Definition gui_theme.h:382
StyleRef tooltipFrameStyleRef
a tooltip's window: see-through, with room for the arrow
Definition gui_theme.h:359
StyleRef dialogDangerButtonStyleRef
dialog: a destructive button (Quit, Delete); .dialog-button-danger
Definition gui_theme.h:149
ControlStyles regularControls
.button, .toggle, .textbox, .number-field, .menu-trigger
Definition gui_theme.h:48
bool LoadTheme(StyleManager &styleManager, ITextSystem *textSystem, const std::string &themePath, std::span< const std::string > styleFiles, float fontScale)
Parses the palette file themePath followed by styleFiles (in order; relative paths are next to the pa...
IconID invalidIcon
in a field whose value isn't accepted
Definition gui_theme.h:525
StyleRef horzReorderableGroupWrapStyleRef
Definition gui_theme.h:390
StyleRef menuItemArrowStyleRef
dim trailing submenu arrow
Definition gui_theme.h:358
StyleRef bannerMessageStyleRefs[4]
.banner-message-info, ...: the icon in the severity's color
Definition gui_theme.h:456
int32_t treeTableIndent
per indent level
Definition gui_theme.h:571
StyleRef tabOverflowStyleRef
the "+N" button after the tabs that fit
Definition gui_theme.h:431
StyleRef nodeHeaderStyleRef
node title bar (distinct background, sits at top of node)
Definition gui_theme.h:267
StyleRef colorPickerSectionLabelStyleRef
color picker: Swatches, Recent
Definition gui_theme.h:189
StyleRef toastTimeStyleRef
"now", "4 min"
Definition gui_theme.h:445
IconID sortArrowDownIcon
table header: sorted ascending
Definition gui_theme.h:502
StyleRef colorPickerFieldRowStyleRef
color picker: Hex / HDR rows
Definition gui_theme.h:184
StyleRef sliderFieldValueStyleRef
value text overlaid on the track
Definition gui_theme.h:111
Text and icon registration, measurement, rendering and editing.
Definition gui_text_system.h:178
A value, or the Error saying why there is none.
Definition gui_result.h:36
Bakes serializable Styles into deduplicated runtime layout/visual styles; a StyleRef holds indices in...
Definition gui_style_manager.h:39
VisualColorStyleIndex
Index into StyleManager's color style pool; Invalid (0) draws nothing (transparent).
Definition gui_style.h:33
IconID
Handle for an icon registered with ITextSystem::RegisterIconFromSVG / RegisterIconFromSVGFile.
Definition gui_style_text.h:15
@ Invalid
Definition gui_style_text.h:15
Definition gui_logging.h:24
Default control styles.
Definition gui_theme.h:27
StyleRef textbox
.textbox / .toolbar-textbox
Definition gui_theme.h:30
StyleRef menuTrigger
.menu-trigger / .toolbar-menu-trigger
Definition gui_theme.h:32
StyleRef toggle
.toggle / .toolbar-toggle
Definition gui_theme.h:29
StyleRef number
numeric fields: the textbox in the monospace font
Definition gui_theme.h:31
StyleRef button
.button / .toolbar-button
Definition gui_theme.h:28
Colors of a link run, normal and hovered.
Definition gui_text_system.h:115
A registered style, as StyleManager::Register returns it: indices into the shared style pools,...
Definition gui_style_ref.h:25
A complete style, as parsed from CSS or built in code: layout properties plus the visual properties o...
Definition gui_style.h:687
A BoxShadow in pixels with its color registered. No color is no shadow.
Definition gui_style.h:905
Definition gui_base_types.h:384
Definition gui_base_types.h:395