os -> wm; *_w32_ -> w32_*_, *_lnx_ -> lnx_*_

This commit is contained in:
Ryan Fleury
2026-05-08 21:17:21 -07:00
parent 9a7782de47
commit 2f6d0f9aaa
52 changed files with 3086 additions and 3115 deletions
+122 -122
View File
@@ -212,7 +212,7 @@ RD_VocabInfo rd_vocab_info_table[360] =
{str8_lit_comp("open_palette"), str8_lit_comp(""), str8_lit_comp("Open Palette"), str8_lit_comp(""), RD_IconKind_List},
{str8_lit_comp("run_command"), str8_lit_comp(""), str8_lit_comp("Run Command"), str8_lit_comp(""), RD_IconKind_Null},
{str8_lit_comp("run_ext_driver_text_command"), str8_lit_comp(""), str8_lit_comp("Run External Driver Text Command"), str8_lit_comp(""), RD_IconKind_Null},
{str8_lit_comp("os_event"), str8_lit_comp(""), str8_lit_comp("OS Event"), str8_lit_comp(""), RD_IconKind_Null},
{str8_lit_comp("wm_event"), str8_lit_comp(""), str8_lit_comp("OS Event"), str8_lit_comp(""), RD_IconKind_Null},
{str8_lit_comp("select_thread"), str8_lit_comp(""), str8_lit_comp("Select Thread"), str8_lit_comp(""), RD_IconKind_Thread},
{str8_lit_comp("select_unwind"), str8_lit_comp(""), str8_lit_comp("Select Unwind"), str8_lit_comp(""), RD_IconKind_Null},
{str8_lit_comp("up_one_frame"), str8_lit_comp(""), str8_lit_comp("Up One Frame"), str8_lit_comp(""), RD_IconKind_UpArrow},
@@ -520,7 +520,7 @@ str8_lit_comp("activate_with_single_click"),
str8_lit_comp("dir2"),
str8_lit_comp("string"),
str8_lit_comp("cmd_name"),
str8_lit_comp("os_event"),
str8_lit_comp("wm_event"),
};
Rng1U64 rd_reg_slot_range_table[49] =
@@ -573,7 +573,7 @@ Rng1U64 rd_reg_slot_range_table[49] =
{OffsetOf(RD_Regs, dir2), OffsetOf(RD_Regs, dir2) + sizeof(Dir2)},
{OffsetOf(RD_Regs, string), OffsetOf(RD_Regs, string) + sizeof(String8)},
{OffsetOf(RD_Regs, cmd_name), OffsetOf(RD_Regs, cmd_name) + sizeof(String8)},
{OffsetOf(RD_Regs, os_event), OffsetOf(RD_Regs, os_event) + sizeof(OS_Event *)},
{OffsetOf(RD_Regs, wm_event), OffsetOf(RD_Regs, wm_event) + sizeof(WM_Event *)},
};
RD_CmdKindInfo rd_cmd_kind_info_table[249] =
@@ -615,7 +615,7 @@ RD_CmdKindInfo rd_cmd_kind_info_table[249] =
{ str8_lit_comp("open_palette"), str8_lit_comp("Opens the palette."), str8_lit_comp("help,cmd,lister"), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), D_EntityKind_Null}},
{ str8_lit_comp("run_command"), str8_lit_comp("Runs a command from the command palette."), str8_lit_comp("help,cmd"), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_CmdName, str8_lit_comp("query:commands"), str8_lit_comp("commands"), D_EntityKind_Null}},
{ str8_lit_comp("run_ext_driver_text_command"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), D_EntityKind_Null}},
{ str8_lit_comp("os_event"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), D_EntityKind_Null}},
{ str8_lit_comp("wm_event"), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), D_EntityKind_Null}},
{ str8_lit_comp("select_thread"), str8_lit_comp("Selects a thread."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*1)|(RD_QueryFlag_Required*1), RD_RegSlot_Thread, str8_lit_comp("query:threads"), str8_lit_comp(""), D_EntityKind_Thread}},
{ str8_lit_comp("select_unwind"), str8_lit_comp("Selects an unwind frame number for the selected thread."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*1)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp("query:call_stack"), str8_lit_comp(""), D_EntityKind_Null}},
{ str8_lit_comp("up_one_frame"), str8_lit_comp("Selects the call stack frame above the currently selected."), str8_lit_comp(""), str8_lit_comp(""), (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1)|(RD_CmdKindFlag_ListInTextPt*0)|(RD_CmdKindFlag_ListInTextRng*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Floating*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), str8_lit_comp(""), D_EntityKind_Null}},
@@ -831,124 +831,124 @@ RD_CmdKindInfo rd_cmd_kind_info_table[249] =
struct {String8 string; CFG_Binding binding;} rd_default_binding_table[118] =
{
{str8_lit_comp("kill_all"), {OS_Key_F5, 0 |OS_Modifier_Shift }},
{str8_lit_comp("step_into_inst"), {OS_Key_F11, 0 |OS_Modifier_Alt}},
{str8_lit_comp("step_over_inst"), {OS_Key_F10, 0 |OS_Modifier_Alt}},
{str8_lit_comp("step_out"), {OS_Key_F11, 0 |OS_Modifier_Shift }},
{str8_lit_comp("halt"), {OS_Key_X, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("halt"), {OS_Key_Pause, 0 }},
{str8_lit_comp("run"), {OS_Key_F5, 0 }},
{str8_lit_comp("restart"), {OS_Key_F5, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("step_into"), {OS_Key_F11, 0 }},
{str8_lit_comp("step_over"), {OS_Key_F10, 0 }},
{str8_lit_comp("run_to_line"), {OS_Key_F10, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("set_next_statement"), {OS_Key_F10, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("inc_window_font_size"), {OS_Key_Equal, 0 |OS_Modifier_Alt}},
{str8_lit_comp("dec_window_font_size"), {OS_Key_Minus, 0 |OS_Modifier_Alt}},
{str8_lit_comp("window"), {OS_Key_N, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("toggle_fullscreen"), {OS_Key_Return, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("new_panel_right"), {OS_Key_P, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("new_panel_down"), {OS_Key_Minus, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("rotate_panel_columns"), {OS_Key_2, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("next_panel"), {OS_Key_Comma, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("prev_panel"), {OS_Key_Comma, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("focus_panel_right"), {OS_Key_Right, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("focus_panel_left"), {OS_Key_Left, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("focus_panel_up"), {OS_Key_Up, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("focus_panel_down"), {OS_Key_Down, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("undo"), {OS_Key_Z, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("redo"), {OS_Key_Y, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("go_back"), {OS_Key_Left, 0 |OS_Modifier_Alt}},
{str8_lit_comp("go_forward"), {OS_Key_Right, 0 |OS_Modifier_Alt}},
{str8_lit_comp("close_panel"), {OS_Key_P, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("next_tab"), {OS_Key_PageDown, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("prev_tab"), {OS_Key_PageUp, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("next_tab"), {OS_Key_Tab, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("prev_tab"), {OS_Key_Tab, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_tab_right"), {OS_Key_PageDown, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_tab_left"), {OS_Key_PageUp, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("close_tab"), {OS_Key_W, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("tab_bar_top"), {OS_Key_Up, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("tab_bar_bottom"), {OS_Key_Down, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("open_tab"), {OS_Key_T, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("tab_settings"), {OS_Key_T, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("open"), {OS_Key_O, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("switch"), {OS_Key_I, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("switch_to_partner_file"), {OS_Key_O, 0 |OS_Modifier_Alt}},
{str8_lit_comp("open_user"), {OS_Key_N, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("open_project"), {OS_Key_N, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("open_user"), {OS_Key_O, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("open_project"), {OS_Key_O, 0 |OS_Modifier_Ctrl |OS_Modifier_Alt}},
{str8_lit_comp("save_user"), {OS_Key_S, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("save_project"), {OS_Key_S, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("edit"), {OS_Key_F2, 0 }},
{str8_lit_comp("accept"), {OS_Key_Return, 0 }},
{str8_lit_comp("accept"), {OS_Key_Space, 0 }},
{str8_lit_comp("cancel"), {OS_Key_Esc, 0 }},
{str8_lit_comp("focus_menu"), {OS_Key_D, 0 |OS_Modifier_Alt}},
{str8_lit_comp("move_left"), {OS_Key_Left, 0 }},
{str8_lit_comp("move_right"), {OS_Key_Right, 0 }},
{str8_lit_comp("move_up"), {OS_Key_Up, 0 }},
{str8_lit_comp("move_down"), {OS_Key_Down, 0 }},
{str8_lit_comp("move_left_select"), {OS_Key_Left, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_right_select"), {OS_Key_Right, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_up_select"), {OS_Key_Up, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_down_select"), {OS_Key_Down, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_left_chunk"), {OS_Key_Left, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("move_right_chunk"), {OS_Key_Right, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("move_up_chunk"), {OS_Key_Up, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("move_down_chunk"), {OS_Key_Down, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("move_up_page"), {OS_Key_PageUp, 0 }},
{str8_lit_comp("move_down_page"), {OS_Key_PageDown, 0 }},
{str8_lit_comp("move_up_whole"), {OS_Key_Home, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("move_down_whole"), {OS_Key_End, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("move_left_chunk_select"), {OS_Key_Left, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_right_chunk_select"), {OS_Key_Right, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_up_chunk_select"), {OS_Key_Up, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_down_chunk_select"), {OS_Key_Down, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_up_page_select"), {OS_Key_PageUp, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_down_page_select"), {OS_Key_PageDown, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_up_whole_select"), {OS_Key_Home, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_down_whole_select"), {OS_Key_End, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("move_up_reorder"), {OS_Key_Up, 0 |OS_Modifier_Alt}},
{str8_lit_comp("move_down_reorder"), {OS_Key_Down, 0 |OS_Modifier_Alt}},
{str8_lit_comp("move_home"), {OS_Key_Home, 0 }},
{str8_lit_comp("move_end"), {OS_Key_End, 0 }},
{str8_lit_comp("move_home_select"), {OS_Key_Home, 0 |OS_Modifier_Shift }},
{str8_lit_comp("move_end_select"), {OS_Key_End, 0 |OS_Modifier_Shift }},
{str8_lit_comp("select_all"), {OS_Key_A, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("delete_single"), {OS_Key_Delete, 0 }},
{str8_lit_comp("delete_chunk"), {OS_Key_Delete, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("backspace_single"), {OS_Key_Backspace, 0 }},
{str8_lit_comp("backspace_chunk"), {OS_Key_Backspace, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("copy"), {OS_Key_C, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("copy"), {OS_Key_Insert, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("cut"), {OS_Key_X, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("paste"), {OS_Key_V, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("paste"), {OS_Key_Insert, 0 |OS_Modifier_Shift }},
{str8_lit_comp("insert_text"), {OS_Key_Null, 0 }},
{str8_lit_comp("move_next"), {OS_Key_Tab, 0 }},
{str8_lit_comp("move_prev"), {OS_Key_Tab, 0 |OS_Modifier_Shift }},
{str8_lit_comp("goto_line"), {OS_Key_G, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("goto_address"), {OS_Key_G, 0 |OS_Modifier_Alt}},
{str8_lit_comp("search"), {OS_Key_F, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("search_backwards"), {OS_Key_R, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("find_next"), {OS_Key_F3, 0 }},
{str8_lit_comp("find_prev"), {OS_Key_F3, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("find_selected_thread"), {OS_Key_F4, 0 }},
{str8_lit_comp("goto_name"), {OS_Key_J, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("goto_name_at_cursor"), {OS_Key_F12, 0 }},
{str8_lit_comp("toggle_watch_expr_at_cursor"), {OS_Key_W, 0 |OS_Modifier_Alt}},
{str8_lit_comp("toggle_watch_expr_at_mouse"), {OS_Key_D, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("toggle_watch_pin"), {OS_Key_F9, 0 |OS_Modifier_Ctrl }},
{str8_lit_comp("toggle_breakpoint"), {OS_Key_F9, 0 }},
{str8_lit_comp("add_address_breakpoint"), {OS_Key_F9, 0 |OS_Modifier_Shift }},
{str8_lit_comp("add_function_breakpoint"), {OS_Key_F9, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("attach"), {OS_Key_F6, 0 |OS_Modifier_Shift }},
{str8_lit_comp("open_palette"), {OS_Key_F1, 0 }},
{str8_lit_comp("open_palette"), {OS_Key_P, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift }},
{str8_lit_comp("log_marker"), {OS_Key_M, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("toggle_dev_menu"), {OS_Key_D, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}},
{str8_lit_comp("kill_all"), {WM_Key_F5, 0 |WM_Modifier_Shift }},
{str8_lit_comp("step_into_inst"), {WM_Key_F11, 0 |WM_Modifier_Alt}},
{str8_lit_comp("step_over_inst"), {WM_Key_F10, 0 |WM_Modifier_Alt}},
{str8_lit_comp("step_out"), {WM_Key_F11, 0 |WM_Modifier_Shift }},
{str8_lit_comp("halt"), {WM_Key_X, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("halt"), {WM_Key_Pause, 0 }},
{str8_lit_comp("run"), {WM_Key_F5, 0 }},
{str8_lit_comp("restart"), {WM_Key_F5, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("step_into"), {WM_Key_F11, 0 }},
{str8_lit_comp("step_over"), {WM_Key_F10, 0 }},
{str8_lit_comp("run_to_line"), {WM_Key_F10, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("set_next_statement"), {WM_Key_F10, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("inc_window_font_size"), {WM_Key_Equal, 0 |WM_Modifier_Alt}},
{str8_lit_comp("dec_window_font_size"), {WM_Key_Minus, 0 |WM_Modifier_Alt}},
{str8_lit_comp("window"), {WM_Key_N, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("toggle_fullscreen"), {WM_Key_Return, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("new_panel_right"), {WM_Key_P, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("new_panel_down"), {WM_Key_Minus, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("rotate_panel_columns"), {WM_Key_2, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("next_panel"), {WM_Key_Comma, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("prev_panel"), {WM_Key_Comma, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("focus_panel_right"), {WM_Key_Right, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("focus_panel_left"), {WM_Key_Left, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("focus_panel_up"), {WM_Key_Up, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("focus_panel_down"), {WM_Key_Down, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("undo"), {WM_Key_Z, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("redo"), {WM_Key_Y, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("go_back"), {WM_Key_Left, 0 |WM_Modifier_Alt}},
{str8_lit_comp("go_forward"), {WM_Key_Right, 0 |WM_Modifier_Alt}},
{str8_lit_comp("close_panel"), {WM_Key_P, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("next_tab"), {WM_Key_PageDown, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("prev_tab"), {WM_Key_PageUp, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("next_tab"), {WM_Key_Tab, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("prev_tab"), {WM_Key_Tab, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_tab_right"), {WM_Key_PageDown, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_tab_left"), {WM_Key_PageUp, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("close_tab"), {WM_Key_W, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("tab_bar_top"), {WM_Key_Up, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("tab_bar_bottom"), {WM_Key_Down, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("open_tab"), {WM_Key_T, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("tab_settings"), {WM_Key_T, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("open"), {WM_Key_O, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("switch"), {WM_Key_I, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("switch_to_partner_file"), {WM_Key_O, 0 |WM_Modifier_Alt}},
{str8_lit_comp("open_user"), {WM_Key_N, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("open_project"), {WM_Key_N, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("open_user"), {WM_Key_O, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("open_project"), {WM_Key_O, 0 |WM_Modifier_Ctrl |WM_Modifier_Alt}},
{str8_lit_comp("save_user"), {WM_Key_S, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("save_project"), {WM_Key_S, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("edit"), {WM_Key_F2, 0 }},
{str8_lit_comp("accept"), {WM_Key_Return, 0 }},
{str8_lit_comp("accept"), {WM_Key_Space, 0 }},
{str8_lit_comp("cancel"), {WM_Key_Esc, 0 }},
{str8_lit_comp("focus_menu"), {WM_Key_D, 0 |WM_Modifier_Alt}},
{str8_lit_comp("move_left"), {WM_Key_Left, 0 }},
{str8_lit_comp("move_right"), {WM_Key_Right, 0 }},
{str8_lit_comp("move_up"), {WM_Key_Up, 0 }},
{str8_lit_comp("move_down"), {WM_Key_Down, 0 }},
{str8_lit_comp("move_left_select"), {WM_Key_Left, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_right_select"), {WM_Key_Right, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_up_select"), {WM_Key_Up, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_down_select"), {WM_Key_Down, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_left_chunk"), {WM_Key_Left, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("move_right_chunk"), {WM_Key_Right, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("move_up_chunk"), {WM_Key_Up, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("move_down_chunk"), {WM_Key_Down, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("move_up_page"), {WM_Key_PageUp, 0 }},
{str8_lit_comp("move_down_page"), {WM_Key_PageDown, 0 }},
{str8_lit_comp("move_up_whole"), {WM_Key_Home, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("move_down_whole"), {WM_Key_End, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("move_left_chunk_select"), {WM_Key_Left, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_right_chunk_select"), {WM_Key_Right, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_up_chunk_select"), {WM_Key_Up, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_down_chunk_select"), {WM_Key_Down, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_up_page_select"), {WM_Key_PageUp, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_down_page_select"), {WM_Key_PageDown, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_up_whole_select"), {WM_Key_Home, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_down_whole_select"), {WM_Key_End, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("move_up_reorder"), {WM_Key_Up, 0 |WM_Modifier_Alt}},
{str8_lit_comp("move_down_reorder"), {WM_Key_Down, 0 |WM_Modifier_Alt}},
{str8_lit_comp("move_home"), {WM_Key_Home, 0 }},
{str8_lit_comp("move_end"), {WM_Key_End, 0 }},
{str8_lit_comp("move_home_select"), {WM_Key_Home, 0 |WM_Modifier_Shift }},
{str8_lit_comp("move_end_select"), {WM_Key_End, 0 |WM_Modifier_Shift }},
{str8_lit_comp("select_all"), {WM_Key_A, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("delete_single"), {WM_Key_Delete, 0 }},
{str8_lit_comp("delete_chunk"), {WM_Key_Delete, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("backspace_single"), {WM_Key_Backspace, 0 }},
{str8_lit_comp("backspace_chunk"), {WM_Key_Backspace, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("copy"), {WM_Key_C, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("copy"), {WM_Key_Insert, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("cut"), {WM_Key_X, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("paste"), {WM_Key_V, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("paste"), {WM_Key_Insert, 0 |WM_Modifier_Shift }},
{str8_lit_comp("insert_text"), {WM_Key_Null, 0 }},
{str8_lit_comp("move_next"), {WM_Key_Tab, 0 }},
{str8_lit_comp("move_prev"), {WM_Key_Tab, 0 |WM_Modifier_Shift }},
{str8_lit_comp("goto_line"), {WM_Key_G, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("goto_address"), {WM_Key_G, 0 |WM_Modifier_Alt}},
{str8_lit_comp("search"), {WM_Key_F, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("search_backwards"), {WM_Key_R, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("find_next"), {WM_Key_F3, 0 }},
{str8_lit_comp("find_prev"), {WM_Key_F3, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("find_selected_thread"), {WM_Key_F4, 0 }},
{str8_lit_comp("goto_name"), {WM_Key_J, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("goto_name_at_cursor"), {WM_Key_F12, 0 }},
{str8_lit_comp("toggle_watch_expr_at_cursor"), {WM_Key_W, 0 |WM_Modifier_Alt}},
{str8_lit_comp("toggle_watch_expr_at_mouse"), {WM_Key_D, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("toggle_watch_pin"), {WM_Key_F9, 0 |WM_Modifier_Ctrl }},
{str8_lit_comp("toggle_breakpoint"), {WM_Key_F9, 0 }},
{str8_lit_comp("add_address_breakpoint"), {WM_Key_F9, 0 |WM_Modifier_Shift }},
{str8_lit_comp("add_function_breakpoint"), {WM_Key_F9, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("attach"), {WM_Key_F6, 0 |WM_Modifier_Shift }},
{str8_lit_comp("open_palette"), {WM_Key_F1, 0 }},
{str8_lit_comp("open_palette"), {WM_Key_P, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift }},
{str8_lit_comp("log_marker"), {WM_Key_M, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
{str8_lit_comp("toggle_dev_menu"), {WM_Key_D, 0 |WM_Modifier_Ctrl |WM_Modifier_Shift |WM_Modifier_Alt}},
};
String8 rd_binding_version_remap_old_name_table[8] =
+4 -4
View File
@@ -56,7 +56,7 @@ RD_RegSlot_ActivateWithSingleClick,
RD_RegSlot_Dir2,
RD_RegSlot_String,
RD_RegSlot_CmdName,
RD_RegSlot_OSEvent,
RD_RegSlot_WMEvent,
RD_RegSlot_COUNT,
} RD_RegSlot;
@@ -99,7 +99,7 @@ RD_CmdKind_Exit,
RD_CmdKind_OpenPalette,
RD_CmdKind_RunCommand,
RD_CmdKind_RunExternalDriverTextCommand,
RD_CmdKind_OSEvent,
RD_CmdKind_WMEvent,
RD_CmdKind_SelectThread,
RD_CmdKind_SelectUnwind,
RD_CmdKind_UpOneFrame,
@@ -498,7 +498,7 @@ B32 activate_with_single_click;
Dir2 dir2;
String8 string;
String8 cmd_name;
OS_Event * os_event;
WM_Event * wm_event;
};
typedef struct RD_Query RD_Query;
@@ -598,7 +598,7 @@ Z(getting_started)\
.dir2 = rd_regs()->dir2,\
.string = rd_regs()->string,\
.cmd_name = rd_regs()->cmd_name,\
.os_event = rd_regs()->os_event,\
.wm_event = rd_regs()->wm_event,\
C_LINKAGE_BEGIN
extern String8 rd_tab_fast_path_view_name_table[25];
+50 -50
View File
@@ -831,68 +831,68 @@ RD_VocabTable:
RD_RegTable:
{
// rjf: ctrl entities
{D_Handle machine Machine }
{D_Handle module Module }
{D_Handle process Process }
{D_Handle thread Thread }
{D_Handle ctrl_entity CtrlEntity }
{D_Handle machine Machine }
{D_Handle module Module }
{D_Handle process Process }
{D_Handle thread Thread }
{D_Handle ctrl_entity CtrlEntity }
// rjf: cfgs
{CFG_ID window Window }
{CFG_ID panel Panel }
{CFG_ID tab Tab }
{CFG_ID view View }
{CFG_ID prev_tab PrevTab }
{CFG_ID dst_panel DstPanel }
{CFG_ID cfg Cfg }
{CFG_IDList cfg_list CfgList }
{CFG_ID window Window }
{CFG_ID panel Panel }
{CFG_ID tab Tab }
{CFG_ID view View }
{CFG_ID prev_tab PrevTab }
{CFG_ID dst_panel DstPanel }
{CFG_ID cfg Cfg }
{CFG_IDList cfg_list CfgList }
// rjf: evaluation space
{E_Space eval_space EvalSpace }
{E_Space eval_space EvalSpace }
// rjf: frame selection
{U64 unwind_count UnwindCount }
{U64 inline_depth InlineDepth }
{U64 unwind_count UnwindCount }
{U64 inline_depth InlineDepth }
// rjf: code / address location info
{String8 file_path FilePath }
{TxtPt cursor Cursor }
{TxtPt mark Mark }
{C_Key text_key TextKey }
{TXT_LangKind lang_kind LangKind }
{D_LineList lines Lines }
{DI_Key dbgi_key DbgiKey }
{U64 vaddr Vaddr }
{U64 voff Voff }
{Rng1U64 vaddr_range VaddrRange }
{Rng1U64 voff_range VoffRange }
{String8 file_path FilePath }
{TxtPt cursor Cursor }
{TxtPt mark Mark }
{C_Key text_key TextKey }
{TXT_LangKind lang_kind LangKind }
{D_LineList lines Lines }
{DI_Key dbgi_key DbgiKey }
{U64 vaddr Vaddr }
{U64 voff Voff }
{Rng1U64 vaddr_range VaddrRange }
{Rng1U64 voff_range VoffRange }
// rjf: evaluation
{String8 expr Expr }
{String8 expr Expr }
// rjf: ui context
{UI_Key ui_key UIKey }
{UI_Key src_ui_key SrcUIKey }
{Vec2F32 off_px OffPx }
{RD_RegSlot reg_slot RegSlot }
{UI_Key ui_key UIKey }
{UI_Key src_ui_key SrcUIKey }
{Vec2F32 off_px OffPx }
{RD_RegSlot reg_slot RegSlot }
// rjf: general parameters
{U32 pid PID }
{B32 force_confirm ForceConfirm }
{B32 force_focus ForceFocus }
{B32 prefer_disasm PreferDisasm }
{B32 no_rich_tooltip NoRichTooltip }
{B32 do_implicit_root DoImplicitRoot}
{B32 do_lister DoLister }
{B32 do_big_rows DoBigRows }
{B32 all_windows AllWindows }
{B32 non_graphical NonGraphical }
{B32 prefer_new_tab PreferNewTab }
{B32 activate_with_single_click ActivateWithSingleClick }
{Dir2 dir2 Dir2 }
{String8 string String }
{String8 cmd_name CmdName }
{`OS_Event *` os_event OSEvent }
{U32 pid PID }
{B32 force_confirm ForceConfirm }
{B32 force_focus ForceFocus }
{B32 prefer_disasm PreferDisasm }
{B32 no_rich_tooltip NoRichTooltip }
{B32 do_implicit_root DoImplicitRoot }
{B32 do_lister DoLister }
{B32 do_big_rows DoBigRows }
{B32 all_windows AllWindows }
{B32 non_graphical NonGraphical }
{B32 prefer_new_tab PreferNewTab }
{B32 activate_with_single_click ActivateWithSingleClick }
{Dir2 dir2 Dir2 }
{String8 string String }
{String8 cmd_name CmdName }
{`WM_Event *` wm_event WMEvent }
}
@enum RD_RegSlot:
@@ -945,7 +945,7 @@ RD_CmdTable: // | | | |
{RunExternalDriverTextCommand 0 0 0 0 "" Null null Nil Null 0 0 0 0 0 1 1 Null "run_ext_driver_text_command" "Run External Driver Text Command" "" "" "" }
//- rjf: os event passthrough
{OSEvent 0 0 0 0 "" Null null Nil Null 0 0 0 0 0 0 0 Null "os_event" "OS Event" "" "" "" }
{WMEvent 0 0 0 0 "" Null null Nil Null 0 0 0 0 0 0 0 Null "wm_event" "OS Event" "" "" "" }
//- rjf: thread/frame selection
{SelectThread 1 1 0 0 "query:threads" Thread null Nil Thread 0 0 0 0 0 1 1 Thread "select_thread" "Select Thread" "Selects a thread." "" "" }
@@ -1437,7 +1437,7 @@ RD_DefaultBindingTable:
@data(`struct {String8 string; CFG_Binding binding;}`) @c_file rd_default_binding_table:
{
@expand(RD_DefaultBindingTable a) ```{str8_lit_comp("$(a.name)"), {OS_Key_$(a.key), 0 $(a.ctrl != 0 -> `|OS_Modifier_Ctrl`) $(a.shift != 0 -> `|OS_Modifier_Shift`) $(a.alt != 0 -> `|OS_Modifier_Alt`)}}```;
@expand(RD_DefaultBindingTable a) ```{str8_lit_comp("$(a.name)"), {WM_Key_$(a.key), 0 $(a.ctrl != 0 -> `|WM_Modifier_Ctrl`) $(a.shift != 0 -> `|WM_Modifier_Shift`) $(a.alt != 0 -> `|WM_Modifier_Alt`)}}```;
}
////////////////////////////////
+146 -146
View File
@@ -2625,7 +2625,7 @@ rd_view_ui(Rng2F32 rect)
// rjf: copy
if(op.flags & UI_TxtOpFlag_Copy && selection_tbl.min.x == selection_tbl.max.x && selection_tbl.min.y == selection_tbl.max.y)
{
os_set_clipboard_text(op.copy);
wm_set_clipboard_text(op.copy);
}
// rjf: any valid *additive* op & autocomplete hint? -> perform autocomplete first, then re-compute op
@@ -2776,7 +2776,7 @@ rd_view_ui(Rng2F32 rect)
}
}
String8 string = str8_list_join(scratch.arena, &strs, 0);
os_set_clipboard_text(string);
wm_set_clipboard_text(string);
}
//////////////////////////
@@ -3221,7 +3221,7 @@ rd_view_ui(Rng2F32 rect)
boundary_start_idx*row_height_px,
next_cell_x_px + ui_top_font_size()*0.4f,
idx*row_height_px);
UI_Rect(rect) UI_HoverCursor(OS_Cursor_LeftRight)
UI_Rect(rect) UI_HoverCursor(WM_Cursor_LeftRight)
{
UI_Box *box = ui_build_box_from_stringf(UI_BoxFlag_Clickable|UI_BoxFlag_Floating, "boundary_%I64x_%I64x", row_hash, cell_id);
UI_Signal sig = ui_signal_from_box(box);
@@ -4381,7 +4381,7 @@ rd_view_ui(Rng2F32 rect)
U64 value = e_value_from_string(loc.expr).u64;
rd_cmd(RD_CmdKind_FindCodeLocation, .vaddr = value);
}
else if(str8_match(cfg->string, str8_lit("target"), 0) && sig.event_flags & OS_Modifier_Ctrl)
else if(str8_match(cfg->string, str8_lit("target"), 0) && sig.event_flags & WM_Modifier_Ctrl)
{
rd_cmd(RD_CmdKind_EnableCfg, .cfg = cfg->id);
}
@@ -4937,7 +4937,7 @@ rd_window_state_from_cfg(CFG_Node *cfg)
B32 has_pos = 0;
Vec2F32 pos = {0};
Vec2F32 size = {0};
OS_Monitor preferred_monitor = {0};
WM_Monitor preferred_monitor = {0};
{
CFG_Node *pos_cfg = cfg_node_child_from_string(window_cfg, str8_lit("pos"));
has_pos = (pos_cfg != &cfg_nil_node);
@@ -4947,10 +4947,10 @@ rd_window_state_from_cfg(CFG_Node *cfg)
pos.y = (F32)f64_from_str8(pos_cfg->first->next->string);
size.x = (F32)f64_from_str8(size_cfg->first->string);
size.y = (F32)f64_from_str8(size_cfg->first->next->string);
OS_MonitorArray monitors = os_push_monitors_array(scratch.arena);
WM_MonitorArray monitors = wm_push_monitors_array(scratch.arena);
for EachIndex(idx, monitors.count)
{
String8 monitor_name = os_name_from_monitor(scratch.arena, monitors.v[idx]);
String8 monitor_name = wm_name_from_monitor(scratch.arena, monitors.v[idx]);
if(str8_match(monitor_name, monitor_cfg->first->string, StringMatchFlag_CaseInsensitive))
{
preferred_monitor = monitors.v[idx];
@@ -4976,7 +4976,7 @@ rd_window_state_from_cfg(CFG_Node *cfg)
ws->arena = arena_alloc();
{
String8 title = rd_push_window_title(scratch.arena);
ws->os = os_window_open(r2f32p(pos.x, pos.y, pos.x+size.x, pos.y+size.y), (!has_pos*OS_WindowFlag_UseDefaultPosition)|OS_WindowFlag_CustomBorder, title);
ws->os = wm_window_open(r2f32p(pos.x, pos.y, pos.x+size.x, pos.y+size.y), (!has_pos*WM_WindowFlag_UseDefaultPosition)|WM_WindowFlag_CustomBorder, title);
}
ws->r = r_window_equip(ws->os);
ws->ui = ui_state_alloc();
@@ -4984,19 +4984,19 @@ rd_window_state_from_cfg(CFG_Node *cfg)
ws->query_arena = arena_alloc();
ws->hover_eval_arena = arena_alloc();
ws->autocomp_arena = arena_alloc();
ws->last_dpi = os_dpi_from_window(ws->os);
OS_Monitor zero_monitor = {0};
if(!os_monitor_match(zero_monitor, preferred_monitor))
ws->last_dpi = wm_dpi_from_window(ws->os);
WM_Monitor zero_monitor = {0};
if(!wm_monitor_match(zero_monitor, preferred_monitor))
{
os_window_set_monitor(ws->os, preferred_monitor);
wm_window_set_monitor(ws->os, preferred_monitor);
}
if(cfg_node_child_from_string(window_cfg, str8_lit("fullscreen")) != &cfg_nil_node)
{
os_window_set_fullscreen(ws->os, 1);
wm_window_set_fullscreen(ws->os, 1);
}
if(cfg_node_child_from_string(window_cfg, str8_lit("maximized")) != &cfg_nil_node)
{
os_window_set_maximized(ws->os, 1);
wm_window_set_maximized(ws->os, 1);
}
// rjf: hook up window links
@@ -5021,7 +5021,7 @@ rd_window_state_from_cfg(CFG_Node *cfg)
}
internal RD_WindowState *
rd_window_state_from_os_handle(OS_Window os)
rd_window_state_from_os_handle(WM_Window os)
{
RD_WindowState *ws = &rd_nil_window_state;
{
@@ -5029,7 +5029,7 @@ rd_window_state_from_os_handle(OS_Window os)
w != &rd_nil_window_state;
w = w->order_next)
{
if(os_window_match(w->os, os))
if(wm_window_match(w->os, os))
{
ws = w;
break;
@@ -5055,7 +5055,7 @@ rd_window_frame(void)
CFG_Node *window = cfg_node_from_id(rd_regs()->window);
RD_WindowState *ws = rd_window_state_from_cfg(cfg_node_from_id(rd_regs()->window));
CFG_PanelTree panel_tree = cfg_panel_tree_from_cfg(scratch.arena, window);
B32 window_is_focused = (os_window_is_focused(ws->os) || ws->window_temporarily_focused_ipc);
B32 window_is_focused = (wm_window_is_focused(ws->os) || ws->window_temporarily_focused_ipc);
B32 popup_is_open = (rd_state->popup_active);
B32 query_is_open = (ws->query_is_active);
U64 hover_eval_open_delay_us = 400000;
@@ -5258,9 +5258,9 @@ rd_window_frame(void)
//
{
Temp scratch = scratch_begin(0, 0);
B32 is_fullscreen = os_window_is_fullscreen(ws->os);
B32 is_maximized = os_window_is_maximized(ws->os);
B32 is_minimized = os_window_is_minimized(ws->os);
B32 is_fullscreen = wm_window_is_fullscreen(ws->os);
B32 is_maximized = wm_window_is_maximized(ws->os);
B32 is_minimized = wm_window_is_minimized(ws->os);
if(is_fullscreen)
{
cfg_node_child_from_string_or_alloc(rd_state->cfg, window, str8_lit("fullscreen"));
@@ -5279,7 +5279,7 @@ rd_window_frame(void)
}
//- rjf: DPI changes -> xform font size / window size
F32 dpi = os_dpi_from_window(ws->os);
F32 dpi = wm_dpi_from_window(ws->os);
if(dpi != ws->last_dpi)
{
fnt_reset();
@@ -5292,7 +5292,7 @@ rd_window_frame(void)
}
//- rjf: commit position
Rng2F32 window_rect = os_rect_from_window(ws->os);
Rng2F32 window_rect = wm_rect_from_window(ws->os);
if(!is_fullscreen && !is_maximized && !is_minimized)
{
Vec2F32 pos = window_rect.p0;
@@ -5345,8 +5345,8 @@ rd_window_frame(void)
//- rjf: commit monitor
if(!is_minimized)
{
OS_Monitor monitor = os_monitor_from_window(ws->os);
String8 monitor_name = os_name_from_monitor(scratch.arena, monitor);
WM_Monitor monitor = wm_monitor_from_window(ws->os);
String8 monitor_name = wm_name_from_monitor(scratch.arena, monitor);
CFG_Node *monitor_root = cfg_node_child_from_string_or_alloc(rd_state->cfg, window, str8_lit("monitor"));
if(!str8_match(monitor_root->first->string, monitor_name, 0))
{
@@ -5422,13 +5422,13 @@ rd_window_frame(void)
////////////////////////////
//- rjf: @window_ui_part calculate top-level rectangles/sizes
//
Rng2F32 window_rect = os_client_rect_from_window(ws->os);
Rng2F32 window_rect = wm_client_rect_from_window(ws->os);
Vec2F32 window_rect_dim = dim_2f32(window_rect);
F32 top_bar_dim_px = floor_f32(ui_top_font_size()*3.f);
Rng2F32 top_bar_rect = r2f32p(window_rect.x0, window_rect.y0, window_rect.x0+window_rect_dim.x+1, window_rect.y0+top_bar_dim_px);
Rng2F32 bottom_bar_rect = r2f32p(window_rect.x0, window_rect_dim.y - top_bar_dim_px, window_rect.x0+window_rect_dim.x, window_rect.y0+window_rect_dim.y);
Rng2F32 content_rect = r2f32p(window_rect.x0, top_bar_rect.y1, window_rect.x0+window_rect_dim.x, bottom_bar_rect.y0);
F32 window_edge_px = os_dpi_from_window(ws->os)*0.035f;
F32 window_edge_px = wm_dpi_from_window(ws->os)*0.035f;
content_rect = pad_2f32(content_rect, -window_edge_px);
////////////////////////////
@@ -6436,7 +6436,7 @@ rd_window_frame(void)
if(t->force_inside_window_x || t->force_inside_window_y)
{
B32 axis_mask[] = {t->force_inside_window_x, t->force_inside_window_y};
Rng2F32 window_rect = os_client_rect_from_window(ws->os);
Rng2F32 window_rect = wm_client_rect_from_window(ws->os);
for EachEnumVal(Axis2, axis)
{
if(!axis_mask[axis]) { continue; }
@@ -6497,7 +6497,7 @@ rd_window_frame(void)
for(UI_Event *evt = 0; ui_next_event(&evt);)
{
if(evt->kind == UI_EventKind_Press &&
evt->key == OS_Key_LeftMouseButton)
evt->key == WM_Key_LeftMouseButton)
{
if(contains_2f32(container->rect, evt->pos))
{
@@ -6645,9 +6645,9 @@ rd_window_frame(void)
//
ProfScope("build top bar")
{
os_window_clear_custom_border_data(ws->os);
os_window_push_custom_edges(ws->os, window_edge_px);
os_window_push_custom_title_bar(ws->os, dim_2f32(top_bar_rect).y);
wm_window_clear_custom_border_data(ws->os);
wm_window_push_custom_edges(ws->os, window_edge_px);
wm_window_push_custom_title_bar(ws->os, dim_2f32(top_bar_rect).y);
ui_set_next_flags(UI_BoxFlag_DefaultFocusNav|UI_BoxFlag_DisableFocusOverlay);
UI_Focus((ws->menu_bar_focused && window_is_focused && !ui_any_ctx_menu_is_open()) ? UI_FocusKind_On : UI_FocusKind_Null)
UI_TagF("menu_bar")
@@ -6911,7 +6911,7 @@ rd_window_frame(void)
if(key_map_nodes.first != 0)
{
binding = key_map_nodes.first->v->binding;
binding_str = os_string_from_modifiers_key(scratch.arena, binding.modifiers, binding.key);
binding_str = wm_string_from_modifiers_key(scratch.arena, binding.modifiers, binding.key);
}
UI_TagF(".")
UI_Row
@@ -6945,7 +6945,7 @@ rd_window_frame(void)
UI_Signal sig = ui_button(str8_lit("Submit request, issue, or bug report"));
if(ui_clicked(sig))
{
os_open_in_browser(url);
wm_open_in_browser(url);
}
}
ui_spacer(ui_em(0.5f, 1.f));
@@ -6959,18 +6959,18 @@ rd_window_frame(void)
{
String8 name;
U32 codepoint;
OS_Key key;
WM_Key key;
UI_Key menu_key;
}
items[] =
{
{str8_lit("File"), 'f', OS_Key_F, file_menu_key},
{str8_lit("Window"), 'w', OS_Key_W, window_menu_key},
{str8_lit("Panel"), 'p', OS_Key_P, panel_menu_key},
{str8_lit("Tab"), 'b', OS_Key_V, tab_menu_key},
{str8_lit("Targets"), 't', OS_Key_T, targets_menu_key},
{str8_lit("Control"), 'c', OS_Key_C, ctrl_menu_key},
{str8_lit("Help"), 'h', OS_Key_H, help_menu_key},
{str8_lit("File"), 'f', WM_Key_F, file_menu_key},
{str8_lit("Window"), 'w', WM_Key_W, window_menu_key},
{str8_lit("Panel"), 'p', WM_Key_P, panel_menu_key},
{str8_lit("Tab"), 'b', WM_Key_V, tab_menu_key},
{str8_lit("Targets"), 't', WM_Key_T, targets_menu_key},
{str8_lit("Control"), 'c', WM_Key_C, ctrl_menu_key},
{str8_lit("Help"), 'h', WM_Key_H, help_menu_key},
};
// rjf: determine if one of the menus is already open
@@ -7016,7 +7016,7 @@ rd_window_frame(void)
{
ui_set_next_fastpath_codepoint(items[idx].codepoint);
B32 alt_fastpath_key = 0;
if(rd_setting_b32_from_name(str8_lit("focus_menu_bar_with_alt")) && ui_key_press(OS_Modifier_Alt, items[idx].key))
if(rd_setting_b32_from_name(str8_lit("focus_menu_bar_with_alt")) && ui_key_press(WM_Modifier_Alt, items[idx].key))
{
alt_fastpath_key = 1;
}
@@ -7025,7 +7025,7 @@ rd_window_frame(void)
ui_set_next_flags(UI_BoxFlag_DrawTextFastpathCodepoint);
}
UI_Signal sig = rd_menu_bar_button(items[idx].name);
os_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
wm_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
if(menu_open)
{
if((ui_hovering(sig) && !ui_ctx_menu_is_open(items[idx].menu_key)) || (open_menu_idx_prime == idx && open_menu_idx_prime != open_menu_idx))
@@ -7086,7 +7086,7 @@ rd_window_frame(void)
{
String8 cmd_name = center_button_tasks[idx].cmd_name;
UI_Signal sig = ui_button(rd_icon_kind_text_table[rd_icon_kind_from_code_name(cmd_name)]);
os_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
wm_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
if(ui_hovering(sig))
{
RD_RegsScope(.cmd_name = cmd_name, .ui_key = sig.box->key) rd_set_hover_regs(RD_RegSlot_CmdName);
@@ -7119,7 +7119,7 @@ rd_window_frame(void)
UI_BoxFlag_DrawHotEffects|
UI_BoxFlag_DrawActiveEffects,
"###loaded_user_button");
os_window_push_custom_title_bar_client_area(ws->os, user_box->rect);
wm_window_push_custom_title_bar_client_area(ws->os, user_box->rect);
UI_Parent(user_box) UI_PrefWidth(ui_text_dim(10, 0)) UI_TextAlignment(UI_TextAlign_Center)
{
String8 user_path = rd_state->user_path;
@@ -7153,7 +7153,7 @@ rd_window_frame(void)
UI_BoxFlag_DrawHotEffects|
UI_BoxFlag_DrawActiveEffects,
"###loaded_project_button");
os_window_push_custom_title_bar_client_area(ws->os, prof_box->rect);
wm_window_push_custom_title_bar_client_area(ws->os, prof_box->rect);
UI_Parent(prof_box) UI_PrefWidth(ui_text_dim(10, 0)) UI_TextAlignment(UI_TextAlign_Center) UI_Padding(ui_em(0.5f, 1.f))
{
CFG_Node *root = cfg_node_root();
@@ -7207,7 +7207,7 @@ rd_window_frame(void)
UI_FontSize(ui_top_font_size()*0.75f)
{
min_sig = rd_icon_buttonf(RD_IconKind_WindowMinimize, 0, "##minimize");
max_sig = rd_icon_buttonf(os_window_is_maximized(ws->os) ? RD_IconKind_WindowRestore : RD_IconKind_Window, 0, "##maximize");
max_sig = rd_icon_buttonf(wm_window_is_maximized(ws->os) ? RD_IconKind_WindowRestore : RD_IconKind_Window, 0, "##maximize");
}
UI_PrefWidth(ui_px(button_dim, 1.f))
UI_TagF("bad_pop")
@@ -7216,11 +7216,11 @@ rd_window_frame(void)
}
if(ui_clicked(min_sig))
{
os_window_set_minimized(ws->os, 1);
wm_window_set_minimized(ws->os, 1);
}
if(ui_clicked(max_sig))
{
os_window_set_maximized(ws->os, !os_window_is_maximized(ws->os));
wm_window_set_maximized(ws->os, !wm_window_is_maximized(ws->os));
}
if(ui_clicked(cls_sig))
{
@@ -7234,9 +7234,9 @@ rd_window_frame(void)
rd_cmd(RD_CmdKind_Exit);
}
}
os_window_push_custom_title_bar_client_area(ws->os, min_sig.box->rect);
os_window_push_custom_title_bar_client_area(ws->os, max_sig.box->rect);
os_window_push_custom_title_bar_client_area(ws->os, pad_2f32(cls_sig.box->rect, 2.f));
wm_window_push_custom_title_bar_client_area(ws->os, min_sig.box->rect);
wm_window_push_custom_title_bar_client_area(ws->os, max_sig.box->rect);
wm_window_push_custom_title_bar_client_area(ws->os, pad_2f32(cls_sig.box->rect, 2.f));
}
}
}
@@ -7629,7 +7629,7 @@ rd_window_frame(void)
UI_Rect(boundary_rect)
{
ui_set_next_hover_cursor(split_axis == Axis2_X ? OS_Cursor_LeftRight : OS_Cursor_UpDown);
ui_set_next_hover_cursor(split_axis == Axis2_X ? WM_Cursor_LeftRight : WM_Cursor_UpDown);
UI_Box *box = ui_build_box_from_stringf(UI_BoxFlag_Clickable, "###%p_%p", min_child->cfg, max_child->cfg);
UI_Signal sig = ui_signal_from_box(box);
if(ui_double_clicked(sig))
@@ -8569,7 +8569,7 @@ rd_window_frame(void)
//
for(UI_Event *evt = 0; ui_next_event(&evt);)
{
if(evt->kind == UI_EventKind_Scroll && evt->modifiers == OS_Modifier_Ctrl)
if(evt->kind == UI_EventKind_Scroll && evt->modifiers == WM_Modifier_Ctrl)
{
ui_eat_event(evt);
if(evt->delta_2f32.y < 0)
@@ -8614,7 +8614,7 @@ rd_window_frame(void)
{
Temp scratch = scratch_begin(0, 0);
F32 box_squish_epsilon = 0.001f;
Rng2F32 window_rect = os_client_rect_from_window(ws->os);
Rng2F32 window_rect = wm_client_rect_from_window(ws->os);
//- rjf: unpack settings
F32 rounded_corner_amount = rd_setting_f32_from_name(str8_lit("rounded_corner_amount"));
@@ -8634,7 +8634,7 @@ rd_window_frame(void)
U64 heatmap_bucket_count = 0;
if(DEV_draw_ui_box_heatmap)
{
Rng2F32 rect = os_client_rect_from_window(ws->os);
Rng2F32 rect = wm_client_rect_from_window(ws->os);
Vec2F32 size = dim_2f32(rect);
Vec2S32 buckets_dim = {(S32)(size.x/heatmap_bucket_size), (S32)(size.y/heatmap_bucket_size)};
heatmap_bucket_pitch = buckets_dim.x;
@@ -8644,12 +8644,12 @@ rd_window_frame(void)
//- rjf: draw background color
{
dr_rect(os_client_rect_from_window(ws->os), base_background_color, 0, 0, 0);
dr_rect(wm_client_rect_from_window(ws->os), base_background_color, 0, 0, 0);
}
//- rjf: draw window border
{
dr_rect(os_client_rect_from_window(ws->os), base_border_color, 0, 1.f, border_softness*0.5f);
dr_rect(wm_client_rect_from_window(ws->os), base_border_color, 0, 1.f, border_softness*0.5f);
}
//- rjf: recurse & draw
@@ -9117,7 +9117,7 @@ rd_window_frame(void)
{
Vec4F32 color = ui_color_from_name(str8_lit("text"));
color.w *= ws->error_t;
Rng2F32 rect = os_client_rect_from_window(ws->os);
Rng2F32 rect = wm_client_rect_from_window(ws->os);
dr_rect(pad_2f32(rect, 24.f), color, 0, 16.f, 12.f);
dr_rect(rect, v4f32(color.x, color.y, color.z, color.w*0.025f), 0, 0, 0);
}
@@ -9126,7 +9126,7 @@ rd_window_frame(void)
if(rd_state->bind_change_active) UI_TagF("pop")
{
Vec4F32 color = ui_color_from_name(str8_lit("background"));
Rng2F32 rect = os_client_rect_from_window(ws->os);
Rng2F32 rect = wm_client_rect_from_window(ws->os);
dr_rect(pad_2f32(rect, 24.f), color, 0, 16.f, 12.f);
dr_rect(rect, v4f32(color.x, color.y, color.z, color.w*0.025f), 0, 0, 0);
}
@@ -9138,7 +9138,7 @@ rd_window_frame(void)
//- rjf: @window_frame_part update per-window frame counters/info
//
ws->frames_alive += 1;
ws->last_window_rect = os_client_rect_from_window(ws->os);
ws->last_window_rect = wm_client_rect_from_window(ws->os);
ProfEnd();
scratch_end(scratch);
@@ -10707,7 +10707,7 @@ rd_frame(void)
B32 any_window_is_focused = 0;
for(RD_WindowState *w = rd_state->first_window_state; w != &rd_nil_window_state; w = w->order_next)
{
if(os_window_is_focused(w->os))
if(wm_window_is_focused(w->os))
{
any_window_is_focused = 1;
break;
@@ -10757,10 +10757,10 @@ rd_frame(void)
//////////////////////////////
//- rjf: get events from the OS
//
OS_EventList events = {0};
WM_EventList events = {0};
if(rd_state->frame_depth == 1)
{
events = os_get_events(scratch.arena, rd_state->num_frames_requested == 0 && !DEV_always_refresh);
events = wm_get_events(scratch.arena, rd_state->num_frames_requested == 0 && !DEV_always_refresh);
}
//////////////////////////////
@@ -10794,7 +10794,7 @@ rd_frame(void)
//
// TODO(rjf): maximize target, given all windows and their monitors
//
F32 target_hz = os_get_gfx_info()->default_refresh_rate;
F32 target_hz = wm_get_system_info()->default_refresh_rate;
if(rd_state->frame_index > 32)
{
F32 possible_alternate_hz_targets[] = {target_hz, 60.f, 75.f, 120.f, 144.f, 165.f, 240.f, 360.f};
@@ -10847,30 +10847,30 @@ rd_frame(void)
//
if(!rd_state->popup_active && rd_state->bind_change_active)
{
if(os_key_press(&events, os_window_zero(), 0, OS_Key_Esc))
if(wm_key_press(&events, wm_window_zero(), 0, WM_Key_Esc))
{
rd_request_frame();
rd_state->bind_change_active = 0;
}
if(os_key_press(&events, os_window_zero(), 0, OS_Key_Delete))
if(wm_key_press(&events, wm_window_zero(), 0, WM_Key_Delete))
{
rd_request_frame();
cfg_node_release(rd_state->cfg, cfg_node_from_id(rd_state->bind_change_binding_id));
rd_state->bind_change_active = 0;
}
for(OS_Event *event = events.first, *next = 0; event != 0; event = next)
for(WM_Event *event = events.first, *next = 0; event != 0; event = next)
{
if(event->kind == OS_EventKind_Press &&
event->key != OS_Key_Esc &&
event->key != OS_Key_Return &&
event->key != OS_Key_Backspace &&
event->key != OS_Key_Delete &&
event->key != OS_Key_LeftMouseButton &&
event->key != OS_Key_RightMouseButton &&
event->key != OS_Key_MiddleMouseButton &&
event->key != OS_Key_Ctrl &&
event->key != OS_Key_Alt &&
event->key != OS_Key_Shift)
if(event->kind == WM_EventKind_Press &&
event->key != WM_Key_Esc &&
event->key != WM_Key_Return &&
event->key != WM_Key_Backspace &&
event->key != WM_Key_Delete &&
event->key != WM_Key_LeftMouseButton &&
event->key != WM_Key_RightMouseButton &&
event->key != WM_Key_MiddleMouseButton &&
event->key != WM_Key_Ctrl &&
event->key != WM_Key_Alt &&
event->key != WM_Key_Shift)
{
rd_state->bind_change_active = 0;
CFG_Node *binding = cfg_node_from_id(rd_state->bind_change_binding_id);
@@ -10882,13 +10882,13 @@ rd_frame(void)
}
cfg_node_release_all_children(rd_state->cfg, binding);
cfg_node_new(rd_state->cfg, binding, rd_state->bind_change_cmd_name);
cfg_node_new(rd_state->cfg, binding, os_g_key_cfg_string_table[event->key]);
if(event->modifiers & OS_Modifier_Ctrl) { cfg_node_new(rd_state->cfg, binding, str8_lit("ctrl")); }
if(event->modifiers & OS_Modifier_Shift) { cfg_node_new(rd_state->cfg, binding, str8_lit("shift")); }
if(event->modifiers & OS_Modifier_Alt) { cfg_node_new(rd_state->cfg, binding, str8_lit("alt")); }
U32 codepoint = os_codepoint_from_modifiers_and_key(event->modifiers, event->key);
os_text(&events, event->window, codepoint);
os_eat_event(&events, event);
cfg_node_new(rd_state->cfg, binding, wm_key_cfg_name_table[event->key]);
if(event->modifiers & WM_Modifier_Ctrl) { cfg_node_new(rd_state->cfg, binding, str8_lit("ctrl")); }
if(event->modifiers & WM_Modifier_Shift) { cfg_node_new(rd_state->cfg, binding, str8_lit("shift")); }
if(event->modifiers & WM_Modifier_Alt) { cfg_node_new(rd_state->cfg, binding, str8_lit("alt")); }
U32 codepoint = wm_codepoint_from_modifiers_and_key(event->modifiers, event->key);
wm_text(&events, event->window, codepoint);
wm_eat_event(&events, event);
rd_request_frame();
break;
}
@@ -10928,7 +10928,7 @@ rd_frame(void)
//
ProfScope("consume events")
{
for(OS_Event *event = events.first, *next = 0;
for(WM_Event *event = events.first, *next = 0;
event != 0;
event = next)
RD_RegsScope()
@@ -10948,13 +10948,13 @@ rd_frame(void)
B32 take = 0;
//- rjf: try drag/drop drop-kickoff
if(rd_drag_is_active() && event->kind == OS_EventKind_Release && event->key == OS_Key_LeftMouseButton)
if(rd_drag_is_active() && event->kind == WM_EventKind_Release && event->key == WM_Key_LeftMouseButton)
{
rd_state->drag_drop_state = RD_DragDropState_Dropping;
}
//- rjf: try window close
if(!take && event->kind == OS_EventKind_WindowClose && ws != 0)
if(!take && event->kind == WM_EventKind_WindowClose && ws != 0)
{
take = 1;
rd_cmd(RD_CmdKind_Exit);
@@ -10963,7 +10963,7 @@ rd_frame(void)
//- rjf: try menu bar operations
if(rd_state->alt_menu_bar_enabled)
{
if(!take && event->kind == OS_EventKind_Press && event->key == OS_Key_Alt && event->modifiers == 0 && event->is_repeat == 0)
if(!take && event->kind == WM_EventKind_Press && event->key == WM_Key_Alt && event->modifiers == 0 && event->is_repeat == 0)
{
take = 1;
rd_request_frame();
@@ -10971,26 +10971,26 @@ rd_frame(void)
ws->menu_bar_key_held = 1;
ws->menu_bar_focus_press_started = 1;
}
if(!take && event->kind == OS_EventKind_Release && event->key == OS_Key_Alt && event->modifiers == 0 && event->is_repeat == 0)
if(!take && event->kind == WM_EventKind_Release && event->key == WM_Key_Alt && event->modifiers == 0 && event->is_repeat == 0)
{
take = 1;
rd_request_frame();
ws->menu_bar_key_held = 0;
}
if(ws->menu_bar_focused && event->kind == OS_EventKind_Press && event->key == OS_Key_Alt && event->modifiers == 0 && event->is_repeat == 0)
if(ws->menu_bar_focused && event->kind == WM_EventKind_Press && event->key == WM_Key_Alt && event->modifiers == 0 && event->is_repeat == 0)
{
take = 1;
rd_request_frame();
ws->menu_bar_focused = 0;
}
else if(ws->menu_bar_focus_press_started && !ws->menu_bar_focused && event->kind == OS_EventKind_Release && event->modifiers == 0 && event->key == OS_Key_Alt && event->is_repeat == 0)
else if(ws->menu_bar_focus_press_started && !ws->menu_bar_focused && event->kind == WM_EventKind_Release && event->modifiers == 0 && event->key == WM_Key_Alt && event->is_repeat == 0)
{
take = 1;
rd_request_frame();
ws->menu_bar_focused = !ws->menu_bar_focused_on_press;
ws->menu_bar_focus_press_started = 0;
}
else if(event->kind == OS_EventKind_Press && event->key == OS_Key_Esc && ws->menu_bar_focused && !ui_any_ctx_menu_is_open())
else if(event->kind == WM_EventKind_Press && event->key == WM_Key_Esc && ws->menu_bar_focused && !ui_any_ctx_menu_is_open())
{
take = 1;
rd_request_frame();
@@ -10999,13 +10999,13 @@ rd_frame(void)
}
//- rjf: try hotkey presses
if(!take && event->kind == OS_EventKind_Press)
if(!take && event->kind == WM_EventKind_Press)
{
CFG_Binding binding = {event->key, event->modifiers};
CFG_KeyMapNodePtrList key_map_nodes = cfg_key_map_node_ptr_list_from_binding(scratch.arena, rd_state->key_map, binding);
if(key_map_nodes.first != 0)
{
U32 hit_char = os_codepoint_from_modifiers_and_key(event->modifiers, event->key);
U32 hit_char = wm_codepoint_from_modifiers_and_key(event->modifiers, event->key);
if(hit_char == 0 || allow_text_hotkeys)
{
String8 cmd_name = key_map_nodes.first->v->name;
@@ -11019,17 +11019,17 @@ rd_frame(void)
rd_cmd(RD_CmdKind_RunCommand, .cmd_name = cmd_name);
if(allow_text_hotkeys)
{
os_text(&events, event->window, hit_char);
wm_text(&events, event->window, hit_char);
next = event->next;
}
take = 1;
if(event->modifiers & OS_Modifier_Alt)
if(event->modifiers & WM_Modifier_Alt)
{
ws->menu_bar_focus_press_started = 0;
}
}
}
else if(OS_Key_F1 <= event->key && event->key <= OS_Key_F19)
else if(WM_Key_F1 <= event->key && event->key <= WM_Key_F19)
{
ws->menu_bar_focus_press_started = 0;
}
@@ -11037,14 +11037,14 @@ rd_frame(void)
}
//- rjf: try text events
if(!take && event->kind == OS_EventKind_Text)
if(!take && event->kind == WM_EventKind_Text)
{
String32 insertion32 = str32(&event->character, 1);
String8 insertion8 = str8_from_32(scratch.arena, insertion32);
rd_cmd(RD_CmdKind_InsertText, .string = insertion8);
rd_request_frame();
take = 1;
if(event->modifiers & OS_Modifier_Alt)
if(event->modifiers & WM_Modifier_Alt)
{
ws->menu_bar_focus_press_started = 0;
}
@@ -11054,13 +11054,13 @@ rd_frame(void)
if(!take)
{
take = 1;
rd_cmd(RD_CmdKind_OSEvent, .os_event = event);
rd_cmd(RD_CmdKind_WMEvent, .wm_event = event);
}
//- rjf: take
if(take)
{
os_eat_event(&events, event);
wm_eat_event(&events, event);
}
}
}
@@ -12146,7 +12146,7 @@ rd_frame(void)
// rjf: run -> refocus pre-stop focused window
if(kind == RD_CmdKind_Run)
{
os_focus_external_window(rd_state->prestop_focused_window);
wm_focus_external_window(rd_state->prestop_focused_window);
}
// rjf: run -> no active targets, no processes, but we only have one target? -> just launch it, then select it
@@ -12278,7 +12278,7 @@ rd_frame(void)
{
current_path_string = path_normalized_from_string(scratch.arena, get_current_path(scratch.arena));
}
String8 file_path = os_graphical_pick_file(scratch.arena, current_path_string);
String8 file_path = wm_graphical_pick_file(scratch.arena, current_path_string);
file_path = path_normalized_from_string(scratch.arena, file_path);
if(file_path.size != 0)
{
@@ -12418,7 +12418,7 @@ rd_frame(void)
RD_WindowState *ws = rd_window_state_from_cfg(wcfg);
if(ws != &rd_nil_window_state)
{
os_window_set_fullscreen(ws->os, !os_window_is_fullscreen(ws->os));
wm_window_set_fullscreen(ws->os, !wm_window_is_fullscreen(ws->os));
}
}break;
case RD_CmdKind_BringToFront:
@@ -12431,8 +12431,8 @@ rd_frame(void)
}
if(last_focused_ws != &rd_nil_window_state)
{
os_window_set_minimized(last_focused_ws->os, 0);
os_window_focus(last_focused_ws->os);
wm_window_set_minimized(last_focused_ws->os, 0);
wm_window_focus(last_focused_ws->os);
}
}break;
@@ -12468,10 +12468,10 @@ rd_frame(void)
CFG_Binding binding = rd_default_binding_table[idx].binding;
CFG_Node *binding_root = cfg_node_new(rd_state->cfg, keybindings, str8_zero());
cfg_node_new(rd_state->cfg, binding_root, name);
cfg_node_new(rd_state->cfg, binding_root, os_g_key_cfg_string_table[binding.key]);
if(binding.modifiers & OS_Modifier_Ctrl) {cfg_node_newf(rd_state->cfg, binding_root, "ctrl");}
if(binding.modifiers & OS_Modifier_Shift) {cfg_node_newf(rd_state->cfg, binding_root, "shift");}
if(binding.modifiers & OS_Modifier_Alt) {cfg_node_newf(rd_state->cfg, binding_root, "alt");}
cfg_node_new(rd_state->cfg, binding_root, wm_key_cfg_name_table[binding.key]);
if(binding.modifiers & WM_Modifier_Ctrl) {cfg_node_newf(rd_state->cfg, binding_root, "ctrl");}
if(binding.modifiers & WM_Modifier_Shift) {cfg_node_newf(rd_state->cfg, binding_root, "shift");}
if(binding.modifiers & WM_Modifier_Alt) {cfg_node_newf(rd_state->cfg, binding_root, "alt");}
}
}break;
@@ -12583,10 +12583,10 @@ rd_frame(void)
CFG_NodePtrList all_user_windows = cfg_node_child_list_from_string(scratch.arena, file_root, str8_lit("window"));
if(all_user_windows.count == 0)
{
OS_Monitor monitor = os_primary_monitor();
String8 monitor_name = os_name_from_monitor(scratch.arena, monitor);
Vec2F32 monitor_dim = os_dim_from_monitor(monitor);
F32 monitor_dpi = os_dpi_from_monitor(monitor);
WM_Monitor monitor = wm_primary_monitor();
String8 monitor_name = wm_name_from_monitor(scratch.arena, monitor);
Vec2F32 monitor_dim = wm_dim_from_monitor(monitor);
F32 monitor_dpi = wm_dpi_from_monitor(monitor);
Vec2F32 window_dim = v2f32(monitor_dim.x*4/5, monitor_dim.y*4/5);
if(window_dim.x == 0 || window_dim.y == 0)
{
@@ -13546,7 +13546,7 @@ rd_frame(void)
CFG_Node *tab = cfg_node_from_id(rd_regs()->tab);
String8 expr = rd_expr_from_cfg(tab);
String8 full_path = rd_file_path_from_eval_string(scratch.arena, expr);
os_set_clipboard_text(full_path);
wm_set_clipboard_text(full_path);
}break;
case RD_CmdKind_CloseTab:
{
@@ -13720,7 +13720,7 @@ rd_frame(void)
if(rd_regs()->file_path.size != 0)
{
String8 full_path = rd_regs()->file_path;
os_show_in_filesystem_ui(full_path);
wm_show_in_filesystem_ui(full_path);
}break;
//- rjf: source <-> disasm
@@ -15580,34 +15580,34 @@ rd_frame(void)
}break;
//- rjf: os event passthrough
case RD_CmdKind_OSEvent:
case RD_CmdKind_WMEvent:
{
OS_Event *os_event = rd_regs()->os_event;
RD_WindowState *ws = rd_window_state_from_os_handle(os_event->window);
if(os_event != 0 && ws != &rd_nil_window_state)
WM_Event *wm_event = rd_regs()->wm_event;
RD_WindowState *ws = rd_window_state_from_os_handle(wm_event->window);
if(wm_event != 0 && ws != &rd_nil_window_state)
{
UI_Event ui_event = zero_struct;
UI_EventKind kind = UI_EventKind_Null;
{
switch(os_event->kind)
switch(wm_event->kind)
{
default:{}break;
case OS_EventKind_Press: {kind = UI_EventKind_Press;}break;
case OS_EventKind_Release: {kind = UI_EventKind_Release;}break;
case OS_EventKind_MouseMove: {kind = UI_EventKind_MouseMove;}break;
case OS_EventKind_Text: {kind = UI_EventKind_Text;}break;
case OS_EventKind_Scroll: {kind = UI_EventKind_Scroll;}break;
case OS_EventKind_FileDrop: {kind = UI_EventKind_FileDrop;}break;
case WM_EventKind_Press: {kind = UI_EventKind_Press;}break;
case WM_EventKind_Release: {kind = UI_EventKind_Release;}break;
case WM_EventKind_MouseMove: {kind = UI_EventKind_MouseMove;}break;
case WM_EventKind_Text: {kind = UI_EventKind_Text;}break;
case WM_EventKind_Scroll: {kind = UI_EventKind_Scroll;}break;
case WM_EventKind_FileDrop: {kind = UI_EventKind_FileDrop;}break;
}
}
ui_event.kind = kind;
ui_event.key = os_event->key;
ui_event.modifiers = os_event->modifiers;
ui_event.string = os_event->character ? str8_from_32(ui_build_arena(), str32(&os_event->character, 1)) : str8_zero();
ui_event.paths = str8_list_copy(ui_build_arena(), &os_event->strings);
ui_event.pos = os_event->pos;
ui_event.delta_2f32 = os_event->delta;
ui_event.timestamp_us = os_event->timestamp_us;
ui_event.key = wm_event->key;
ui_event.modifiers = wm_event->modifiers;
ui_event.string = wm_event->character ? str8_from_32(ui_build_arena(), str32(&wm_event->character, 1)) : str8_zero();
ui_event.paths = str8_list_copy(ui_build_arena(), &wm_event->strings);
ui_event.pos = wm_event->pos;
ui_event.delta_2f32 = wm_event->delta;
ui_event.timestamp_us = wm_event->timestamp_us;
ui_event_list_push(scratch.arena, &ws->ui_events, &ui_event);
}
}break;
@@ -16138,7 +16138,7 @@ rd_frame(void)
UI_Event evt = zero_struct;
evt.kind = UI_EventKind_Text;
evt.flags = UI_EventFlag_Paste;
evt.string = os_get_clipboard_text(scratch.arena);
evt.string = wm_get_clipboard_text(scratch.arena);
ui_event_list_push(scratch.arena, &ws->ui_events, &evt);
}break;
case RD_CmdKind_InsertText:
@@ -16483,7 +16483,7 @@ rd_frame(void)
B32 any_window_is_focused = 0;
for(RD_WindowState *ws = rd_state->first_window_state; ws != &rd_nil_window_state; ws = ws->order_next)
{
if(os_window_is_focused(ws->os))
if(wm_window_is_focused(ws->os))
{
any_window_is_focused = 1;
break;
@@ -16499,10 +16499,10 @@ rd_frame(void)
}
if(ws != &rd_nil_window_state)
{
rd_state->prestop_focused_window = os_focused_external_window();
os_window_set_minimized(ws->os, 0);
os_window_bring_to_front(ws->os);
os_window_focus(ws->os);
rd_state->prestop_focused_window = wm_focused_external_window();
wm_window_set_minimized(ws->os, 0);
wm_window_bring_to_front(ws->os);
wm_window_focus(ws->os);
}
}
}
@@ -16538,7 +16538,7 @@ rd_frame(void)
{
for(RD_WindowState *ws = rd_state->first_window_state; ws != &rd_nil_window_state; ws = ws->order_next)
{
os_window_set_title(ws->os, window_title);
wm_window_set_title(ws->os, window_title);
}
}
rd_state->last_window_title = str8_copy(rd_frame_arena(), window_title);
@@ -16689,7 +16689,7 @@ rd_frame(void)
{
CFG_Node *window = n->v;
RD_WindowState *w = rd_window_state_from_cfg(window);
B32 window_is_focused = os_window_is_focused(w->os);
B32 window_is_focused = wm_window_is_focused(w->os);
if(window_is_focused)
{
rd_state->last_focused_window = w->cfg_id;
@@ -16720,7 +16720,7 @@ rd_frame(void)
{
ui_state_release(ws->ui);
r_window_unequip(ws->os, ws->r);
os_window_close(ws->os);
wm_window_close(ws->os);
arena_release(ws->drop_completion_arena);
arena_release(ws->query_arena);
arena_release(ws->hover_eval_arena);
@@ -16800,7 +16800,7 @@ rd_frame(void)
{
CFG_Node *window = cfg_node_from_id(n->v);
RD_WindowState *ws = rd_window_state_from_cfg(window);
os_window_first_paint(ws->os);
wm_window_first_paint(ws->os);
}
}
+3 -3
View File
@@ -283,7 +283,7 @@ struct RD_WindowState
// rjf: top-level info & handles
Arena *arena;
OS_Window os;
WM_Window os;
R_Handle r;
UI_State *ui;
F32 last_dpi;
@@ -543,7 +543,7 @@ struct RD_State
String8 bind_change_cmd_name;
// rjf: pre-stop focused window
OS_ExternalWindow prestop_focused_window;
WM_ExtWindow prestop_focused_window;
};
////////////////////////////////
@@ -730,7 +730,7 @@ internal void rd_store_view_paramf(String8 key, char *fmt, ...);
internal String8 rd_push_window_title(Arena *arena);
internal CFG_Node *rd_window_from_cfg(CFG_Node *cfg);
internal RD_WindowState *rd_window_state_from_cfg(CFG_Node *cfg);
internal RD_WindowState *rd_window_state_from_os_handle(OS_Window os);
internal RD_WindowState *rd_window_state_from_os_handle(WM_Window os);
internal void rd_window_frame(void);
////////////////////////////////
+1 -1
View File
@@ -46,7 +46,7 @@ E_TYPE_EXPAND_INFO_FUNCTION_DEF(commands)
CFG_KeyMapNodePtrList bindings = cfg_key_map_node_ptr_list_from_name(scratch.arena, rd_state->key_map, code_name);
for(CFG_KeyMapNodePtr *n = bindings.first; n != 0; n = n->next)
{
String8 binding_text = os_string_from_modifiers_key(scratch.arena, n->v->binding.modifiers, n->v->binding.key);
String8 binding_text = wm_string_from_modifiers_key(scratch.arena, n->v->binding.modifiers, n->v->binding.key);
FuzzyMatchRangeList matches = fuzzy_match_find(scratch.arena, filter, binding_text);
if(matches.count == matches.needle_part_count)
{
+6 -6
View File
@@ -250,7 +250,7 @@
#define DMN_INIT_MANUAL 1
#define D_INIT_MANUAL 1
#define OS_GFX_INIT_MANUAL 1
#define WM_INIT_MANUAL 1
#define FP_INIT_MANUAL 1
#define R_INIT_MANUAL 1
#define FNT_INIT_MANUAL 1
@@ -430,7 +430,7 @@ ipc_signaler_thread__entry_point(void *p)
cond_var_wait(ipc_s2m_ring_cv, ipc_s2m_ring_mutex, max_U64);
}
cond_var_broadcast(ipc_s2m_ring_cv);
os_send_wakeup_event();
wm_send_wakeup_event();
ipc_info->msg_size = 0;
semaphore_drop(ipc_sender2main_lock_semaphore);
}
@@ -443,7 +443,7 @@ ipc_signaler_thread__entry_point(void *p)
internal D_WAKEUP_FUNCTION_DEF(wakeup_hook_ctrl)
{
os_send_wakeup_event();
wm_send_wakeup_event();
}
////////////////////////////////
@@ -544,7 +544,7 @@ entry_point(CmdLine *cmd_line)
{
dmn_init();
d_init();
os_gfx_init();
wm_init();
fp_init();
r_init(cmd_line);
fnt_init();
@@ -621,7 +621,7 @@ entry_point(CmdLine *cmd_line)
RD_WindowState *dst_ws = rd_state->first_window_state;
for(RD_WindowState *ws = dst_ws; ws != &rd_nil_window_state; ws = ws->order_next)
{
if(os_window_is_focused(ws->os))
if(wm_window_is_focused(ws->os))
{
dst_ws = ws;
break;
@@ -810,7 +810,7 @@ entry_point(CmdLine *cmd_line)
//- rjf: help message box
case ExecMode_Help:
{
os_graphical_message(0,
wm_graphical_message(0,
str8_lit("The RAD Debugger - Help"),
str8_lit("The following options may be used when starting the RAD Debugger from the command line:\n\n"
"--user:<path>\n"
+4 -4
View File
@@ -641,7 +641,7 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
}
//- rjf: ctrl+pressed? -> go to name
if(ui_pressed(sig.base) && sig.base.event_flags & OS_Modifier_Ctrl)
if(ui_pressed(sig.base) && sig.base.event_flags & WM_Modifier_Ctrl)
{
ui_kill_action();
rd_cmd(RD_CmdKind_GoToName, .string = txt_string_from_info_data_txt_rng(text_info, text_data, sig.mouse_expr_rng));
@@ -792,7 +792,7 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
{
for(UI_Event *evt = 0; ui_next_event(&evt);)
{
if(evt->kind == UI_EventKind_Scroll && evt->modifiers & OS_Modifier_Ctrl && evt->modifiers & OS_Modifier_Shift)
if(evt->kind == UI_EventKind_Scroll && evt->modifiers & WM_Modifier_Ctrl && evt->modifiers & WM_Modifier_Shift)
{
ui_eat_event(evt);
if(evt->delta_2f32.y < 0)
@@ -2888,7 +2888,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
}
}
String8 data_textified = str8_list_join(scratch.arena, &data_textified_parts, 0);
os_set_clipboard_text(data_textified);
wm_set_clipboard_text(data_textified);
}
good_action = 1;
}
@@ -4089,7 +4089,7 @@ RD_VIEW_UI_FUNCTION_DEF(memory)
{
for(UI_Event *evt = 0; ui_next_event(&evt);)
{
if(evt->kind == UI_EventKind_Scroll && evt->modifiers & OS_Modifier_Ctrl)
if(evt->kind == UI_EventKind_Scroll && evt->modifiers & WM_Modifier_Ctrl)
{
ui_eat_event(evt);
if(evt->delta_2f32.y < 0)
+15 -15
View File
@@ -783,9 +783,9 @@ rd_cmd_binding_buttons(String8 name, String8 filter, B32 add_new)
//- rjf: form binding string
String8 keybinding_str = {0};
{
if(binding.key != OS_Key_Null)
if(binding.key != WM_Key_Null)
{
keybinding_str = os_string_from_modifiers_key(scratch.arena, binding.modifiers, binding.key);
keybinding_str = wm_string_from_modifiers_key(scratch.arena, binding.modifiers, binding.key);
}
else
{
@@ -820,7 +820,7 @@ rd_cmd_binding_buttons(String8 name, String8 filter, B32 add_new)
// rjf: click => toggle activity
if(!rd_state->bind_change_active && ui_clicked(sig))
{
if((binding.key == OS_Key_Esc || binding.key == OS_Key_Delete) && binding.modifiers == 0)
if((binding.key == WM_Key_Esc || binding.key == WM_Key_Delete) && binding.modifiers == 0)
{
log_user_error(str8_lit("Cannot rebind; this command uses a reserved keybinding."));
}
@@ -1262,7 +1262,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
D_Event stop_event = d_ctrl_last_stop_event();
D_Entity *stopper_thread = d_entity_from_handle(&d_user_state->ctrl_entity_store->ctx, stop_event.entity);
B32 is_focused = ui_is_focus_active();
B32 ctrlified = (os_get_modifiers() & OS_Modifier_Ctrl);
B32 ctrlified = (wm_get_modifiers() & WM_Modifier_Ctrl);
Vec4F32 code_line_bgs[] =
{
ui_color_from_name(str8_lit("line_info_0")),
@@ -1406,7 +1406,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
line_num += 1, line_idx += 1)
{
D_EntityList line_ips = params->line_ips[line_idx];
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
ui_set_next_hover_cursor(WM_Cursor_HandPoint);
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)
{
@@ -1455,7 +1455,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
}
// rjf: build thread box
ui_set_next_hover_cursor(OS_Cursor_UpDownLeftRight);
ui_set_next_hover_cursor(WM_Cursor_UpDownLeftRight);
ui_set_next_font(rd_font_from_slot(RD_FontSlot_Icons));
ui_set_next_font_size(params->font_size);
ui_set_next_text_raster_flags(FNT_RasterFlag_Smooth);
@@ -1561,7 +1561,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
D_EntityList line_ips = params->line_ips[line_idx];
CFG_NodePtrList line_bps = params->line_bps[line_idx];
CFG_NodePtrList line_pins = params->line_pins[line_idx];
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
ui_set_next_hover_cursor(WM_Cursor_HandPoint);
ui_set_next_background_color(v4f32(0, 0, 0, 0));
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_Parent(line_margin_box)
@@ -1611,7 +1611,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
}
// rjf: build thread box
ui_set_next_hover_cursor(OS_Cursor_UpDownLeftRight);
ui_set_next_hover_cursor(WM_Cursor_UpDownLeftRight);
ui_set_next_font(rd_font_from_slot(RD_FontSlot_Icons));
ui_set_next_font_size(params->font_size);
ui_set_next_text_raster_flags(FNT_RasterFlag_Smooth);
@@ -1760,7 +1760,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
}
// rjf: shift+click => enable breakpoint
if(ui_clicked(bp_sig) && bp_sig.event_flags & OS_Modifier_Shift)
if(ui_clicked(bp_sig) && bp_sig.event_flags & WM_Modifier_Shift)
{
rd_cmd(bp_is_disabled ? RD_CmdKind_EnableCfg : RD_CmdKind_DisableCfg, .cfg = bp->id);
}
@@ -1914,7 +1914,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
UI_Box *text_container_box = &ui_nil_box;
UI_Parent(top_container_box) UI_Focus(UI_FocusKind_Off)
{
ui_set_next_hover_cursor(ctrlified ? OS_Cursor_HandPoint : OS_Cursor_IBar);
ui_set_next_hover_cursor(ctrlified ? WM_Cursor_HandPoint : WM_Cursor_IBar);
ui_set_next_pref_height(ui_px(params->line_height_px*(dim_1s64(params->line_num_range)+1), 1.f));
text_container_box = ui_build_box_from_string(UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable), str8_lit("text_container"));
}
@@ -3049,7 +3049,7 @@ rd_do_txt_controls(TXT_TextInfo *info, String8 data, U64 line_count_per_page, Tx
if(evt->flags & UI_EventFlag_Copy)
{
String8 text = txt_string_from_info_data_txt_rng(info, data, txt_rng(*cursor, *mark));
os_set_clipboard_text(text);
wm_set_clipboard_text(text);
taken = 1;
}
@@ -3447,7 +3447,7 @@ rd_cell(RD_CellParams *params, String8 string)
//
if(is_focus_active || is_focus_active_disabled)
{
ui_set_next_hover_cursor(OS_Cursor_IBar);
ui_set_next_hover_cursor(WM_Cursor_IBar);
}
UI_Box *box = ui_build_box_from_key(UI_BoxFlag_MouseClickable|
(!!build_lhs_name_desc*UI_BoxFlag_DisableFocusBorder)|
@@ -3807,7 +3807,7 @@ rd_cell(RD_CellParams *params, String8 string)
{
F32 extratoggler_padding_px = floor_f32(ui_top_font_size()*0.35f);
F32 toggler_size_px = ceil_f32(height_px - extratoggler_padding_px*2.f) - 1.f;
ui_set_next_hover_cursor(OS_Cursor_LeftRight);
ui_set_next_hover_cursor(WM_Cursor_LeftRight);
UI_Box *slider_box = ui_build_box_from_stringf(UI_BoxFlag_DrawHotEffects|UI_BoxFlag_DrawBorder|UI_BoxFlag_DrawBackground|UI_BoxFlag_Clickable, "slider");
UI_Parent(slider_box) UI_TagF("pop")
{
@@ -3883,7 +3883,7 @@ rd_cell(RD_CellParams *params, String8 string)
{
if(evt->flags & UI_EventFlag_Copy)
{
os_set_clipboard_text(params->pre_edit_value);
wm_set_clipboard_text(params->pre_edit_value);
}
if(evt->flags & UI_EventFlag_Delete)
{
@@ -4003,7 +4003,7 @@ rd_cell(RD_CellParams *params, String8 string)
// rjf: perform copy
if(op.flags & UI_TxtOpFlag_Copy)
{
os_set_clipboard_text(op.copy);
wm_set_clipboard_text(op.copy);
}
// rjf: commit op's changed cursor & mark to caller-provided state