From fcfd446c5eacb861d96c2ec7e619f679d767a326 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Tue, 24 Sep 2024 16:58:10 -0700 Subject: [PATCH] watch ui tweaks --- .../eval_visualization_core.c | 2 -- src/raddbg/generated/raddbg.meta.c | 35 ++++++++++++------- src/raddbg/generated/raddbg.meta.h | 23 ++++++------ src/raddbg/raddbg.mdesk | 3 +- src/raddbg/raddbg_views.c | 16 ++++++--- src/raddbg/raddbg_widgets.c | 7 ++-- 6 files changed, 52 insertions(+), 34 deletions(-) diff --git a/src/eval_visualization/eval_visualization_core.c b/src/eval_visualization/eval_visualization_core.c index 94c93ffd..02ff58ba 100644 --- a/src/eval_visualization/eval_visualization_core.c +++ b/src/eval_visualization/eval_visualization_core.c @@ -960,7 +960,6 @@ internal EV_WindowedRowList ev_windowed_row_list_from_block_list(Arena *arena, EV_View *view, Rng1S64 visible_range, EV_BlockList *blocks) { ProfBeginFunction(); - Temp scratch = scratch_begin(&arena, 1); ////////////////////////////// //- rjf: produce windowed rows, per block @@ -1079,7 +1078,6 @@ ev_windowed_row_list_from_block_list(Arena *arena, EV_View *view, Rng1S64 visibl }break; } } - scratch_end(scratch); ProfEnd(); return list; } diff --git a/src/raddbg/generated/raddbg.meta.c b/src/raddbg/generated/raddbg.meta.c index 0b6a1774..4def451f 100644 --- a/src/raddbg/generated/raddbg.meta.c +++ b/src/raddbg/generated/raddbg.meta.c @@ -851,7 +851,7 @@ str8_lit_comp("negative_pop_button_background"), str8_lit_comp("neutral_pop_button_background"), }; -Vec4F32 rd_theme_preset_colors__default_dark[75] = +Vec4F32 rd_theme_preset_colors__default_dark[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0xe5e5e5ff), @@ -871,7 +871,7 @@ rgba_from_u32_lit_comp(0x99ccff4c), rgba_from_u32_lit_comp(0xffffff1e), rgba_from_u32_lit_comp(0x5f12005f), rgba_from_u32_lit_comp(0x1b1b1bfe), -rgba_from_u32_lit_comp(0x2b2b2bfe), +rgba_from_u32_lit_comp(0x222222fe), rgba_from_u32_lit_comp(0x3f3f3ffe), rgba_from_u32_lit_comp(0x3e4c577f), rgba_from_u32_lit_comp(0x3e4c577f), @@ -928,9 +928,10 @@ rgba_from_u32_lit_comp(0x65ff4cff), rgba_from_u32_lit_comp(0xb2ccd8ff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xa72911ff), +rgba_from_u32_lit_comp(0x355b6eff), }; -Vec4F32 rd_theme_preset_colors__default_light[75] = +Vec4F32 rd_theme_preset_colors__default_light[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0x4c4c4cff), @@ -1007,9 +1008,10 @@ rgba_from_u32_lit_comp(0x405d3bff), rgba_from_u32_lit_comp(0x49606aff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xff2800ff), +rgba_from_u32_lit_comp(0xa6becaff), }; -Vec4F32 rd_theme_preset_colors__vs_dark[75] = +Vec4F32 rd_theme_preset_colors__vs_dark[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0xe5e5e5ff), @@ -1086,9 +1088,10 @@ rgba_from_u32_lit_comp(0x65ff4cff), rgba_from_u32_lit_comp(0xb2ccd8ff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xa72911ff), +rgba_from_u32_lit_comp(0x355b6eff), }; -Vec4F32 rd_theme_preset_colors__vs_light[75] = +Vec4F32 rd_theme_preset_colors__vs_light[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0x000000ff), @@ -1165,9 +1168,10 @@ rgba_from_u32_lit_comp(0x405d3bff), rgba_from_u32_lit_comp(0x49606aff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xa72911ff), +rgba_from_u32_lit_comp(0x6e9db5ff), }; -Vec4F32 rd_theme_preset_colors__solarized_dark[75] = +Vec4F32 rd_theme_preset_colors__solarized_dark[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0x999999ff), @@ -1244,9 +1248,10 @@ rgba_from_u32_lit_comp(0x65ff4cff), rgba_from_u32_lit_comp(0xb2ccd8ff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xa72911ff), +rgba_from_u32_lit_comp(0x355b6eff), }; -Vec4F32 rd_theme_preset_colors__solarized_light[75] = +Vec4F32 rd_theme_preset_colors__solarized_light[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0x333333ff), @@ -1323,9 +1328,10 @@ rgba_from_u32_lit_comp(0x405d3bff), rgba_from_u32_lit_comp(0x49606aff), rgba_from_u32_lit_comp(0xb23218ff), rgba_from_u32_lit_comp(0xff684bff), +rgba_from_u32_lit_comp(0xb2d3e3ff), }; -Vec4F32 rd_theme_preset_colors__handmade_hero[75] = +Vec4F32 rd_theme_preset_colors__handmade_hero[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0xa08462ff), @@ -1402,9 +1408,10 @@ rgba_from_u32_lit_comp(0x65ff4cff), rgba_from_u32_lit_comp(0xb2ccd8ff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xa72911ff), +rgba_from_u32_lit_comp(0x15445cff), }; -Vec4F32 rd_theme_preset_colors__four_coder[75] = +Vec4F32 rd_theme_preset_colors__four_coder[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0x90b080ff), @@ -1481,9 +1488,10 @@ rgba_from_u32_lit_comp(0x65ff4cff), rgba_from_u32_lit_comp(0xb2ccd8ff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xa72911ff), +rgba_from_u32_lit_comp(0x1b323eff), }; -Vec4F32 rd_theme_preset_colors__far_manager[75] = +Vec4F32 rd_theme_preset_colors__far_manager[76] = { rgba_from_u32_lit_comp(0xff00ffff), rgba_from_u32_lit_comp(0x00fefeff), @@ -1560,6 +1568,7 @@ rgba_from_u32_lit_comp(0x65ff4cff), rgba_from_u32_lit_comp(0xb2ccd8ff), rgba_from_u32_lit_comp(0xb23219ff), rgba_from_u32_lit_comp(0xff2800ff), +rgba_from_u32_lit_comp(0x933100ff), }; Vec4F32* rd_theme_preset_colors_table[9] = @@ -1575,7 +1584,7 @@ rd_theme_preset_colors__four_coder, rd_theme_preset_colors__far_manager, }; -String8 rd_theme_color_display_string_table[75] = +String8 rd_theme_color_display_string_table[76] = { str8_lit_comp("Null"), str8_lit_comp("Text"), @@ -1652,9 +1661,10 @@ str8_lit_comp("Thread 7"), str8_lit_comp("Thread (Unwound)"), str8_lit_comp("Thread (Error)"), str8_lit_comp("Breakpoint"), +str8_lit_comp("Cache Line Boundary"), }; -String8 rd_theme_color_cfg_string_table[75] = +String8 rd_theme_color_cfg_string_table[76] = { str8_lit_comp("null"), str8_lit_comp("text"), @@ -1731,6 +1741,7 @@ str8_lit_comp("thread_7"), str8_lit_comp("thread_unwound"), str8_lit_comp("thread_error"), str8_lit_comp("breakpoint"), +str8_lit_comp("cache_line_boundary"), }; String8 rd_setting_code_display_string_table[19] = diff --git a/src/raddbg/generated/raddbg.meta.h b/src/raddbg/generated/raddbg.meta.h index f9854a2f..917663eb 100644 --- a/src/raddbg/generated/raddbg.meta.h +++ b/src/raddbg/generated/raddbg.meta.h @@ -496,6 +496,7 @@ RD_ThemeColor_Thread7, RD_ThemeColor_ThreadUnwound, RD_ThemeColor_ThreadError, RD_ThemeColor_Breakpoint, +RD_ThemeColor_CacheLineBoundary, RD_ThemeColor_COUNT, } RD_ThemeColor; @@ -718,18 +719,18 @@ extern String8 rd_theme_preset_display_string_table[9]; extern String8 rd_theme_preset_code_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[75]; -extern Vec4F32 rd_theme_preset_colors__default_light[75]; -extern Vec4F32 rd_theme_preset_colors__vs_dark[75]; -extern Vec4F32 rd_theme_preset_colors__vs_light[75]; -extern Vec4F32 rd_theme_preset_colors__solarized_dark[75]; -extern Vec4F32 rd_theme_preset_colors__solarized_light[75]; -extern Vec4F32 rd_theme_preset_colors__handmade_hero[75]; -extern Vec4F32 rd_theme_preset_colors__four_coder[75]; -extern Vec4F32 rd_theme_preset_colors__far_manager[75]; +extern Vec4F32 rd_theme_preset_colors__default_dark[76]; +extern Vec4F32 rd_theme_preset_colors__default_light[76]; +extern Vec4F32 rd_theme_preset_colors__vs_dark[76]; +extern Vec4F32 rd_theme_preset_colors__vs_light[76]; +extern Vec4F32 rd_theme_preset_colors__solarized_dark[76]; +extern Vec4F32 rd_theme_preset_colors__solarized_light[76]; +extern Vec4F32 rd_theme_preset_colors__handmade_hero[76]; +extern Vec4F32 rd_theme_preset_colors__four_coder[76]; +extern Vec4F32 rd_theme_preset_colors__far_manager[76]; extern Vec4F32* rd_theme_preset_colors_table[9]; -extern String8 rd_theme_color_display_string_table[75]; -extern String8 rd_theme_color_cfg_string_table[75]; +extern String8 rd_theme_color_display_string_table[76]; +extern String8 rd_theme_color_cfg_string_table[76]; extern String8 rd_setting_code_display_string_table[19]; extern String8 rd_setting_code_lower_string_table[19]; extern B8 rd_setting_code_default_is_per_window_table[19]; diff --git a/src/raddbg/raddbg.mdesk b/src/raddbg/raddbg.mdesk index 409aed5a..d21b174e 100644 --- a/src/raddbg/raddbg.mdesk +++ b/src/raddbg/raddbg.mdesk @@ -987,7 +987,7 @@ RD_ThemeColorTable: //- rjf: base ui container colors {BaseBackground "Base Background" base_background 0x1b1b1bfe 0xccccccfe 0x1b1b1bfe 0xfefefefe 0x002a35fe 0xfcf5e2fe 0x0c0c0cfe 0x0c0c0cfe 0x000081fe ""} - {BaseBackgroundAlt "Base Background (Alternate)" base_background_alt 0x2b2b2bfe 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""} + {BaseBackgroundAlt "Base Background (Alternate)" base_background_alt 0x222222fe 0x2b2b2bfe 0x1b1b1bfe 0xe7e7e7fe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe 0x2b2b2bfe ""} {BaseBorder "Base Border" base_border 0x3f3f3ffe 0xa4a4a4fe 0x3f3f3ffe 0xb6b6b6ff 0xfefefe3a 0xbebaabfe 0x423525fe 0x3f3f3ffe 0x0000fffe ""} //- rjf: menu bar ui container colors @@ -1054,6 +1054,7 @@ RD_ThemeColorTable: {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) diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index b5e37387..a11266c9 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -1949,6 +1949,11 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo palette = ui_build_palette(ui_top_palette(), .background = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay)); row_flags |= UI_BoxFlag_DrawBackground; } + else if(semantic_idx & 1) + { + palette = ui_build_palette(ui_top_palette(), .background = rd_rgba_from_theme_color(RD_ThemeColor_BaseBackgroundAlt)); + row_flags |= UI_BoxFlag_DrawBackground; + } } //////////////////////// @@ -1960,7 +1965,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo ui_set_next_pref_height(ui_px(scroll_list_params.row_height_px*row->size_in_rows, 1.f)); ui_set_next_focus_hot(row_selected ? UI_FocusKind_On : UI_FocusKind_Off); UI_Box *row_box = ui_build_box_from_stringf(row_flags| - UI_BoxFlag_DrawSideBottom| + (!row->next) * UI_BoxFlag_DrawSideBottom| UI_BoxFlag_Clickable| ((row->block_kind != EV_BlockKind_Canvas) * UI_BoxFlag_DisableFocusOverlay)| ((row->block_kind == EV_BlockKind_Canvas) * UI_BoxFlag_Clip), @@ -2090,8 +2095,8 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo { ui_set_next_fixed_x(0); ui_set_next_fixed_y(0); - ui_set_next_fixed_height(ui_top_font_size()*0.1f); - ui_set_next_palette(ui_build_palette(ui_top_palette(), .background = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay))); + ui_set_next_fixed_height(ui_top_font_size()*0.2f); + ui_set_next_palette(ui_build_palette(ui_top_palette(), .background = rd_rgba_from_theme_color(RD_ThemeColor_CacheLineBoundary))); ui_build_box_from_key(UI_BoxFlag_Floating|UI_BoxFlag_DrawBackground, ui_key_zero()); } @@ -2107,9 +2112,10 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo if(next_off%64 != 0 && row_eval.value.u64/64 < next_off/64) { ui_set_next_fixed_x(0); - ui_set_next_fixed_y(scroll_list_params.row_height_px - ui_top_font_size()*0.5f); + ui_set_next_fixed_y(scroll_list_params.row_height_px - ui_top_font_size()*1.f); ui_set_next_fixed_height(ui_top_font_size()*1.f); - Vec4F32 boundary_color = rd_rgba_from_theme_color(RD_ThemeColor_HighlightOverlay); + Vec4F32 boundary_color = rd_rgba_from_theme_color(RD_ThemeColor_CacheLineBoundary); + boundary_color.w *= 0.5f; ui_set_next_palette(ui_build_palette(ui_top_palette(), .background = boundary_color)); ui_build_box_from_key(UI_BoxFlag_Floating|UI_BoxFlag_DrawBackground, ui_key_zero()); } diff --git a/src/raddbg/raddbg_widgets.c b/src/raddbg/raddbg_widgets.c index 05ccac72..e27311bb 100644 --- a/src/raddbg/raddbg_widgets.c +++ b/src/raddbg/raddbg_widgets.c @@ -2834,7 +2834,7 @@ internal UI_Signal rd_line_edit(RD_LineEditFlags flags, S32 depth, FuzzyMatchRangeList *matches, TxtPt *cursor, TxtPt *mark, U8 *edit_buffer, U64 edit_buffer_size, U64 *edit_string_size_out, B32 *expanded_out, String8 pre_edit_value, String8 string) { //- rjf: unpack visual metrics - F32 expander_size_px = ui_top_font_size()*1.5f; + F32 expander_size_px = ui_top_font_size()*2.f; //- rjf: make key UI_Key key = ui_key_from_string(ui_active_seed_key(), string); @@ -2864,9 +2864,10 @@ rd_line_edit(RD_LineEditFlags flags, S32 depth, FuzzyMatchRangeList *matches, Tx key); //- rjf: build indent - if(depth != 0) UI_Parent(box) + UI_Parent(box) for(S32 idx = 0; idx < depth; idx += 1) { - ui_spacer(ui_em(1.5f*depth, 1.f)); + ui_set_next_flags(UI_BoxFlag_DrawSideLeft); + ui_spacer(ui_em(1.f, 1.f)); } //- rjf: build expander