mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 13:28:40 +00:00
work on tag-based styling
This commit is contained in:
@@ -809,7 +809,7 @@ str8_lit_comp("far_manager"),
|
||||
|
||||
String8 rd_theme_preset_cfg_string_table[9] =
|
||||
{
|
||||
str8_lit_comp("theme:\n{\n background: 0x1b1b1bff,\n alt: background: 0x222222ff,\n good: background: 0x222222ff,\n bad: background: 0x222222ff,\n pop: background: 0x222222ff,\n border: 0x404040ff,\n text: 0xe5e5e5ff,\n weak: text: 0xe5e5e5ff,\n hover: 0xffffffff,\n focus: 0xfda200ff,\n cursor: 0x8aff00ff,\n selection: 0x99ccffff,\n\n menu_bar:\n {\n background: 0x2b3740ff,\n border: 0x3e4c57ff,\n }\n\n good:\n {\n background: 0x2c5b36ff,\n border: 0x3f3f3fff,\n }\n\n bad:\n {\n background: 0x803425ff,\n border: 0xe88774ff,\n }\n\n pop:\n {\n background: 0x355b6eff,\n border: 0x355b6eff,\n }\n\n scroll_bar:\n {\n background: 0x2b2b2bff,\n border: 0x3f3f3fff,\n }\n\n tab:\n {\n background: 0x6f5135ff,\n border: 0x8a6e54ff,\n inactive:\n {\n background: 0x2b3740ff,\n border: 0x3e4c57ff,\n }\n }\n\n drop_site:\n {\n background: 0xffffffff,\n border: 0xffffffff,\n }\n\n code:\n {\n default: text: 0xcbcbcbff,\n symbol: text: 0x42a2cfff,\n type: text: 0xfec746ff,\n local: text: 0x98bc80ff,\n register: text: 0xb7afd5ff,\n keyword: text: 0xb38d4cff,\n delimiter_or_operator: text: 0x767676ff,\n numeric: text: 0x98abb1ff,\n numeric_alt_digit_group: text: 0x738287ff,\n string: text: 0x98abb1ff,\n meta: text: 0xd96759ff,\n comment: text: 0x717171ff,\n line_info_0: background: 0x99503dff,\n line_info_1: background: 0xfe8249ff,\n line_info_2: background: 0xffba17ff,\n line_info_3: background: 0xcefd69ff,\n line_info_4: background: 0x99503dff,\n line_info_5: background: 0xfe8249ff,\n line_info_6: background: 0xcefd69ff,\n line_info_7: background: 0x99503dff,\n }\n\n debug_state:\n {\n thread_0: 0xffcb7fff,\n thread_1: 0xb2ff65ff,\n thread_2: 0xff99e5ff,\n thread_3: 0x6598ffff,\n thread_4: 0x65ffcbff,\n thread_5: 0xff9819ff,\n thread_6: 0x9932ffff,\n thread_7: 0x65ff4cff,\n thread_unwound: 0xb2ccd8ff,\n thread_error: 0xb23219ff,\n breakpoint: 0xa72911ff,\n }\n}\n"),
|
||||
str8_lit_comp("theme:\n{\n background: 0x1b1b1bff,\n alt: background: 0x222222ff,\n good_pop: background: 0x2c5b36ff,\n bad_pop: background: 0x803425ff,\n good: text: 0x32a852ff,\n bad: text: 0xcf5242ff,\n pop: background: 0x355b6eff,\n border: 0x404040ff,\n text: 0xe5e5e5ff,\n weak: text: 0xe5e5e5ff,\n hover: 0xffffffff,\n focus: 0xfda200ff,\n cursor: 0x8aff00ff,\n selection: 0x99ccffff,\n inactive: background: 0x0000002f,\n drop_shadow: 0x0000007f,\n\n code_default: 0xcbcbcbff,\n code_symbol: 0x42a2cfff,\n code_type: 0xfec746ff,\n code_local: 0x98bc80ff,\n code_register: 0xb7afd5ff,\n code_keyword: 0xb38d4cff,\n code_delimiter_or_operator: 0x767676ff,\n code_numeric: 0x98abb1ff,\n code_numeric_alt_digit_group: 0x738287ff,\n code_string: 0x98abb1ff,\n code_meta: 0xd96759ff,\n code_comment: 0x717171ff,\n line_info_0: 0x99503dff,\n line_info_1: 0xfe8249ff,\n line_info_2: 0xffba17ff,\n line_info_3: 0xcefd69ff,\n line_info_4: 0x99503dff,\n line_info_5: 0xfe8249ff,\n line_info_6: 0xcefd69ff,\n line_info_7: 0x99503dff,\n thread_0: 0xffcb7fff,\n thread_1: 0xb2ff65ff,\n thread_2: 0xff99e5ff,\n thread_3: 0x6598ffff,\n thread_4: 0x65ffcbff,\n thread_5: 0xff9819ff,\n thread_6: 0x9932ffff,\n thread_7: 0x65ff4cff,\n thread_unwound: 0xb2ccd8ff,\n thread_error: 0xb23219ff,\n breakpoint: 0xa72911ff,\n\n floating:\n {\n background: 0x2222225f,\n background: alt: 0x2222225f,\n border: 0xbfbfbf1f,\n }\n\n menu_bar:\n {\n background: 0x2b3740ff,\n border: 0x3e4c57ff,\n }\n\n good:\n {\n background: 0x2c5b36ff,\n border: 0x3f3f3fff,\n }\n\n bad:\n {\n background: 0x803425ff,\n border: 0xe88774ff,\n }\n\n pop:\n {\n background: 0x355b6eff,\n border: 0x355b6eff,\n }\n\n scroll_bar:\n {\n background: 0x2b2b2bff,\n border: 0x3f3f3fff,\n }\n\n implicit:\n {\n background: 0x00000000,\n border: 0x00000000,\n }\n\n hollow:\n {\n background: 0x00000000,\n border: 0xffffff1f,\n }\n\n tab:\n {\n background: 0x6f5135ff,\n border: 0x8a6e54ff,\n inactive:\n {\n background: 0x2b3740ff,\n border: 0x3e4c57ff,\n }\n }\n\n drop_site:\n {\n background: 0xffffff05,\n border: 0xffffff0f,\n }\n}\n"),
|
||||
str8_lit_comp(""),
|
||||
str8_lit_comp(""),
|
||||
str8_lit_comp(""),
|
||||
|
||||
+60
-44
@@ -989,9 +989,11 @@ RD_ThemePresetTable:
|
||||
{
|
||||
background: 0x1b1b1bff,
|
||||
alt: background: 0x222222ff,
|
||||
good: background: 0x222222ff,
|
||||
bad: background: 0x222222ff,
|
||||
pop: background: 0x222222ff,
|
||||
good_pop: background: 0x2c5b36ff,
|
||||
bad_pop: background: 0x803425ff,
|
||||
good: text: 0x32a852ff,
|
||||
bad: text: 0xcf5242ff,
|
||||
pop: background: 0x355b6eff,
|
||||
border: 0x404040ff,
|
||||
text: 0xe5e5e5ff,
|
||||
weak: text: 0xe5e5e5ff,
|
||||
@@ -999,6 +1001,47 @@ RD_ThemePresetTable:
|
||||
focus: 0xfda200ff,
|
||||
cursor: 0x8aff00ff,
|
||||
selection: 0x99ccffff,
|
||||
inactive: background: 0x0000002f,
|
||||
drop_shadow: 0x0000007f,
|
||||
|
||||
code_default: 0xcbcbcbff,
|
||||
code_symbol: 0x42a2cfff,
|
||||
code_type: 0xfec746ff,
|
||||
code_local: 0x98bc80ff,
|
||||
code_register: 0xb7afd5ff,
|
||||
code_keyword: 0xb38d4cff,
|
||||
code_delimiter_or_operator: 0x767676ff,
|
||||
code_numeric: 0x98abb1ff,
|
||||
code_numeric_alt_digit_group: 0x738287ff,
|
||||
code_string: 0x98abb1ff,
|
||||
code_meta: 0xd96759ff,
|
||||
code_comment: 0x717171ff,
|
||||
line_info_0: 0x99503dff,
|
||||
line_info_1: 0xfe8249ff,
|
||||
line_info_2: 0xffba17ff,
|
||||
line_info_3: 0xcefd69ff,
|
||||
line_info_4: 0x99503dff,
|
||||
line_info_5: 0xfe8249ff,
|
||||
line_info_6: 0xcefd69ff,
|
||||
line_info_7: 0x99503dff,
|
||||
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,
|
||||
|
||||
floating:
|
||||
{
|
||||
background: 0x2222225f,
|
||||
background: alt: 0x2222225f,
|
||||
border: 0xbfbfbf1f,
|
||||
}
|
||||
|
||||
menu_bar:
|
||||
{
|
||||
@@ -1030,6 +1073,18 @@ RD_ThemePresetTable:
|
||||
border: 0x3f3f3fff,
|
||||
}
|
||||
|
||||
implicit:
|
||||
{
|
||||
background: 0x00000000,
|
||||
border: 0x00000000,
|
||||
}
|
||||
|
||||
hollow:
|
||||
{
|
||||
background: 0x00000000,
|
||||
border: 0xffffff1f,
|
||||
}
|
||||
|
||||
tab:
|
||||
{
|
||||
background: 0x6f5135ff,
|
||||
@@ -1043,47 +1098,8 @@ RD_ThemePresetTable:
|
||||
|
||||
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,
|
||||
background: 0xffffff05,
|
||||
border: 0xffffff0f,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
+249
-265
File diff suppressed because it is too large
Load Diff
@@ -999,7 +999,7 @@ internal RD_KeyMapNodePtrList rd_key_map_node_ptr_list_from_name(Arena *arena, S
|
||||
internal RD_KeyMapNodePtrList rd_key_map_node_ptr_list_from_binding(Arena *arena, RD_Binding binding);
|
||||
|
||||
internal Vec4F32 rd_hsva_from_cfg(RD_Cfg *cfg);
|
||||
internal Vec4F32 rd_rgba_from_cfg(RD_Cfg *cfg);
|
||||
internal Vec4F32 rd_color_from_cfg(RD_Cfg *cfg);
|
||||
|
||||
internal B32 rd_disabled_from_cfg(RD_Cfg *cfg);
|
||||
internal RD_Location rd_location_from_cfg(RD_Cfg *cfg);
|
||||
@@ -1026,7 +1026,7 @@ internal E_Expr *rd_tag_from_cfg(Arena *arena, RD_Cfg *cfg);
|
||||
////////////////////////////////
|
||||
//~ rjf: Control Entity Info Extraction
|
||||
|
||||
internal Vec4F32 rd_rgba_from_ctrl_entity(CTRL_Entity *entity);
|
||||
internal Vec4F32 rd_color_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, B32 include_extras);
|
||||
|
||||
@@ -1164,7 +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_color_from_tags(String8Array tags, String8 name);
|
||||
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);
|
||||
|
||||
+22
-24
@@ -2750,11 +2750,13 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
{
|
||||
if(row_is_fresh)
|
||||
{
|
||||
row_flags |= UI_BoxFlag_DrawPop;
|
||||
ui_set_next_tag(str8_lit("pop"));
|
||||
row_flags |= UI_BoxFlag_DrawBackground;
|
||||
}
|
||||
if(global_row_idx & 1)
|
||||
else if(global_row_idx & 1)
|
||||
{
|
||||
row_flags |= UI_BoxFlag_DrawAlt;
|
||||
ui_set_next_tag(str8_lit("alt"));
|
||||
row_flags |= UI_BoxFlag_DrawBackground;
|
||||
}
|
||||
if(!row_matches_last_row_topology)
|
||||
{
|
||||
@@ -2852,7 +2854,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
rd_state->hover_regs_slot == RD_RegSlot_Cfg)
|
||||
{
|
||||
RD_Cfg *cfg = cell_info.cfg;
|
||||
Vec4F32 rgba = linear_from_srgba(rd_rgba_from_cfg(cfg));
|
||||
Vec4F32 rgba = linear_from_srgba(rd_color_from_cfg(cfg));
|
||||
if(rgba.w == 0)
|
||||
{
|
||||
rgba = ui_top_palette()->background_pop;
|
||||
@@ -2866,7 +2868,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
rd_state->hover_regs_slot == RD_RegSlot_CtrlEntity)
|
||||
{
|
||||
CTRL_Entity *entity = cell_info.entity;
|
||||
Vec4F32 rgba = linear_from_srgba(rd_rgba_from_ctrl_entity(entity));
|
||||
Vec4F32 rgba = rd_color_from_ctrl_entity(entity);
|
||||
if(rgba.w == 0)
|
||||
{
|
||||
rgba = ui_top_palette()->background_pop;;
|
||||
@@ -2894,7 +2896,6 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
UI_FocusHot(cell_selected ? UI_FocusKind_On : UI_FocusKind_Off)
|
||||
UI_FocusActive((cell_selected && ewv->text_editing) ? UI_FocusKind_On : UI_FocusKind_Off)
|
||||
RD_Font(RD_FontSlot_Code)
|
||||
UI_FlagsAdd(row_depth > 0 ? UI_BoxFlag_DrawTextWeak : 0)
|
||||
{
|
||||
// rjf: cell has errors? -> build error box
|
||||
if(cell_info.flags & RD_WatchCellFlag_IsErrored) RD_Font(RD_FontSlot_Main)
|
||||
@@ -2960,7 +2961,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
{
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
UI_Flags(UI_BoxFlag_DisableTextTrunc)
|
||||
UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_rgba_from_ctrl_entity(row_info->callstack_thread)))
|
||||
UI_Palette(ui_build_palette(ui_top_palette(), .text = rd_color_from_ctrl_entity(row_info->callstack_thread)))
|
||||
ui_label(rd_icon_kind_text_table[RD_IconKind_RightArrow]);
|
||||
}
|
||||
}
|
||||
@@ -3181,16 +3182,16 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
E_IRTreeAndType irtree = e_irtree_and_type_from_expr(scratch.arena, parse.exprs.last);
|
||||
E_OpList oplist = e_oplist_from_irtree(scratch.arena, irtree.root);
|
||||
String8 bytecode = e_bytecode_from_oplist(scratch.arena, &oplist);
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("Text:");
|
||||
ui_labelf("Text:");
|
||||
ui_label(string);
|
||||
ui_spacer(ui_em(2.f, 1.f));
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("Tokens:");
|
||||
ui_labelf("Tokens:");
|
||||
for(U64 idx = 0; idx < tokens.count; idx += 1)
|
||||
{
|
||||
ui_labelf("%S: '%S'", e_token_kind_strings[tokens.v[idx].kind], str8_substr(string, tokens.v[idx].range));
|
||||
}
|
||||
ui_spacer(ui_em(2.f, 1.f));
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("Expression:");
|
||||
ui_labelf("Expression:");
|
||||
{
|
||||
typedef struct Task Task;
|
||||
struct Task
|
||||
@@ -3243,7 +3244,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
}
|
||||
}
|
||||
ui_spacer(ui_em(2.f, 1.f));
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("IR Tree:");
|
||||
ui_labelf("IR Tree:");
|
||||
{
|
||||
typedef struct Task Task;
|
||||
struct Task
|
||||
@@ -3280,7 +3281,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
}
|
||||
}
|
||||
ui_spacer(ui_em(2.f, 1.f));
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("Op List:");
|
||||
ui_labelf("Op List:");
|
||||
{
|
||||
for(E_Op *op = oplist.first; op != 0; op = op->next)
|
||||
{
|
||||
@@ -3307,7 +3308,7 @@ RD_VIEW_UI_FUNCTION_DEF(watch)
|
||||
}
|
||||
}
|
||||
ui_spacer(ui_em(2.f, 1.f));
|
||||
UI_Flags(UI_BoxFlag_DrawTextWeak) ui_labelf("Bytecode:");
|
||||
ui_labelf("Bytecode:");
|
||||
{
|
||||
for(U64 idx = 0; idx < bytecode.size; idx += 1)
|
||||
{
|
||||
@@ -3526,7 +3527,7 @@ RD_VIEW_UI_FUNCTION_DEF(text)
|
||||
UI_Row
|
||||
UI_TextAlignment(UI_TextAlign_Center)
|
||||
UI_PrefWidth(ui_text_dim(10, 1))
|
||||
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_TagF("weak")
|
||||
{
|
||||
if(file_is_out_of_date)
|
||||
{
|
||||
@@ -3773,7 +3774,7 @@ RD_VIEW_UI_FUNCTION_DEF(disasm)
|
||||
UI_Row
|
||||
UI_TextAlignment(UI_TextAlign_Center)
|
||||
UI_PrefWidth(ui_text_dim(10, 1))
|
||||
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_TagF("weak")
|
||||
RD_Font(RD_FontSlot_Code)
|
||||
{
|
||||
U64 cursor_vaddr = (1 <= rd_regs()->cursor.line && rd_regs()->cursor.line <= dasm_info.lines.count) ? (range.min+dasm_info.lines.v[rd_regs()->cursor.line-1].code_off) : 0;
|
||||
@@ -4141,7 +4142,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
Annotation *annotation = push_array(scratch.arena, Annotation, 1);
|
||||
annotation->name_string = thread->string.size ? thread->string : push_str8f(scratch.arena, "TID: %I64u", thread->id);
|
||||
annotation->kind_string = str8_lit("Stack");
|
||||
annotation->color = rd_rgba_from_ctrl_entity(thread);
|
||||
annotation->color = rd_color_from_ctrl_entity(thread);
|
||||
annotation->vaddr_range = stack_vaddr_range;
|
||||
for(U64 vaddr = stack_vaddr_range_in_viz.min; vaddr < stack_vaddr_range_in_viz.max; vaddr += 1)
|
||||
{
|
||||
@@ -4220,7 +4221,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
UI_Parent(header_box)
|
||||
RD_Font(RD_FontSlot_Code)
|
||||
UI_FontSize(font_size)
|
||||
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_TagF("weak")
|
||||
{
|
||||
UI_PrefWidth(ui_px(big_glyph_advance*20.f, 1.f)) ui_labelf("Address");
|
||||
UI_PrefWidth(ui_px(cell_width_px, 1.f))
|
||||
@@ -4229,10 +4230,6 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
Rng1U64 col_selection_rng = r1u64(cursor%num_columns, mark%num_columns);
|
||||
for(U64 row_off = 0; row_off < num_columns*bytes_per_cell; row_off += bytes_per_cell)
|
||||
{
|
||||
if(!(col_selection_rng.min <= row_off && row_off <= col_selection_rng.max))
|
||||
{
|
||||
ui_set_next_flags(UI_BoxFlag_DrawTextWeak);
|
||||
}
|
||||
ui_labelf("%I64X", row_off);
|
||||
}
|
||||
}
|
||||
@@ -4401,7 +4398,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
{
|
||||
if(!(selection.max >= row_range_bytes.min && selection.min < row_range_bytes.max))
|
||||
{
|
||||
ui_set_next_flags(UI_BoxFlag_DrawTextWeak);
|
||||
ui_set_next_tag(str8_lit("weak"));
|
||||
}
|
||||
ui_labelf("0x%016I64X", row_range_bytes.min);
|
||||
}
|
||||
@@ -4573,7 +4570,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
|
||||
footer_box = ui_build_box_from_stringf(UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawDropShadow, "footer");
|
||||
UI_Parent(footer_box) RD_Font(RD_FontSlot_Code) UI_FontSize(font_size)
|
||||
{
|
||||
UI_PrefWidth(ui_em(7.5f, 1.f)) UI_HeightFill UI_Column UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_PrefWidth(ui_em(7.5f, 1.f)) UI_HeightFill UI_Column UI_TagF("weak")
|
||||
UI_PrefHeight(ui_px(row_height_px, 0.f))
|
||||
{
|
||||
ui_labelf("Address:");
|
||||
@@ -5049,7 +5046,8 @@ RD_VIEW_UI_FUNCTION_DEF(color_rgba)
|
||||
{
|
||||
UI_Signal h_sig = ui_hue_pickerf(&hsva.x, hsva.y, hsva.z, "hue_picker");
|
||||
}
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Column UI_PrefWidth(ui_text_dim(10, 1)) UI_PrefHeight(ui_em(2.f, 0.f)) RD_Font(RD_FontSlot_Code) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Column UI_PrefWidth(ui_text_dim(10, 1)) UI_PrefHeight(ui_em(2.f, 0.f)) RD_Font(RD_FontSlot_Code)
|
||||
UI_TagF("weak")
|
||||
{
|
||||
ui_labelf("Hex");
|
||||
ui_labelf("R");
|
||||
|
||||
+27
-24
@@ -292,7 +292,7 @@ rd_cmd_spec_button(String8 name)
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
UI_PrefWidth(ui_em(2.f, 1.f))
|
||||
UI_TextAlignment(UI_TextAlign_Center)
|
||||
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_TagF("weak")
|
||||
{
|
||||
ui_label(rd_icon_kind_text_table[canonical_icon]);
|
||||
}
|
||||
@@ -308,7 +308,7 @@ rd_cmd_spec_button(String8 name)
|
||||
UI_PrefWidth(ui_children_sum(1))
|
||||
UI_FontSize(ui_top_font_size()*0.95f) UI_HeightFill
|
||||
UI_NamedRow(str8_lit("###bindings"))
|
||||
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_TagF("weak")
|
||||
UI_FastpathCodepoint(0)
|
||||
{
|
||||
rd_cmd_binding_buttons(name);
|
||||
@@ -365,7 +365,8 @@ rd_icon_button(RD_IconKind kind, FuzzyMatchRangeList *matches, String8 string)
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
UI_PrefWidth(ui_em(2.f, 1.f))
|
||||
UI_PrefHeight(ui_pct(1, 0))
|
||||
UI_FlagsAdd(UI_BoxFlag_DisableTextTrunc|UI_BoxFlag_DrawTextWeak)
|
||||
UI_FlagsAdd(UI_BoxFlag_DisableTextTrunc)
|
||||
UI_TagF("weak")
|
||||
ui_label(rd_icon_kind_text_table[kind]);
|
||||
if(display_string.size != 0)
|
||||
{
|
||||
@@ -481,12 +482,14 @@ 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 = ui_top_palette()->background_bad;
|
||||
String8 tags[] = {str8_lit("bad")};
|
||||
String8Array tags_array = {tags, ArrayCount(tags)};
|
||||
Vec4F32 color = rd_color_from_tags(tags_array, str8_lit("text"));
|
||||
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,
|
||||
box->rect.y0 + lock_icon_off/2),
|
||||
lock_icon_color,
|
||||
color,
|
||||
rd_icon_kind_text_table[RD_IconKind_Locked]);
|
||||
}
|
||||
}
|
||||
@@ -590,10 +593,10 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
B32 ctrlified = (os_get_modifiers() & OS_Modifier_Ctrl);
|
||||
Vec4F32 code_line_bgs[] =
|
||||
{
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_LineInfoBackground0),
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_LineInfoBackground1),
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_LineInfoBackground2),
|
||||
rd_rgba_from_theme_color(RD_ThemeColor_LineInfoBackground3),
|
||||
rd_color_from_tags(str8_array_zero(), str8_lit("line_info_0")),
|
||||
rd_color_from_tags(str8_array_zero(), str8_lit("line_info_1")),
|
||||
rd_color_from_tags(str8_array_zero(), str8_lit("line_info_2")),
|
||||
rd_color_from_tags(str8_array_zero(), str8_lit("line_info_3")),
|
||||
};
|
||||
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)));
|
||||
@@ -671,7 +674,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
CTRL_EntityList line_ips = params->line_ips[line_idx];
|
||||
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
|
||||
UI_Box *line_margin_box = ui_build_box_from_stringf(UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)|UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawActiveEffects, "line_margin_%I64x", line_num);
|
||||
UI_Box *line_margin_box = ui_build_box_from_stringf(UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)|UI_BoxFlag_DrawActiveEffects, "line_margin_%I64x", line_num);
|
||||
UI_Parent(line_margin_box)
|
||||
{
|
||||
//- rjf: build margin thread ip ui
|
||||
@@ -691,7 +694,7 @@ 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 = linear_from_srgba(rd_rgba_from_ctrl_entity(thread));
|
||||
Vec4F32 color = rd_color_from_ctrl_entity(thread);
|
||||
{
|
||||
if(color.w == 0)
|
||||
{
|
||||
@@ -801,6 +804,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
//
|
||||
UI_Box *catchall_margin_container_box = &ui_nil_box;
|
||||
if(params->flags & RD_CodeSliceFlag_CatchallMargin) UI_Focus(UI_FocusKind_Off) UI_Parent(top_container_box) ProfScope("build catchall margins")
|
||||
UI_TagF("implicit")
|
||||
{
|
||||
if(params->margin_float_off_px != 0)
|
||||
{
|
||||
@@ -844,7 +848,7 @@ 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 = linear_from_srgba(rd_rgba_from_ctrl_entity(thread));
|
||||
Vec4F32 color = rd_color_from_ctrl_entity(thread);
|
||||
{
|
||||
if(color.w == 0)
|
||||
{
|
||||
@@ -952,7 +956,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
for(RD_CfgNode *n = line_bps.first; n != 0; n = n->next)
|
||||
{
|
||||
RD_Cfg *bp = n->v;
|
||||
Vec4F32 bp_rgba = rd_rgba_from_cfg(bp);
|
||||
Vec4F32 bp_rgba = rd_color_from_cfg(bp);
|
||||
if(bp_rgba.w == 0)
|
||||
{
|
||||
bp_rgba = rd_rgba_from_theme_color(RD_ThemeColor_Breakpoint);
|
||||
@@ -1045,7 +1049,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
for(RD_CfgNode *n = line_pins.first; n != 0; n = n->next)
|
||||
{
|
||||
RD_Cfg *pin = n->v;
|
||||
Vec4F32 color = rd_rgba_from_cfg(pin);
|
||||
Vec4F32 color = rd_color_from_cfg(pin);
|
||||
if(color.w == 0)
|
||||
{
|
||||
color = rd_rgba_from_theme_color(RD_ThemeColor_CodeDefault);
|
||||
@@ -1115,6 +1119,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
//- rjf: build line numbers
|
||||
//
|
||||
if(params->flags & RD_CodeSliceFlag_LineNums) UI_Parent(top_container_box) ProfScope("build line numbers") UI_Focus(UI_FocusKind_Off)
|
||||
UI_TagF("implicit")
|
||||
{
|
||||
TxtRng select_rng = txt_rng(*cursor, *mark);
|
||||
Vec4F32 active_color = rd_rgba_from_theme_color(RD_ThemeColor_CodeLineNumbersSelected);
|
||||
@@ -1173,7 +1178,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)
|
||||
UI_Parent(top_container_box) UI_TagF("floating")
|
||||
{
|
||||
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));
|
||||
@@ -1293,7 +1298,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
UI_BoxFlag_DrawBorder, pin_box_key);
|
||||
UI_Parent(pin_box) UI_PrefWidth(ui_text_dim(10, 1))
|
||||
{
|
||||
Vec4F32 pin_color = rd_rgba_from_cfg(pin);
|
||||
Vec4F32 pin_color = rd_color_from_cfg(pin);
|
||||
if(pin_color.w == 0)
|
||||
{
|
||||
pin_color = rd_rgba_from_theme_color(RD_ThemeColor_CodeDefault);
|
||||
@@ -1485,7 +1490,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
line_drag_drop = 1;
|
||||
line_drag_cfg = cfg;
|
||||
line_drag_drop_color = linear_from_srgba(rd_rgba_from_cfg(cfg));
|
||||
line_drag_drop_color = linear_from_srgba(rd_color_from_cfg(cfg));
|
||||
if(line_drag_drop_color.w == 0)
|
||||
{
|
||||
line_drag_drop_color = ui_top_palette()->background_pop;
|
||||
@@ -1495,7 +1500,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
line_drag_drop = 1;
|
||||
line_drag_ctrl_entity = thread;
|
||||
line_drag_drop_color = linear_from_srgba(rd_rgba_from_ctrl_entity(thread));
|
||||
line_drag_drop_color = rd_color_from_ctrl_entity(thread);
|
||||
if(line_drag_drop_color.w == 0)
|
||||
{
|
||||
line_drag_drop_color = ui_top_palette()->background_pop;
|
||||
@@ -2215,8 +2220,7 @@ rd_error_label(String8 string)
|
||||
ui_set_next_font(rd_font_from_slot(RD_FontSlot_Icons));
|
||||
ui_set_next_text_raster_flags(FNT_RasterFlag_Smooth);
|
||||
ui_set_next_text_alignment(UI_TextAlign_Center);
|
||||
ui_set_next_flags(UI_BoxFlag_DrawTextWeak);
|
||||
UI_PrefWidth(ui_em(2.25f, 1.f)) ui_label(rd_icon_kind_text_table[RD_IconKind_WarningBig]);
|
||||
UI_TagF("weak") UI_PrefWidth(ui_em(2.25f, 1.f)) ui_label(rd_icon_kind_text_table[RD_IconKind_WarningBig]);
|
||||
UI_PrefWidth(ui_text_dim(10, 0)) rd_label(string);
|
||||
}
|
||||
return sig;
|
||||
@@ -2500,7 +2504,7 @@ rd_line_edit(RD_LineEditParams *params, String8 string)
|
||||
//- rjf: build expander placeholder
|
||||
else if(params->flags & RD_LineEditFlag_ExpanderPlaceholder) UI_Parent(box) UI_PrefWidth(ui_px(expander_size_px, 1.f)) UI_Focus(UI_FocusKind_Off)
|
||||
{
|
||||
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
|
||||
UI_TagF("weak")
|
||||
UI_Flags(UI_BoxFlag_DrawSideLeft)
|
||||
RD_Font(RD_FontSlot_Icons)
|
||||
UI_TextAlignment(UI_TextAlign_Center)
|
||||
@@ -2696,9 +2700,8 @@ rd_line_edit(RD_LineEditParams *params, String8 string)
|
||||
ui_box_equip_fuzzy_match_ranges(box, params->fuzzy_matches);
|
||||
}
|
||||
}
|
||||
else
|
||||
else UI_TagF("weak")
|
||||
{
|
||||
ui_set_next_flags(UI_BoxFlag_DrawTextWeak);
|
||||
UI_Box *box = ui_label(display_string).box;
|
||||
if(params->fuzzy_matches != 0)
|
||||
{
|
||||
@@ -2715,7 +2718,7 @@ rd_line_edit(RD_LineEditParams *params, String8 string)
|
||||
}
|
||||
else
|
||||
{
|
||||
ui_set_next_flags(UI_BoxFlag_DrawTextWeak);
|
||||
ui_set_next_tag(str8_lit("weak"));
|
||||
}
|
||||
UI_Box *box = ui_label(display_string).box;
|
||||
if(params->fuzzy_matches != 0)
|
||||
|
||||
Reference in New Issue
Block a user