diff --git a/custom/4coder_default_colors.cpp b/custom/4coder_default_colors.cpp index 9a9ba453..022b8dc2 100644 --- a/custom/4coder_default_colors.cpp +++ b/custom/4coder_default_colors.cpp @@ -104,7 +104,7 @@ make_color_table(Application_Links *app, Arena *arena){ function void set_default_color_scheme(Application_Links *app){ if (global_theme_arena.base_allocator == 0){ - global_theme_arena = make_arena_system(); + global_theme_arena = make_arena_system(); } Arena *arena = &global_theme_arena; @@ -120,9 +120,9 @@ set_default_color_scheme(Application_Links *app){ default_color_table.arrays[defcolor_margin] = make_colors(arena, 0xFF181818); default_color_table.arrays[defcolor_margin_hover] = make_colors(arena, 0xFF252525); default_color_table.arrays[defcolor_margin_active] = make_colors(arena, 0xFF323232); - default_color_table.arrays[defcolor_list_item] = make_colors(arena, 0xFF181818); - default_color_table.arrays[defcolor_list_item_hover] = make_colors(arena, 0xFF252525); - default_color_table.arrays[defcolor_list_item_active] = make_colors(arena, 0xFF323232); + default_color_table.arrays[defcolor_list_item] = make_colors(arena, 0xFF181818, 0xFF0C0C0C); + default_color_table.arrays[defcolor_list_item_hover] = make_colors(arena, 0xFF252525, 0xFF0C0C0C); + default_color_table.arrays[defcolor_list_item_active] = make_colors(arena, 0xFF323232, 0xFF0C0C0C); default_color_table.arrays[defcolor_cursor] = make_colors(arena, 0xFF00EE00, 0xFFEE7700); default_color_table.arrays[defcolor_at_cursor] = make_colors(arena, 0xFF0C0C0C); default_color_table.arrays[defcolor_highlight_cursor_line] = make_colors(arena, 0xFF1E1E1E); diff --git a/custom/4coder_draw.cpp b/custom/4coder_draw.cpp index d6ebc6cf..4121ae13 100644 --- a/custom/4coder_draw.cpp +++ b/custom/4coder_draw.cpp @@ -12,21 +12,45 @@ draw_text_layout_default(Application_Links *app, Text_Layout_ID layout_id){ } function FColor -get_margin_color(i32 level){ +get_item_margin_color(i32 level, i32 sub_id){ FColor margin = fcolor_zero(); switch (level){ default: case UIHighlight_None: { - margin = fcolor_id(defcolor_list_item); + margin = fcolor_id(defcolor_list_item, sub_id); }break; case UIHighlight_Hover: { - margin = fcolor_id(defcolor_list_item_hover); + margin = fcolor_id(defcolor_list_item_hover, sub_id); }break; case UIHighlight_Active: { - margin = fcolor_id(defcolor_list_item_active); + margin = fcolor_id(defcolor_list_item_active, sub_id); + }break; + } + return(margin); +} +function FColor +get_item_margin_color(i32 level){ + return(get_item_margin_color(level, 0)); +} +function FColor +get_panel_margin_color(i32 level){ + FColor margin = fcolor_zero(); + switch (level){ + default: + case UIHighlight_None: + { + margin = fcolor_id(defcolor_margin); + }break; + case UIHighlight_Hover: + { + margin = fcolor_id(defcolor_margin_hover); + }break; + case UIHighlight_Active: + { + margin = fcolor_id(defcolor_margin_active); }break; } return(margin); @@ -254,7 +278,7 @@ draw_background_and_margin(Application_Links *app, View_ID view, FColor margin, function Rect_f32 draw_background_and_margin(Application_Links *app, View_ID view, b32 is_active_view){ - FColor margin_color = get_margin_color(is_active_view?UIHighlight_Active:UIHighlight_None); + FColor margin_color = get_panel_margin_color(is_active_view?UIHighlight_Active:UIHighlight_None); return(draw_background_and_margin(app, view, margin_color, fcolor_id(defcolor_back))); } @@ -832,10 +856,10 @@ draw_button(Application_Links *app, Rect_f32 rect, Vec2_f32 mouse_p, Face_ID fac hovered = true; } - FColor margin_color = get_margin_color(hovered?UIHighlight_Active:UIHighlight_None); - draw_rectangle_fcolor(app, rect, 3.f, margin_color); + UI_Highlight_Level highlight = hovered?UIHighlight_Active:UIHighlight_None; + draw_rectangle_fcolor(app, rect, 3.f, get_item_margin_color(highlight)); rect = rect_inner(rect, 3.f); - draw_rectangle_fcolor(app, rect, 3.f, fcolor_id(defcolor_back)); + draw_rectangle_fcolor(app, rect, 3.f, get_item_margin_color(highlight, 1)); Scratch_Block scratch(app); Fancy_String *fancy = push_fancy_string(scratch, 0, face, fcolor_id(defcolor_text_default), text); diff --git a/custom/4coder_lister_base.cpp b/custom/4coder_lister_base.cpp index 06341b16..7e98b502 100644 --- a/custom/4coder_lister_base.cpp +++ b/custom/4coder_lister_base.cpp @@ -266,8 +266,8 @@ lister_render(Application_Links *app, Frame_Info frame_info, View_ID view){ highlight = UIHighlight_Hover; } - draw_rectangle_fcolor(app, item_rect, 6.f, get_margin_color(highlight)); - draw_rectangle_fcolor(app, item_inner, 6.f, fcolor_id(defcolor_back)); + draw_rectangle_fcolor(app, item_rect, 6.f, get_item_margin_color(highlight)); + draw_rectangle_fcolor(app, item_inner, 6.f, get_item_margin_color(highlight, 1)); Fancy_Line line = {}; push_fancy_string(scratch, &line, fcolor_id(defcolor_text_default), node->string); diff --git a/custom/4coder_log_parser.cpp b/custom/4coder_log_parser.cpp index dfbccc96..c2b8a3c9 100644 --- a/custom/4coder_log_parser.cpp +++ b/custom/4coder_log_parser.cpp @@ -672,7 +672,7 @@ log_graph_render(Application_Links *app, Frame_Info frame_info, View_ID view){ Rect_f32 view_rect = view_get_screen_rect(app, view); Rect_f32 inner = rect_inner(view_rect, 3); draw_rectangle_fcolor(app, view_rect, 0.f, - get_margin_color(is_active_view?UIHighlight_Active:UIHighlight_None)); + get_item_margin_color(is_active_view?UIHighlight_Active:UIHighlight_None)); draw_rectangle_fcolor(app, inner, 0.f, fcolor_id(defcolor_back)); Rect_f32 prev_clip = draw_set_clip(app, inner); diff --git a/custom/4coder_tutorial.cpp b/custom/4coder_tutorial.cpp index 33067db5..6f4c86cb 100644 --- a/custom/4coder_tutorial.cpp +++ b/custom/4coder_tutorial.cpp @@ -121,7 +121,7 @@ tutorial_render(Application_Links *app, Frame_Info frame_info, View_ID view_id){ View_ID active_view = get_active_view(app, Access_Always); b32 is_active_view = (active_view == view_id); - FColor margin_color = get_margin_color(is_active_view?UIHighlight_Active:UIHighlight_None); + FColor margin_color = get_panel_margin_color(is_active_view?UIHighlight_Active:UIHighlight_None); Rect_f32 region = draw_background_and_margin(app, view_id, margin_color, margin_color); Rect_f32 prev_clip = draw_set_clip(app, region); @@ -152,9 +152,9 @@ tutorial_render(Application_Links *app, Frame_Info frame_info, View_ID view_id){ Rect_f32_Pair pair = rect_split_left_right(footer, b_width); footer = pair.max; footer.x0 += 10.f; - if (draw_button(app, pair.min, m_p, face, string_u8_litexpr("minimize"))){ - tutorial.hover_action = TutorialAction_Minimize; - } + if (draw_button(app, pair.min, m_p, face, string_u8_litexpr("minimize"))){ + tutorial.hover_action = TutorialAction_Minimize; + } } { @@ -241,7 +241,7 @@ tutorial_run_loop(Application_Links *app){ case CoreCode_ClickActivateView: { tutorial_maximize(app); - tutorial_action(app, tutorial.hover_action); + tutorial_action(app, tutorial.hover_action); change_active_panel(app); }break; diff --git a/ship_files/themes/theme-4coder.4coder b/ship_files/themes/theme-4coder.4coder index 879ff82e..b60ec7b2 100644 --- a/ship_files/themes/theme-4coder.4coder +++ b/ship_files/themes/theme-4coder.4coder @@ -3,9 +3,9 @@ defcolor_back = 0xFF0C0C0C; defcolor_margin = 0xFF181818; defcolor_margin_hover = 0xFF252525; defcolor_margin_active = 0xFF323232; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFF00EE00, 0xFFEE7700}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFF1E1E1E; diff --git a/ship_files/themes/theme-handmade-hero.4coder b/ship_files/themes/theme-handmade-hero.4coder index 54531399..2ede1758 100644 --- a/ship_files/themes/theme-handmade-hero.4coder +++ b/ship_files/themes/theme-handmade-hero.4coder @@ -4,9 +4,9 @@ defcolor_back = 0xFF161616; defcolor_margin = 0xFF262626; defcolor_margin_hover = 0xFF333333; defcolor_margin_active = 0xFF404040; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFF40FF40, 0xFFFF4040}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFF121E12; diff --git a/ship_files/themes/theme-hjortshoej.4coder b/ship_files/themes/theme-hjortshoej.4coder index b84e7b70..577cbf12 100644 --- a/ship_files/themes/theme-hjortshoej.4coder +++ b/ship_files/themes/theme-hjortshoej.4coder @@ -4,9 +4,9 @@ defcolor_back = 0xFFF0F0F0; defcolor_margin = 0xFF9E9E9E; defcolor_margin_hover = 0xFF7E7E7E; defcolor_margin_active = 0xFF5C5C5C; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFF000000, 0xFF008080}; defcolor_at_cursor = 0xFFD6D6D6; defcolor_highlight_cursor_line = 0xFFB8B098; diff --git a/ship_files/themes/theme-midnight.4coder b/ship_files/themes/theme-midnight.4coder index b0768625..28e09dfd 100644 --- a/ship_files/themes/theme-midnight.4coder +++ b/ship_files/themes/theme-midnight.4coder @@ -3,9 +3,9 @@ defcolor_back = 0xFF202020; defcolor_margin = 0xFF383838; defcolor_margin_hover = 0xFF404040; defcolor_margin_active = 0xFF484848; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFFDDDDDD, 0xFFDD7777}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFF383838; diff --git a/ship_files/themes/theme-stb-dark.4coder b/ship_files/themes/theme-stb-dark.4coder index e747e24a..a5b0b9f5 100644 --- a/ship_files/themes/theme-stb-dark.4coder +++ b/ship_files/themes/theme-stb-dark.4coder @@ -3,9 +3,9 @@ defcolor_back = 0xFF303030; defcolor_margin = 0xFF383838; defcolor_margin_hover = 0xFF404040; defcolor_margin_active = 0xFF484848; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFFDDDDDD, 0xFFDDF0F0}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFF383838; diff --git a/ship_files/themes/theme-stb.4coder b/ship_files/themes/theme-stb.4coder index 012be474..9c6e9556 100644 --- a/ship_files/themes/theme-stb.4coder +++ b/ship_files/themes/theme-stb.4coder @@ -3,9 +3,9 @@ defcolor_back = 0xFFD6D6D6; defcolor_margin = 0xFF9E9E9E; defcolor_margin_hover = 0xFF7E7E7E; defcolor_margin_active = 0xFF5C5C5C; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFF000000, 0xFF002020}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFFBCBCBC; diff --git a/ship_files/themes/theme-strange.4coder b/ship_files/themes/theme-strange.4coder index 5dad726e..ffc1b76f 100644 --- a/ship_files/themes/theme-strange.4coder +++ b/ship_files/themes/theme-strange.4coder @@ -4,9 +4,9 @@ defcolor_back = 0xFF161616; defcolor_margin = 0xFF606590; defcolor_margin_hover = 0xFF606590; defcolor_margin_active = 0xFF9A99E7; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFFd96e26, 0xFFd9d926}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFF002222; diff --git a/ship_files/themes/theme-sunlight.4coder b/ship_files/themes/theme-sunlight.4coder index b7c09653..ccb1cd6f 100644 --- a/ship_files/themes/theme-sunlight.4coder +++ b/ship_files/themes/theme-sunlight.4coder @@ -3,9 +3,9 @@ defcolor_back = 0xFFDFD5D0; defcolor_margin = 0xFFC7C7C7; defcolor_margin_hover = 0xFFBFBFBF; defcolor_margin_active = 0xFFB7B7B7; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFF222222, 0xFF442244}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFFC7C7C7; diff --git a/ship_files/themes/theme-twilight.4coder b/ship_files/themes/theme-twilight.4coder index 22f6f0fa..11f8d305 100644 --- a/ship_files/themes/theme-twilight.4coder +++ b/ship_files/themes/theme-twilight.4coder @@ -3,9 +3,9 @@ defcolor_back = 0xFF090D12; defcolor_margin = 0xFF1A2634; defcolor_margin_hover = 0xFF2D415B; defcolor_margin_active = 0xFF405D82; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFFEEE800, 0xFFEE00E8}; defcolor_at_cursor = defcolor_back; defcolor_highlight_cursor_line = 0xFF1A2634; diff --git a/ship_files/themes/theme-wombat.4coder b/ship_files/themes/theme-wombat.4coder index 3d130606..ee927d23 100644 --- a/ship_files/themes/theme-wombat.4coder +++ b/ship_files/themes/theme-wombat.4coder @@ -4,9 +4,9 @@ defcolor_back = 0xFF242424; defcolor_margin = 0xFF181818; defcolor_margin_hover = 0xFF252525; defcolor_margin_active = 0xFF323232; -defcolor_list_item = defcolor_margin; -defcolor_list_item_hover = defcolor_margin_hover; -defcolor_list_item_active = defcolor_margin_active; +defcolor_list_item = {defcolor_margin, defcolor_back}; +defcolor_list_item_hover = {defcolor_margin_hover, defcolor_margin}; +defcolor_list_item_active = {defcolor_margin_active, defcolor_margin_active}; defcolor_cursor = {0xFF656565, 0xFF654065}; defcolor_highlight = 0xFF636066; defcolor_mark = defcolor_cursor;