mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-21 13:55:43 +00:00
pass over line info colors, enable source-hover-line-info-viz, a few other visual improvements/tweaks
This commit is contained in:
+18
-17
@@ -4014,7 +4014,7 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
UI_Focus((hover_eval_is_open && !ui_any_ctx_menu_is_open() && !query_is_open) ? UI_FocusKind_Null : UI_FocusKind_Off)
|
||||
{
|
||||
//- rjf: eval -> viz artifacts
|
||||
F32 row_height = ui_top_font_size()*2.f;
|
||||
F32 row_height = ui_top_font_size()*2.25f;
|
||||
DF_CfgTable cfg_table = {0};
|
||||
U64 expr_hash = df_hash_from_string(expr);
|
||||
DF_EvalViewKey eval_view_key = df_eval_view_key_from_stringf("eval_hover_%I64x", expr_hash);
|
||||
@@ -4102,7 +4102,7 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
{
|
||||
df_expand_set_expansion(eval_view->arena, &eval_view->expand_tree_table, row->parent_key, row->key, !row_is_expanded);
|
||||
}
|
||||
UI_PrefWidth(ui_em(30.f, 1.f))
|
||||
UI_PrefWidth(ui_em(40.f, 1.f))
|
||||
{
|
||||
UI_PrefWidth(ui_text_dim(10, 1.f)) df_code_label(1.f, 1, df_rgba_from_theme_color(DF_ThemeColor_CodeDefault), row->expr);
|
||||
ui_spacer(ui_em(1.5f, 1.f));
|
||||
@@ -8893,6 +8893,13 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
DF_Entity *stopper_thread = df_entity_from_ctrl_handle(stop_event.machine_id, stop_event.entity);
|
||||
B32 is_focused = ui_is_focus_active();
|
||||
B32 ctrlified = (os_get_event_flags() & OS_EventFlag_Ctrl);
|
||||
Vec4F32 code_line_bgs[] =
|
||||
{
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo0),
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo1),
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo2),
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo3),
|
||||
};
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: build top-level container
|
||||
@@ -9600,7 +9607,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
//////////////////////////////
|
||||
//- rjf: mouse -> set global frontend hovered line info
|
||||
//
|
||||
if(text_container_sig.mouse_over && contains_1s64(params->line_num_range, mouse_pt.line))
|
||||
if(text_container_sig.hovering && contains_1s64(params->line_num_range, mouse_pt.line))
|
||||
{
|
||||
U64 line_slice_idx = mouse_pt.line-params->line_num_range.min;
|
||||
if(params->line_src2dasm[line_slice_idx].first != 0)
|
||||
@@ -9701,13 +9708,6 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
UI_FontSize(params->font_size)
|
||||
UI_CornerRadius(0)
|
||||
{
|
||||
Vec4F32 code_line_bgs[] =
|
||||
{
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo0),
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo1),
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo2),
|
||||
df_rgba_from_theme_color(DF_ThemeColor_LineInfo3),
|
||||
};
|
||||
U64 line_idx = 0;
|
||||
for(S64 line_num = params->line_num_range.min;
|
||||
line_num <= params->line_num_range.max;
|
||||
@@ -9717,8 +9717,8 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
Vec4F32 bg_color = v4f32(0, 0, 0, 0);
|
||||
|
||||
// rjf: line info on this line -> adjust bg color to visualize
|
||||
B32 has_line_info = 0;
|
||||
{
|
||||
B32 has_line_info = 0;
|
||||
S64 line_info_line_num = 0;
|
||||
F32 line_info_t = 0;
|
||||
DF_TextLineSrc2DasmInfoList *src2dasm_list = ¶ms->line_src2dasm[line_idx];
|
||||
@@ -9760,7 +9760,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
// rjf: build line num box
|
||||
ui_set_next_text_color(text_color);
|
||||
ui_set_next_background_color(bg_color);
|
||||
ui_build_box_from_stringf(UI_BoxFlag_DrawText, "%I64u##line_num", line_num);
|
||||
ui_build_box_from_stringf(UI_BoxFlag_DrawText|(UI_BoxFlag_DrawBackground*!!has_line_info), "%I64u##line_num", line_num);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10016,25 +10016,25 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
// rjf: extra rendering for lines with line-info that match the hovered
|
||||
{
|
||||
B32 matches = 0;
|
||||
S64 line_info_line_num = 0;
|
||||
DF_TextLineSrc2DasmInfoList *src2dasm_list = ¶ms->line_src2dasm[line_idx];
|
||||
DF_TextLineDasm2SrcInfoList *dasm2src_list = ¶ms->line_dasm2src[line_idx];
|
||||
|
||||
// rjf: check src2dasm
|
||||
#if 0
|
||||
if(src2dasm_list->first != 0)
|
||||
{
|
||||
for(DF_TextLineSrc2DasmInfoNode *n = src2dasm_list->first; n != 0; n = n->next)
|
||||
{
|
||||
if(n->v.remap_line == line_num &&
|
||||
n->v.dbg_info == hovered_line_debug_info &&
|
||||
n->v.binary == hovered_line_binary &&
|
||||
n->v.voff_range.min <= hovered_line_voff && hovered_line_voff < n->v.voff_range.max)
|
||||
{
|
||||
matches = 1;
|
||||
line_info_line_num = line_num;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// rjf: check dasm2src
|
||||
if(dasm2src_list->first != 0)
|
||||
@@ -10046,6 +10046,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
{
|
||||
if(n->v.voff_range.min <= hovered_line_voff && hovered_line_voff < n->v.voff_range.max)
|
||||
{
|
||||
line_info_line_num = n->v.pt.line;
|
||||
matches = 1;
|
||||
break;
|
||||
}
|
||||
@@ -10056,8 +10057,8 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
|
||||
// rjf: matches => highlight background
|
||||
if(matches)
|
||||
{
|
||||
Vec4F32 highlight_color = df_rgba_from_theme_color(DF_ThemeColor_Highlight0);
|
||||
highlight_color.w *= 0.1f;
|
||||
Vec4F32 highlight_color = code_line_bgs[line_info_line_num % ArrayCount(code_line_bgs)];
|
||||
highlight_color.w *= 0.25f;
|
||||
d_rect(line_box->rect, highlight_color, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,10 +410,10 @@ DF_ThemePresetColorTable:
|
||||
(code_string 0xe5cc66ff 0xcc5a0fff 0xd69d85ff 0xc11515ff 0x2aa198ff 0x5ab4a9ff 0x6b8e23ff 0x50ff30ff 0xe5cc66ff )
|
||||
(code_meta 0xe54c4cff 0x8a0c0cff 0x9b9b9bff 0x808080ff 0xe54c4cff 0xe54c4cff 0xdab98fff 0x50ff30ff 0xffff00ff )
|
||||
(code_comment 0x7f7f7fff 0x7f7f7fff 0x6a9955ff 0x008000ff 0x7f7f7fff 0xadafb2ff 0x686868ff 0x2090f0ff 0x7f7f7fff )
|
||||
(line_info_0 0x3f72993f 0x3e71993f 0xbeb7ff3f 0x3f72993f 0x3f72993f 0x3f72993f 0xaf60103f 0x3f72993f 0x3f72993f )
|
||||
(line_info_1 0x3f72994c 0x3f72994c 0xbeb7ff4c 0x3f72994c 0x3f72994c 0x3f72994c 0xaf60104c 0x3f72994c 0x3f72994c )
|
||||
(line_info_2 0x3f729972 0x3f729972 0xbeb7ff72 0x3f729972 0x3f729972 0x3f729972 0xaf601072 0x3f729972 0x3f729972 )
|
||||
(line_info_3 0x3f72997f 0x3f72997f 0xbeb7ff7f 0x3f72997f 0x3f72997f 0x3f72997f 0xaf60107f 0x3f72997f 0x3f72997f )
|
||||
(line_info_0 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f )
|
||||
(line_info_1 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f 0xfe82493f )
|
||||
(line_info_2 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f 0xffba173f )
|
||||
(line_info_3 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f 0xcefd693f )
|
||||
(alt_text 0xe5e5e5ff 0x535353ff 0xf1f1f1ff 0x535353ff 0xe5e5e5ff 0x535353ff 0xa08563ff 0x90b080ff 0x000000ff )
|
||||
(alt_background 0x42474c7f 0xfefefebc 0x1b1b1cff 0xfefefebc 0x002b36ff 0xfcf6e2ff 0x0c0c0cff 0x0c0c0cff 0x008184ff )
|
||||
(alt_border 0xffffff19 0xffffff19 0x333337ff 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 )
|
||||
|
||||
@@ -265,10 +265,10 @@ rgba_from_u32_lit_comp(0x4ce54cff),
|
||||
rgba_from_u32_lit_comp(0xe5cc66ff),
|
||||
rgba_from_u32_lit_comp(0xe54c4cff),
|
||||
rgba_from_u32_lit_comp(0x7f7f7fff),
|
||||
rgba_from_u32_lit_comp(0x3f72993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0xe5e5e5ff),
|
||||
rgba_from_u32_lit_comp(0x42474c7f),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -322,10 +322,10 @@ rgba_from_u32_lit_comp(0x2c7d2cff),
|
||||
rgba_from_u32_lit_comp(0xcc5a0fff),
|
||||
rgba_from_u32_lit_comp(0x8a0c0cff),
|
||||
rgba_from_u32_lit_comp(0x7f7f7fff),
|
||||
rgba_from_u32_lit_comp(0x3e71993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0x535353ff),
|
||||
rgba_from_u32_lit_comp(0xfefefebc),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -379,10 +379,10 @@ rgba_from_u32_lit_comp(0xb5cea8ff),
|
||||
rgba_from_u32_lit_comp(0xd69d85ff),
|
||||
rgba_from_u32_lit_comp(0x9b9b9bff),
|
||||
rgba_from_u32_lit_comp(0x6a9955ff),
|
||||
rgba_from_u32_lit_comp(0xbeb7ff3f),
|
||||
rgba_from_u32_lit_comp(0xbeb7ff4c),
|
||||
rgba_from_u32_lit_comp(0xbeb7ff72),
|
||||
rgba_from_u32_lit_comp(0xbeb7ff7f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0xf1f1f1ff),
|
||||
rgba_from_u32_lit_comp(0x1b1b1cff),
|
||||
rgba_from_u32_lit_comp(0x333337ff),
|
||||
@@ -436,10 +436,10 @@ rgba_from_u32_lit_comp(0x000000ff),
|
||||
rgba_from_u32_lit_comp(0xc11515ff),
|
||||
rgba_from_u32_lit_comp(0x808080ff),
|
||||
rgba_from_u32_lit_comp(0x008000ff),
|
||||
rgba_from_u32_lit_comp(0x3f72993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0x535353ff),
|
||||
rgba_from_u32_lit_comp(0xfefefebc),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -493,10 +493,10 @@ rgba_from_u32_lit_comp(0xcb4b20ff),
|
||||
rgba_from_u32_lit_comp(0x2aa198ff),
|
||||
rgba_from_u32_lit_comp(0xe54c4cff),
|
||||
rgba_from_u32_lit_comp(0x7f7f7fff),
|
||||
rgba_from_u32_lit_comp(0x3f72993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0xe5e5e5ff),
|
||||
rgba_from_u32_lit_comp(0x002b36ff),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -550,10 +550,10 @@ rgba_from_u32_lit_comp(0x657b83ff),
|
||||
rgba_from_u32_lit_comp(0x5ab4a9ff),
|
||||
rgba_from_u32_lit_comp(0xe54c4cff),
|
||||
rgba_from_u32_lit_comp(0xadafb2ff),
|
||||
rgba_from_u32_lit_comp(0x3f72993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0x535353ff),
|
||||
rgba_from_u32_lit_comp(0xfcf6e2ff),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -607,10 +607,10 @@ rgba_from_u32_lit_comp(0x6b8e23ff),
|
||||
rgba_from_u32_lit_comp(0x6b8e23ff),
|
||||
rgba_from_u32_lit_comp(0xdab98fff),
|
||||
rgba_from_u32_lit_comp(0x686868ff),
|
||||
rgba_from_u32_lit_comp(0xaf60103f),
|
||||
rgba_from_u32_lit_comp(0xaf60104c),
|
||||
rgba_from_u32_lit_comp(0xaf601072),
|
||||
rgba_from_u32_lit_comp(0xaf60107f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0xa08563ff),
|
||||
rgba_from_u32_lit_comp(0x0c0c0cff),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -664,10 +664,10 @@ rgba_from_u32_lit_comp(0x50ff30ff),
|
||||
rgba_from_u32_lit_comp(0x50ff30ff),
|
||||
rgba_from_u32_lit_comp(0x50ff30ff),
|
||||
rgba_from_u32_lit_comp(0x2090f0ff),
|
||||
rgba_from_u32_lit_comp(0x3f72993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0x90b080ff),
|
||||
rgba_from_u32_lit_comp(0x0c0c0cff),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
@@ -721,10 +721,10 @@ rgba_from_u32_lit_comp(0x2cff50ff),
|
||||
rgba_from_u32_lit_comp(0xe5cc66ff),
|
||||
rgba_from_u32_lit_comp(0xffff00ff),
|
||||
rgba_from_u32_lit_comp(0x7f7f7fff),
|
||||
rgba_from_u32_lit_comp(0x3f72993f),
|
||||
rgba_from_u32_lit_comp(0x3f72994c),
|
||||
rgba_from_u32_lit_comp(0x3f729972),
|
||||
rgba_from_u32_lit_comp(0x3f72997f),
|
||||
rgba_from_u32_lit_comp(0x99503d3f),
|
||||
rgba_from_u32_lit_comp(0xfe82493f),
|
||||
rgba_from_u32_lit_comp(0xffba173f),
|
||||
rgba_from_u32_lit_comp(0xcefd693f),
|
||||
rgba_from_u32_lit_comp(0x000000ff),
|
||||
rgba_from_u32_lit_comp(0x008184ff),
|
||||
rgba_from_u32_lit_comp(0xffffff19),
|
||||
|
||||
Reference in New Issue
Block a user