split more frontend-only information from debug engine core definitions

This commit is contained in:
Ryan Fleury
2024-08-28 17:14:59 -07:00
parent 1c62787758
commit 4439aab721
15 changed files with 1330 additions and 1097 deletions
+117 -16
View File
@@ -207,11 +207,99 @@ DF_BindingVersionRemapTable:
@expand(DF_BindingVersionRemapTable a) `str8_lit_comp("$(a.new_name)")`
}
////////////////////////////////
//~ rjf: Icons
@table(name, text)
DF_IconTable:
{
(Null "")
(FolderOpenOutline "b")
(FolderClosedOutline "c")
(FolderOpenFilled "B")
(FolderClosedFilled "C")
(FileOutline "f")
(FileFilled "F")
(Play "g")
(PlayStepForward "h")
(Pause "r")
(Stop "s")
(Info "i")
(WarningSmall "w")
(WarningBig "W")
(Unlocked "k")
(Locked "K")
(LeftArrow "L")
(RightArrow "R")
(UpArrow "U")
(DownArrow "D")
(Gear "G")
(Pencil "P")
(Trash "3")
(Pin "p")
(RadioHollow "O")
(RadioFilled "o")
(CheckHollow "!")
(CheckFilled "1")
(LeftCaret "<")
(RightCaret ">")
(UpCaret "^")
(DownCaret "v")
(UpScroll "9")
(DownScroll "0")
(LeftScroll "7")
(RightScroll "8")
(Add "+")
(Minus "-")
(Thread "'")
(Threads '\\"')
(Machine "M")
(CircleFilled ".")
(X "x")
(Refresh "q")
(Undo "j")
(Redo "u")
(Save "m")
(Window "n")
(Target "l")
(Clipboard "a")
(Scheduler "z")
(Module "y")
(XSplit "X")
(YSplit "Y")
(ClosePanel "S")
(StepInto "T")
(StepOver "Z")
(StepOut "d")
(Find "N")
(Palette "E")
(Thumbnails "H")
(Glasses "e")
(Binoculars "I")
(List "J")
(Grid "A")
(QuestionMark "?")
(Person "4")
(Briefcase "5")
(Dot "c")
}
@enum DF_IconKind:
{
@expand(DF_IconTable a) `$(a.name)`,
COUNT,
}
@data(String8) df_g_icon_kind_text_table:
{
@expand(DF_IconTable a) `str8_lit_comp("$(a.text)")`;
}
////////////////////////////////
//~ rjf: Gfx Layer View Kinds
@table(name name_lower display_string icon parameterized_by_entity project_specific can_serialize can_filter filter_is_code typing_automatically_filters inc_in_docs docs_desc)
DF_GfxViewTable:
DF_ViewTable:
{
//- rjf: basics
{ Null "null" "" Null 0 0 0 0 0 0 0 "" }
@@ -264,29 +352,42 @@ DF_GfxViewTable:
{ Settings "settings" "Settings" Gear 0 0 1 1 0 1 1 "An interface to modify general settings for the debugger's appearance and behavior." }
}
@enum DF_GfxViewKind:
@enum DF_ViewKind:
{
@expand(DF_GfxViewTable a) `$(a.name)`,
@expand(DF_ViewTable a) `$(a.name)`,
COUNT,
}
@gen
{
@expand(DF_GfxViewTable a) `DF_VIEW_SETUP_FUNCTION_DEF($(a.name_lower));`;
@expand(DF_GfxViewTable a) `DF_VIEW_CMD_FUNCTION_DEF($(a.name_lower));`;
@expand(DF_GfxViewTable a) `DF_VIEW_UI_FUNCTION_DEF($(a.name_lower));`;
@expand(DF_ViewTable a) `DF_VIEW_SETUP_FUNCTION_DEF($(a.name_lower));`;
@expand(DF_ViewTable a) `DF_VIEW_CMD_FUNCTION_DEF($(a.name_lower));`;
@expand(DF_ViewTable a) `DF_VIEW_UI_FUNCTION_DEF($(a.name_lower));`;
}
@data(DF_ViewSpecInfo) df_g_gfx_view_kind_spec_info_table:
{
@expand(DF_GfxViewTable a) ```{(0|$(a.parameterized_by_entity)*DF_ViewSpecFlag_ParameterizedByEntity|$(a.project_specific)*DF_ViewSpecFlag_ProjectSpecific|$(a.can_serialize)*DF_ViewSpecFlag_CanSerialize|$(a.can_filter)*DF_ViewSpecFlag_CanFilter|$(a.filter_is_code)*DF_ViewSpecFlag_FilterIsCode|$(a.typing_automatically_filters)*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_string)"), DF_IconKind_$(a.icon), DF_VIEW_SETUP_FUNCTION_NAME($(a.name_lower)), DF_VIEW_CMD_FUNCTION_NAME($(a.name_lower)), DF_VIEW_UI_FUNCTION_NAME($(a.name_lower))}```;
@expand(DF_ViewTable a) ```{(0|$(a.parameterized_by_entity)*DF_ViewSpecFlag_ParameterizedByEntity|$(a.project_specific)*DF_ViewSpecFlag_ProjectSpecific|$(a.can_serialize)*DF_ViewSpecFlag_CanSerialize|$(a.can_filter)*DF_ViewSpecFlag_CanFilter|$(a.filter_is_code)*DF_ViewSpecFlag_FilterIsCode|$(a.typing_automatically_filters)*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_string)"), DF_IconKind_$(a.icon), DF_VIEW_SETUP_FUNCTION_NAME($(a.name_lower)), DF_VIEW_CMD_FUNCTION_NAME($(a.name_lower)), DF_VIEW_UI_FUNCTION_NAME($(a.name_lower))}```;
}
////////////////////////////////
//~ rjf: Built-In Debug Engine Kind -> Icon Kind Table
@data(DF_IconKind) df_cmd_kind_icon_kind_table:
{
@expand(D_CoreCmdTable a) `DF_IconKind_$(a.canonical_icon)`
}
@data(DF_IconKind) df_entity_kind_icon_kind_table:
{
@expand(D_EntityKindTable a) `DF_IconKind_$(a.icon_kind)`,
}
////////////////////////////////
//~ rjf: Command Parameter Slot -> View
@table(slot view_spec opt_cmd_spec)
D_CmdParamSlot2ViewSpecMap:
DF_CmdParamSlot2ViewSpecMap:
{
{Entity "entity_lister" "" }
{EntityList "entity_lister" "" }
@@ -299,17 +400,17 @@ D_CmdParamSlot2ViewSpecMap:
@data(D_CmdParamSlot) df_g_cmd_param_slot_2_view_spec_src_map:
{
@expand(D_CmdParamSlot2ViewSpecMap a) `D_CmdParamSlot_$(a.slot)`
@expand(DF_CmdParamSlot2ViewSpecMap a) `D_CmdParamSlot_$(a.slot)`
}
@data(String8) df_g_cmd_param_slot_2_view_spec_dst_map:
{
@expand(D_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.view_spec)")`
@expand(DF_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.view_spec)")`
}
@data(String8) df_g_cmd_param_slot_2_view_spec_cmd_map:
{
@expand(D_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.opt_cmd_spec)")`
@expand(DF_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.opt_cmd_spec)")`
}
////////////////////////////////
@@ -342,11 +443,11 @@ DF_ViewRuleTable:
{
``;
@expand(DF_ViewRuleTable a)
`$(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(" .. a.name_lower .. ");")`;
`$(a.vr == "x" -> "DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_ViewRuleTable a)
`$(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(" .. a.name_lower .. ");")`;
`$(a.ls == "x" -> "DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_ViewRuleTable a)
`$(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(" .. a.name_lower .. ");")`;
`$(a.ru == "x" -> "DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_ViewRuleTable a)
`$(a.bu == "x" -> "DF_GFX_VIEW_RULE_BLOCK_UI_FUNCTION_DEF(" .. a.name_lower .. ");")`;
}
@@ -354,7 +455,7 @@ DF_ViewRuleTable:
@data(DF_ViewRuleSpecInfo) @c_file df_g_gfx_view_rule_spec_info_table:
{
@expand(DF_ViewRuleTable a)
```{ str8_lit_comp("$(a.string)"), (DF_ViewRuleSpecInfoFlag_VizRowProd*$(a.vr == "x"))|(DF_ViewRuleSpecInfoFlag_LineStringize*$(a.ls == "x"))|(DF_ViewRuleSpecInfoFlag_RowUI*$(a.ru == "x"))|(DF_ViewRuleSpecInfoFlag_ViewUI*$(a.vu == "x")), $(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vr != "x" -> 0), $(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME("..a.name_lower..")") $(a.ls != "x" -> 0), $(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME("..a.name_lower..")") $(a.ru != "x" -> 0) }```;
```{ str8_lit_comp("$(a.string)"), (DF_ViewRuleSpecInfoFlag_VizRowProd*$(a.vr == "x"))|(DF_ViewRuleSpecInfoFlag_LineStringize*$(a.ls == "x"))|(DF_ViewRuleSpecInfoFlag_RowUI*$(a.ru == "x"))|(DF_ViewRuleSpecInfoFlag_ViewUI*$(a.vu == "x")), $(a.vr == "x" -> "DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vr != "x" -> 0), $(a.ls == "x" -> "DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME("..a.name_lower..")") $(a.ls != "x" -> 0), $(a.ru == "x" -> "DF_VIEW_RULE_ROW_UI_FUNCTION_NAME("..a.name_lower..")") $(a.ru != "x" -> 0) }```;
}
////////////////////////////////
@@ -690,7 +791,7 @@ raddbg_readme:
@p "A list of debugger interfaces, which can occupy tabs, are below:";
@unordered_list
{
@expand(DF_GfxViewTable a) @p "$(a.inc_in_docs -> '`'..a.display_string..'` '..a.docs_desc)";
@expand(DF_ViewTable a) @p "$(a.inc_in_docs -> '`'..a.display_string..'` '..a.docs_desc)";
}
@subtitle "Commands";
File diff suppressed because it is too large Load Diff
+45 -45
View File
@@ -118,7 +118,7 @@ struct DF_ViewSpecInfo
DF_ViewSpecFlags flags;
String8 name;
String8 display_string;
DF_IconKind icon_kind;
U32 icon_kind;
DF_ViewSetupFunctionType *setup_hook;
DF_ViewCmdFunctionType *cmd_hook;
DF_ViewUIFunctionType *ui_hook;
@@ -341,21 +341,21 @@ enum
DF_ViewRuleSpecInfoFlag_ViewUI = (1<<3),
};
#define DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(name) void name(void)
#define DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(name) df_gfx_view_rule_viz_row_prod__##name
#define DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(name) internal DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(name))
#define DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(name) void name(void)
#define DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(name) df_view_rule_viz_row_prod__##name
#define DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(name) internal DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(name))
#define DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(name) void name(void)
#define DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(name) df_gfx_view_rule_line_stringize__##name
#define DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(name) internal DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(name))
#define DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(name) void name(void)
#define DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(name) df_view_rule_line_stringize__##name
#define DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(name) internal DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(name))
#define DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_SIG(name) void name(struct DF_Window *ws, D_ExpandKey key, MD_Node *params, String8 string)
#define DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(name) df_gfx_view_rule_row_ui__##name
#define DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(name) DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(name))
#define DF_VIEW_RULE_ROW_UI_FUNCTION_SIG(name) void name(struct DF_Window *ws, D_ExpandKey key, MD_Node *params, String8 string)
#define DF_VIEW_RULE_ROW_UI_FUNCTION_NAME(name) df_view_rule_row_ui__##name
#define DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(name) DF_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_VIEW_RULE_ROW_UI_FUNCTION_NAME(name))
typedef DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(DF_ViewRuleVizRowProdHookFunctionType);
typedef DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(DF_ViewRuleLineStringizeHookFunctionType);
typedef DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_ViewRuleRowUIFunctionType);
typedef DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_SIG(DF_ViewRuleVizRowProdHookFunctionType);
typedef DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_SIG(DF_ViewRuleLineStringizeHookFunctionType);
typedef DF_VIEW_RULE_ROW_UI_FUNCTION_SIG(DF_ViewRuleRowUIFunctionType);
typedef struct DF_ViewRuleSpecInfo DF_ViewRuleSpecInfo;
struct DF_ViewRuleSpecInfo
@@ -721,8 +721,8 @@ struct DF_String2ViewSlot
DF_String2ViewNode *last;
};
typedef struct DF_GfxState DF_GfxState;
struct DF_GfxState
typedef struct DF_State DF_State;
struct DF_State
{
// rjf: arenas
Arena *arena;
@@ -817,9 +817,9 @@ struct DF_GfxState
////////////////////////////////
//~ rjf: Globals
read_only global DF_ViewSpec df_g_nil_view_spec =
read_only global DF_ViewSpec df_nil_view_spec =
{
&df_g_nil_view_spec,
&df_nil_view_spec,
{
0,
{0},
@@ -831,35 +831,35 @@ read_only global DF_ViewSpec df_g_nil_view_spec =
},
};
read_only global DF_ViewRuleSpec df_g_nil_gfx_view_rule_spec =
read_only global DF_ViewRuleSpec df_nil_view_rule_spec =
{
&df_g_nil_gfx_view_rule_spec,
&df_nil_view_rule_spec,
};
read_only global DF_View df_g_nil_view =
read_only global DF_View df_nil_view =
{
&df_g_nil_view,
&df_g_nil_view,
&df_g_nil_view,
&df_g_nil_view,
&df_g_nil_view,
&df_g_nil_view,
&df_g_nil_view_spec,
&df_nil_view,
&df_nil_view,
&df_nil_view,
&df_nil_view,
&df_nil_view,
&df_nil_view,
&df_nil_view_spec,
};
read_only global DF_Panel df_g_nil_panel =
read_only global DF_Panel df_nil_panel =
{
&df_g_nil_panel,
&df_g_nil_panel,
&df_g_nil_panel,
&df_g_nil_panel,
&df_g_nil_panel,
&df_nil_panel,
&df_nil_panel,
&df_nil_panel,
&df_nil_panel,
&df_nil_panel,
};
global DF_GfxState *df_gfx_state = 0;
global DF_DragDropPayload df_g_drag_drop_payload = {0};
global D_Handle df_g_last_drag_drop_panel = {0};
global D_Handle df_g_last_drag_drop_prev_tab = {0};
global DF_State *df_state = 0;
global DF_DragDropPayload df_drag_drop_payload = {0};
global D_Handle df_last_drag_drop_panel = {0};
global D_Handle df_last_drag_drop_prev_tab = {0};
////////////////////////////////
//~ rjf: Basic Helpers
@@ -877,7 +877,7 @@ internal DF_View *df_view_from_handle(D_Handle handle);
////////////////////////////////
//~ rjf: View Spec Type Functions
internal DF_GfxViewKind df_gfx_view_kind_from_string(String8 string);
internal DF_ViewKind df_view_kind_from_string(String8 string);
////////////////////////////////
//~ rjf: Panel Type Functions
@@ -946,14 +946,14 @@ internal DF_RichHoverInfo df_get_rich_hover_info(void);
internal void df_register_view_specs(DF_ViewSpecInfoArray specs);
internal DF_ViewSpec *df_view_spec_from_string(String8 string);
internal DF_ViewSpec *df_view_spec_from_gfx_view_kind(DF_GfxViewKind gfx_view_kind);
internal DF_ViewSpec *df_view_spec_from_kind(DF_ViewKind kind);
internal DF_ViewSpec *df_view_spec_from_cmd_param_slot_spec(D_CmdParamSlot slot, D_CmdSpec *cmd_spec);
////////////////////////////////
//~ rjf: View Rule Spec State Functions
internal void df_register_gfx_view_rule_specs(DF_ViewRuleSpecInfoArray specs);
internal DF_ViewRuleSpec *df_gfx_view_rule_spec_from_string(String8 string);
internal void df_register_view_rule_specs(DF_ViewRuleSpecInfoArray specs);
internal DF_ViewRuleSpec *df_view_rule_spec_from_string(String8 string);
////////////////////////////////
//~ rjf: View State Functions
@@ -1125,13 +1125,13 @@ internal UI_Signal df_line_editf(DF_Window *ws, DF_LineEditFlags flags, S32 dept
////////////////////////////////
//~ rjf: Continuous Frame Requests
internal void df_gfx_request_frame(void);
internal void df_request_frame(void);
////////////////////////////////
//~ rjf: Main Layer Top-Level Calls
internal void df_gfx_init(OS_WindowRepaintFunctionType *window_repaint_entry_point, D_StateDeltaHistory *hist);
internal void df_gfx_begin_frame(Arena *arena, D_CmdList *cmds);
internal void df_gfx_end_frame(void);
internal void df_init(OS_WindowRepaintFunctionType *window_repaint_entry_point, D_StateDeltaHistory *hist);
internal void df_begin_frame(Arena *arena, D_CmdList *cmds);
internal void df_end_frame(void);
#endif // DBG_FRONTEND_CORE_H
+12 -12
View File
@@ -270,7 +270,7 @@ D_VIEW_RULE_EXPR_RESOLUTION_FUNCTION_DEF(slice)
//~ rjf: "list"
D_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(list){}
DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(list){}
DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(list){}
////////////////////////////////
//~ rjf: "bswap"
@@ -294,46 +294,46 @@ D_VIEW_RULE_EXPR_RESOLUTION_FUNCTION_DEF(cast)
////////////////////////////////
//~ rjf: "dec"
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(dec){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(dec){}
////////////////////////////////
//~ rjf: "bin"
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(bin){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(bin){}
////////////////////////////////
//~ rjf: "oct"
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(oct){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(oct){}
////////////////////////////////
//~ rjf: "hex"
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(hex){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(hex){}
////////////////////////////////
//~ rjf: "only"
D_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(only){}
DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(only){}
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(only){}
DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(only){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(only){}
////////////////////////////////
//~ rjf: "omit"
D_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(omit){}
DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(omit){}
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(omit){}
DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(omit){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(omit){}
////////////////////////////////
//~ rjf: "no_addr"
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(no_addr){}
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(no_addr){}
////////////////////////////////
//~ rjf: "checkbox"
DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(checkbox)
DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(checkbox)
{
Temp scratch = scratch_begin(0, 0);
E_Eval eval = e_eval_from_string(scratch.arena, string);
@@ -359,7 +359,7 @@ D_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(color_rgba)
d_eval_viz_block_end(out, vb);
}
DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(color_rgba)
DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(color_rgba)
{
Temp scratch = scratch_begin(0, 0);
E_Eval eval = e_eval_from_string(scratch.arena, string);
+27 -26
View File
@@ -1322,7 +1322,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
FZY_ItemArray items = fzy_items_from_key_params_query(fzy_scope, fuzzy_search_key, &params, filter, endt_us, &items_stale);
if(items_stale)
{
df_gfx_request_frame();
df_request_frame();
}
//- rjf: gather unsorted child expansion keys
@@ -1636,7 +1636,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
B32 is_expanded = d_expand_key_is_set(&eval_view->expand_tree_table, row->key);
d_expand_set_expansion(eval_view->arena, &eval_view->expand_tree_table, row->parent_key, row->key, !is_expanded);
}
if(row->expand_ui_rule_spec != &df_g_nil_gfx_view_rule_spec && row->expand_ui_rule_spec != 0)
if(row->expand_ui_rule_spec != &df_nil_view_rule_spec && row->expand_ui_rule_spec != 0)
{
d_cmd(D_CmdKind_OpenTab,
.string = e_string_from_expr(scratch.arena, row->expr),
@@ -2280,8 +2280,8 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
UI_Box *row_box = ui_build_box_from_stringf(row_flags|
UI_BoxFlag_DrawSideBottom|
UI_BoxFlag_Clickable|
((row->expand_ui_rule_spec == &df_g_nil_gfx_view_rule_spec) * UI_BoxFlag_DisableFocusOverlay)|
((row->expand_ui_rule_spec != &df_g_nil_gfx_view_rule_spec) * UI_BoxFlag_Clip),
((row->expand_ui_rule_spec == &df_nil_view_rule_spec) * UI_BoxFlag_DisableFocusOverlay)|
((row->expand_ui_rule_spec != &df_nil_view_rule_spec) * UI_BoxFlag_Clip),
"row_%I64x", row_hash);
ui_ts_vector_idx += 1;
ui_ts_cell_idx = 0;
@@ -2289,7 +2289,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
////////////////////////
//- rjf: row with expand ui rule -> build large singular row for "escape hatch" ui
//
if(row->expand_ui_rule_spec != &df_g_nil_gfx_view_rule_spec)
if(row->expand_ui_rule_spec != &df_nil_view_rule_spec)
UI_Parent(row_box) UI_FocusHot(row_selected ? UI_FocusKind_On : UI_FocusKind_Off)
{
//- rjf: build canvas row contents
@@ -2372,7 +2372,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
//- rjf: build
UI_PermissionFlags(UI_PermissionFlag_Clicks|UI_PermissionFlag_ScrollX)
{
canvas_view_spec->info.ui_hook(ws, &df_g_nil_panel, canvas_view, canvas_view->params_roots[canvas_view->params_read_gen%ArrayCount(canvas_view->params_roots)], str8(canvas_view->query_buffer, canvas_view->query_string_size), canvas_rect);
canvas_view_spec->info.ui_hook(ws, &df_nil_panel, canvas_view, canvas_view->params_roots[canvas_view->params_read_gen%ArrayCount(canvas_view->params_roots)], str8(canvas_view->query_buffer, canvas_view->query_string_size), canvas_rect);
}
//- rjf: pop interaction registers
@@ -2384,7 +2384,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
////////////////////////
//- rjf: build non-canvas row contents
//
if(row->expand_ui_rule_spec == &df_g_nil_gfx_view_rule_spec) UI_Parent(row_box) UI_HeightFill
if(row->expand_ui_rule_spec == &df_nil_view_rule_spec) UI_Parent(row_box) UI_HeightFill
{
//////////////////////
//- rjf: draw start of cache lines in expansions
@@ -2506,7 +2506,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
cell_error_tooltip_string = str8_lit("Could not read memory successfully.");
}
cell_autocomp_flags = DF_AutoCompListerFlag_Locals;
if(row->value_ui_rule_spec != &df_g_nil_gfx_view_rule_spec && row->value_ui_rule_spec != 0)
if(row->value_ui_rule_spec != &df_nil_view_rule_spec && row->value_ui_rule_spec != 0)
{
cell_ui_hook = row->value_ui_rule_spec->info.row_ui;
cell_ui_params = row->value_ui_rule_params;
@@ -2540,8 +2540,8 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
d_cfg_table_push_unparsed_string(scratch.arena, &col_cfg_table, col_view_rule, D_CfgSrc_User);
for(D_CfgVal *val = col_cfg_table.first_val; val != 0 && val != &d_nil_cfg_val; val = val->linear_next)
{
DF_ViewRuleSpec *spec = df_gfx_view_rule_spec_from_string(val->string);
if(spec != &df_g_nil_gfx_view_rule_spec && spec->info.flags & DF_ViewRuleSpecInfoFlag_RowUI)
DF_ViewRuleSpec *spec = df_view_rule_spec_from_string(val->string);
if(spec != &df_nil_view_rule_spec && spec->info.flags & DF_ViewRuleSpecInfoFlag_RowUI)
{
cell_ui_hook = spec->info.row_ui;
cell_ui_params = val->last->root;
@@ -2941,7 +2941,7 @@ DF_VIEW_UI_FUNCTION_DEF(getting_started)
UI_Padding(ui_pct(1, 0))
UI_PrefWidth(ui_px(icon_dim, 1.f))
{
R_Handle texture = df_gfx_state->icon_texture;
R_Handle texture = df_state->icon_texture;
Vec2S32 texture_dim = r_size_from_tex2d(texture);
ui_image(texture, R_Tex2DSampleKind_Linear, r2f32p(0, 0, texture_dim.x, texture_dim.y), v4f32(1, 1, 1, 1), 0, str8_lit(""));
}
@@ -3276,7 +3276,8 @@ DF_VIEW_UI_FUNCTION_DEF(commands)
UI_HeightFill
UI_TextAlignment(UI_TextAlign_Center)
{
DF_IconKind icon = item->cmd_spec->info.canonical_icon_kind;
D_CmdKind cmd_kind = d_cmd_kind_from_string(item->cmd_spec->info.string);
DF_IconKind icon = df_cmd_kind_icon_kind_table[cmd_kind];
if(icon != DF_IconKind_Null)
{
ui_label(df_g_icon_kind_text_table[icon]);
@@ -4367,7 +4368,7 @@ DF_VIEW_UI_FUNCTION_DEF(entity_lister)
}
UI_Parent(box)
{
DF_IconKind icon_kind = d_entity_kind_icon_kind_table[ent->kind];
DF_IconKind icon_kind = df_entity_kind_icon_kind_table[ent->kind];
if(icon_kind != DF_IconKind_Null)
{
UI_TextAlignment(UI_TextAlign_Center)
@@ -4445,7 +4446,7 @@ DF_VIEW_UI_FUNCTION_DEF(symbol_lister)
FZY_ItemArray items = fzy_items_from_key_params_query(fzy_scope, fuzzy_search_key, &fuzzy_search_params, string, endt_us, &items_stale);
if(items_stale)
{
df_gfx_request_frame();
df_request_frame();
}
//- rjf: submit best match when hitting enter w/ no selection
@@ -6549,7 +6550,7 @@ DF_VIEW_CMD_FUNCTION_DEF(pending_file)
Rng1U64 file_range = r1u64(0, 1024);
U128 file_hash = fs_hash_from_path_range(file_path, file_range, 0);
B32 file_is_ready = 0;
DF_GfxViewKind viewer_kind = DF_GfxViewKind_Text;
DF_ViewKind viewer_kind = DF_ViewKind_Text;
{
HS_Scope *hs_scope = hs_scope_open();
String8 data = hs_data_from_hash(hs_scope, file_hash);
@@ -6576,11 +6577,11 @@ DF_VIEW_CMD_FUNCTION_DEF(pending_file)
file_is_ready = 1;
if(num_utf8_bytes > num_unknown_bytes*4)
{
viewer_kind = DF_GfxViewKind_Text;
viewer_kind = DF_ViewKind_Text;
}
else
{
viewer_kind = DF_GfxViewKind_Memory;
viewer_kind = DF_ViewKind_Memory;
}
}
hs_scope_close(hs_scope);
@@ -6606,12 +6607,12 @@ DF_VIEW_CMD_FUNCTION_DEF(pending_file)
}
//- rjf: if entity is ready, replace this view with the correct one, if any viewer is specified
if(file_is_ready && viewer_kind != DF_GfxViewKind_Null)
if(file_is_ready && viewer_kind != DF_ViewKind_Null)
{
DF_ViewSpec *view_spec = df_view_spec_from_string(params_copy->string);
if(view_spec == &df_g_nil_view_spec)
if(view_spec == &df_nil_view_spec)
{
view_spec = df_view_spec_from_gfx_view_kind(viewer_kind);
view_spec = df_view_spec_from_kind(viewer_kind);
}
String8 query = d_eval_string_from_file_path(scratch.arena, file_path);
df_view_equip_spec(ws, view, view_spec, query, params_copy);
@@ -6619,7 +6620,7 @@ DF_VIEW_CMD_FUNCTION_DEF(pending_file)
}
//- rjf: if entity is ready, but we have no viewer for it, then just close this tab
if(file_is_ready && viewer_kind == DF_GfxViewKind_Null)
if(file_is_ready && viewer_kind == DF_ViewKind_Null)
{
d_cmd(D_CmdKind_CloseTab);
}
@@ -6630,7 +6631,7 @@ DF_VIEW_CMD_FUNCTION_DEF(pending_file)
DF_VIEW_UI_FUNCTION_DEF(pending_file)
{
view->loading_t = view->loading_t_target = 1.f;
df_gfx_request_frame();
df_request_frame();
}
////////////////////////////////
@@ -8588,7 +8589,7 @@ DF_VIEW_UI_FUNCTION_DEF(geo3d)
abs_f32(state->yaw - yaw_target) > 0.001f ||
abs_f32(state->pitch - pitch_target) > 0.001f)
{
df_gfx_request_frame();
df_request_frame();
}
}
@@ -9251,7 +9252,7 @@ DF_VIEW_UI_FUNCTION_DEF(settings)
Vec3F32 hsv = v3f32(hsva.x, hsva.y, hsva.z);
Vec3F32 rgb = rgb_from_hsv(hsv);
Vec4F32 rgba = v4f32(rgb.x, rgb.y, rgb.z, sv->color_ctx_menu_color_hsva.w);
df_gfx_state->cfg_theme_target.colors[sv->color_ctx_menu_color] = rgba;
df_state->cfg_theme_target.colors[sv->color_ctx_menu_color] = rgba;
}
}
@@ -9296,7 +9297,7 @@ DF_VIEW_UI_FUNCTION_DEF(settings)
S32 slider_s32_val = 0;
F32 slider_pct = 0.f;
UI_BoxFlags flags = UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawBorder|UI_BoxFlag_DrawHotEffects|UI_BoxFlag_DrawActiveEffects;
DF_SettingVal *val_table = &df_gfx_state->cfg_setting_vals[D_CfgSrc_User][0];
DF_SettingVal *val_table = &df_state->cfg_setting_vals[D_CfgSrc_User][0];
switch(item->kind)
{
case DF_SettingsItemKind_COUNT:{}break;
@@ -9442,7 +9443,7 @@ DF_VIEW_UI_FUNCTION_DEF(settings)
if(sv->preset_apply_confirm == item->preset)
{
Vec4F32 *colors = df_g_theme_preset_colors_table[item->preset];
MemoryCopy(df_gfx_state->cfg_theme_target.colors, colors, sizeof(df_gfx_state->cfg_theme_target.colors));
MemoryCopy(df_state->cfg_theme_target.colors, colors, sizeof(df_state->cfg_theme_target.colors));
sv->preset_apply_confirm = DF_ThemePreset_COUNT;
}
else
+340 -10
View File
@@ -140,6 +140,79 @@ str8_lit_comp("add_address_breakpoint"),
str8_lit_comp("add_function_breakpoint"),
};
String8 df_g_icon_kind_text_table[69] =
{
str8_lit_comp(""),
str8_lit_comp("b"),
str8_lit_comp("c"),
str8_lit_comp("B"),
str8_lit_comp("C"),
str8_lit_comp("f"),
str8_lit_comp("F"),
str8_lit_comp("g"),
str8_lit_comp("h"),
str8_lit_comp("r"),
str8_lit_comp("s"),
str8_lit_comp("i"),
str8_lit_comp("w"),
str8_lit_comp("W"),
str8_lit_comp("k"),
str8_lit_comp("K"),
str8_lit_comp("L"),
str8_lit_comp("R"),
str8_lit_comp("U"),
str8_lit_comp("D"),
str8_lit_comp("G"),
str8_lit_comp("P"),
str8_lit_comp("3"),
str8_lit_comp("p"),
str8_lit_comp("O"),
str8_lit_comp("o"),
str8_lit_comp("!"),
str8_lit_comp("1"),
str8_lit_comp("<"),
str8_lit_comp(">"),
str8_lit_comp("^"),
str8_lit_comp("v"),
str8_lit_comp("9"),
str8_lit_comp("0"),
str8_lit_comp("7"),
str8_lit_comp("8"),
str8_lit_comp("+"),
str8_lit_comp("-"),
str8_lit_comp("'"),
str8_lit_comp("\""),
str8_lit_comp("M"),
str8_lit_comp("."),
str8_lit_comp("x"),
str8_lit_comp("q"),
str8_lit_comp("j"),
str8_lit_comp("u"),
str8_lit_comp("m"),
str8_lit_comp("n"),
str8_lit_comp("l"),
str8_lit_comp("a"),
str8_lit_comp("z"),
str8_lit_comp("y"),
str8_lit_comp("X"),
str8_lit_comp("Y"),
str8_lit_comp("S"),
str8_lit_comp("T"),
str8_lit_comp("Z"),
str8_lit_comp("d"),
str8_lit_comp("N"),
str8_lit_comp("E"),
str8_lit_comp("H"),
str8_lit_comp("e"),
str8_lit_comp("I"),
str8_lit_comp("J"),
str8_lit_comp("A"),
str8_lit_comp("?"),
str8_lit_comp("4"),
str8_lit_comp("5"),
str8_lit_comp("c"),
};
DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34] =
{
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("null"), str8_lit_comp(""), DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(null), DF_VIEW_CMD_FUNCTION_NAME(null), DF_VIEW_UI_FUNCTION_NAME(null)},
@@ -178,6 +251,263 @@ DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34] =
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|1*DF_ViewSpecFlag_CanSerialize|1*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|1*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("settings"), str8_lit_comp("Settings"), DF_IconKind_Gear, DF_VIEW_SETUP_FUNCTION_NAME(settings), DF_VIEW_CMD_FUNCTION_NAME(settings), DF_VIEW_UI_FUNCTION_NAME(settings)},
};
DF_IconKind df_cmd_kind_icon_kind_table[221] =
{
DF_IconKind_Null,
DF_IconKind_X,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Play,
DF_IconKind_PlayStepForward,
DF_IconKind_Stop,
DF_IconKind_Stop,
DF_IconKind_Null,
DF_IconKind_Play,
DF_IconKind_StepInto,
DF_IconKind_StepOver,
DF_IconKind_StepInto,
DF_IconKind_StepOver,
DF_IconKind_StepOut,
DF_IconKind_Pause,
DF_IconKind_Refresh,
DF_IconKind_Null,
DF_IconKind_Play,
DF_IconKind_PlayStepForward,
DF_IconKind_Play,
DF_IconKind_Redo,
DF_IconKind_StepInto,
DF_IconKind_StepOver,
DF_IconKind_Play,
DF_IconKind_RightArrow,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_UpArrow,
DF_IconKind_DownArrow,
DF_IconKind_Locked,
DF_IconKind_Unlocked,
DF_IconKind_Locked,
DF_IconKind_Unlocked,
DF_IconKind_Locked,
DF_IconKind_Unlocked,
DF_IconKind_Machine,
DF_IconKind_Machine,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Window,
DF_IconKind_Window,
DF_IconKind_Window,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Window,
DF_IconKind_Window,
DF_IconKind_XSplit,
DF_IconKind_YSplit,
DF_IconKind_XSplit,
DF_IconKind_YSplit,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_RightArrow,
DF_IconKind_LeftArrow,
DF_IconKind_Null,
DF_IconKind_RightArrow,
DF_IconKind_LeftArrow,
DF_IconKind_UpArrow,
DF_IconKind_DownArrow,
DF_IconKind_Undo,
DF_IconKind_Redo,
DF_IconKind_LeftArrow,
DF_IconKind_RightArrow,
DF_IconKind_ClosePanel,
DF_IconKind_RightArrow,
DF_IconKind_LeftArrow,
DF_IconKind_RightArrow,
DF_IconKind_LeftArrow,
DF_IconKind_Null,
DF_IconKind_X,
DF_IconKind_Null,
DF_IconKind_UpArrow,
DF_IconKind_DownArrow,
DF_IconKind_FileOutline,
DF_IconKind_FileOutline,
DF_IconKind_FileOutline,
DF_IconKind_FileOutline,
DF_IconKind_Glasses,
DF_IconKind_FileOutline,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Person,
DF_IconKind_Briefcase,
DF_IconKind_Briefcase,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Pencil,
DF_IconKind_CheckFilled,
DF_IconKind_X,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Clipboard,
DF_IconKind_Clipboard,
DF_IconKind_Clipboard,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Thumbnails,
DF_IconKind_Thumbnails,
DF_IconKind_Thumbnails,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_CircleFilled,
DF_IconKind_CircleFilled,
DF_IconKind_CircleFilled,
DF_IconKind_CircleFilled,
DF_IconKind_Trash,
DF_IconKind_CheckFilled,
DF_IconKind_CheckHollow,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_CircleFilled,
DF_IconKind_Binoculars,
DF_IconKind_Target,
DF_IconKind_Trash,
DF_IconKind_Pencil,
DF_IconKind_Target,
DF_IconKind_CheckFilled,
DF_IconKind_CheckHollow,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_FileOutline,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_Find,
DF_IconKind_QuestionMark,
DF_IconKind_List,
DF_IconKind_Target,
DF_IconKind_Target,
DF_IconKind_FileOutline,
DF_IconKind_Binoculars,
DF_IconKind_CircleFilled,
DF_IconKind_Pin,
DF_IconKind_Scheduler,
DF_IconKind_Thread,
DF_IconKind_Module,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_FileOutline,
DF_IconKind_Glasses,
DF_IconKind_List,
DF_IconKind_Grid,
DF_IconKind_Gear,
DF_IconKind_Gear,
DF_IconKind_FileOutline,
DF_IconKind_FolderOpenFilled,
DF_IconKind_FileOutline,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
};
DF_IconKind df_entity_kind_icon_kind_table[28] =
{
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Machine,
DF_IconKind_FileOutline,
DF_IconKind_Binoculars,
DF_IconKind_FileOutline,
DF_IconKind_Pin,
DF_IconKind_Binoculars,
DF_IconKind_Binoculars,
DF_IconKind_CircleFilled,
DF_IconKind_CircleFilled,
DF_IconKind_Null,
DF_IconKind_Target,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Briefcase,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Threads,
DF_IconKind_Thread,
DF_IconKind_Module,
DF_IconKind_Threads,
DF_IconKind_Module,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
};
D_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7] =
{
D_CmdParamSlot_Entity,
@@ -214,16 +544,16 @@ str8_lit_comp("add_function_breakpoint"),
DF_ViewRuleSpecInfo df_g_gfx_view_rule_spec_info_table[16] =
{
{ str8_lit_comp("array"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, 0, 0 },
{ str8_lit_comp("list"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(list) , 0, 0 },
{ str8_lit_comp("dec"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(dec) , 0 },
{ str8_lit_comp("bin"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(bin) , 0 },
{ str8_lit_comp("oct"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(oct) , 0 },
{ str8_lit_comp("hex"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(hex) , 0 },
{ str8_lit_comp("only"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(only) , DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(only) , 0 },
{ str8_lit_comp("omit"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(omit) , DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(omit) , 0 },
{ str8_lit_comp("no_addr"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(no_addr) , 0 },
{ str8_lit_comp("checkbox"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*1)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(checkbox) },
{ str8_lit_comp("color_rgba"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*1)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(color_rgba) },
{ str8_lit_comp("list"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(list) , 0, 0 },
{ str8_lit_comp("dec"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(dec) , 0 },
{ str8_lit_comp("bin"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(bin) , 0 },
{ str8_lit_comp("oct"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(oct) , 0 },
{ str8_lit_comp("hex"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(hex) , 0 },
{ str8_lit_comp("only"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(only) , DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(only) , 0 },
{ str8_lit_comp("omit"), (DF_ViewRuleSpecInfoFlag_VizRowProd*1)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME(omit) , DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(omit) , 0 },
{ str8_lit_comp("no_addr"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*1)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME(no_addr) , 0 },
{ str8_lit_comp("checkbox"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*1)|(DF_ViewRuleSpecInfoFlag_ViewUI*0), 0, 0, DF_VIEW_RULE_ROW_UI_FUNCTION_NAME(checkbox) },
{ str8_lit_comp("color_rgba"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*1)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, DF_VIEW_RULE_ROW_UI_FUNCTION_NAME(color_rgba) },
{ str8_lit_comp("text"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("disasm"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
{ str8_lit_comp("memory"), (DF_ViewRuleSpecInfoFlag_VizRowProd*0)|(DF_ViewRuleSpecInfoFlag_LineStringize*0)|(DF_ViewRuleSpecInfoFlag_RowUI*0)|(DF_ViewRuleSpecInfoFlag_ViewUI*1), 0, 0, 0 },
+126 -49
View File
@@ -6,44 +6,118 @@
#ifndef DBG_FRONTEND_META_H
#define DBG_FRONTEND_META_H
typedef enum DF_GfxViewKind
typedef enum DF_IconKind
{
DF_GfxViewKind_Null,
DF_GfxViewKind_Empty,
DF_GfxViewKind_GettingStarted,
DF_GfxViewKind_Commands,
DF_GfxViewKind_FileSystem,
DF_GfxViewKind_SystemProcesses,
DF_GfxViewKind_EntityLister,
DF_GfxViewKind_SymbolLister,
DF_GfxViewKind_Target,
DF_GfxViewKind_Targets,
DF_GfxViewKind_FilePathMap,
DF_GfxViewKind_AutoViewRules,
DF_GfxViewKind_Breakpoints,
DF_GfxViewKind_WatchPins,
DF_GfxViewKind_Scheduler,
DF_GfxViewKind_CallStack,
DF_GfxViewKind_Modules,
DF_GfxViewKind_Watch,
DF_GfxViewKind_Locals,
DF_GfxViewKind_Registers,
DF_GfxViewKind_Globals,
DF_GfxViewKind_ThreadLocals,
DF_GfxViewKind_Types,
DF_GfxViewKind_Procedures,
DF_GfxViewKind_PendingFile,
DF_GfxViewKind_Text,
DF_GfxViewKind_Disasm,
DF_GfxViewKind_Output,
DF_GfxViewKind_Memory,
DF_GfxViewKind_Bitmap,
DF_GfxViewKind_ColorRGBA,
DF_GfxViewKind_Geo3D,
DF_GfxViewKind_ExceptionFilters,
DF_GfxViewKind_Settings,
DF_GfxViewKind_COUNT,
} DF_GfxViewKind;
DF_IconKind_Null,
DF_IconKind_FolderOpenOutline,
DF_IconKind_FolderClosedOutline,
DF_IconKind_FolderOpenFilled,
DF_IconKind_FolderClosedFilled,
DF_IconKind_FileOutline,
DF_IconKind_FileFilled,
DF_IconKind_Play,
DF_IconKind_PlayStepForward,
DF_IconKind_Pause,
DF_IconKind_Stop,
DF_IconKind_Info,
DF_IconKind_WarningSmall,
DF_IconKind_WarningBig,
DF_IconKind_Unlocked,
DF_IconKind_Locked,
DF_IconKind_LeftArrow,
DF_IconKind_RightArrow,
DF_IconKind_UpArrow,
DF_IconKind_DownArrow,
DF_IconKind_Gear,
DF_IconKind_Pencil,
DF_IconKind_Trash,
DF_IconKind_Pin,
DF_IconKind_RadioHollow,
DF_IconKind_RadioFilled,
DF_IconKind_CheckHollow,
DF_IconKind_CheckFilled,
DF_IconKind_LeftCaret,
DF_IconKind_RightCaret,
DF_IconKind_UpCaret,
DF_IconKind_DownCaret,
DF_IconKind_UpScroll,
DF_IconKind_DownScroll,
DF_IconKind_LeftScroll,
DF_IconKind_RightScroll,
DF_IconKind_Add,
DF_IconKind_Minus,
DF_IconKind_Thread,
DF_IconKind_Threads,
DF_IconKind_Machine,
DF_IconKind_CircleFilled,
DF_IconKind_X,
DF_IconKind_Refresh,
DF_IconKind_Undo,
DF_IconKind_Redo,
DF_IconKind_Save,
DF_IconKind_Window,
DF_IconKind_Target,
DF_IconKind_Clipboard,
DF_IconKind_Scheduler,
DF_IconKind_Module,
DF_IconKind_XSplit,
DF_IconKind_YSplit,
DF_IconKind_ClosePanel,
DF_IconKind_StepInto,
DF_IconKind_StepOver,
DF_IconKind_StepOut,
DF_IconKind_Find,
DF_IconKind_Palette,
DF_IconKind_Thumbnails,
DF_IconKind_Glasses,
DF_IconKind_Binoculars,
DF_IconKind_List,
DF_IconKind_Grid,
DF_IconKind_QuestionMark,
DF_IconKind_Person,
DF_IconKind_Briefcase,
DF_IconKind_Dot,
DF_IconKind_COUNT,
} DF_IconKind;
typedef enum DF_ViewKind
{
DF_ViewKind_Null,
DF_ViewKind_Empty,
DF_ViewKind_GettingStarted,
DF_ViewKind_Commands,
DF_ViewKind_FileSystem,
DF_ViewKind_SystemProcesses,
DF_ViewKind_EntityLister,
DF_ViewKind_SymbolLister,
DF_ViewKind_Target,
DF_ViewKind_Targets,
DF_ViewKind_FilePathMap,
DF_ViewKind_AutoViewRules,
DF_ViewKind_Breakpoints,
DF_ViewKind_WatchPins,
DF_ViewKind_Scheduler,
DF_ViewKind_CallStack,
DF_ViewKind_Modules,
DF_ViewKind_Watch,
DF_ViewKind_Locals,
DF_ViewKind_Registers,
DF_ViewKind_Globals,
DF_ViewKind_ThreadLocals,
DF_ViewKind_Types,
DF_ViewKind_Procedures,
DF_ViewKind_PendingFile,
DF_ViewKind_Text,
DF_ViewKind_Disasm,
DF_ViewKind_Output,
DF_ViewKind_Memory,
DF_ViewKind_Bitmap,
DF_ViewKind_ColorRGBA,
DF_ViewKind_Geo3D,
DF_ViewKind_ExceptionFilters,
DF_ViewKind_Settings,
DF_ViewKind_COUNT,
} DF_ViewKind;
typedef enum DF_ThemeColor
{
@@ -266,23 +340,26 @@ DF_VIEW_UI_FUNCTION_DEF(geo3d);
DF_VIEW_UI_FUNCTION_DEF(exception_filters);
DF_VIEW_UI_FUNCTION_DEF(settings);
DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(list);
DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(only);
DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(omit);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(dec);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(bin);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(oct);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(hex);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(only);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(omit);
DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(no_addr);
DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(checkbox);
DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_DEF(color_rgba);
DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(list);
DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(only);
DF_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_DEF(omit);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(dec);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(bin);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(oct);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(hex);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(only);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(omit);
DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(no_addr);
DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(checkbox);
DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(color_rgba);
C_LINKAGE_BEGIN
extern DF_StringBindingPair df_g_default_binding_table[110];
extern String8 df_g_binding_version_remap_old_name_table[7];
extern String8 df_g_binding_version_remap_new_name_table[7];
extern String8 df_g_icon_kind_text_table[69];
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34];
extern DF_IconKind df_cmd_kind_icon_kind_table[221];
extern DF_IconKind df_entity_kind_icon_kind_table[28];
extern D_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7];
extern String8 df_g_cmd_param_slot_2_view_spec_dst_map[7];
extern String8 df_g_cmd_param_slot_2_view_spec_cmd_map[7];