eliminate remaining usage code of old theme system; to not pay the cost of slower-path color lookups for every single syntax highlighted thing in the UI, just introduce 'code color slots', which are computed once per window per frame

This commit is contained in:
Ryan Fleury
2025-05-02 11:34:24 -07:00
parent 2b12239300
commit adf2eabba7
6 changed files with 106 additions and 2263 deletions
File diff suppressed because it is too large Load Diff
+18 -162
View File
@@ -366,155 +366,24 @@ RD_IconKind_Duplicate,
RD_IconKind_COUNT,
} RD_IconKind;
typedef enum RD_ThemeColor
typedef enum RD_CodeColorSlot
{
RD_ThemeColor_Null,
RD_ThemeColor_InactivePanelOverlay,
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_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_TabBackgroundAlt,
RD_ThemeColor_TabBackgroundGood,
RD_ThemeColor_TabBackgroundBad,
RD_ThemeColor_TabBackgroundPop,
RD_ThemeColor_TabBorder,
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,
RD_ThemeColor_CodeLocal,
RD_ThemeColor_CodeRegister,
RD_ThemeColor_CodeKeyword,
RD_ThemeColor_CodeDelimiterOperator,
RD_ThemeColor_CodeNumeric,
RD_ThemeColor_CodeNumericAltDigitGroup,
RD_ThemeColor_CodeString,
RD_ThemeColor_CodeMeta,
RD_ThemeColor_CodeComment,
RD_ThemeColor_CodeLineNumbers,
RD_ThemeColor_CodeLineNumbersSelected,
RD_ThemeColor_LineInfoBackground0,
RD_ThemeColor_LineInfoBackground1,
RD_ThemeColor_LineInfoBackground2,
RD_ThemeColor_LineInfoBackground3,
RD_ThemeColor_LineInfoBackground4,
RD_ThemeColor_LineInfoBackground5,
RD_ThemeColor_LineInfoBackground6,
RD_ThemeColor_LineInfoBackground7,
RD_ThemeColor_Thread0,
RD_ThemeColor_Thread1,
RD_ThemeColor_Thread2,
RD_ThemeColor_Thread3,
RD_ThemeColor_Thread4,
RD_ThemeColor_Thread5,
RD_ThemeColor_Thread6,
RD_ThemeColor_Thread7,
RD_ThemeColor_ThreadUnwound,
RD_ThemeColor_ThreadError,
RD_ThemeColor_Breakpoint,
RD_ThemeColor_CacheLineBoundary,
RD_ThemeColor_COUNT,
} RD_ThemeColor;
RD_CodeColorSlot_CodeDefault,
RD_CodeColorSlot_CodeSymbol,
RD_CodeColorSlot_CodeType,
RD_CodeColorSlot_CodeLocal,
RD_CodeColorSlot_CodeRegister,
RD_CodeColorSlot_CodeKeyword,
RD_CodeColorSlot_CodeDelimiterOperator,
RD_CodeColorSlot_CodeNumeric,
RD_CodeColorSlot_CodeNumericAltDigitGroup,
RD_CodeColorSlot_CodeString,
RD_CodeColorSlot_CodeMeta,
RD_CodeColorSlot_CodeComment,
RD_CodeColorSlot_CodeLineNumbers,
RD_CodeColorSlot_CodeLineNumbersSelected,
RD_CodeColorSlot_COUNT,
} RD_CodeColorSlot;
typedef enum RD_ThemePreset
{
@@ -695,23 +564,10 @@ extern Rng1U64 rd_reg_slot_range_table[43];
extern String8 rd_binding_version_remap_old_name_table[8];
extern String8 rd_binding_version_remap_new_name_table[8];
extern String8 rd_icon_kind_text_table[75];
extern String8 rd_code_color_slot_name_table[14];
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[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[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,0x43,0x62,0x25,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x60,0x63,0x6d,0x61,0x70,0xa3,0x60,0xa4,0x23,0x00,0x00,0x01,0xb0,0x00,0x00,0x06,0x12,0x63,0x76,0x74,0x20,