mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-11 20:11:26 -07:00
sketch out tag-based theme, per-window computation
This commit is contained in:
+1145
-461
File diff suppressed because it is too large
Load Diff
@@ -344,55 +344,116 @@ RD_IconKind_COUNT,
|
||||
typedef enum RD_ThemeColor
|
||||
{
|
||||
RD_ThemeColor_Null,
|
||||
RD_ThemeColor_Text,
|
||||
RD_ThemeColor_TextPositive,
|
||||
RD_ThemeColor_TextNegative,
|
||||
RD_ThemeColor_TextNeutral,
|
||||
RD_ThemeColor_TextWeak,
|
||||
RD_ThemeColor_Cursor,
|
||||
RD_ThemeColor_CursorInactive,
|
||||
RD_ThemeColor_Focus,
|
||||
RD_ThemeColor_Hover,
|
||||
RD_ThemeColor_DropShadow,
|
||||
RD_ThemeColor_DisabledOverlay,
|
||||
RD_ThemeColor_DropSiteOverlay,
|
||||
RD_ThemeColor_InactivePanelOverlay,
|
||||
RD_ThemeColor_SelectionOverlay,
|
||||
RD_ThemeColor_HighlightOverlay,
|
||||
RD_ThemeColor_HighlightOverlayError,
|
||||
RD_ThemeColor_DropShadow,
|
||||
RD_ThemeColor_BaseBackground,
|
||||
RD_ThemeColor_BaseBackgroundAlt,
|
||||
RD_ThemeColor_BaseBackgroundGood,
|
||||
RD_ThemeColor_BaseBackgroundBad,
|
||||
RD_ThemeColor_BaseBackgroundPop,
|
||||
RD_ThemeColor_BaseBorder,
|
||||
RD_ThemeColor_BaseText,
|
||||
RD_ThemeColor_BaseTextWeak,
|
||||
RD_ThemeColor_BaseHover,
|
||||
RD_ThemeColor_BaseFocus,
|
||||
RD_ThemeColor_BaseCursor,
|
||||
RD_ThemeColor_BaseSelection,
|
||||
RD_ThemeColor_MenuBarBackground,
|
||||
RD_ThemeColor_MenuBarBackgroundAlt,
|
||||
RD_ThemeColor_MenuBarBackgroundGood,
|
||||
RD_ThemeColor_MenuBarBackgroundBad,
|
||||
RD_ThemeColor_MenuBarBackgroundPop,
|
||||
RD_ThemeColor_MenuBarBorder,
|
||||
RD_ThemeColor_FloatingBackground,
|
||||
RD_ThemeColor_FloatingBackgroundAlt,
|
||||
RD_ThemeColor_FloatingBorder,
|
||||
RD_ThemeColor_ImplicitButtonBackground,
|
||||
RD_ThemeColor_ImplicitButtonHover,
|
||||
RD_ThemeColor_ImplicitButtonBorder,
|
||||
RD_ThemeColor_PlainButtonBackground,
|
||||
RD_ThemeColor_PlainButtonHover,
|
||||
RD_ThemeColor_PlainButtonBorder,
|
||||
RD_ThemeColor_PositivePopButtonBackground,
|
||||
RD_ThemeColor_PositivePopButtonHover,
|
||||
RD_ThemeColor_PositivePopButtonBorder,
|
||||
RD_ThemeColor_NegativePopButtonBackground,
|
||||
RD_ThemeColor_NegativePopButtonHover,
|
||||
RD_ThemeColor_NegativePopButtonBorder,
|
||||
RD_ThemeColor_NeutralPopButtonBackground,
|
||||
RD_ThemeColor_NeutralPopButtonHover,
|
||||
RD_ThemeColor_NeutralPopButtonBorder,
|
||||
RD_ThemeColor_ScrollBarButtonBackground,
|
||||
RD_ThemeColor_ScrollBarButtonHover,
|
||||
RD_ThemeColor_ScrollBarButtonBorder,
|
||||
RD_ThemeColor_MenuBarText,
|
||||
RD_ThemeColor_MenuBarTextWeak,
|
||||
RD_ThemeColor_MenuBarHover,
|
||||
RD_ThemeColor_MenuBarFocus,
|
||||
RD_ThemeColor_MenuBarCursor,
|
||||
RD_ThemeColor_MenuBarSelection,
|
||||
RD_ThemeColor_GoodBackground,
|
||||
RD_ThemeColor_GoodBackgroundAlt,
|
||||
RD_ThemeColor_GoodBackgroundGood,
|
||||
RD_ThemeColor_GoodBackgroundBad,
|
||||
RD_ThemeColor_GoodBackgroundPop,
|
||||
RD_ThemeColor_GoodBorder,
|
||||
RD_ThemeColor_GoodText,
|
||||
RD_ThemeColor_GoodTextWeak,
|
||||
RD_ThemeColor_GoodHover,
|
||||
RD_ThemeColor_GoodFocus,
|
||||
RD_ThemeColor_GoodCursor,
|
||||
RD_ThemeColor_GoodSelection,
|
||||
RD_ThemeColor_BadBackground,
|
||||
RD_ThemeColor_BadBackgroundAlt,
|
||||
RD_ThemeColor_BadBackgroundGood,
|
||||
RD_ThemeColor_BadBackgroundBad,
|
||||
RD_ThemeColor_BadBackgroundPop,
|
||||
RD_ThemeColor_BadBorder,
|
||||
RD_ThemeColor_BadText,
|
||||
RD_ThemeColor_BadTextWeak,
|
||||
RD_ThemeColor_BadHover,
|
||||
RD_ThemeColor_BadFocus,
|
||||
RD_ThemeColor_BadCursor,
|
||||
RD_ThemeColor_BadSelection,
|
||||
RD_ThemeColor_PopBackground,
|
||||
RD_ThemeColor_PopBackgroundAlt,
|
||||
RD_ThemeColor_PopBackgroundGood,
|
||||
RD_ThemeColor_PopBackgroundBad,
|
||||
RD_ThemeColor_PopBackgroundPop,
|
||||
RD_ThemeColor_PopBorder,
|
||||
RD_ThemeColor_PopText,
|
||||
RD_ThemeColor_PopTextWeak,
|
||||
RD_ThemeColor_PopHover,
|
||||
RD_ThemeColor_PopFocus,
|
||||
RD_ThemeColor_PopCursor,
|
||||
RD_ThemeColor_PopSelection,
|
||||
RD_ThemeColor_ScrollBarBackground,
|
||||
RD_ThemeColor_ScrollBarBackgroundAlt,
|
||||
RD_ThemeColor_ScrollBarBackgroundGood,
|
||||
RD_ThemeColor_ScrollBarBackgroundBad,
|
||||
RD_ThemeColor_ScrollBarBackgroundPop,
|
||||
RD_ThemeColor_ScrollBarBorder,
|
||||
RD_ThemeColor_ScrollBarText,
|
||||
RD_ThemeColor_ScrollBarTextWeak,
|
||||
RD_ThemeColor_ScrollBarHover,
|
||||
RD_ThemeColor_ScrollBarFocus,
|
||||
RD_ThemeColor_ScrollBarCursor,
|
||||
RD_ThemeColor_ScrollBarSelection,
|
||||
RD_ThemeColor_TabBackground,
|
||||
RD_ThemeColor_TabHover,
|
||||
RD_ThemeColor_TabBackgroundAlt,
|
||||
RD_ThemeColor_TabBackgroundGood,
|
||||
RD_ThemeColor_TabBackgroundBad,
|
||||
RD_ThemeColor_TabBackgroundPop,
|
||||
RD_ThemeColor_TabBorder,
|
||||
RD_ThemeColor_TabBackgroundInactive,
|
||||
RD_ThemeColor_TabHoverInactive,
|
||||
RD_ThemeColor_TabBorderInactive,
|
||||
RD_ThemeColor_TabText,
|
||||
RD_ThemeColor_TabTextWeak,
|
||||
RD_ThemeColor_TabHover,
|
||||
RD_ThemeColor_TabFocus,
|
||||
RD_ThemeColor_TabCursor,
|
||||
RD_ThemeColor_TabSelection,
|
||||
RD_ThemeColor_TabInactiveBackground,
|
||||
RD_ThemeColor_TabInactiveBackgroundAlt,
|
||||
RD_ThemeColor_TabInactiveBackgroundGood,
|
||||
RD_ThemeColor_TabInactiveBackgroundBad,
|
||||
RD_ThemeColor_TabInactiveBackgroundPop,
|
||||
RD_ThemeColor_TabInactiveBorder,
|
||||
RD_ThemeColor_TabInactiveText,
|
||||
RD_ThemeColor_TabInactiveTextWeak,
|
||||
RD_ThemeColor_TabInactiveHover,
|
||||
RD_ThemeColor_TabInactiveFocus,
|
||||
RD_ThemeColor_TabInactiveCursor,
|
||||
RD_ThemeColor_TabInactiveSelection,
|
||||
RD_ThemeColor_DropSiteBackground,
|
||||
RD_ThemeColor_DropSiteBackgroundAlt,
|
||||
RD_ThemeColor_DropSiteBackgroundGood,
|
||||
RD_ThemeColor_DropSiteBackgroundBad,
|
||||
RD_ThemeColor_DropSiteBackgroundPop,
|
||||
RD_ThemeColor_DropSiteBorder,
|
||||
RD_ThemeColor_DropSiteText,
|
||||
RD_ThemeColor_DropSiteTextWeak,
|
||||
RD_ThemeColor_DropSiteHover,
|
||||
RD_ThemeColor_DropSiteFocus,
|
||||
RD_ThemeColor_DropSiteCursor,
|
||||
RD_ThemeColor_DropSiteSelection,
|
||||
RD_ThemeColor_CodeDefault,
|
||||
RD_ThemeColor_CodeSymbol,
|
||||
RD_ThemeColor_CodeType,
|
||||
@@ -571,20 +632,21 @@ extern String8 rd_binding_version_remap_new_name_table[8];
|
||||
extern String8 rd_icon_kind_text_table[69];
|
||||
extern String8 rd_theme_preset_display_string_table[9];
|
||||
extern String8 rd_theme_preset_code_string_table[9];
|
||||
extern String8 rd_theme_preset_cfg_string_table[9];
|
||||
extern String8 rd_theme_color_version_remap_old_name_table[22];
|
||||
extern String8 rd_theme_color_version_remap_new_name_table[22];
|
||||
extern Vec4F32 rd_theme_preset_colors__default_dark[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__default_light[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__vs_dark[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__vs_light[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__solarized_dark[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__solarized_light[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__handmade_hero[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__four_coder[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__far_manager[84];
|
||||
extern Vec4F32 rd_theme_preset_colors__default_dark[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__default_light[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__vs_dark[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__vs_light[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__solarized_dark[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__solarized_light[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__handmade_hero[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__four_coder[145];
|
||||
extern Vec4F32 rd_theme_preset_colors__far_manager[145];
|
||||
extern Vec4F32* rd_theme_preset_colors_table[9];
|
||||
extern String8 rd_theme_color_display_string_table[84];
|
||||
extern String8 rd_theme_color_cfg_string_table[84];
|
||||
extern String8 rd_theme_color_display_string_table[145];
|
||||
extern String8 rd_theme_color_cfg_string_table[145];
|
||||
read_only global U8 rd_icon_font_bytes__data[] =
|
||||
{
|
||||
0x00,0x01,0x00,0x00,0x00,0x0f,0x00,0x80,0x00,0x03,0x00,0x70,0x47,0x53,0x55,0x42,0x20,0x8b,0x25,0x7a,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x54,0x4f,0x53,0x2f,0x32,0x56,0x44,0x49,0xa0,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x60,0x63,0x6d,0x61,0x70,0x2a,0x09,0xe2,0xc2,0x00,0x00,0x01,0xb0,0x00,0x00,0x05,0xec,0x63,0x76,0x74,0x20,
|
||||
|
||||
+276
-94
@@ -979,10 +979,116 @@ RD_ViewRuleTable:
|
||||
////////////////////////////////
|
||||
//~ rjf: Theme Tables
|
||||
|
||||
@table(name_upper name_lower display_string)
|
||||
@table(name_upper name_lower display_string cfg)
|
||||
RD_ThemePresetTable:
|
||||
{
|
||||
{ DefaultDark default_dark "Default (Dark)" }
|
||||
//- rjf: default dark theme
|
||||
{
|
||||
DefaultDark default_dark "Default (Dark)",
|
||||
```theme:
|
||||
{
|
||||
background: 0x1b1b1bff,
|
||||
alt: background: 0x222222ff,
|
||||
good: background: 0x222222ff,
|
||||
bad: background: 0x222222ff,
|
||||
pop: background: 0x222222ff,
|
||||
border: 0x404040ff,
|
||||
text: 0xe5e5e5ff,
|
||||
weak: text: 0xe5e5e5ff,
|
||||
hover: 0xffffffff,
|
||||
focus: 0xfda200ff,
|
||||
cursor: 0x8aff00ff,
|
||||
selection: 0x99ccffff,
|
||||
|
||||
menu_bar:
|
||||
{
|
||||
background: 0x2b3740ff,
|
||||
border: 0x3e4c57ff,
|
||||
}
|
||||
|
||||
good:
|
||||
{
|
||||
background: 0x2c5b36ff,
|
||||
border: 0x3f3f3fff,
|
||||
}
|
||||
|
||||
bad:
|
||||
{
|
||||
background: 0x803425ff,
|
||||
border: 0xe88774ff,
|
||||
}
|
||||
|
||||
pop:
|
||||
{
|
||||
background: 0x355b6eff,
|
||||
border: 0x355b6eff,
|
||||
}
|
||||
|
||||
scroll_bar:
|
||||
{
|
||||
background: 0x2b2b2bff,
|
||||
border: 0x3f3f3fff,
|
||||
}
|
||||
|
||||
tab:
|
||||
{
|
||||
background: 0x6f5135ff,
|
||||
border: 0x8a6e54ff,
|
||||
inactive:
|
||||
{
|
||||
background: 0x2b3740ff,
|
||||
border: 0x3e4c57ff,
|
||||
}
|
||||
}
|
||||
|
||||
drop_site:
|
||||
{
|
||||
background: 0xffffffff,
|
||||
border: 0xffffffff,
|
||||
}
|
||||
|
||||
code:
|
||||
{
|
||||
default: text: 0xcbcbcbff,
|
||||
symbol: text: 0x42a2cfff,
|
||||
type: text: 0xfec746ff,
|
||||
local: text: 0x98bc80ff,
|
||||
register: text: 0xb7afd5ff,
|
||||
keyword: text: 0xb38d4cff,
|
||||
delimiter_or_operator: text: 0x767676ff,
|
||||
numeric: text: 0x98abb1ff,
|
||||
numeric_alt_digit_group: text: 0x738287ff,
|
||||
string: text: 0x98abb1ff,
|
||||
meta: text: 0xd96759ff,
|
||||
comment: text: 0x717171ff,
|
||||
line_info_0: background: 0x99503dff,
|
||||
line_info_1: background: 0xfe8249ff,
|
||||
line_info_2: background: 0xffba17ff,
|
||||
line_info_3: background: 0xcefd69ff,
|
||||
line_info_4: background: 0x99503dff,
|
||||
line_info_5: background: 0xfe8249ff,
|
||||
line_info_6: background: 0xcefd69ff,
|
||||
line_info_7: background: 0x99503dff,
|
||||
}
|
||||
|
||||
debug_state:
|
||||
{
|
||||
thread_0: 0xffcb7fff,
|
||||
thread_1: 0xb2ff65ff,
|
||||
thread_2: 0xff99e5ff,
|
||||
thread_3: 0x6598ffff,
|
||||
thread_4: 0x65ffcbff,
|
||||
thread_5: 0xff9819ff,
|
||||
thread_6: 0x9932ffff,
|
||||
thread_7: 0x65ff4cff,
|
||||
thread_unwound: 0xb2ccd8ff,
|
||||
thread_error: 0xb23219ff,
|
||||
breakpoint: 0xa72911ff,
|
||||
}
|
||||
}
|
||||
```
|
||||
}
|
||||
|
||||
{ DefaultLight default_light "Default (Light)" }
|
||||
{ VSDark vs_dark "VS (Dark)" }
|
||||
{ VSLight vs_light "VS (Light)" }
|
||||
@@ -993,107 +1099,178 @@ RD_ThemePresetTable:
|
||||
{ FarManager far_manager "Far Manager" }
|
||||
}
|
||||
|
||||
@table(name display_name name_lower default_dark default_light vs_dark vs_light solarized_dark solarized_light handmade_hero four_coder far_manager desc)
|
||||
@table(name display_name name_lower default_dark default_light vs_dark vs_light solarized_dark solarized_light handmade_hero four_coder far_manager desc)
|
||||
RD_ThemeColorTable:
|
||||
{
|
||||
{Null "Null" null 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff ""}
|
||||
{Null "Null" null 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff 0xff00ffff ""}
|
||||
|
||||
//- rjf: global ui colors
|
||||
{Text "Text" text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TextPositive "Text (Positive)" text_positive 0x4dc221ff 0x4d9e2eff 0x4dc221ff 0x4dc221ff 0x4dc221ff 0x4dc221ff 0x4dc221ff 0x4dc221ff 0x4dc221ff ""}
|
||||
{TextNegative "Text (Negative)" text_negative 0xc56452ff 0xbd371eff 0xc56452ff 0xc46451ff 0xc56452ff 0xc56452ff 0xc56452ff 0xc56452ff 0xc56452ff ""}
|
||||
{TextNeutral "Text (Neutral)" text_neutral 0x307eb2ff 0x0064a7ff 0x307eb2ff 0x307eb2ff 0x307eb2ff 0x307eb2ff 0x307eb2ff 0x307eb2ff 0x307eb2ff ""}
|
||||
{TextWeak "Text (Weak)" text_weak 0xa4a4a4ff 0x4c4c4cff 0xa4a4a4fe 0x0000007f 0x9999998a 0x818181ff 0x6e512eff 0x566e4bff 0x00a9a9ff ""}
|
||||
{Cursor "Cursor" cursor 0x8aff00ff 0x699830ff 0x8aff00ff 0x000000ff 0x8aff00ff 0x586e75ff 0x8aff00ff 0x8aff00ff 0x8aff00ff ""}
|
||||
{CursorInactive "Cursor (Inactive)" cursor_inactive 0xb23217ff 0xb23217ff 0xb23217ff 0xb23217ff 0xb23217ff 0xb23217ff 0xb23217ff 0xb23217ff 0xb23217ff ""}
|
||||
{Focus "Focus" focus 0xfda200ff 0x9c5900ff 0xfda200ff 0x002affff 0xfda200ff 0x92743dff 0xfda200ff 0xfda200ff 0x00fefeff ""}
|
||||
{Hover "Hover" hover 0xffffffff 0xffffffff 0xffffffff 0x000000ff 0xffffffff 0x747474ff 0xffffffff 0xffffffff 0xffffffff ""}
|
||||
{DropShadow "Drop Shadow" drop_shadow 0x000000ff 0x0000004c 0x0000007f 0xa3a3a37e 0x0000007f 0xc9bfa394 0x0000007f 0x0000007f 0x0000007f ""}
|
||||
{DisabledOverlay "Disabled Overlay" disabled_overlay 0x000000ff 0xa6a6a63f 0x0000003f 0x0000003f 0x0000003f 0xe4dac090 0x0000003f 0x0000003f 0x0000003f ""}
|
||||
{DropSiteOverlay "Drop Site Overlay" drop_site_overlay 0xffffffff 0x4848480c 0xffffff0c 0x0000000c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c ""}
|
||||
{InactivePanelOverlay "Inactive Panel Overlay" inactive_panel_overlay 0x000000ff 0xa4a4a43f 0x0000003f 0xfefefe53 0x0000003f 0x0000001c 0x0000003f 0x0000003f 0x0000003f ""}
|
||||
{SelectionOverlay "Selection Overlay" selection_overlay 0x99ccffff 0x003d7a48 0x99ccff4c 0x3d74ab4b 0x99ccff4c 0x678cb24c 0x99ccff4c 0x99ccff4c 0x99ccff4c ""}
|
||||
{HighlightOverlay "Highlight Overlay" highlight_overlay 0xffffffff 0xffffff1e 0xffffff1e 0x0000001e 0xffffff1e 0xffffff1e 0xffffff1e 0xffffff1e 0xffffff1e ""}
|
||||
{HighlightOverlayError "Error Highlight Overlay" error_highlight_overlay 0x5f1200ff 0xff30005f 0x5f12005f 0x5f12005f 0x5f12005f 0x5f12005f 0x5f12005f 0x5f12005f 0x5f12005f ""}
|
||||
//- rjf: global colors
|
||||
{InactivePanelOverlay "Inactive Panel Overlay" inactive_panel_overlay 0x000000ff 0xa4a4a43f 0x0000003f 0xfefefe53 0x0000003f 0x0000001c 0x0000003f 0x0000003f 0x0000003f ""}
|
||||
{DropShadow "Drop Shadow" drop_shadow 0x000000ff 0x0000004c 0x0000007f 0xa3a3a37e 0x0000007f 0xc9bfa394 0x0000007f 0x0000007f 0x0000007f ""}
|
||||
|
||||
//- rjf: base ui container colors
|
||||
{BaseBackground "Base Background" base_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{BaseBackgroundAlt "Base Background (Alternate)" base_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BaseBorder "Base Border" base_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
//- rjf: base palette
|
||||
{BaseBackground "Base Background" base_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{BaseBackgroundAlt "Base Background (Alternate)" base_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BaseBackgroundGood "Base Background (Good)" base_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BaseBackgroundBad "Base Background (Bad)" base_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BaseBackgroundPop "Base Background (Pop)" base_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BaseBorder "Base Border" base_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{BaseText "Base Text" base_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BaseTextWeak "Base Text (Weak)" base_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BaseHover "Base Hover" base_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BaseFocus "Base Focus" base_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BaseCursor "Base Cursor" base_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BaseSelection "Base Selection" base_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: menu bar ui container colors
|
||||
{MenuBarBackground "Menu Bar Background" menu_bar_background 0x2b3740ff 0xeaeaea7f 0x1b1b1bfd 0xffffff7f 0x00202bff 0xeee8d5ff 0x0c0c0cfe 0x0c0c0cfe 0x007d7dff ""}
|
||||
{MenuBarBackgroundAlt "Menu Bar Background (Alternate)" menu_bar_background_alt 0x2b3740ff 0x3e4c577f 0x1b1b1bfd 0xffffff7f 0x3e4c577f 0x3e4c577f 0x3e4c577f 0x3e4c577f 0x007d7dff ""}
|
||||
{MenuBarBorder "Menu Bar Border" menu_bar_border 0x3e4c57ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xffffff19 0xbebaabfe 0xffffff19 0xffffff19 0xfefefe00 ""}
|
||||
//- rjf: menu bar palette
|
||||
{MenuBarBackground "Menu Bar Background" menu_bar_background 0x2b3740ff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{MenuBarBackgroundAlt "Menu Bar Background (Alternate)" menu_bar_background_alt 0x2b3740ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{MenuBarBackgroundGood "Menu Bar Background (Good)" menu_bar_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{MenuBarBackgroundBad "Menu Bar Background (Bad)" menu_bar_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{MenuBarBackgroundPop "Menu Bar Background (Pop)" menu_bar_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{MenuBarBorder "Menu Bar Border" menu_bar_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{MenuBarText "Menu Bar Text" menu_bar_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{MenuBarTextWeak "Menu Bar Text (Weak)" menu_bar_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{MenuBarHover "Menu Bar Hover" menu_bar_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{MenuBarFocus "Menu Bar Focus" menu_bar_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{MenuBarCursor "Menu Bar Cursor" menu_bar_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{MenuBarSelection "Menu Bar Selection" menu_bar_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: floating ui container colors
|
||||
{FloatingBackground "Floating Background" floating_background 0x333333ff 0xccccccc0 0x33333333 0xfefefec7 0x007fa14e 0xffffff7c 0x0c0c0c32 0x0c0c0c3e 0x007c7c55 ""}
|
||||
{FloatingBackgroundAlt "Floating Background (Alternate)" floating_background_alt 0x333333ff 0x33333333 0x33333333 0x33333333 0x33333333 0x33333333 0x33333333 0x33333333 0x33333333 ""}
|
||||
{FloatingBorder "Floating Border" floating_border 0x3f3f3fff 0xa4a4a4fe 0x3f3f3ffd 0xb6b6b6ff 0xfdfdfd3a 0xbebaabfe 0x423425fe 0x3f3f3ffd 0x00ffff55 ""}
|
||||
//- rjf: good palette
|
||||
{GoodBackground "Good Background" good_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{GoodBackgroundAlt "Good Background (Alternate)" good_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{GoodBackgroundGood "Good Background (Good)" good_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{GoodBackgroundBad "Good Background (Bad)" good_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{GoodBackgroundPop "Good Background (Pop)" good_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{GoodBorder "Good Border" good_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{GoodText "Good Text" good_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{GoodTextWeak "Good Text (Weak)" good_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{GoodHover "Good Hover" good_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{GoodFocus "Good Focus" good_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{GoodCursor "Good Cursor" good_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{GoodSelection "Good Selection" good_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: ui element colors
|
||||
{ImplicitButtonBackground "Implicit Button Background" implicit_button_background 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 ""}
|
||||
{ImplicitButtonHover "Implicit Button Hover" implicit_button_hover 0xffffffff 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 ""}
|
||||
{ImplicitButtonBorder "Implicit Button Border" implicit_button_border 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0xbdb9aa00 0x00000000 0x00000000 0x00000000 ""}
|
||||
{PlainButtonBackground "Plain Button Background" plain_button_background 0x1b1b1bff 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe ""}
|
||||
{PlainButtonHover "Plain Button Hover" plain_button_hover 0xffffffff 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe 0x1b1b1bfe ""}
|
||||
{PlainButtonBorder "Plain Button Border" plain_button_border 0x3f3f3fff 0x3f3f3ffe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x3f3f3ffe 0x3f3f3ffe 0x3f3f3ffe ""}
|
||||
{PositivePopButtonBackground "Positive Pop Button Background" positive_pop_button_background 0x2c5b36ff 0x65f534ff 0x2c5b36ff 0x84ce93ff 0x2c5b36ff 0xb6ddbeff 0x132e19ff 0x152f1bff 0x2c5b36ff ""}
|
||||
{PositivePopButtonHover "Positive Pop Button Hover" positive_pop_button_hover 0xffc800ff 0x65f534ff 0x2c5b36ff 0x84ce93ff 0x2c5b36ff 0xb6ddbeff 0x132e19ff 0x152f1bff 0x2c5b36ff ""}
|
||||
{PositivePopButtonBorder "Positive Pop Button Border" positive_pop_button_border 0x3f3f3fff 0x3f3f3ffd 0x3f3f3ffd 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x3f3f3ffd 0x3f3f3ffd 0x3f3f3ffd ""}
|
||||
{NegativePopButtonBackground "Negative Pop Button Background" negative_pop_button_background 0x803425ff 0xff694cff 0x803425ff 0xbd3e24ff 0x803425ff 0xf8b0a1ff 0x803425ff 0x43150cff 0x803425ff ""}
|
||||
{NegativePopButtonHover "Negative Pop Button Hover" negative_pop_button_hover 0xe88774ff 0xff694cff 0x803425ff 0xbd3e24ff 0x803425ff 0xf8b0a1ff 0x803425ff 0x43150cff 0x803425ff ""}
|
||||
{NegativePopButtonBorder "Negative Pop Button Border" negative_pop_button_border 0x3f3f3fff 0x3f3f3ffd 0x3f3f3ffd 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x3f3f3ffd 0x3f3f3ffd 0x3f3f3ffd ""}
|
||||
{NeutralPopButtonBackground "Neutral Pop Button Background" neutral_pop_button_background 0x355b6eff 0xa6becaff 0x355b6eff 0x6e9db5ff 0x355b6eff 0xb2d3e3ff 0x15445cff 0x1b323eff 0x933100ff ""}
|
||||
{NeutralPopButtonHover "Neutral Pop Button Hover" neutral_pop_button_hover 0xffbb00ff 0xa6becaff 0x355b6eff 0x6e9db5ff 0x355b6eff 0xb2d3e3ff 0x15445cff 0x1b323eff 0x933100ff ""}
|
||||
{NeutralPopButtonBorder "Neutral Pop Button Border" neutral_pop_button_border 0x3f3f3fff 0xa6a6a6fd 0x3f3f3ffd 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x3f3f3ffd 0x3f3f3ffd 0x3f3f3ffd ""}
|
||||
{ScrollBarButtonBackground "Scroll Bar Button Background" scroll_bar_button_background 0x2b2b2bff 0xa9a9a9fe 0x2b2b2bfe 0xe8e8e8fe 0x005e77fe 0xe3dbc7fe 0x1f1f27fe 0x212721fe 0x007d7dff ""}
|
||||
{ScrollBarButtonHover "Scroll Bar Button Hover" scroll_bar_button_hover 0xffffffff 0xa9a9a9fe 0x2b2b2bfe 0xe8e8e8fe 0x005e77fe 0xe3dbc7fe 0x1f1f27fe 0x212721fe 0x007d7dff ""}
|
||||
{ScrollBarButtonBorder "Scroll Bar Button Border" scroll_bar_button_border 0x3f3f3fff 0xc0c0c0fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0xfefefe4d 0x3f3f3ffe 0x3f3f3ffe ""}
|
||||
{TabBackground "Tab Background" tab_background 0x6f5135ff 0xa98b6fff 0x0079ccff 0xfffffffe 0x005e77fe 0xfdf6e3ff 0x1f1f27fe 0x212721fe 0x007d7dff ""}
|
||||
{TabHover "Tab Hover" tab_hover 0xffa600ff 0xa98b6fff 0x0079ccff 0xfffffffe 0x005e77fe 0xfdf6e3ff 0x1f1f27fe 0x212721fe 0x007d7dff ""}
|
||||
{TabBorder "Tab Border" tab_border 0x8a6e54ff 0xffffff4d 0xfefefe4d 0xb6b6b6ff 0xfefefe4d 0xbebaabfe 0xfefefe4d 0xfefefe4d 0xfefefe4d ""}
|
||||
{TabBackgroundInactive "Tab Background (Inactive)" tab_background_inactive 0x2b3740ff 0x8282827f 0xfefefe14 0xcdd4dc7f 0x3e4c577f 0xd4cfc0fe 0x131315ee 0x3a3a3a7f 0x3e4c577f ""}
|
||||
{TabHoverInactive "Tab Hover (Inactive)" tab_hover_inactive 0xffa600ff 0x8282827f 0xfefefe14 0xcdd4dc7f 0x3e4c577f 0xd4cfc0fe 0x131315ee 0x3a3a3a7f 0x3e4c577f ""}
|
||||
{TabBorderInactive "Tab Border (Inactive)" tab_border_inactive 0x3e4c57ff 0xffffff19 0xffffff00 0xb6b6b6ff 0xffffff19 0xbebaabfe 0xffffff19 0x00000019 0xfefefe19 ""}
|
||||
//- rjf: bad palette
|
||||
{BadBackground "Bad Background" bad_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{BadBackgroundAlt "Bad Background (Alternate)" bad_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BadBackgroundGood "Bad Background (Good)" bad_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BadBackgroundBad "Bad Background (Bad)" bad_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BadBackgroundPop "Bad Background (Pop)" bad_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{BadBorder "Bad Border" bad_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{BadText "Bad Text" bad_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BadTextWeak "Bad Text (Weak)" bad_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BadHover "Bad Hover" bad_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BadFocus "Bad Focus" bad_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BadCursor "Bad Cursor" bad_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{BadSelection "Bad Selection" bad_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: code colors
|
||||
{CodeDefault "Code (Default)" code_default 0xcbcbcbff 0x4d4d4dff 0xcbcbcbff 0x000000ff 0xcbcbcbff 0x657b83ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{CodeSymbol "Code (Symbol)" code_symbol 0x42a2cfff 0x205670fe 0xdcdcaaff 0x000000ff 0xcb4a15ff 0xcb4a15ff 0xcc5634ff 0x42a2cffe 0x65b1ffff ""}
|
||||
{CodeType "Code (Type)" code_type 0xfec746ff 0x996b00ff 0x4ec9afff 0xa33700ff 0xcb4a15ff 0xcb4a15ff 0xd8a51bff 0xfd7c52ff 0xfec746ff ""}
|
||||
{CodeLocal "Code (Local)" code_local 0x98bc80ff 0x446a2bff 0x9cdbfeff 0x007666ff 0x98bc80ff 0x258ad2ff 0xc04047ff 0x98bc80ff 0x00ff00ff ""}
|
||||
{CodeRegister "Code (Register)" code_register 0xb7afd5ff 0x4c35a1ff 0xb7afd5ff 0xb7afd5ff 0xb7afd5ff 0x373345ff 0xb7afd5ff 0xb7afd5ff 0xb7afd5ff ""}
|
||||
{CodeKeyword "Code (Keyword)" code_keyword 0xb38d4cff 0x573700ff 0x569cd6ff 0x0000ffff 0x849803ff 0x586e75ff 0xac7a09ff 0xd08f1eff 0x00ffffff ""}
|
||||
{CodeDelimiterOperator "Code (Delimiters/Operators)" code_delimiter_operator 0x767676ff 0x767676ff 0x767676ff 0x767676ff 0x767676ff 0x767676ff 0xa08462ff 0x90b080ff 0xffffffff ""}
|
||||
{CodeNumeric "Code (Numeric)" code_numeric 0x98abb1ff 0x3f6e7dff 0xb5cea8ff 0x088658ff 0xd33582ff 0xd33482ef 0x698e21ff 0x4fff2eff 0x00ff00ff ""}
|
||||
{CodeNumericAltDigitGroup "Code (Numeric, Alt. Digit Group)" code_numeric_alt_digit_group 0x738287ff 0x1f4450ff 0x729360ff 0x0c3828ff 0x902559ff 0x8e2659ff 0x3a4e11ff 0x3ccd21ff 0x738287ff ""}
|
||||
{CodeString "Code (String)" code_string 0x98abb1ff 0x3c606bff 0xd59b85ff 0xa31414ff 0x1f9d91ff 0x29a198ff 0x6a8e22ff 0x4fff2eff 0x98abb1ff ""}
|
||||
{CodeMeta "Code (Meta)" code_meta 0xd96759ff 0xad3627ff 0xd59c85ff 0x0000ffff 0x839802ff 0xd96759ff 0xdab98fff 0xa0b8a0ff 0xff0000ff ""}
|
||||
{CodeComment "Code (Comment)" code_comment 0x717171ff 0x4b4b4bff 0x57a54aff 0x008000ff 0x556a6fff 0x93a1a1ff 0x686868ff 0x1e8fefff 0xffffffff ""}
|
||||
{CodeLineNumbers "Code Line Numbers" code_line_numbers 0x7f7f7fff 0x4b4b4bff 0x2a91afff 0x227893ff 0x566c73ff 0x227893ef 0xa08462ff 0x7e7e7ffe 0x007d7dff ""}
|
||||
{CodeLineNumbersSelected "Code Line Numbers (Selected)" code_line_numbers_selected 0xbebebeff 0x000000ff 0x9ddaecff 0x123d4bfe 0xa2aaacff 0x111e22ef 0xc8b399ff 0xbebebeff 0x00fefeff ""}
|
||||
//- rjf: pop palette
|
||||
{PopBackground "Pop Background" pop_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{PopBackgroundAlt "Pop Background (Alternate)" pop_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{PopBackgroundGood "Pop Background (Good)" pop_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{PopBackgroundBad "Pop Background (Bad)" pop_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{PopBackgroundPop "Pop Background (Pop)" pop_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{PopBorder "Pop Border" pop_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{PopText "Pop Text" pop_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{PopTextWeak "Pop Text (Weak)" pop_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{PopHover "Pop Hover" pop_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{PopFocus "Pop Focus" pop_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{PopCursor "Pop Cursor" pop_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{PopSelection "Pop Selection" pop_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: debugging colors
|
||||
{LineInfoBackground0 "Line Info Background 0" line_info_background_0 0x99503dff 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f ""}
|
||||
{LineInfoBackground1 "Line Info Background 1" line_info_background_1 0xfe8249ff 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f ""}
|
||||
{LineInfoBackground2 "Line Info Background 2" line_info_background_2 0xffba17ff 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f ""}
|
||||
{LineInfoBackground3 "Line Info Background 3" line_info_background_3 0xcefd69ff 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f ""}
|
||||
{LineInfoBackground4 "Line Info Background 4" line_info_background_4 0x99503dff 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f ""}
|
||||
{LineInfoBackground5 "Line Info Background 5" line_info_background_5 0xfe8249ff 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f ""}
|
||||
{LineInfoBackground6 "Line Info Background 6" line_info_background_6 0xffba17ff 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f ""}
|
||||
{LineInfoBackground7 "Line Info Background 7" line_info_background_7 0xcefd69ff 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f ""}
|
||||
{Thread0 "Thread 0" thread_0 0xffcb7fff 0x945800ff 0xffcb7fff 0x945800ff 0xffcb7fff 0x945800ff 0xffcb7fff 0xffcb7fff 0xffcb7fff ""}
|
||||
{Thread1 "Thread 1" thread_1 0xb2ff65ff 0x3f5b23ff 0xb2ff65ff 0x3f5b23ff 0xb2ff65ff 0x3f5b23ff 0xb2ff65ff 0xb2ff65ff 0xb2ff65ff ""}
|
||||
{Thread2 "Thread 2" thread_2 0xff99e5ff 0x642a55ff 0xff99e5ff 0x642a55ff 0xff99e5ff 0x642a55ff 0xff99e5ff 0xff99e5ff 0xff99e5ff ""}
|
||||
{Thread3 "Thread 3" thread_3 0x6598ffff 0x30456fff 0x6598ffff 0x30456fff 0x6598ffff 0x30456fff 0x6598ffff 0x6598ffff 0x6598ffff ""}
|
||||
{Thread4 "Thread 4" thread_4 0x65ffcbff 0x264f41ff 0x65ffcbff 0x264f41ff 0x65ffcbff 0x264f41ff 0x65ffcbff 0x65ffcbff 0x65ffcbff ""}
|
||||
{Thread5 "Thread 5" thread_5 0xff9819ff 0x736a5fff 0xff9819ff 0x736a5fff 0xff9819ff 0x736a5fff 0xff9819ff 0xff9819ff 0xff9819ff ""}
|
||||
{Thread6 "Thread 6" thread_6 0x9932ffff 0x472f5eff 0x9932ffff 0x472f5eff 0x9932ffff 0x472f5eff 0x9932ffff 0x9932ffff 0x9932ffff ""}
|
||||
{Thread7 "Thread 7" thread_7 0x65ff4cff 0x405d3bff 0x65ff4cff 0x405d3bff 0x65ff4cff 0x405d3bff 0x65ff4cff 0x65ff4cff 0x65ff4cff ""}
|
||||
{ThreadUnwound "Thread (Unwound)" thread_unwound 0xb2ccd8ff 0x49606aff 0xb2ccd8ff 0x49606aff 0xb2ccd8ff 0x49606aff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff ""}
|
||||
{ThreadError "Thread (Error)" thread_error 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23218ff 0xb23219ff 0xb23219ff 0xb23219ff ""}
|
||||
{Breakpoint "Breakpoint" breakpoint 0xa72911ff 0xff2800ff 0xa72911ff 0xa72911ff 0xa72911ff 0xff684bff 0xa72911ff 0xa72911ff 0xff2800ff ""}
|
||||
{CacheLineBoundary "Cache Line Boundary" cache_line_boundary 0x355b6eff 0xa6becaff 0x355b6eff 0x6e9db5ff 0x355b6eff 0xb2d3e3ff 0x15445cff 0x1b323eff 0x933100ff ""}
|
||||
//- rjf: scroll bar palette
|
||||
{ScrollBarBackground "Scroll Bar Background" scroll_bar_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{ScrollBarBackgroundAlt "Scroll Bar Background (Alternate)" scroll_bar_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{ScrollBarBackgroundGood "Scroll Bar Background (Good)" scroll_bar_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{ScrollBarBackgroundBad "Scroll Bar Background (Bad)" scroll_bar_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{ScrollBarBackgroundPop "Scroll Bar Background (Pop)" scroll_bar_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{ScrollBarBorder "Scroll Bar Border" scroll_bar_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{ScrollBarText "Scroll Bar Text" scroll_bar_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{ScrollBarTextWeak "Scroll Bar Text (Weak)" scroll_bar_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{ScrollBarHover "Scroll Bar Hover" scroll_bar_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{ScrollBarFocus "Scroll Bar Focus" scroll_bar_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{ScrollBarCursor "Scroll Bar Cursor" scroll_bar_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{ScrollBarSelection "Scroll Bar Selection" scroll_bar_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: tab (active) palette
|
||||
{TabBackground "Tab Background" tab_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{TabBackgroundAlt "Tab Background (Alternate)" tab_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabBackgroundGood "Tab Background (Good)" tab_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabBackgroundBad "Tab Background (Bad)" tab_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabBackgroundPop "Tab Background (Pop)" tab_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabBorder "Tab Border" tab_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{TabText "Tab Text" tab_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabTextWeak "Tab Text (Weak)" tab_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabHover "Tab Hover" tab_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabFocus "Tab Focus" tab_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabCursor "Tab Cursor" tab_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabSelection "Tab Selection" tab_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: tab (inactive) palette
|
||||
{TabInactiveBackground "Tab (Inactive) Background" tab_inactive_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{TabInactiveBackgroundAlt "Tab (Inactive) Background (Alternate)" tab_inactive_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabInactiveBackgroundGood "Tab (Inactive) Background (Good)" tab_inactive_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabInactiveBackgroundBad "Tab (Inactive) Background (Bad)" tab_inactive_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabInactiveBackgroundPop "Tab (Inactive) Background (Pop)" tab_inactive_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{TabInactiveBorder "Tab (Inactive) Border" tab_inactive_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{TabInactiveText "Tab (Inactive) Text" tab_inactive_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabInactiveTextWeak "Tab (Inactive) Text (Weak)" tab_inactive_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabInactiveHover "Tab (Inactive) Hover" tab_inactive_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabInactiveFocus "Tab (Inactive) Focus" tab_inactive_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabInactiveCursor "Tab (Inactive) Cursor" tab_inactive_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{TabInactiveSelection "Tab (Inactive) Selection" tab_inactive_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: drop site palette
|
||||
{DropSiteBackground "Drop Site Background" drop_site_background 0x1b1b1bff 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""}
|
||||
{DropSiteBackgroundAlt "Drop Site Background (Alternate)" drop_site_background_alt 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{DropSiteBackgroundGood "Drop Site Background (Good)" drop_site_background_good 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{DropSiteBackgroundBad "Drop Site Background (Bad)" drop_site_background_bad 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{DropSiteBackgroundPop "Drop Site Background (Pop)" drop_site_background_pop 0x222222ff 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""}
|
||||
{DropSiteBorder "Drop Site Border" drop_site_border 0x404040ff 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""}
|
||||
{DropSiteText "Drop Site Text" drop_site_text 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{DropSiteTextWeak "Drop Site Text (Weak)" drop_site_text_weak 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{DropSiteHover "Drop Site Hover" drop_site_hover 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{DropSiteFocus "Drop Site Focus" drop_site_focus 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{DropSiteCursor "Drop Site Cursor" drop_site_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{DropSiteSelection "Drop Site Selection" drop_site_cursor 0xe5e5e5ff 0x4c4c4cff 0xe5e5e5ff 0x000000ff 0x999999ff 0x333333ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
|
||||
//- rjf: code colors (extra text colors which extend 'base')
|
||||
{CodeDefault "Code (Default)" code_default 0xcbcbcbff 0x4d4d4dff 0xcbcbcbff 0x000000ff 0xcbcbcbff 0x657b83ff 0xa08462ff 0x90b080ff 0x00fefeff ""}
|
||||
{CodeSymbol "Code (Symbol)" code_symbol 0x42a2cfff 0x205670fe 0xdcdcaaff 0x000000ff 0xcb4a15ff 0xcb4a15ff 0xcc5634ff 0x42a2cffe 0x65b1ffff ""}
|
||||
{CodeType "Code (Type)" code_type 0xfec746ff 0x996b00ff 0x4ec9afff 0xa33700ff 0xcb4a15ff 0xcb4a15ff 0xd8a51bff 0xfd7c52ff 0xfec746ff ""}
|
||||
{CodeLocal "Code (Local)" code_local 0x98bc80ff 0x446a2bff 0x9cdbfeff 0x007666ff 0x98bc80ff 0x258ad2ff 0xc04047ff 0x98bc80ff 0x00ff00ff ""}
|
||||
{CodeRegister "Code (Register)" code_register 0xb7afd5ff 0x4c35a1ff 0xb7afd5ff 0xb7afd5ff 0xb7afd5ff 0x373345ff 0xb7afd5ff 0xb7afd5ff 0xb7afd5ff ""}
|
||||
{CodeKeyword "Code (Keyword)" code_keyword 0xb38d4cff 0x573700ff 0x569cd6ff 0x0000ffff 0x849803ff 0x586e75ff 0xac7a09ff 0xd08f1eff 0x00ffffff ""}
|
||||
{CodeDelimiterOperator "Code (Delimiters/Operators)" code_delimiter_operator 0x767676ff 0x767676ff 0x767676ff 0x767676ff 0x767676ff 0x767676ff 0xa08462ff 0x90b080ff 0xffffffff ""}
|
||||
{CodeNumeric "Code (Numeric)" code_numeric 0x98abb1ff 0x3f6e7dff 0xb5cea8ff 0x088658ff 0xd33582ff 0xd33482ef 0x698e21ff 0x4fff2eff 0x00ff00ff ""}
|
||||
{CodeNumericAltDigitGroup "Code (Numeric, Alt. Digit Group)" code_numeric_alt_digit_group 0x738287ff 0x1f4450ff 0x729360ff 0x0c3828ff 0x902559ff 0x8e2659ff 0x3a4e11ff 0x3ccd21ff 0x738287ff ""}
|
||||
{CodeString "Code (String)" code_string 0x98abb1ff 0x3c606bff 0xd59b85ff 0xa31414ff 0x1f9d91ff 0x29a198ff 0x6a8e22ff 0x4fff2eff 0x98abb1ff ""}
|
||||
{CodeMeta "Code (Meta)" code_meta 0xd96759ff 0xad3627ff 0xd59c85ff 0x0000ffff 0x839802ff 0xd96759ff 0xdab98fff 0xa0b8a0ff 0xff0000ff ""}
|
||||
{CodeComment "Code (Comment)" code_comment 0x717171ff 0x4b4b4bff 0x57a54aff 0x008000ff 0x556a6fff 0x93a1a1ff 0x686868ff 0x1e8fefff 0xffffffff ""}
|
||||
{CodeLineNumbers "Code Line Numbers" code_line_numbers 0x7f7f7fff 0x4b4b4bff 0x2a91afff 0x227893ff 0x566c73ff 0x227893ef 0xa08462ff 0x7e7e7ffe 0x007d7dff ""}
|
||||
{CodeLineNumbersSelected "Code Line Numbers (Selected)" code_line_numbers_selected 0xbebebeff 0x000000ff 0x9ddaecff 0x123d4bfe 0xa2aaacff 0x111e22ef 0xc8b399ff 0xbebebeff 0x00fefeff ""}
|
||||
|
||||
//- rjf: debugging colors (extra text/element colors which extend 'base')
|
||||
{LineInfoBackground0 "Line Info Background 0" line_info_background_0 0x99503dff 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f ""}
|
||||
{LineInfoBackground1 "Line Info Background 1" line_info_background_1 0xfe8249ff 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f ""}
|
||||
{LineInfoBackground2 "Line Info Background 2" line_info_background_2 0xffba17ff 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f ""}
|
||||
{LineInfoBackground3 "Line Info Background 3" line_info_background_3 0xcefd69ff 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f ""}
|
||||
{LineInfoBackground4 "Line Info Background 4" line_info_background_4 0x99503dff 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f ""}
|
||||
{LineInfoBackground5 "Line Info Background 5" line_info_background_5 0xfe8249ff 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f ""}
|
||||
{LineInfoBackground6 "Line Info Background 6" line_info_background_6 0xffba17ff 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f ""}
|
||||
{LineInfoBackground7 "Line Info Background 7" line_info_background_7 0xcefd69ff 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f ""}
|
||||
{Thread0 "Thread 0" thread_0 0xffcb7fff 0x945800ff 0xffcb7fff 0x945800ff 0xffcb7fff 0x945800ff 0xffcb7fff 0xffcb7fff 0xffcb7fff ""}
|
||||
{Thread1 "Thread 1" thread_1 0xb2ff65ff 0x3f5b23ff 0xb2ff65ff 0x3f5b23ff 0xb2ff65ff 0x3f5b23ff 0xb2ff65ff 0xb2ff65ff 0xb2ff65ff ""}
|
||||
{Thread2 "Thread 2" thread_2 0xff99e5ff 0x642a55ff 0xff99e5ff 0x642a55ff 0xff99e5ff 0x642a55ff 0xff99e5ff 0xff99e5ff 0xff99e5ff ""}
|
||||
{Thread3 "Thread 3" thread_3 0x6598ffff 0x30456fff 0x6598ffff 0x30456fff 0x6598ffff 0x30456fff 0x6598ffff 0x6598ffff 0x6598ffff ""}
|
||||
{Thread4 "Thread 4" thread_4 0x65ffcbff 0x264f41ff 0x65ffcbff 0x264f41ff 0x65ffcbff 0x264f41ff 0x65ffcbff 0x65ffcbff 0x65ffcbff ""}
|
||||
{Thread5 "Thread 5" thread_5 0xff9819ff 0x736a5fff 0xff9819ff 0x736a5fff 0xff9819ff 0x736a5fff 0xff9819ff 0xff9819ff 0xff9819ff ""}
|
||||
{Thread6 "Thread 6" thread_6 0x9932ffff 0x472f5eff 0x9932ffff 0x472f5eff 0x9932ffff 0x472f5eff 0x9932ffff 0x9932ffff 0x9932ffff ""}
|
||||
{Thread7 "Thread 7" thread_7 0x65ff4cff 0x405d3bff 0x65ff4cff 0x405d3bff 0x65ff4cff 0x405d3bff 0x65ff4cff 0x65ff4cff 0x65ff4cff ""}
|
||||
{ThreadUnwound "Thread (Unwound)" thread_unwound 0xb2ccd8ff 0x49606aff 0xb2ccd8ff 0x49606aff 0xb2ccd8ff 0x49606aff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff ""}
|
||||
{ThreadError "Thread (Error)" thread_error 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23218ff 0xb23219ff 0xb23219ff 0xb23219ff ""}
|
||||
{Breakpoint "Breakpoint" breakpoint 0xa72911ff 0xff2800ff 0xa72911ff 0xa72911ff 0xa72911ff 0xff684bff 0xa72911ff 0xa72911ff 0xff2800ff ""}
|
||||
{CacheLineBoundary "Cache Line Boundary" cache_line_boundary 0x355b6eff 0xa6becaff 0x355b6eff 0x6e9db5ff 0x355b6eff 0xb2d3e3ff 0x15445cff 0x1b323eff 0x933100ff ""}
|
||||
}
|
||||
|
||||
@table(old_name new_name)
|
||||
@@ -1145,6 +1322,11 @@ RD_ThemeColorVersionRemapTable:
|
||||
@expand(RD_ThemePresetTable a) `str8_lit_comp("$(a.name_lower)")`,
|
||||
}
|
||||
|
||||
@data(String8) rd_theme_preset_cfg_string_table:
|
||||
{
|
||||
@expand(RD_ThemePresetTable a) `str8_lit_comp("$(a.cfg)")`,
|
||||
}
|
||||
|
||||
@data(String8) rd_theme_color_version_remap_old_name_table:
|
||||
{
|
||||
@expand(RD_ThemeColorVersionRemapTable a) `str8_lit_comp("$(a.old_name)")`
|
||||
|
||||
+337
-210
File diff suppressed because it is too large
Load Diff
+26
-11
@@ -419,9 +419,18 @@ struct RD_RegsNode
|
||||
////////////////////////////////
|
||||
//~ rjf: Structured Theme Types, Parsed From Config
|
||||
|
||||
typedef struct RD_ThemePattern RD_ThemePattern;
|
||||
struct RD_ThemePattern
|
||||
{
|
||||
String8Array tags;
|
||||
Vec4F32 linear;
|
||||
};
|
||||
|
||||
typedef struct RD_Theme RD_Theme;
|
||||
struct RD_Theme
|
||||
{
|
||||
RD_ThemePattern *patterns;
|
||||
U64 patterns_count;
|
||||
Vec4F32 colors[RD_ThemeColor_COUNT];
|
||||
};
|
||||
|
||||
@@ -438,16 +447,13 @@ typedef enum RD_PaletteCode
|
||||
{
|
||||
RD_PaletteCode_Base,
|
||||
RD_PaletteCode_MenuBar,
|
||||
RD_PaletteCode_Floating,
|
||||
RD_PaletteCode_ImplicitButton,
|
||||
RD_PaletteCode_PlainButton,
|
||||
RD_PaletteCode_PositivePopButton,
|
||||
RD_PaletteCode_NegativePopButton,
|
||||
RD_PaletteCode_NeutralPopButton,
|
||||
RD_PaletteCode_ScrollBarButton,
|
||||
RD_PaletteCode_Good,
|
||||
RD_PaletteCode_Bad,
|
||||
RD_PaletteCode_Pop,
|
||||
RD_PaletteCode_ScrollBar,
|
||||
RD_PaletteCode_Tab,
|
||||
RD_PaletteCode_TabInactive,
|
||||
RD_PaletteCode_DropSiteOverlay,
|
||||
RD_PaletteCode_DropSite,
|
||||
RD_PaletteCode_COUNT
|
||||
}
|
||||
RD_PaletteCode;
|
||||
@@ -542,6 +548,9 @@ struct RD_WindowState
|
||||
B32 window_temporarily_focused_ipc;
|
||||
B32 window_layout_reset;
|
||||
|
||||
// rjf: theme
|
||||
RD_Theme *theme;
|
||||
|
||||
// rjf: config/settings
|
||||
UI_Palette cfg_palettes[RD_PaletteCode_COUNT]; // derivative from theme
|
||||
|
||||
@@ -715,6 +724,9 @@ struct RD_State
|
||||
// rjf: schema table
|
||||
MD_Node **schemas;
|
||||
|
||||
// rjf: default theme table
|
||||
MD_Node *theme_preset_trees[RD_ThemePreset_COUNT];
|
||||
|
||||
// rjf: vocab table
|
||||
RD_VocabInfoMap vocab_info_map;
|
||||
|
||||
@@ -961,6 +973,7 @@ internal void rd_cfg_insert_child(RD_Cfg *parent, RD_Cfg *prev_child, RD_Cfg *ne
|
||||
internal void rd_cfg_unhook(RD_Cfg *parent, RD_Cfg *child);
|
||||
internal RD_Cfg *rd_cfg_child_from_string(RD_Cfg *parent, String8 string);
|
||||
internal RD_Cfg *rd_cfg_child_from_string_or_alloc(RD_Cfg *parent, String8 string);
|
||||
internal RD_Cfg *rd_cfg_child_from_string_or_parent(RD_Cfg *parent, String8 string);
|
||||
internal RD_CfgList rd_cfg_child_list_from_string(Arena *arena, RD_Cfg *parent, String8 string);
|
||||
internal RD_CfgList rd_cfg_top_level_list_from_string(Arena *arena, String8 string);
|
||||
internal RD_CfgArray rd_cfg_array_from_list(Arena *arena, RD_CfgList *list);
|
||||
@@ -968,6 +981,7 @@ internal RD_CfgList rd_cfg_tree_list_from_string(Arena *arena, String8 string);
|
||||
internal String8 rd_string_from_cfg_tree(Arena *arena, RD_Cfg *cfg);
|
||||
internal RD_CfgRec rd_cfg_rec__depth_first(RD_Cfg *root, RD_Cfg *cfg);
|
||||
internal void rd_cfg_list_push(Arena *arena, RD_CfgList *list, RD_Cfg *cfg);
|
||||
internal void rd_cfg_list_push_front(Arena *arena, RD_CfgList *list, RD_Cfg *cfg);
|
||||
#define rd_cfg_list_first(list) ((list)->count ? (list)->first->v : &rd_nil_cfg)
|
||||
#define rd_cfg_list_last(list) ((list)->count ? (list)->last->v : &rd_nil_cfg)
|
||||
|
||||
@@ -993,7 +1007,7 @@ internal String8 rd_label_from_cfg(RD_Cfg *cfg);
|
||||
internal String8 rd_expr_from_cfg(RD_Cfg *cfg);
|
||||
internal String8 rd_view_rule_from_cfg(RD_Cfg *cfg);
|
||||
internal D_Target rd_target_from_cfg(Arena *arena, RD_Cfg *cfg);
|
||||
internal DR_FStrList rd_title_fstrs_from_cfg(Arena *arena, RD_Cfg *cfg, Vec4F32 secondary_color, F32 size);
|
||||
internal DR_FStrList rd_title_fstrs_from_cfg(Arena *arena, RD_Cfg *cfg);
|
||||
|
||||
internal MD_Node *rd_schema_from_name(Arena *arena, String8 name);
|
||||
|
||||
@@ -1014,7 +1028,7 @@ internal E_Expr *rd_tag_from_cfg(Arena *arena, RD_Cfg *cfg);
|
||||
|
||||
internal Vec4F32 rd_rgba_from_ctrl_entity(CTRL_Entity *entity);
|
||||
internal String8 rd_name_from_ctrl_entity(Arena *arena, CTRL_Entity *entity);
|
||||
internal DR_FStrList rd_title_fstrs_from_ctrl_entity(Arena *arena, CTRL_Entity *entity, Vec4F32 secondary_color, F32 size, B32 include_extras);
|
||||
internal DR_FStrList rd_title_fstrs_from_ctrl_entity(Arena *arena, CTRL_Entity *entity, B32 include_extras);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Evaluation Spaces
|
||||
@@ -1150,6 +1164,7 @@ internal String8 rd_push_search_string(Arena *arena);
|
||||
//~ rjf: Colors, Fonts, Config
|
||||
|
||||
//- rjf: colors
|
||||
internal Vec4F32 rd_color_from_tags(String8Array tags);
|
||||
internal Vec4F32 rd_rgba_from_theme_color(RD_ThemeColor color);
|
||||
internal RD_ThemeColor rd_theme_color_from_txt_token_kind(TXT_TokenKind kind);
|
||||
internal RD_ThemeColor rd_theme_color_from_txt_token_kind_lookup_string(TXT_TokenKind kind, String8 string);
|
||||
@@ -1178,7 +1193,7 @@ internal RD_VocabInfo *rd_vocab_info_from_code_name_plural(String8 code_name_plu
|
||||
#define rd_display_plural_from_code_name(code_name) (rd_vocab_info_from_code_name(code_name)->display_name_plural)
|
||||
#define rd_icon_kind_from_code_name(code_name) (rd_vocab_info_from_code_name(code_name)->icon_kind)
|
||||
#define rd_singular_from_code_name_plural(code_name_plural) (rd_vocab_info_from_code_name_plural(code_name_plural)->code_name)
|
||||
internal DR_FStrList rd_title_fstrs_from_code_name(Arena *arena, String8 code_name, Vec4F32 secondary_color, F32 size);
|
||||
internal DR_FStrList rd_title_fstrs_from_code_name(Arena *arena, String8 code_name);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Continuous Frame Requests
|
||||
|
||||
+30
-47
@@ -1034,7 +1034,7 @@ rd_watch_row_info_from_row(Arena *arena, EV_Row *row)
|
||||
else if(is_top_level && evalled_cfg != &rd_nil_cfg)
|
||||
{
|
||||
RD_Cfg *cfg = evalled_cfg;
|
||||
rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .flags = RD_WatchCellFlag_Button, .pct = 1.f, .fstrs = rd_title_fstrs_from_cfg(arena, cfg, ui_top_palette()->text_weak, ui_top_font_size()));
|
||||
rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .flags = RD_WatchCellFlag_Button, .pct = 1.f, .fstrs = rd_title_fstrs_from_cfg(arena, cfg));
|
||||
MD_Node *schema = rd_schema_from_name(arena, cfg->string);
|
||||
MD_Node *cmds_root = md_tag_from_string(schema, str8_lit("commands"), 0);
|
||||
for MD_EachNode(cmd, cmds_root->first)
|
||||
@@ -1088,7 +1088,7 @@ rd_watch_row_info_from_row(Arena *arena, EV_Row *row)
|
||||
else if(is_top_level && evalled_entity != &ctrl_entity_nil)
|
||||
{
|
||||
CTRL_Entity *entity = evalled_entity;
|
||||
rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .flags = RD_WatchCellFlag_Button, .pct = 1.f, .fstrs = rd_title_fstrs_from_ctrl_entity(arena, entity, ui_top_palette()->text_weak, ui_top_font_size(), 1));
|
||||
rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .flags = RD_WatchCellFlag_Button, .pct = 1.f, .fstrs = rd_title_fstrs_from_ctrl_entity(arena, entity, 1));
|
||||
if(entity->kind == CTRL_EntityKind_Machine ||
|
||||
entity->kind == CTRL_EntityKind_Process ||
|
||||
entity->kind == CTRL_EntityKind_Thread)
|
||||
@@ -1107,7 +1107,7 @@ rd_watch_row_info_from_row(Arena *arena, EV_Row *row)
|
||||
{
|
||||
RD_CmdKind cmd_kind = e_value_eval_from_eval(info.eval).value.u64;
|
||||
RD_CmdKindInfo *cmd_kind_info = &rd_cmd_kind_info_table[cmd_kind];
|
||||
rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .flags = RD_WatchCellFlag_Button|RD_WatchCellFlag_ActivateWithSingleClick, .pct = 1.f, .fstrs = rd_title_fstrs_from_code_name(arena, cmd_kind_info->string, ui_top_palette()->text_weak, ui_top_font_size()));
|
||||
rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .flags = RD_WatchCellFlag_Button|RD_WatchCellFlag_ActivateWithSingleClick, .pct = 1.f, .fstrs = rd_title_fstrs_from_code_name(arena, cmd_kind_info->string));
|
||||
}
|
||||
|
||||
// rjf: folder / file rows
|
||||
@@ -1445,7 +1445,7 @@ rd_info_from_watch_row_cell(Arena *arena, EV_Row *row, EV_StringFlags string_fla
|
||||
E_TypeKey cfg_type = e_string2typekey_map_lookup(rd_state->meta_name2type_map, ctrl_entity_kind_code_name_table[entity->kind]);
|
||||
if(e_type_key_match(cfg_type, result.eval.type_key))
|
||||
{
|
||||
result.fstrs = rd_title_fstrs_from_ctrl_entity(arena, entity, ui_top_palette()->text_weak, ui_top_font_size(), 1);
|
||||
result.fstrs = rd_title_fstrs_from_ctrl_entity(arena, entity, 1);
|
||||
result.flags |= RD_WatchCellFlag_Button;
|
||||
result.entity = entity;
|
||||
}
|
||||
@@ -1457,7 +1457,7 @@ rd_info_from_watch_row_cell(Arena *arena, EV_Row *row, EV_StringFlags string_fla
|
||||
E_TypeKey cfg_type = e_string2typekey_map_lookup(rd_state->meta_name2type_map, cfg->string);
|
||||
if(e_type_key_match(cfg_type, result.eval.type_key))
|
||||
{
|
||||
result.fstrs = rd_title_fstrs_from_cfg(arena, cfg, ui_top_palette()->text_weak, ui_top_font_size());
|
||||
result.fstrs = rd_title_fstrs_from_cfg(arena, cfg);
|
||||
result.flags |= RD_WatchCellFlag_Button;
|
||||
result.cfg = cfg;
|
||||
}
|
||||
@@ -1473,7 +1473,7 @@ rd_info_from_watch_row_cell(Arena *arena, EV_Row *row, EV_StringFlags string_fla
|
||||
}
|
||||
else
|
||||
{
|
||||
result.fstrs = rd_title_fstrs_from_code_name(arena, cmd_name, ui_top_palette()->text_weak, ui_top_font_size());
|
||||
result.fstrs = rd_title_fstrs_from_code_name(arena, cmd_name);
|
||||
}
|
||||
result.flags |= RD_WatchCellFlag_Button;
|
||||
result.cmd_name = cmd_name;
|
||||
@@ -2750,16 +2750,11 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
{
|
||||
if(row_is_fresh)
|
||||
{
|
||||
Vec4F32 start_color = rd_rgba_from_theme_color(RD_ThemeColor_NegativePopButtonBackground);
|
||||
start_color.w *= 0.5f;
|
||||
Vec4F32 end_color = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay);
|
||||
Vec4F32 color = mix_4f32(start_color, end_color, ui_anim(ui_key_from_stringf(ui_key_zero(), "row_fresh_%I64x", row_hash), 1.f));
|
||||
palette = ui_build_palette(ui_top_palette(), .background = color);
|
||||
row_flags |= UI_BoxFlag_DrawBackground;
|
||||
row_flags |= UI_BoxFlag_DrawPop;
|
||||
}
|
||||
else if(global_row_idx & 1)
|
||||
if(global_row_idx & 1)
|
||||
{
|
||||
row_flags |= UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawBackgroundAlt;
|
||||
row_flags |= UI_BoxFlag_DrawAlt;
|
||||
}
|
||||
if(!row_matches_last_row_topology)
|
||||
{
|
||||
@@ -2847,44 +2842,36 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
{
|
||||
if(cell_info.flags & RD_WatchCellFlag_IsErrored)
|
||||
{
|
||||
palette = ui_build_palette(ui_top_palette(), .text = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative), .text_weak = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative), .background = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlayError));
|
||||
cell_flags |= UI_BoxFlag_DrawBackground;
|
||||
cell_flags |= UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawBad;
|
||||
}
|
||||
else if(cell_info.inheritance_tooltip.size != 0)
|
||||
{
|
||||
palette = ui_build_palette(ui_top_palette(), .background = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay));
|
||||
cell_flags |= UI_BoxFlag_DrawBackground;
|
||||
cell_flags |= UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawPop;
|
||||
}
|
||||
else if(cell_info.cfg->id == rd_get_hover_regs()->cfg &&
|
||||
rd_state->hover_regs_slot == RD_RegSlot_Cfg)
|
||||
{
|
||||
RD_Cfg *cfg = cell_info.cfg;
|
||||
Vec4F32 rgba = rd_rgba_from_cfg(cfg);
|
||||
Vec4F32 rgba = linear_from_srgba(rd_rgba_from_cfg(cfg));
|
||||
if(rgba.w == 0)
|
||||
{
|
||||
rgba = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay);
|
||||
}
|
||||
else
|
||||
{
|
||||
rgba.w *= 0.2f;
|
||||
rgba = ui_top_palette()->background_pop;
|
||||
}
|
||||
rgba.w *= 0.2f;
|
||||
rgba.w *= ui_anim(ui_key_from_stringf(ui_key_zero(), "###cfg_hover_t_%p", cfg), 1.f, .rate = entity_hover_t_rate);
|
||||
palette = ui_build_palette(ui_top_palette(), .background_pop = rgba);
|
||||
cell_flags |= UI_BoxFlag_DrawBackground;
|
||||
cell_flags |= UI_BoxFlag_DrawPop|UI_BoxFlag_DrawBackground;
|
||||
}
|
||||
else if(ctrl_handle_match(cell_info.entity->handle, rd_get_hover_regs()->ctrl_entity) &&
|
||||
rd_state->hover_regs_slot == RD_RegSlot_CtrlEntity)
|
||||
{
|
||||
CTRL_Entity *entity = cell_info.entity;
|
||||
Vec4F32 rgba = rd_rgba_from_ctrl_entity(entity);
|
||||
Vec4F32 rgba = linear_from_srgba(rd_rgba_from_ctrl_entity(entity));
|
||||
if(rgba.w == 0)
|
||||
{
|
||||
rgba = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay);
|
||||
}
|
||||
else
|
||||
{
|
||||
rgba.w *= 0.2f;
|
||||
rgba = ui_top_palette()->background_pop;;
|
||||
}
|
||||
rgba.w *= 0.2f;
|
||||
rgba.w *= ui_anim(ui_key_from_stringf(ui_key_zero(), "###entity_hover_t_%p", entity), 1.f, .rate = entity_hover_t_rate);
|
||||
palette = ui_build_palette(ui_top_palette(), .background_pop = rgba);
|
||||
cell_flags |= UI_BoxFlag_DrawBackground;
|
||||
@@ -3440,7 +3427,7 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
//////////////////////////////
|
||||
//- rjf: build missing file interface
|
||||
//
|
||||
if(file_is_missing && !u128_match(hash, u128_zero()))
|
||||
if(file_is_missing)
|
||||
{
|
||||
UI_WidthFill UI_HeightFill UI_Column UI_Padding(ui_pct(1, 0))
|
||||
{
|
||||
@@ -3448,7 +3435,6 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_PrefHeight(ui_em(3, 1))
|
||||
UI_Row UI_Padding(ui_pct(1, 0))
|
||||
UI_PrefWidth(ui_text_dim(10, 1))
|
||||
UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative)))
|
||||
{
|
||||
RD_Font(RD_FontSlot_Icons) ui_label(rd_icon_kind_text_table[RD_IconKind_WarningBig]);
|
||||
ui_labelf("Could not find \"%S\".", rd_regs()->file_path);
|
||||
@@ -3459,7 +3445,7 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
UI_CornerRadius(ui_top_font_size()/3)
|
||||
UI_PrefWidth(ui_text_dim(10, 1))
|
||||
UI_Focus(UI_FocusKind_On)
|
||||
RD_Palette(RD_PaletteCode_NeutralPopButton)
|
||||
RD_Palette(RD_PaletteCode_Pop)
|
||||
UI_TextAlignment(UI_TextAlign_Center)
|
||||
if(ui_clicked(ui_buttonf("Find alternative...")))
|
||||
{
|
||||
@@ -3534,7 +3520,7 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
UI_Palette *palette = ui_top_palette();
|
||||
if(file_is_out_of_date)
|
||||
{
|
||||
palette = rd_palette_from_code(RD_PaletteCode_NegativePopButton);
|
||||
palette = rd_palette_from_code(RD_PaletteCode_Bad);
|
||||
}
|
||||
UI_Palette(palette)
|
||||
UI_Row
|
||||
@@ -3545,8 +3531,7 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
if(file_is_out_of_date)
|
||||
{
|
||||
UI_Box *box = &ui_nil_box;
|
||||
UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative)))
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
{
|
||||
box = ui_build_box_from_stringf(UI_BoxFlag_DrawText|UI_BoxFlag_Clickable, "%S###file_ood_warning", rd_icon_kind_text_table[RD_IconKind_WarningBig]);
|
||||
}
|
||||
@@ -3556,7 +3541,7 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Row UI_PrefWidth(ui_text_dim(1, 1))
|
||||
{
|
||||
ui_labelf("This file has changed since ", out_of_date_dbgi_name);
|
||||
UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_rgba_from_theme_color(RD_ThemeColor_TextNeutral))) ui_label(out_of_date_dbgi_name);
|
||||
ui_label(out_of_date_dbgi_name);
|
||||
ui_labelf(" was produced.");
|
||||
}
|
||||
}
|
||||
@@ -4062,8 +4047,8 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
//
|
||||
DR_FStrList byte_fstrs[256] = {0};
|
||||
{
|
||||
Vec4F32 full_color = rd_rgba_from_theme_color(RD_ThemeColor_TextPositive);
|
||||
Vec4F32 zero_color = rd_rgba_from_theme_color(RD_ThemeColor_TextWeak);
|
||||
Vec4F32 full_color = ui_top_palette()->text;
|
||||
Vec4F32 zero_color = ui_top_palette()->text_weak;
|
||||
for(U64 idx = 0; idx < ArrayCount(byte_fstrs); idx += 1)
|
||||
{
|
||||
U8 byte = (U8)idx;
|
||||
@@ -4133,7 +4118,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
Annotation *annotation = push_array(scratch.arena, Annotation, 1);
|
||||
annotation->name_string = symbol_name.size != 0 ? symbol_name : str8_lit("[external code]");
|
||||
annotation->kind_string = str8_lit("Call Stack Frame");
|
||||
annotation->color = symbol_name.size != 0 ? rd_rgba_from_theme_color(RD_ThemeColor_CodeSymbol) : rd_rgba_from_theme_color(RD_ThemeColor_TextWeak);
|
||||
annotation->color = symbol_name.size != 0 ? rd_rgba_from_theme_color(RD_ThemeColor_CodeSymbol) : ui_top_palette()->text_weak;
|
||||
annotation->vaddr_range = frame_vaddr_range;
|
||||
for(U64 vaddr = frame_vaddr_range_in_viz.min; vaddr < frame_vaddr_range_in_viz.max; vaddr += 1)
|
||||
{
|
||||
@@ -4446,12 +4431,10 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
|
||||
// rjf: unpack visual cell info
|
||||
UI_BoxFlags cell_flags = 0;
|
||||
Vec4F32 cell_border_rgba = {0};
|
||||
Vec4F32 cell_bg_rgba = {0};
|
||||
if(global_byte_num == mouse_hover_byte_num)
|
||||
{
|
||||
cell_flags |= UI_BoxFlag_DrawBorder|UI_BoxFlag_DrawSideTop|UI_BoxFlag_DrawSideBottom|UI_BoxFlag_DrawSideLeft|UI_BoxFlag_DrawSideRight;
|
||||
cell_border_rgba = rd_rgba_from_theme_color(RD_ThemeColor_Hover);
|
||||
}
|
||||
if(annotation != 0)
|
||||
{
|
||||
@@ -4469,7 +4452,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
if(selection.min <= global_byte_idx && global_byte_idx <= selection.max)
|
||||
{
|
||||
cell_flags |= UI_BoxFlag_DrawBackground;
|
||||
cell_bg_rgba = rd_rgba_from_theme_color(RD_ThemeColor_SelectionOverlay);
|
||||
cell_bg_rgba = ui_top_palette()->selection;
|
||||
}
|
||||
|
||||
// rjf: build
|
||||
@@ -4551,7 +4534,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
ascii_box->rect.y0,
|
||||
text_pos.x + fnt_dim_from_tag_size_string(font, font_size, 0, 0, str8_prefix(ascii_text, selection_in_row.max+1-row_range_bytes.min)).x + font_size/4.f,
|
||||
ascii_box->rect.y1),
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_SelectionOverlay),
|
||||
ui_top_palette()->selection,
|
||||
0, 0, 1.f);
|
||||
}
|
||||
ui_box_equip_draw_bucket(ascii_box, bucket);
|
||||
@@ -4562,7 +4545,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
DR_BucketScope(bucket)
|
||||
{
|
||||
Vec2F32 text_pos = ui_box_text_position(ascii_box);
|
||||
Vec4F32 color = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay);
|
||||
Vec4F32 color = ui_top_palette()->border;
|
||||
dr_rect(r2f32p(text_pos.x + fnt_dim_from_tag_size_string(font, font_size, 0, 0, str8_prefix(ascii_text, mouse_hover_byte_num-1-row_range_bytes.min)).x - font_size/8.f,
|
||||
ascii_box->rect.y0,
|
||||
text_pos.x + fnt_dim_from_tag_size_string(font, font_size, 0, 0, str8_prefix(ascii_text, mouse_hover_byte_num+0-row_range_bytes.min)).x + font_size/4.f,
|
||||
@@ -4726,7 +4709,7 @@ internal UI_BOX_CUSTOM_DRAW(rd_bitmap_view_canvas_box_draw)
|
||||
Rng2F32 rect_cvs = rd_bitmap_canvas_from_screen_rect(draw_data->view_center_pos, draw_data->zoom, rect_scrn, rect_scrn);
|
||||
F32 grid_cell_size_cvs = box->font_size*10.f;
|
||||
F32 grid_line_thickness_px = Max(2.f, box->font_size*0.1f);
|
||||
Vec4F32 grid_line_color = rd_rgba_from_theme_color(RD_ThemeColor_TextWeak);
|
||||
Vec4F32 grid_line_color = ui_top_palette()->background_alt;
|
||||
for EachEnumVal(Axis2, axis)
|
||||
{
|
||||
for(F32 v = rect_cvs.p0.v[axis] - mod_f32(rect_cvs.p0.v[axis], grid_cell_size_cvs);
|
||||
|
||||
+55
-57
@@ -20,8 +20,8 @@ rd_loading_overlay(Rng2F32 rect, F32 loading_t, U64 progress_v, U64 progress_v_t
|
||||
|
||||
// rjf: colors
|
||||
Vec4F32 bg_color = rd_rgba_from_theme_color(RD_ThemeColor_BaseBackground);
|
||||
Vec4F32 bd_color = rd_rgba_from_theme_color(RD_ThemeColor_FloatingBorder);
|
||||
Vec4F32 hl_color = rd_rgba_from_theme_color(RD_ThemeColor_TextNeutral);
|
||||
Vec4F32 bd_color = rd_rgba_from_theme_color(RD_ThemeColor_BaseBorder);
|
||||
Vec4F32 hl_color = rd_rgba_from_theme_color(RD_ThemeColor_BaseBackgroundPop);
|
||||
bg_color.w *= loading_t;
|
||||
bd_color.w *= loading_t;
|
||||
hl_color.w *= loading_t;
|
||||
@@ -140,21 +140,13 @@ rd_cmd_binding_buttons(String8 name)
|
||||
|
||||
//- rjf: form color palette
|
||||
UI_Palette *palette = ui_top_palette();
|
||||
if(has_conflicts || rebinding_active_for_this_binding)
|
||||
if(has_conflicts)
|
||||
{
|
||||
palette = push_array(ui_build_arena(), UI_Palette, 1);
|
||||
MemoryCopyStruct(palette, ui_top_palette());
|
||||
if(has_conflicts)
|
||||
{
|
||||
palette->colors[UI_ColorCode_Text] = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative);
|
||||
palette->colors[UI_ColorCode_TextWeak] = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative);
|
||||
}
|
||||
if(rebinding_active_for_this_binding)
|
||||
{
|
||||
palette->colors[UI_ColorCode_Border] = rd_rgba_from_theme_color(RD_ThemeColor_Focus);
|
||||
palette->colors[UI_ColorCode_Background] = rd_rgba_from_theme_color(RD_ThemeColor_Focus);
|
||||
palette->colors[UI_ColorCode_Background].w *= 0.25f;
|
||||
}
|
||||
palette = rd_palette_from_code(RD_PaletteCode_Bad);
|
||||
}
|
||||
if(rebinding_active_for_this_binding)
|
||||
{
|
||||
palette = rd_palette_from_code(RD_PaletteCode_Pop);
|
||||
}
|
||||
|
||||
//- rjf: build box
|
||||
@@ -212,10 +204,7 @@ rd_cmd_binding_buttons(String8 name)
|
||||
//- rjf: delete button
|
||||
if(rebinding_active_for_this_binding)
|
||||
UI_PrefWidth(ui_em(2.5f, 1.f))
|
||||
UI_Palette(ui_build_palette(ui_top_palette(),
|
||||
.background = rd_rgba_from_theme_color(RD_ThemeColor_NegativePopButtonBackground),
|
||||
.border = rd_rgba_from_theme_color(RD_ThemeColor_NegativePopButtonBorder),
|
||||
.text = rd_rgba_from_theme_color(RD_ThemeColor_Text)))
|
||||
RD_Palette(RD_PaletteCode_Bad)
|
||||
{
|
||||
ui_set_next_group_key(ui_key_zero());
|
||||
UI_Signal sig = rd_icon_button(RD_IconKind_X, 0, str8_lit("###delete_binding"));
|
||||
@@ -231,20 +220,17 @@ rd_cmd_binding_buttons(String8 name)
|
||||
}
|
||||
|
||||
//- rjf: build "add new binding" button
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
B32 adding_new_binding = (rd_state->bind_change_active &&
|
||||
str8_match(rd_state->bind_change_cmd_name, name, 0) &&
|
||||
rd_state->bind_change_binding.key == OS_Key_Null &&
|
||||
rd_state->bind_change_binding.modifiers == 0);
|
||||
UI_Palette *palette = ui_top_palette();
|
||||
if(adding_new_binding)
|
||||
{
|
||||
palette = rd_palette_from_code(RD_PaletteCode_Pop);
|
||||
}
|
||||
RD_Font(RD_FontSlot_Icons) UI_Palette(palette)
|
||||
{
|
||||
UI_Palette *palette = ui_top_palette();
|
||||
B32 adding_new_binding = (rd_state->bind_change_active &&
|
||||
str8_match(rd_state->bind_change_cmd_name, name, 0) &&
|
||||
rd_state->bind_change_binding.key == OS_Key_Null &&
|
||||
rd_state->bind_change_binding.modifiers == 0);
|
||||
if(adding_new_binding)
|
||||
{
|
||||
palette = ui_build_palette(ui_top_palette());
|
||||
palette->colors[UI_ColorCode_Border] = rd_rgba_from_theme_color(RD_ThemeColor_Focus);
|
||||
palette->colors[UI_ColorCode_Background] = rd_rgba_from_theme_color(RD_ThemeColor_Focus);
|
||||
palette->colors[UI_ColorCode_Background].w *= 0.25f;
|
||||
}
|
||||
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
|
||||
ui_set_next_text_alignment(UI_TextAlign_Center);
|
||||
ui_set_next_group_key(ui_key_zero());
|
||||
@@ -495,7 +481,7 @@ internal UI_BOX_CUSTOM_DRAW(rd_thread_box_draw_extensions)
|
||||
if(u->is_frozen)
|
||||
{
|
||||
F32 lock_icon_off = ui_top_font_size()*0.2f;
|
||||
Vec4F32 lock_icon_color = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative);
|
||||
Vec4F32 lock_icon_color = ui_top_palette()->background_bad;
|
||||
dr_text(rd_font_from_slot(RD_FontSlot_Icons),
|
||||
box->font_size, 0, 0, FNT_RasterFlag_Smooth,
|
||||
v2f32((box->rect.x0 + box->rect.x1)/2 + lock_icon_off/2,
|
||||
@@ -609,9 +595,6 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_LineInfoBackground2),
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_LineInfoBackground3),
|
||||
};
|
||||
UI_Palette *margin_palette = rd_palette_from_code(RD_PaletteCode_Floating);
|
||||
UI_Palette *margin_contents_palette = ui_build_palette(rd_palette_from_code(RD_PaletteCode_Floating));
|
||||
margin_contents_palette->background = v4f32(0, 0, 0, 0);
|
||||
F32 line_num_padding_px = ui_top_font_size()*1.f;
|
||||
F32 entity_alive_t_rate = (1 - pow_f32(2, (-30.f * rd_state->frame_dt)));
|
||||
F32 entity_hover_t_rate = rd_setting_b32_from_name(str8_lit("hover_animations")) ? (1 - pow_f32(2, (-60.f * rd_state->frame_dt))) : 1.f;
|
||||
@@ -656,7 +639,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
if(n->v == stopper_thread && (stop_event.cause == CTRL_EventCause_InterruptedByTrap || stop_event.cause == CTRL_EventCause_InterruptedByException))
|
||||
{
|
||||
line_bg_colors[line_idx] = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlayError);
|
||||
line_bg_colors[line_idx] = ui_top_palette()->background_bad;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -666,7 +649,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
//- rjf: build priority margin
|
||||
//
|
||||
UI_Box *priority_margin_container_box = &ui_nil_box;
|
||||
if(params->flags & RD_CodeSliceFlag_PriorityMargin) UI_Focus(UI_FocusKind_Off) UI_Parent(top_container_box) UI_Palette(margin_palette) ProfScope("build priority margins")
|
||||
if(params->flags & RD_CodeSliceFlag_PriorityMargin) UI_Focus(UI_FocusKind_Off) UI_Parent(top_container_box) ProfScope("build priority margins")
|
||||
{
|
||||
if(params->margin_float_off_px != 0)
|
||||
{
|
||||
@@ -679,7 +662,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
ui_set_next_pref_height(ui_px(params->line_height_px*(dim_1s64(params->line_num_range)+1), 1.f));
|
||||
ui_set_next_child_layout_axis(Axis2_Y);
|
||||
priority_margin_container_box = ui_build_box_from_string(UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable), str8_lit("priority_margin_container"));
|
||||
UI_Parent(priority_margin_container_box) UI_PrefHeight(ui_px(params->line_height_px, 1.f)) UI_Palette(margin_contents_palette)
|
||||
UI_Parent(priority_margin_container_box) UI_PrefHeight(ui_px(params->line_height_px, 1.f))
|
||||
{
|
||||
U64 line_idx = 0;
|
||||
for(S64 line_num = params->line_num_range.min;
|
||||
@@ -708,8 +691,12 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
U64 thread_rip_voff = ctrl_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
|
||||
// rjf: thread info => color
|
||||
Vec4F32 color = rd_rgba_from_ctrl_entity(thread);
|
||||
Vec4F32 color = linear_from_srgba(rd_rgba_from_ctrl_entity(thread));
|
||||
{
|
||||
if(color.w == 0)
|
||||
{
|
||||
color = rd_rgba_from_theme_color(RD_ThemeColor_Thread1);
|
||||
}
|
||||
if(unwind_count != 0)
|
||||
{
|
||||
color = rd_rgba_from_theme_color(RD_ThemeColor_ThreadUnwound);
|
||||
@@ -727,7 +714,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
}
|
||||
if(thread != selected_thread)
|
||||
{
|
||||
color.w *= 0.8f;
|
||||
color.w *= 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -813,7 +800,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
//- rjf: build catchall margin
|
||||
//
|
||||
UI_Box *catchall_margin_container_box = &ui_nil_box;
|
||||
if(params->flags & RD_CodeSliceFlag_CatchallMargin) UI_Focus(UI_FocusKind_Off) UI_Palette(margin_palette) UI_Parent(top_container_box) ProfScope("build catchall margins")
|
||||
if(params->flags & RD_CodeSliceFlag_CatchallMargin) UI_Focus(UI_FocusKind_Off) UI_Parent(top_container_box) ProfScope("build catchall margins")
|
||||
{
|
||||
if(params->margin_float_off_px != 0)
|
||||
{
|
||||
@@ -826,7 +813,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
ui_set_next_pref_height(ui_px(params->line_height_px*(dim_1s64(params->line_num_range)+1), 1.f));
|
||||
ui_set_next_child_layout_axis(Axis2_Y);
|
||||
catchall_margin_container_box = ui_build_box_from_string(UI_BoxFlag_DrawSideLeft|UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable), str8_lit("catchall_margin_container"));
|
||||
UI_Parent(catchall_margin_container_box) UI_PrefHeight(ui_px(params->line_height_px, 1.f)) UI_Palette(margin_contents_palette)
|
||||
UI_Parent(catchall_margin_container_box) UI_PrefHeight(ui_px(params->line_height_px, 1.f))
|
||||
{
|
||||
U64 line_idx = 0;
|
||||
for(S64 line_num = params->line_num_range.min;
|
||||
@@ -857,8 +844,12 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
U64 thread_rip_voff = ctrl_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
|
||||
// rjf: thread info => color
|
||||
Vec4F32 color = rd_rgba_from_ctrl_entity(thread);
|
||||
Vec4F32 color = linear_from_srgba(rd_rgba_from_ctrl_entity(thread));
|
||||
{
|
||||
if(color.w == 0)
|
||||
{
|
||||
color = rd_rgba_from_theme_color(RD_ThemeColor_Thread1);
|
||||
}
|
||||
if(unwind_count != 0)
|
||||
{
|
||||
color = rd_rgba_from_theme_color(RD_ThemeColor_ThreadUnwound);
|
||||
@@ -1182,7 +1173,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
//- rjf: build background for line numbers & margins
|
||||
//
|
||||
{
|
||||
UI_Parent(top_container_box) RD_Palette(RD_PaletteCode_Floating)
|
||||
UI_Parent(top_container_box)
|
||||
{
|
||||
ui_set_next_pref_width(ui_px(params->priority_margin_width_px + params->catchall_margin_width_px + params->line_num_width_px, 1));
|
||||
ui_set_next_pref_height(ui_px(params->line_height_px*(dim_1s64(params->line_num_range)+1), 1.f));
|
||||
@@ -1255,7 +1246,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
DR_FStrList explanation_fstrs = rd_stop_explanation_fstrs_from_ctrl_event(scratch.arena, &stop_event);
|
||||
UI_Parent(line_extras_boxes[line_idx]) UI_PrefWidth(ui_children_sum(1)) UI_PrefHeight(ui_px(params->line_height_px, 1.f))
|
||||
UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative)))
|
||||
RD_Palette(RD_PaletteCode_Bad)
|
||||
{
|
||||
UI_Box *box = ui_build_box_from_stringf(UI_BoxFlag_DrawText, "###exception_info");
|
||||
ui_box_equip_display_fstrs(box, &explanation_fstrs);
|
||||
@@ -1413,7 +1404,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
B32 line_drag_drop = 0;
|
||||
RD_Cfg *line_drag_cfg = &rd_nil_cfg;
|
||||
CTRL_Entity *line_drag_ctrl_entity = &ctrl_entity_nil;
|
||||
Vec4F32 line_drag_drop_color = rd_rgba_from_theme_color(RD_ThemeColor_DropSiteOverlay);
|
||||
Vec4F32 line_drag_drop_color = ui_top_palette()->background_pop;
|
||||
{
|
||||
//- rjf: determine mouse drag range
|
||||
TxtRng mouse_drag_rng = txt_rng(mouse_pt, mouse_pt);
|
||||
@@ -1494,19 +1485,21 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
line_drag_drop = 1;
|
||||
line_drag_cfg = cfg;
|
||||
line_drag_drop_color = rd_rgba_from_cfg(cfg);
|
||||
line_drag_drop_color.w *= 0.5f;
|
||||
line_drag_drop_color = linear_from_srgba(rd_rgba_from_cfg(cfg));
|
||||
if(line_drag_drop_color.w == 0)
|
||||
{
|
||||
line_drag_drop_color = rd_rgba_from_theme_color(RD_ThemeColor_DropSiteOverlay);
|
||||
line_drag_drop_color = ui_top_palette()->background_pop;
|
||||
}
|
||||
}
|
||||
if(rd_state->drag_drop_regs_slot == RD_RegSlot_Thread)
|
||||
{
|
||||
line_drag_drop = 1;
|
||||
line_drag_ctrl_entity = thread;
|
||||
line_drag_drop_color = rd_rgba_from_ctrl_entity(thread);
|
||||
line_drag_drop_color.w *= 0.5f;
|
||||
line_drag_drop_color = linear_from_srgba(rd_rgba_from_ctrl_entity(thread));
|
||||
if(line_drag_drop_color.w == 0)
|
||||
{
|
||||
line_drag_drop_color = ui_top_palette()->background_pop;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1678,7 +1671,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
TxtRngColorPairNode *n = push_array(scratch.arena, TxtRngColorPairNode, 1);
|
||||
n->rng = result.mouse_expr_rng;
|
||||
n->color = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay);
|
||||
n->color = ui_top_palette()->background_pop;
|
||||
SLLQueuePush(first_txt_rng_color_pair, last_txt_rng_color_pair, n);
|
||||
}
|
||||
}
|
||||
@@ -1816,7 +1809,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
line_box->rect.x0+line_num_padding_px+match_column_pixel_off_range.max+2.f,
|
||||
line_box->rect.y1,
|
||||
};
|
||||
Vec4F32 color = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay);
|
||||
Vec4F32 color = ui_top_palette()->background_pop;
|
||||
if(cursor->line == line_num && needle_pos+1 <= cursor->column && cursor->column < needle_pos+params->search_query.size+1)
|
||||
{
|
||||
color.x += (1.f - color.x) * 0.5f;
|
||||
@@ -1900,7 +1893,12 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
ui_box_text_position(line_box).x+cursor_off_pixels+cursor_thickness/2.f,
|
||||
line_box->rect.y1+params->font_size*0.25f,
|
||||
};
|
||||
dr_rect(cursor_rect, rd_rgba_from_theme_color(is_focused ? RD_ThemeColor_Cursor : RD_ThemeColor_CursorInactive), 1.f, 0, 1.f);
|
||||
Vec4F32 cursor_color = ui_top_palette()->cursor;
|
||||
if(!is_focused)
|
||||
{
|
||||
cursor_color.w *= 0.5f;
|
||||
}
|
||||
dr_rect(cursor_rect, cursor_color, 1.f, 0, 1.f);
|
||||
}
|
||||
|
||||
// rjf: extra rendering for lines with line-info that match the hovered
|
||||
@@ -2212,7 +2210,7 @@ rd_error_label(String8 string)
|
||||
{
|
||||
UI_Box *box = ui_build_box_from_key(0, ui_key_zero());
|
||||
UI_Signal sig = ui_signal_from_box(box);
|
||||
UI_Parent(box) UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative), .text_weak = rd_rgba_from_theme_color(RD_ThemeColor_TextNegative)))
|
||||
UI_Parent(box)
|
||||
{
|
||||
ui_set_next_font(rd_font_from_slot(RD_FontSlot_Icons));
|
||||
ui_set_next_text_raster_flags(FNT_RasterFlag_Smooth);
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#define UI_GroupKey(v) DeferLoop(ui_push_group_key(v), ui_pop_group_key())
|
||||
#define UI_Transparency(v) DeferLoop(ui_push_transparency(v), ui_pop_transparency())
|
||||
#define UI_Palette(v) DeferLoop(ui_push_palette(v), ui_pop_palette())
|
||||
#define UI_Tag(v) DeferLoop(ui_push_tag(v), ui_pop_tag())
|
||||
#define UI_Squish(v) DeferLoop(ui_push_squish(v), ui_pop_squish())
|
||||
#define UI_HoverCursor(v) DeferLoop(ui_push_hover_cursor(v), ui_pop_hover_cursor())
|
||||
#define UI_Font(v) DeferLoop(ui_push_font(v), ui_pop_font())
|
||||
@@ -50,6 +51,7 @@ internal U32 ui_top_fastpath_codepoint(void) { UI_StackTopImpl(ui_state, Fastpat
|
||||
internal UI_Key ui_top_group_key(void) { UI_StackTopImpl(ui_state, GroupKey, group_key) }
|
||||
internal F32 ui_top_transparency(void) { UI_StackTopImpl(ui_state, Transparency, transparency) }
|
||||
internal UI_Palette* ui_top_palette(void) { UI_StackTopImpl(ui_state, Palette, palette) }
|
||||
internal String8 ui_top_tag(void) { UI_StackTopImpl(ui_state, Tag, tag) }
|
||||
internal F32 ui_top_squish(void) { UI_StackTopImpl(ui_state, Squish, squish) }
|
||||
internal OS_Cursor ui_top_hover_cursor(void) { UI_StackTopImpl(ui_state, HoverCursor, hover_cursor) }
|
||||
internal FNT_Tag ui_top_font(void) { UI_StackTopImpl(ui_state, Font, font) }
|
||||
@@ -79,6 +81,7 @@ internal U32 ui_bottom_fastpath_codepoint(void) { UI_StackBottomImpl(ui_state, F
|
||||
internal UI_Key ui_bottom_group_key(void) { UI_StackBottomImpl(ui_state, GroupKey, group_key) }
|
||||
internal F32 ui_bottom_transparency(void) { UI_StackBottomImpl(ui_state, Transparency, transparency) }
|
||||
internal UI_Palette* ui_bottom_palette(void) { UI_StackBottomImpl(ui_state, Palette, palette) }
|
||||
internal String8 ui_bottom_tag(void) { UI_StackBottomImpl(ui_state, Tag, tag) }
|
||||
internal F32 ui_bottom_squish(void) { UI_StackBottomImpl(ui_state, Squish, squish) }
|
||||
internal OS_Cursor ui_bottom_hover_cursor(void) { UI_StackBottomImpl(ui_state, HoverCursor, hover_cursor) }
|
||||
internal FNT_Tag ui_bottom_font(void) { UI_StackBottomImpl(ui_state, Font, font) }
|
||||
@@ -108,6 +111,7 @@ internal U32 ui_push_fastpath_codepoint(U32 v) { UI_StackPushImpl(ui_state, Fast
|
||||
internal UI_Key ui_push_group_key(UI_Key v) { UI_StackPushImpl(ui_state, GroupKey, group_key, UI_Key, v) }
|
||||
internal F32 ui_push_transparency(F32 v) { UI_StackPushImpl(ui_state, Transparency, transparency, F32, v) }
|
||||
internal UI_Palette* ui_push_palette(UI_Palette* v) { UI_StackPushImpl(ui_state, Palette, palette, UI_Palette* , v) }
|
||||
internal String8 ui_push_tag(String8 v) { UI_StackPushImpl(ui_state, Tag, tag, String8, v) }
|
||||
internal F32 ui_push_squish(F32 v) { UI_StackPushImpl(ui_state, Squish, squish, F32, v) }
|
||||
internal OS_Cursor ui_push_hover_cursor(OS_Cursor v) { UI_StackPushImpl(ui_state, HoverCursor, hover_cursor, OS_Cursor, v) }
|
||||
internal FNT_Tag ui_push_font(FNT_Tag v) { UI_StackPushImpl(ui_state, Font, font, FNT_Tag, v) }
|
||||
@@ -137,6 +141,7 @@ internal U32 ui_pop_fastpath_codepoint(void) { UI_StackPopImpl(ui_state, Fastpat
|
||||
internal UI_Key ui_pop_group_key(void) { UI_StackPopImpl(ui_state, GroupKey, group_key) }
|
||||
internal F32 ui_pop_transparency(void) { UI_StackPopImpl(ui_state, Transparency, transparency) }
|
||||
internal UI_Palette* ui_pop_palette(void) { UI_StackPopImpl(ui_state, Palette, palette) }
|
||||
internal String8 ui_pop_tag(void) { UI_StackPopImpl(ui_state, Tag, tag) }
|
||||
internal F32 ui_pop_squish(void) { UI_StackPopImpl(ui_state, Squish, squish) }
|
||||
internal OS_Cursor ui_pop_hover_cursor(void) { UI_StackPopImpl(ui_state, HoverCursor, hover_cursor) }
|
||||
internal FNT_Tag ui_pop_font(void) { UI_StackPopImpl(ui_state, Font, font) }
|
||||
@@ -166,6 +171,7 @@ internal U32 ui_set_next_fastpath_codepoint(U32 v) { UI_StackSetNextImpl(ui_stat
|
||||
internal UI_Key ui_set_next_group_key(UI_Key v) { UI_StackSetNextImpl(ui_state, GroupKey, group_key, UI_Key, v) }
|
||||
internal F32 ui_set_next_transparency(F32 v) { UI_StackSetNextImpl(ui_state, Transparency, transparency, F32, v) }
|
||||
internal UI_Palette* ui_set_next_palette(UI_Palette* v) { UI_StackSetNextImpl(ui_state, Palette, palette, UI_Palette* , v) }
|
||||
internal String8 ui_set_next_tag(String8 v) { UI_StackSetNextImpl(ui_state, Tag, tag, String8, v) }
|
||||
internal F32 ui_set_next_squish(F32 v) { UI_StackSetNextImpl(ui_state, Squish, squish, F32, v) }
|
||||
internal OS_Cursor ui_set_next_hover_cursor(OS_Cursor v) { UI_StackSetNextImpl(ui_state, HoverCursor, hover_cursor, OS_Cursor, v) }
|
||||
internal FNT_Tag ui_set_next_font(FNT_Tag v) { UI_StackSetNextImpl(ui_state, Font, font, FNT_Tag, v) }
|
||||
|
||||
+40
-29
@@ -22,6 +22,7 @@ typedef struct UI_FastpathCodepointNode UI_FastpathCodepointNode; struct UI_Fast
|
||||
typedef struct UI_GroupKeyNode UI_GroupKeyNode; struct UI_GroupKeyNode{UI_GroupKeyNode *next; UI_Key v;};
|
||||
typedef struct UI_TransparencyNode UI_TransparencyNode; struct UI_TransparencyNode{UI_TransparencyNode *next; F32 v;};
|
||||
typedef struct UI_PaletteNode UI_PaletteNode; struct UI_PaletteNode{UI_PaletteNode *next; UI_Palette* v;};
|
||||
typedef struct UI_TagNode UI_TagNode; struct UI_TagNode{UI_TagNode *next; String8 v;};
|
||||
typedef struct UI_SquishNode UI_SquishNode; struct UI_SquishNode{UI_SquishNode *next; F32 v;};
|
||||
typedef struct UI_HoverCursorNode UI_HoverCursorNode; struct UI_HoverCursorNode{UI_HoverCursorNode *next; OS_Cursor v;};
|
||||
typedef struct UI_FontNode UI_FontNode; struct UI_FontNode{UI_FontNode *next; FNT_Tag v;};
|
||||
@@ -54,6 +55,7 @@ UI_FastpathCodepointNode fastpath_codepoint_nil_stack_top;\
|
||||
UI_GroupKeyNode group_key_nil_stack_top;\
|
||||
UI_TransparencyNode transparency_nil_stack_top;\
|
||||
UI_PaletteNode palette_nil_stack_top;\
|
||||
UI_TagNode tag_nil_stack_top;\
|
||||
UI_SquishNode squish_nil_stack_top;\
|
||||
UI_HoverCursorNode hover_cursor_nil_stack_top;\
|
||||
UI_FontNode font_nil_stack_top;\
|
||||
@@ -85,6 +87,7 @@ state->fastpath_codepoint_nil_stack_top.v = 0;\
|
||||
state->group_key_nil_stack_top.v = ui_key_zero();\
|
||||
state->transparency_nil_stack_top.v = 0;\
|
||||
state->palette_nil_stack_top.v = &ui_g_nil_palette;\
|
||||
state->tag_nil_stack_top.v = str8_lit("");\
|
||||
state->squish_nil_stack_top.v = 0;\
|
||||
state->hover_cursor_nil_stack_top.v = OS_Cursor_Pointer;\
|
||||
state->font_nil_stack_top.v = fnt_tag_zero();\
|
||||
@@ -102,35 +105,36 @@ state->text_alignment_nil_stack_top.v = UI_TextAlign_Left;\
|
||||
#define UI_DeclStacks \
|
||||
struct\
|
||||
{\
|
||||
struct { UI_ParentNode *top; UI_Box * bottom_val; UI_ParentNode *free; B32 auto_pop; } parent_stack;\
|
||||
struct { UI_ChildLayoutAxisNode *top; Axis2 bottom_val; UI_ChildLayoutAxisNode *free; B32 auto_pop; } child_layout_axis_stack;\
|
||||
struct { UI_FixedXNode *top; F32 bottom_val; UI_FixedXNode *free; B32 auto_pop; } fixed_x_stack;\
|
||||
struct { UI_FixedYNode *top; F32 bottom_val; UI_FixedYNode *free; B32 auto_pop; } fixed_y_stack;\
|
||||
struct { UI_FixedWidthNode *top; F32 bottom_val; UI_FixedWidthNode *free; B32 auto_pop; } fixed_width_stack;\
|
||||
struct { UI_FixedHeightNode *top; F32 bottom_val; UI_FixedHeightNode *free; B32 auto_pop; } fixed_height_stack;\
|
||||
struct { UI_PrefWidthNode *top; UI_Size bottom_val; UI_PrefWidthNode *free; B32 auto_pop; } pref_width_stack;\
|
||||
struct { UI_PrefHeightNode *top; UI_Size bottom_val; UI_PrefHeightNode *free; B32 auto_pop; } pref_height_stack;\
|
||||
struct { UI_PermissionFlagsNode *top; UI_PermissionFlags bottom_val; UI_PermissionFlagsNode *free; B32 auto_pop; } permission_flags_stack;\
|
||||
struct { UI_FlagsNode *top; UI_BoxFlags bottom_val; UI_FlagsNode *free; B32 auto_pop; } flags_stack;\
|
||||
struct { UI_FocusHotNode *top; UI_FocusKind bottom_val; UI_FocusHotNode *free; B32 auto_pop; } focus_hot_stack;\
|
||||
struct { UI_FocusActiveNode *top; UI_FocusKind bottom_val; UI_FocusActiveNode *free; B32 auto_pop; } focus_active_stack;\
|
||||
struct { UI_FastpathCodepointNode *top; U32 bottom_val; UI_FastpathCodepointNode *free; B32 auto_pop; } fastpath_codepoint_stack;\
|
||||
struct { UI_GroupKeyNode *top; UI_Key bottom_val; UI_GroupKeyNode *free; B32 auto_pop; } group_key_stack;\
|
||||
struct { UI_TransparencyNode *top; F32 bottom_val; UI_TransparencyNode *free; B32 auto_pop; } transparency_stack;\
|
||||
struct { UI_PaletteNode *top; UI_Palette* bottom_val; UI_PaletteNode *free; B32 auto_pop; } palette_stack;\
|
||||
struct { UI_SquishNode *top; F32 bottom_val; UI_SquishNode *free; B32 auto_pop; } squish_stack;\
|
||||
struct { UI_HoverCursorNode *top; OS_Cursor bottom_val; UI_HoverCursorNode *free; B32 auto_pop; } hover_cursor_stack;\
|
||||
struct { UI_FontNode *top; FNT_Tag bottom_val; UI_FontNode *free; B32 auto_pop; } font_stack;\
|
||||
struct { UI_FontSizeNode *top; F32 bottom_val; UI_FontSizeNode *free; B32 auto_pop; } font_size_stack;\
|
||||
struct { UI_TextRasterFlagsNode *top; FNT_RasterFlags bottom_val; UI_TextRasterFlagsNode *free; B32 auto_pop; } text_raster_flags_stack;\
|
||||
struct { UI_TabSizeNode *top; F32 bottom_val; UI_TabSizeNode *free; B32 auto_pop; } tab_size_stack;\
|
||||
struct { UI_CornerRadius00Node *top; F32 bottom_val; UI_CornerRadius00Node *free; B32 auto_pop; } corner_radius_00_stack;\
|
||||
struct { UI_CornerRadius01Node *top; F32 bottom_val; UI_CornerRadius01Node *free; B32 auto_pop; } corner_radius_01_stack;\
|
||||
struct { UI_CornerRadius10Node *top; F32 bottom_val; UI_CornerRadius10Node *free; B32 auto_pop; } corner_radius_10_stack;\
|
||||
struct { UI_CornerRadius11Node *top; F32 bottom_val; UI_CornerRadius11Node *free; B32 auto_pop; } corner_radius_11_stack;\
|
||||
struct { UI_BlurSizeNode *top; F32 bottom_val; UI_BlurSizeNode *free; B32 auto_pop; } blur_size_stack;\
|
||||
struct { UI_TextPaddingNode *top; F32 bottom_val; UI_TextPaddingNode *free; B32 auto_pop; } text_padding_stack;\
|
||||
struct { UI_TextAlignmentNode *top; UI_TextAlign bottom_val; UI_TextAlignmentNode *free; B32 auto_pop; } text_alignment_stack;\
|
||||
struct { UI_ParentNode *top; UI_Box * bottom_val; UI_ParentNode *free; U64 gen; B32 auto_pop; } parent_stack;\
|
||||
struct { UI_ChildLayoutAxisNode *top; Axis2 bottom_val; UI_ChildLayoutAxisNode *free; U64 gen; B32 auto_pop; } child_layout_axis_stack;\
|
||||
struct { UI_FixedXNode *top; F32 bottom_val; UI_FixedXNode *free; U64 gen; B32 auto_pop; } fixed_x_stack;\
|
||||
struct { UI_FixedYNode *top; F32 bottom_val; UI_FixedYNode *free; U64 gen; B32 auto_pop; } fixed_y_stack;\
|
||||
struct { UI_FixedWidthNode *top; F32 bottom_val; UI_FixedWidthNode *free; U64 gen; B32 auto_pop; } fixed_width_stack;\
|
||||
struct { UI_FixedHeightNode *top; F32 bottom_val; UI_FixedHeightNode *free; U64 gen; B32 auto_pop; } fixed_height_stack;\
|
||||
struct { UI_PrefWidthNode *top; UI_Size bottom_val; UI_PrefWidthNode *free; U64 gen; B32 auto_pop; } pref_width_stack;\
|
||||
struct { UI_PrefHeightNode *top; UI_Size bottom_val; UI_PrefHeightNode *free; U64 gen; B32 auto_pop; } pref_height_stack;\
|
||||
struct { UI_PermissionFlagsNode *top; UI_PermissionFlags bottom_val; UI_PermissionFlagsNode *free; U64 gen; B32 auto_pop; } permission_flags_stack;\
|
||||
struct { UI_FlagsNode *top; UI_BoxFlags bottom_val; UI_FlagsNode *free; U64 gen; B32 auto_pop; } flags_stack;\
|
||||
struct { UI_FocusHotNode *top; UI_FocusKind bottom_val; UI_FocusHotNode *free; U64 gen; B32 auto_pop; } focus_hot_stack;\
|
||||
struct { UI_FocusActiveNode *top; UI_FocusKind bottom_val; UI_FocusActiveNode *free; U64 gen; B32 auto_pop; } focus_active_stack;\
|
||||
struct { UI_FastpathCodepointNode *top; U32 bottom_val; UI_FastpathCodepointNode *free; U64 gen; B32 auto_pop; } fastpath_codepoint_stack;\
|
||||
struct { UI_GroupKeyNode *top; UI_Key bottom_val; UI_GroupKeyNode *free; U64 gen; B32 auto_pop; } group_key_stack;\
|
||||
struct { UI_TransparencyNode *top; F32 bottom_val; UI_TransparencyNode *free; U64 gen; B32 auto_pop; } transparency_stack;\
|
||||
struct { UI_PaletteNode *top; UI_Palette* bottom_val; UI_PaletteNode *free; U64 gen; B32 auto_pop; } palette_stack;\
|
||||
struct { UI_TagNode *top; String8 bottom_val; UI_TagNode *free; U64 gen; B32 auto_pop; } tag_stack;\
|
||||
struct { UI_SquishNode *top; F32 bottom_val; UI_SquishNode *free; U64 gen; B32 auto_pop; } squish_stack;\
|
||||
struct { UI_HoverCursorNode *top; OS_Cursor bottom_val; UI_HoverCursorNode *free; U64 gen; B32 auto_pop; } hover_cursor_stack;\
|
||||
struct { UI_FontNode *top; FNT_Tag bottom_val; UI_FontNode *free; U64 gen; B32 auto_pop; } font_stack;\
|
||||
struct { UI_FontSizeNode *top; F32 bottom_val; UI_FontSizeNode *free; U64 gen; B32 auto_pop; } font_size_stack;\
|
||||
struct { UI_TextRasterFlagsNode *top; FNT_RasterFlags bottom_val; UI_TextRasterFlagsNode *free; U64 gen; B32 auto_pop; } text_raster_flags_stack;\
|
||||
struct { UI_TabSizeNode *top; F32 bottom_val; UI_TabSizeNode *free; U64 gen; B32 auto_pop; } tab_size_stack;\
|
||||
struct { UI_CornerRadius00Node *top; F32 bottom_val; UI_CornerRadius00Node *free; U64 gen; B32 auto_pop; } corner_radius_00_stack;\
|
||||
struct { UI_CornerRadius01Node *top; F32 bottom_val; UI_CornerRadius01Node *free; U64 gen; B32 auto_pop; } corner_radius_01_stack;\
|
||||
struct { UI_CornerRadius10Node *top; F32 bottom_val; UI_CornerRadius10Node *free; U64 gen; B32 auto_pop; } corner_radius_10_stack;\
|
||||
struct { UI_CornerRadius11Node *top; F32 bottom_val; UI_CornerRadius11Node *free; U64 gen; B32 auto_pop; } corner_radius_11_stack;\
|
||||
struct { UI_BlurSizeNode *top; F32 bottom_val; UI_BlurSizeNode *free; U64 gen; B32 auto_pop; } blur_size_stack;\
|
||||
struct { UI_TextPaddingNode *top; F32 bottom_val; UI_TextPaddingNode *free; U64 gen; B32 auto_pop; } text_padding_stack;\
|
||||
struct { UI_TextAlignmentNode *top; UI_TextAlign bottom_val; UI_TextAlignmentNode *free; U64 gen; B32 auto_pop; } text_alignment_stack;\
|
||||
}
|
||||
#define UI_InitStacks(state) \
|
||||
state->parent_stack.top = &state->parent_nil_stack_top; state->parent_stack.bottom_val = &ui_nil_box; state->parent_stack.free = 0; state->parent_stack.auto_pop = 0;\
|
||||
@@ -149,6 +153,7 @@ state->fastpath_codepoint_stack.top = &state->fastpath_codepoint_nil_stack_top;
|
||||
state->group_key_stack.top = &state->group_key_nil_stack_top; state->group_key_stack.bottom_val = ui_key_zero(); state->group_key_stack.free = 0; state->group_key_stack.auto_pop = 0;\
|
||||
state->transparency_stack.top = &state->transparency_nil_stack_top; state->transparency_stack.bottom_val = 0; state->transparency_stack.free = 0; state->transparency_stack.auto_pop = 0;\
|
||||
state->palette_stack.top = &state->palette_nil_stack_top; state->palette_stack.bottom_val = &ui_g_nil_palette; state->palette_stack.free = 0; state->palette_stack.auto_pop = 0;\
|
||||
state->tag_stack.top = &state->tag_nil_stack_top; state->tag_stack.bottom_val = str8_lit(""); state->tag_stack.free = 0; state->tag_stack.auto_pop = 0;\
|
||||
state->squish_stack.top = &state->squish_nil_stack_top; state->squish_stack.bottom_val = 0; state->squish_stack.free = 0; state->squish_stack.auto_pop = 0;\
|
||||
state->hover_cursor_stack.top = &state->hover_cursor_nil_stack_top; state->hover_cursor_stack.bottom_val = OS_Cursor_Pointer; state->hover_cursor_stack.free = 0; state->hover_cursor_stack.auto_pop = 0;\
|
||||
state->font_stack.top = &state->font_nil_stack_top; state->font_stack.bottom_val = fnt_tag_zero(); state->font_stack.free = 0; state->font_stack.auto_pop = 0;\
|
||||
@@ -180,6 +185,7 @@ if(state->fastpath_codepoint_stack.auto_pop) { ui_pop_fastpath_codepoint(); stat
|
||||
if(state->group_key_stack.auto_pop) { ui_pop_group_key(); state->group_key_stack.auto_pop = 0; }\
|
||||
if(state->transparency_stack.auto_pop) { ui_pop_transparency(); state->transparency_stack.auto_pop = 0; }\
|
||||
if(state->palette_stack.auto_pop) { ui_pop_palette(); state->palette_stack.auto_pop = 0; }\
|
||||
if(state->tag_stack.auto_pop) { ui_pop_tag(); state->tag_stack.auto_pop = 0; }\
|
||||
if(state->squish_stack.auto_pop) { ui_pop_squish(); state->squish_stack.auto_pop = 0; }\
|
||||
if(state->hover_cursor_stack.auto_pop) { ui_pop_hover_cursor(); state->hover_cursor_stack.auto_pop = 0; }\
|
||||
if(state->font_stack.auto_pop) { ui_pop_font(); state->font_stack.auto_pop = 0; }\
|
||||
@@ -210,6 +216,7 @@ internal U32 ui_top_fastpath_codepoint(void);
|
||||
internal UI_Key ui_top_group_key(void);
|
||||
internal F32 ui_top_transparency(void);
|
||||
internal UI_Palette* ui_top_palette(void);
|
||||
internal String8 ui_top_tag(void);
|
||||
internal F32 ui_top_squish(void);
|
||||
internal OS_Cursor ui_top_hover_cursor(void);
|
||||
internal FNT_Tag ui_top_font(void);
|
||||
@@ -239,6 +246,7 @@ internal U32 ui_bottom_fastpath_codepoint(void);
|
||||
internal UI_Key ui_bottom_group_key(void);
|
||||
internal F32 ui_bottom_transparency(void);
|
||||
internal UI_Palette* ui_bottom_palette(void);
|
||||
internal String8 ui_bottom_tag(void);
|
||||
internal F32 ui_bottom_squish(void);
|
||||
internal OS_Cursor ui_bottom_hover_cursor(void);
|
||||
internal FNT_Tag ui_bottom_font(void);
|
||||
@@ -268,6 +276,7 @@ internal U32 ui_push_fastpath_codepoint(U32 v);
|
||||
internal UI_Key ui_push_group_key(UI_Key v);
|
||||
internal F32 ui_push_transparency(F32 v);
|
||||
internal UI_Palette* ui_push_palette(UI_Palette* v);
|
||||
internal String8 ui_push_tag(String8 v);
|
||||
internal F32 ui_push_squish(F32 v);
|
||||
internal OS_Cursor ui_push_hover_cursor(OS_Cursor v);
|
||||
internal FNT_Tag ui_push_font(FNT_Tag v);
|
||||
@@ -297,6 +306,7 @@ internal U32 ui_pop_fastpath_codepoint(void);
|
||||
internal UI_Key ui_pop_group_key(void);
|
||||
internal F32 ui_pop_transparency(void);
|
||||
internal UI_Palette* ui_pop_palette(void);
|
||||
internal String8 ui_pop_tag(void);
|
||||
internal F32 ui_pop_squish(void);
|
||||
internal OS_Cursor ui_pop_hover_cursor(void);
|
||||
internal FNT_Tag ui_pop_font(void);
|
||||
@@ -326,6 +336,7 @@ internal U32 ui_set_next_fastpath_codepoint(U32 v);
|
||||
internal UI_Key ui_set_next_group_key(UI_Key v);
|
||||
internal F32 ui_set_next_transparency(F32 v);
|
||||
internal UI_Palette* ui_set_next_palette(UI_Palette* v);
|
||||
internal String8 ui_set_next_tag(String8 v);
|
||||
internal F32 ui_set_next_squish(F32 v);
|
||||
internal OS_Cursor ui_set_next_hover_cursor(OS_Cursor v);
|
||||
internal FNT_Tag ui_set_next_font(FNT_Tag v);
|
||||
|
||||
+2
-1
@@ -33,6 +33,7 @@ UI_StackTable:
|
||||
//- rjf: colors
|
||||
{ Transparency transparency F32 0 }
|
||||
{ Palette palette `UI_Palette* ` `&ui_g_nil_palette` }
|
||||
{ Tag tag String8 `str8_lit("")` }
|
||||
|
||||
//- rjf: squish
|
||||
{ Squish squish F32 0 }
|
||||
@@ -94,7 +95,7 @@ UI_StackTable:
|
||||
`#define UI_DeclStacks \\`;
|
||||
`struct\\`;
|
||||
`{\\`;
|
||||
@expand(UI_StackTable a) `struct { UI_$(a.name)Node *top; $(a.type) bottom_val; UI_$(a.name)Node *free; B32 auto_pop; } $(a.name_lower)_stack;\\`;
|
||||
@expand(UI_StackTable a) `struct { UI_$(a.name)Node *top; $(a.type) bottom_val; UI_$(a.name)Node *free; U64 gen; B32 auto_pop; } $(a.name_lower)_stack;\\`;
|
||||
`}`;
|
||||
}
|
||||
|
||||
|
||||
@@ -2350,6 +2350,19 @@ ui_build_box_from_key(UI_BoxFlags flags, UI_Key key)
|
||||
box->text_padding = ui_state->text_padding_stack.top->v;
|
||||
box->hover_cursor = ui_state->hover_cursor_stack.top->v;
|
||||
box->custom_draw = 0;
|
||||
if(ui_state->current_gen_tags_gen != ui_state->tag_stack.gen)
|
||||
{
|
||||
ui_state->current_gen_tags_gen = ui_state->tag_stack.gen;
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
String8List tags = {0};
|
||||
for(UI_TagNode *n = ui_state->tag_stack.top; n != 0; n = n->next)
|
||||
{
|
||||
str8_list_push(ui_build_arena(), &tags, push_str8_copy(ui_build_arena(), n->v));
|
||||
}
|
||||
ui_state->current_gen_tags = str8_array_from_list(ui_build_arena(), &tags);
|
||||
scratch_end(scratch);
|
||||
}
|
||||
box->tags = ui_state->current_gen_tags;
|
||||
}
|
||||
|
||||
//- rjf: auto-pop all stacks
|
||||
@@ -3147,6 +3160,7 @@ if(node->next == &state->name_lower##_nil_stack_top)\
|
||||
state->name_lower##_stack.bottom_val = (new_value);\
|
||||
}\
|
||||
state->name_lower##_stack.auto_pop = 0;\
|
||||
state->name_lower##_stack.gen += 1;\
|
||||
return old_value;
|
||||
|
||||
#define UI_StackPopImpl(state, name_upper, name_lower) \
|
||||
@@ -3156,6 +3170,7 @@ if(popped != &state->name_lower##_nil_stack_top)\
|
||||
SLLStackPop(state->name_lower##_stack.top);\
|
||||
SLLStackPush(state->name_lower##_stack.free, popped);\
|
||||
state->name_lower##_stack.auto_pop = 0;\
|
||||
state->name_lower##_stack.gen += 1;\
|
||||
}\
|
||||
return popped->v;\
|
||||
|
||||
@@ -3167,6 +3182,7 @@ type old_value = state->name_lower##_stack.top->v;\
|
||||
node->v = new_value;\
|
||||
SLLStackPush(state->name_lower##_stack.top, node);\
|
||||
state->name_lower##_stack.auto_pop = 1;\
|
||||
state->name_lower##_stack.gen += 1;\
|
||||
return old_value;
|
||||
|
||||
#include "generated/ui.meta.c"
|
||||
|
||||
+30
-24
@@ -366,29 +366,32 @@ typedef U64 UI_BoxFlags;
|
||||
# define UI_BoxFlag_DrawDropShadow (UI_BoxFlags)(1ull<<27)
|
||||
# define UI_BoxFlag_DrawBackgroundBlur (UI_BoxFlags)(1ull<<28)
|
||||
# define UI_BoxFlag_DrawBackground (UI_BoxFlags)(1ull<<29)
|
||||
# define UI_BoxFlag_DrawBackgroundAlt (UI_BoxFlags)(1ull<<30)
|
||||
# define UI_BoxFlag_DrawBorder (UI_BoxFlags)(1ull<<31)
|
||||
# define UI_BoxFlag_DrawSideTop (UI_BoxFlags)(1ull<<32)
|
||||
# define UI_BoxFlag_DrawSideBottom (UI_BoxFlags)(1ull<<33)
|
||||
# define UI_BoxFlag_DrawSideLeft (UI_BoxFlags)(1ull<<34)
|
||||
# define UI_BoxFlag_DrawSideRight (UI_BoxFlags)(1ull<<35)
|
||||
# define UI_BoxFlag_DrawText (UI_BoxFlags)(1ull<<36)
|
||||
# define UI_BoxFlag_DrawTextFastpathCodepoint (UI_BoxFlags)(1ull<<37)
|
||||
# define UI_BoxFlag_DrawTextWeak (UI_BoxFlags)(1ull<<38)
|
||||
# define UI_BoxFlag_DrawHotEffects (UI_BoxFlags)(1ull<<39)
|
||||
# define UI_BoxFlag_DrawActiveEffects (UI_BoxFlags)(1ull<<40)
|
||||
# define UI_BoxFlag_DrawOverlay (UI_BoxFlags)(1ull<<41)
|
||||
# define UI_BoxFlag_DrawBucket (UI_BoxFlags)(1ull<<42)
|
||||
# define UI_BoxFlag_Clip (UI_BoxFlags)(1ull<<43)
|
||||
# define UI_BoxFlag_AnimatePosX (UI_BoxFlags)(1ull<<44)
|
||||
# define UI_BoxFlag_AnimatePosY (UI_BoxFlags)(1ull<<45)
|
||||
# define UI_BoxFlag_DisableTextTrunc (UI_BoxFlags)(1ull<<46)
|
||||
# define UI_BoxFlag_DisableIDString (UI_BoxFlags)(1ull<<47)
|
||||
# define UI_BoxFlag_DisableFocusBorder (UI_BoxFlags)(1ull<<48)
|
||||
# define UI_BoxFlag_DisableFocusOverlay (UI_BoxFlags)(1ull<<49)
|
||||
# define UI_BoxFlag_HasDisplayString (UI_BoxFlags)(1ull<<50)
|
||||
# define UI_BoxFlag_HasFuzzyMatchRanges (UI_BoxFlags)(1ull<<51)
|
||||
# define UI_BoxFlag_RoundChildrenByParent (UI_BoxFlags)(1ull<<52)
|
||||
# define UI_BoxFlag_DrawAlt (UI_BoxFlags)(1ull<<30)
|
||||
# define UI_BoxFlag_DrawGood (UI_BoxFlags)(1ull<<31)
|
||||
# define UI_BoxFlag_DrawBad (UI_BoxFlags)(1ull<<32)
|
||||
# define UI_BoxFlag_DrawPop (UI_BoxFlags)(1ull<<33)
|
||||
# define UI_BoxFlag_DrawBorder (UI_BoxFlags)(1ull<<34)
|
||||
# define UI_BoxFlag_DrawSideTop (UI_BoxFlags)(1ull<<35)
|
||||
# define UI_BoxFlag_DrawSideBottom (UI_BoxFlags)(1ull<<36)
|
||||
# define UI_BoxFlag_DrawSideLeft (UI_BoxFlags)(1ull<<37)
|
||||
# define UI_BoxFlag_DrawSideRight (UI_BoxFlags)(1ull<<38)
|
||||
# define UI_BoxFlag_DrawText (UI_BoxFlags)(1ull<<39)
|
||||
# define UI_BoxFlag_DrawTextFastpathCodepoint (UI_BoxFlags)(1ull<<40)
|
||||
# define UI_BoxFlag_DrawTextWeak (UI_BoxFlags)(1ull<<41)
|
||||
# define UI_BoxFlag_DrawHotEffects (UI_BoxFlags)(1ull<<42)
|
||||
# define UI_BoxFlag_DrawActiveEffects (UI_BoxFlags)(1ull<<43)
|
||||
# define UI_BoxFlag_DrawOverlay (UI_BoxFlags)(1ull<<44)
|
||||
# define UI_BoxFlag_DrawBucket (UI_BoxFlags)(1ull<<45)
|
||||
# define UI_BoxFlag_Clip (UI_BoxFlags)(1ull<<46)
|
||||
# define UI_BoxFlag_AnimatePosX (UI_BoxFlags)(1ull<<47)
|
||||
# define UI_BoxFlag_AnimatePosY (UI_BoxFlags)(1ull<<48)
|
||||
# define UI_BoxFlag_DisableTextTrunc (UI_BoxFlags)(1ull<<49)
|
||||
# define UI_BoxFlag_DisableIDString (UI_BoxFlags)(1ull<<50)
|
||||
# define UI_BoxFlag_DisableFocusBorder (UI_BoxFlags)(1ull<<51)
|
||||
# define UI_BoxFlag_DisableFocusOverlay (UI_BoxFlags)(1ull<<52)
|
||||
# define UI_BoxFlag_HasDisplayString (UI_BoxFlags)(1ull<<53)
|
||||
# define UI_BoxFlag_HasFuzzyMatchRanges (UI_BoxFlags)(1ull<<54)
|
||||
# define UI_BoxFlag_RoundChildrenByParent (UI_BoxFlags)(1ull<<55)
|
||||
|
||||
//- rjf: bundles
|
||||
# define UI_BoxFlag_Clickable (UI_BoxFlag_MouseClickable|UI_BoxFlag_KeyboardClickable)
|
||||
@@ -420,6 +423,7 @@ struct UI_Box
|
||||
//- rjf: per-build equipment
|
||||
UI_Key key;
|
||||
UI_BoxFlags flags;
|
||||
String8Array tags;
|
||||
String8 string;
|
||||
UI_TextAlign text_align;
|
||||
Vec2F32 fixed_position;
|
||||
@@ -659,6 +663,9 @@ struct UI_State
|
||||
|
||||
//- rjf: build state machine state
|
||||
B32 is_in_open_ctx_menu;
|
||||
B32 tooltip_can_overflow_window;
|
||||
String8Array current_gen_tags;
|
||||
U64 current_gen_tags_gen;
|
||||
|
||||
//- rjf: build phase output
|
||||
UI_Box *root;
|
||||
@@ -668,7 +675,6 @@ struct UI_State
|
||||
U64 build_box_count;
|
||||
U64 last_build_box_count;
|
||||
B32 ctx_menu_touched_this_frame;
|
||||
B32 tooltip_can_overflow_window;
|
||||
B32 is_animating;
|
||||
|
||||
//- rjf: build parameters
|
||||
|
||||
Reference in New Issue
Block a user