From 28c37150734db84a56865791bceced73306c6ed3 Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Mon, 7 Oct 2019 18:42:23 -0700 Subject: [PATCH] Finished reorganizing everything for the shift into exposing system api right into the custom layer --- 4ed.cpp | 19 +--- 4ed_api_implementation.cpp | 107 +----------------- 4ed_app_models.h | 9 -- 4ed_app_target.cpp | 16 +-- bin/4ed_build.cpp | 2 +- custom/4coder_base_commands.cpp | 9 +- ...tem_command.cpp => 4coder_cli_command.cpp} | 0 custom/{api => }/4coder_custom.cpp | 6 +- custom/{api => }/4coder_default_colors.h | 0 custom/4coder_default_framework.cpp | 16 +-- custom/4coder_default_hooks.cpp | 27 +---- custom/4coder_default_include.cpp | 21 +++- custom/4coder_helper.cpp | 2 +- custom/{api => }/4coder_keycodes.h | 0 custom/4coder_lists.cpp | 2 +- custom/4coder_project_commands.cpp | 2 +- .../4coder_system_allocator.cpp | 0 custom/4coder_system_helpers.cpp | 21 ++++ .../4coder_system_types.h | 14 ++- custom/{api => }/4coder_types.h | 6 +- custom/{api => }/4coder_version.h | 0 custom/api/4coder_custom.h | 20 ---- custom/generated/command_metadata.h | 78 ++++++------- custom/generated/custom_api.cpp | 18 --- custom/generated/custom_api.h | 45 -------- custom/generated/custom_api_master_list.h | 9 -- platform_win32/win32_4ed.cpp | 20 ++-- 27 files changed, 131 insertions(+), 338 deletions(-) rename custom/{4coder_system_command.cpp => 4coder_cli_command.cpp} (100%) rename custom/{api => }/4coder_custom.cpp (64%) rename custom/{api => }/4coder_default_colors.h (100%) rename custom/{api => }/4coder_keycodes.h (100%) rename 4ed_system_allocator.cpp => custom/4coder_system_allocator.cpp (100%) create mode 100644 custom/4coder_system_helpers.cpp rename 4ed_system_types.h => custom/4coder_system_types.h (76%) rename custom/{api => }/4coder_types.h (99%) rename custom/{api => }/4coder_version.h (100%) delete mode 100644 custom/api/4coder_custom.h diff --git a/4ed.cpp b/4ed.cpp index 602e5fb9..960bd729 100644 --- a/4ed.cpp +++ b/4ed.cpp @@ -9,21 +9,6 @@ // TOP -Mutex_Lock::Mutex_Lock(System_Mutex m){ - system_mutex_acquire(m); - this->mutex = m; -} - -Mutex_Lock::~Mutex_Lock(){ - system_mutex_release(this->mutex); -} - -Mutex_Lock::operator System_Mutex(){ - return(this->mutex); -} - -//////////////////////////////// - internal App_Coroutine_State get_state(Application_Links *app){ App_Coroutine_State state = {}; @@ -825,7 +810,9 @@ App_Init_Sig(app_init){ API_VTable_custom custom_vtable = {}; custom_api_fill_vtable(&custom_vtable); - api.init_apis(&custom_vtable); + API_VTable_system system_vtable = {}; + system_api_fill_vtable(&system_vtable); + api.init_apis(&custom_vtable, &system_vtable); // NOTE(allen): coroutines coroutine_system_init(&models->coroutines); diff --git a/4ed_api_implementation.cpp b/4ed_api_implementation.cpp index 838505c4..3a63e088 100644 --- a/4ed_api_implementation.cpp +++ b/4ed_api_implementation.cpp @@ -716,36 +716,6 @@ buffer_set_setting(Application_Links *app, Buffer_ID buffer_id, Buffer_Setting_I } }break; - case BufferSetting_VirtualWhitespace: - { -#if 0 - b32 full_remeasure = false; - if (value){ - if (!file->settings.virtual_white){ - if (!file->settings.tokens_exist){ - file_first_lex_serial(system, models, file); - } - file->settings.virtual_white = true; - full_remeasure = true; - } - } - else{ - if (file->settings.virtual_white){ - file->settings.virtual_white = false; - full_remeasure = true; - } - } - - if (full_remeasure){ - Face *face = font_set_face_from_id(&models->font_set, file->settings.font_id); - file_allocate_character_starts_as_needed(&models->mem.heap, file); - buffer_measure_character_starts(system, &file->state.buffer, file->state.character_starts, 0, file->settings.virtual_white); - file_measure_wraps(system, &models->mem, file, face); - adjust_views_looking_at_file_to_new_cursor(system, models, file); - } -#endif - }break; - case BufferSetting_RecordsHistory: { if (value){ @@ -2587,17 +2557,6 @@ set_hot_directory(Application_Links *app, String_Const_u8 string) return(true); } -api(custom) function File_List -get_file_list(Application_Links *app, Arena *arena, String_Const_u8 directory){ - Models *models = (Models*)app->cmd_context; - String_Const_u8 canonical_directory = system_get_canonical(arena, directory); - File_List list = {}; - if (canonical_directory.str != 0){ - list = system_get_file_list(arena, canonical_directory); - } - return(list); -} - api(custom) function void set_gui_up_down_keys(Application_Links *app, Key_Code up_key, Key_Modifier up_key_modifier, Key_Code down_key, Key_Modifier down_key_modifier) { @@ -2608,43 +2567,6 @@ set_gui_up_down_keys(Application_Links *app, Key_Code up_key, Key_Modifier up_ke models->user_down_key_modifier = down_key_modifier; } -api(custom) function void* -memory_allocate(Application_Links *app, i32 size) -{ - Models *models = (Models*)app->cmd_context; - void *result = system_memory_allocate(size); - return(result); -} - -api(custom) function b32 -memory_set_protection(Application_Links *app, void *ptr, i32 size, Memory_Protect_Flags flags) -{ - Models *models = (Models*)app->cmd_context; - return(system_memory_set_protection(ptr, size, flags)); -} - -api(custom) function void -memory_free(Application_Links *app, void *ptr, i32 size) -{ - Models *models = (Models*)app->cmd_context; - system_memory_free(ptr, size); -} - -api(custom) function String_Const_u8 -push_4ed_path(Application_Links *app, Arena *arena) -{ - Models *models = (Models*)app->cmd_context; - return(system_get_path(arena, SystemPath_Binary)); -} - -// TODO(allen): do(add a "shown but auto-hides on timer" setting for cursor show type) -api(custom) function void -show_mouse_cursor(Application_Links *app, Mouse_Cursor_Show_Type show) -{ - Models *models = (Models*)app->cmd_context; - system_show_mouse_cursor(show); -} - api(custom) function b32 set_edit_finished_hook_repeat_speed(Application_Links *app, u32 milliseconds){ Models *models = (Models*)app->cmd_context; @@ -2652,25 +2574,6 @@ set_edit_finished_hook_repeat_speed(Application_Links *app, u32 milliseconds){ return(true); } -api(custom) function b32 -set_fullscreen(Application_Links *app, b32 full_screen) -{ - Models *models = (Models*)app->cmd_context; - b32 success = system_set_fullscreen(full_screen); - if (!success){ - print_message(app, string_u8_litexpr("ERROR: Failed to go fullscreen.\n")); - } - return(success); -} - -api(custom) function b32 -is_fullscreen(Application_Links *app) -{ - Models *models = (Models*)app->cmd_context; - b32 result = system_is_fullscreen(); - return(result); -} - api(custom) function void send_exit_signal(Application_Links *app) { @@ -2690,14 +2593,6 @@ set_window_title(Application_Links *app, String_Const_u8 title) return(true); } -api(custom) function Microsecond_Time_Stamp -get_microseconds_timestamp(Application_Links *app) -{ - // TODO(allen): do(decrease indirection in API calls) - Models *models = (Models*)app->cmd_context; - return(system_now_time()); -} - api(custom) function Vec2 draw_string_oriented(Application_Links *app, Face_ID font_id, String_Const_u8 str, Vec2 point, int_color color, u32 flags, Vec2 delta) { @@ -2965,7 +2860,7 @@ api(custom) function void open_color_picker(Application_Links *app, Color_Picker *picker) { Models *models = (Models*)app->cmd_context; - if (picker->finished){ + if (picker->finished != 0){ *picker->finished = false; } system_open_color_picker(picker); diff --git a/4ed_app_models.h b/4ed_app_models.h index 0ed2c925..ed2c00ec 100644 --- a/4ed_app_models.h +++ b/4ed_app_models.h @@ -205,15 +205,6 @@ enum{ AppCoroutineRequest_ModifyFace = 2, }; -//////////////////////////////// - -struct Mutex_Lock{ - Mutex_Lock(System_Mutex mutex); - ~Mutex_Lock(); - operator System_Mutex(); - System_Mutex mutex; -}; - #endif // BOTTOM diff --git a/4ed_app_target.cpp b/4ed_app_target.cpp index c5b40408..adfd167b 100644 --- a/4ed_app_target.cpp +++ b/4ed_app_target.cpp @@ -12,19 +12,20 @@ #define REMOVE_OLD_STRING #include "4coder_base_types.h" -#include "api/4coder_version.h" -#include "api/4coder_keycodes.h" -#include "api/4coder_default_colors.h" -#include "api/4coder_types.h" +#include "4coder_version.h" +#include "4coder_keycodes.h" +#include "4coder_default_colors.h" +#include "4coder_types.h" #define STATIC_LINK_API #include "generated/custom_api.h" #include "4coder_table.h" -#include "4ed_font_interface.h" -#include "4ed_system_types.h" +#include "4coder_system_types.h" #define DYNAMIC_LINK_API #include "generated/system_api.h" + +#include "4ed_font_interface.h" #define DYNAMIC_LINK_API #include "generated/graphics_api.h" #define DYNAMIC_LINK_API @@ -36,7 +37,7 @@ #include "4coder_string_match.cpp" #include "4coder_stringf.cpp" #include "4coder_app_links_allocator.cpp" -#include "4ed_system_allocator.cpp" +#include "4coder_system_allocator.cpp" #include "4coder_hash_functions.cpp" #include "4coder_table.cpp" @@ -76,6 +77,7 @@ #define DYNAMIC_LINK_API #include "generated/font_api.cpp" +#include "4coder_system_helpers.cpp" #include "4ed_allocator_models.cpp" #include "4ed_log.cpp" #include "4coder_log.cpp" diff --git a/bin/4ed_build.cpp b/bin/4ed_build.cpp index 40f40790..1798a2b0 100644 --- a/bin/4ed_build.cpp +++ b/bin/4ed_build.cpp @@ -12,7 +12,7 @@ //#define FM_PRINT_COMMANDS #include "4coder_base_types.h" -#include "api/4coder_version.h" +#include "4coder_version.h" #include "4coder_base_types.cpp" #include "4coder_malloc_allocator.cpp" diff --git a/custom/4coder_base_commands.cpp b/custom/4coder_base_commands.cpp index 83c31640..ac4eeaa1 100644 --- a/custom/4coder_base_commands.cpp +++ b/custom/4coder_base_commands.cpp @@ -710,8 +710,8 @@ CUSTOM_DOC("Decrease the size of the face used by the current buffer.") CUSTOM_COMMAND_SIG(mouse_wheel_change_face_size) CUSTOM_DOC("Reads the state of the mouse wheel and uses it to either increase or decrease the face size.") { - static Microsecond_Time_Stamp next_resize_time = 0; - Microsecond_Time_Stamp now = get_microseconds_timestamp(app); + static u64 next_resize_time = 0; + u64 now = system_now_time(); if (now >= next_resize_time){ next_resize_time = now + 50*1000; Mouse_State mouse = get_mouse_state(app); @@ -729,9 +729,8 @@ CUSTOM_DOC("Toggles the current buffer's virtual whitespace status.") { View_ID view = get_active_view(app, AccessProtected); Buffer_ID buffer = view_get_buffer(app, view, AccessProtected); - i32 vwhite = 0; - buffer_get_setting(app, buffer, BufferSetting_VirtualWhitespace, &vwhite); - buffer_set_setting(app, buffer, BufferSetting_VirtualWhitespace, !vwhite); + (void)buffer; + NotImplemented; } CUSTOM_COMMAND_SIG(toggle_show_whitespace) diff --git a/custom/4coder_system_command.cpp b/custom/4coder_cli_command.cpp similarity index 100% rename from custom/4coder_system_command.cpp rename to custom/4coder_cli_command.cpp diff --git a/custom/api/4coder_custom.cpp b/custom/4coder_custom.cpp similarity index 64% rename from custom/api/4coder_custom.cpp rename to custom/4coder_custom.cpp index bebcd20b..8f604f4c 100644 --- a/custom/api/4coder_custom.cpp +++ b/custom/4coder_custom.cpp @@ -4,17 +4,15 @@ // TOP -#define DYNAMIC_LINK_API -#include "generated/custom_api.cpp" - extern "C" b32 get_version(i32 maj, i32 min, i32 patch){ return(maj == MAJOR && min == MINOR && patch == PATCH); } extern "C" void -init_apis(API_VTable_custom *custom_vtable){ +init_apis(API_VTable_custom *custom_vtable, API_VTable_system *system_vtable){ custom_api_read_vtable(custom_vtable); + system_api_read_vtable(system_vtable); } // BOTTOM diff --git a/custom/api/4coder_default_colors.h b/custom/4coder_default_colors.h similarity index 100% rename from custom/api/4coder_default_colors.h rename to custom/4coder_default_colors.h diff --git a/custom/4coder_default_framework.cpp b/custom/4coder_default_framework.cpp index 0aed35d3..c2789de0 100644 --- a/custom/4coder_default_framework.cpp +++ b/custom/4coder_default_framework.cpp @@ -274,34 +274,34 @@ create_or_switch_to_buffer_and_clear_by_name(Application_Links *app, String_Cons //////////////////////////////// -static void -set_mouse_suppression(Application_Links *app, b32 suppress){ +function void +set_mouse_suppression(b32 suppress){ if (suppress){ suppressing_mouse = true; - show_mouse_cursor(app, MouseCursorShow_Never); + system_show_mouse_cursor(MouseCursorShow_Never); } else{ suppressing_mouse = false; - show_mouse_cursor(app, MouseCursorShow_Always); + system_show_mouse_cursor(MouseCursorShow_Always); } } CUSTOM_COMMAND_SIG(suppress_mouse) CUSTOM_DOC("Hides the mouse and causes all mosue input (clicks, position, wheel) to be ignored.") { - set_mouse_suppression(app, true); + set_mouse_suppression(true); } CUSTOM_COMMAND_SIG(allow_mouse) CUSTOM_DOC("Shows the mouse and causes all mouse input to be processed normally.") { - set_mouse_suppression(app, false); + set_mouse_suppression(false); } CUSTOM_COMMAND_SIG(toggle_mouse) CUSTOM_DOC("Toggles the mouse suppression mode, see suppress_mouse and allow_mouse.") { - set_mouse_suppression(app, !suppressing_mouse); + set_mouse_suppression(!suppressing_mouse); } CUSTOM_COMMAND_SIG(set_mode_to_original) @@ -337,7 +337,7 @@ CUSTOM_DOC("In code files matching parentheses pairs are colored with distinguis CUSTOM_COMMAND_SIG(toggle_fullscreen) CUSTOM_DOC("Toggle fullscreen mode on or off. The change(s) do not take effect until the next frame.") { - set_fullscreen(app, !is_fullscreen(app)); + system_set_fullscreen(!system_is_fullscreen()); } //////////////////////////////// diff --git a/custom/4coder_default_hooks.cpp b/custom/4coder_default_hooks.cpp index 6466e534..553d97e9 100644 --- a/custom/4coder_default_hooks.cpp +++ b/custom/4coder_default_hooks.cpp @@ -1016,17 +1016,9 @@ BUFFER_HOOK_SIG(default_file_settings){ buffer_get_setting(app, buffer_id, BufferSetting_MapID, &map_id_query); Assert(map_id_query == default_lister_ui_map); - // TODO(allen): kill all concepts of wrap width as settings -#if 0 - buffer_set_setting(app, buffer_id, BufferSetting_WrapPosition, global_config.default_wrap_width); - buffer_set_setting(app, buffer_id, BufferSetting_MinimumBaseWrapPosition, global_config.default_min_base_width); -#endif buffer_set_setting(app, buffer_id, BufferSetting_MapID, map_id); buffer_get_setting(app, buffer_id, BufferSetting_MapID, &map_id_query); Assert(map_id_query == map_id); -#if 0 - buffer_set_setting(app, buffer_id, BufferSetting_ParserContext, parse_context_id); -#endif // NOTE(allen): Decide buffer settings b32 wrap_lines = true; @@ -1047,19 +1039,6 @@ BUFFER_HOOK_SIG(default_file_settings){ do_full_lex(app, buffer_id); } -#if 0 - // NOTE(allen|a4.0.12): There is a little bit of grossness going on here. - // If we set BufferSetting_Lex to true, it will launch a lexing job. - // If a lexing job is active when we set BufferSetting_VirtualWhitespace, the call can fail. - // Unfortunantely without tokens virtual whitespace doesn't really make sense. - // So for now I have it automatically turning on lexing when virtual whitespace is turned on. - // Cleaning some of that up is a goal for future versions. - buffer_set_setting(app, buffer_id, BufferSetting_LexWithoutStrings, lex_without_strings); - buffer_set_setting(app, buffer_id, BufferSetting_WrapLine, wrap_lines); - buffer_set_setting(app, buffer_id, BufferSetting_VirtualWhitespace, use_virtual_whitespace); - buffer_set_setting(app, buffer_id, BufferSetting_Lex, use_lexer); -#endif - // no meaning for return return(0); } @@ -1073,10 +1052,8 @@ BUFFER_HOOK_SIG(default_new_file){ BUFFER_HOOK_SIG(default_file_save){ b32 is_virtual = false; if (global_config.automatically_indent_text_on_save && - buffer_get_setting(app, buffer_id, BufferSetting_VirtualWhitespace, &is_virtual)){ - if (is_virtual){ - auto_indent_buffer(app, buffer_id, buffer_range(app, buffer_id)); - } + is_virtual){ + auto_indent_buffer(app, buffer_id, buffer_range(app, buffer_id)); } // no meaning for return return(0); diff --git a/custom/4coder_default_include.cpp b/custom/4coder_default_include.cpp index 78c2cc70..bd07b8d1 100644 --- a/custom/4coder_default_include.cpp +++ b/custom/4coder_default_include.cpp @@ -8,7 +8,15 @@ #define FCODER_DEFAULT_INCLUDE_CPP #include "4coder_base_types.h" -#include "api/4coder_custom.h" +#include "4coder_version.h" +#include "4coder_keycodes.h" +#include "4coder_default_colors.h" +#include "4coder_types.h" +#define DYNAMIC_LINK_API +#include "generated/custom_api.h" +#include "4coder_system_types.h" +#define DYNAMIC_LINK_API +#include "generated/system_api.h" #include "generated/command_metadata.h" #include "4coder_base_types.cpp" @@ -38,7 +46,14 @@ #include "4coder_combined_write_commands.h" #include "4coder_log_parser.h" -#include "api/4coder_custom.cpp" +//////////////////////////////// + +#define DYNAMIC_LINK_API +#include "generated/custom_api.cpp" +#define DYNAMIC_LINK_API +#include "generated/system_api.cpp" +#include "4coder_system_helpers.cpp" +#include "4coder_custom.cpp" #include "4coder_log.cpp" #include "4coder_hash_functions.cpp" #include "4coder_table.cpp" @@ -64,7 +79,7 @@ #include "4coder_jump_lister.cpp" #include "4coder_log_parser.cpp" #include "4coder_clipboard.cpp" -#include "4coder_system_command.cpp" +#include "4coder_cli_command.cpp" #include "4coder_build_commands.cpp" #include "4coder_project_commands.cpp" #include "4coder_function_list.cpp" diff --git a/custom/4coder_helper.cpp b/custom/4coder_helper.cpp index f0a84a49..cb5d6693 100644 --- a/custom/4coder_helper.cpp +++ b/custom/4coder_helper.cpp @@ -2052,7 +2052,7 @@ open_file_try_current_path_then_binary_path(Application_Links *app, char *file_n if (file == 0){ Scratch_Block scratch(app); List_String_Const_u8 list = {}; - string_list_push(scratch, &list, push_4ed_path(app, scratch)); + string_list_push(scratch, &list, system_get_path(scratch, SystemPath_Binary)); string_list_push_overlap(scratch, &list, '/', SCu8(file_name)); String_Const_u8 str = string_list_flatten(scratch, list, StringFill_NullTerminate); file = fopen((char*)str.str, "rb"); diff --git a/custom/api/4coder_keycodes.h b/custom/4coder_keycodes.h similarity index 100% rename from custom/api/4coder_keycodes.h rename to custom/4coder_keycodes.h diff --git a/custom/4coder_lists.cpp b/custom/4coder_lists.cpp index ddeb6731..939d4727 100644 --- a/custom/4coder_lists.cpp +++ b/custom/4coder_lists.cpp @@ -534,7 +534,7 @@ generate_hot_directory_file_list(Application_Links *app, Lister *lister){ lister_set_text_field(lister, hot); lister_set_key(lister, string_front_of_path(hot)); - File_List file_list = get_file_list(app, scratch, hot); + File_List file_list = system_get_file_list(scratch, hot); end_temp(temp); File_Info **one_past_last = file_list.infos + file_list.count; diff --git a/custom/4coder_project_commands.cpp b/custom/4coder_project_commands.cpp index 99852250..5b1af420 100644 --- a/custom/4coder_project_commands.cpp +++ b/custom/4coder_project_commands.cpp @@ -91,7 +91,7 @@ open_all_files_in_directory_pattern_match__recursive(Application_Links *app, Project_File_Pattern_Array blacklist, u32 flags){ Scratch_Block scratch(app); - File_List list = get_file_list(app, scratch, path); + File_List list = system_get_file_list(scratch, path); File_Info **info = list.infos; for (u32 i = 0; i < list.count; ++i, ++info){ diff --git a/4ed_system_allocator.cpp b/custom/4coder_system_allocator.cpp similarity index 100% rename from 4ed_system_allocator.cpp rename to custom/4coder_system_allocator.cpp diff --git a/custom/4coder_system_helpers.cpp b/custom/4coder_system_helpers.cpp new file mode 100644 index 00000000..b831617d --- /dev/null +++ b/custom/4coder_system_helpers.cpp @@ -0,0 +1,21 @@ +/* + * 4coder_system_types.h - Implementation of universal (cross platform) helpers + */ + +// TOP + +Mutex_Lock::Mutex_Lock(System_Mutex m){ + system_mutex_acquire(m); + this->mutex = m; +} + +Mutex_Lock::~Mutex_Lock(){ + system_mutex_release(this->mutex); +} + +Mutex_Lock::operator System_Mutex(){ + return(this->mutex); +} + +// BOTTOM + diff --git a/4ed_system_types.h b/custom/4coder_system_types.h similarity index 76% rename from 4ed_system_types.h rename to custom/4coder_system_types.h index b8e88b2a..c605c640 100644 --- a/4ed_system_types.h +++ b/custom/4coder_system_types.h @@ -1,10 +1,5 @@ /* - * Mr. 4th Dimention - Allen Webster - * - * 21.01.2015 - * - * System API types. - * + * 4coder_system_types.h - Types relating to the system api. */ // TOP @@ -36,6 +31,13 @@ enum{ SystemPath_Binary, }; +struct Mutex_Lock{ + Mutex_Lock(System_Mutex mutex); + ~Mutex_Lock(); + operator System_Mutex(); + System_Mutex mutex; +}; + #endif // BOTTOM diff --git a/custom/api/4coder_types.h b/custom/4coder_types.h similarity index 99% rename from custom/api/4coder_types.h rename to custom/4coder_types.h index 8777830a..94d2f113 100644 --- a/custom/api/4coder_types.h +++ b/custom/4coder_types.h @@ -19,7 +19,8 @@ struct Application_Links{ i32 type_coroutine; }; typedef b32 _Get_Version_Function(i32 maj, i32 min, i32 patch); -typedef void _Init_APIs(struct API_VTable_custom *custom_vtable); +typedef void _Init_APIs(struct API_VTable_custom *custom_vtable, + struct API_VTable_system *system_vtable); //////////////////////////////// @@ -106,7 +107,6 @@ ENUM(i32, Buffer_Setting_ID){ BufferSetting_Eol, BufferSetting_Unimportant, BufferSetting_ReadOnly, - BufferSetting_VirtualWhitespace, BufferSetting_RecordsHistory, }; @@ -257,8 +257,6 @@ STRUCT Parser_String_And_Type{ u32 type; }; -TYPEDEF u64 Microsecond_Time_Stamp; - ENUM(u32, File_Attribute_Flag){ FileAttribute_IsDirectory = 1, }; diff --git a/custom/api/4coder_version.h b/custom/4coder_version.h similarity index 100% rename from custom/api/4coder_version.h rename to custom/4coder_version.h diff --git a/custom/api/4coder_custom.h b/custom/api/4coder_custom.h deleted file mode 100644 index 225f0669..00000000 --- a/custom/api/4coder_custom.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -4coder_custom.h -*/ - -// TOP - -#ifndef FCODER_CUSTOM_H -#define FCODER_CUSTOM_H - -#include "api/4coder_version.h" -#include "api/4coder_keycodes.h" -#include "api/4coder_default_colors.h" -#include "api/4coder_types.h" -#define DYNAMIC_LINK_API -#include "generated/custom_api.h" - -#endif - -// BOTTOM - diff --git a/custom/generated/command_metadata.h b/custom/generated/command_metadata.h index 83448666..3ea784d1 100644 --- a/custom/generated/command_metadata.h +++ b/custom/generated/command_metadata.h @@ -327,43 +327,43 @@ static Command_Metadata fcoder_metacmd_table[226] = { { PROC_LINKS(decrease_face_size, 0), "decrease_face_size", 18, "Decrease the size of the face used by the current buffer.", 57, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 699 }, { PROC_LINKS(mouse_wheel_change_face_size, 0), "mouse_wheel_change_face_size", 28, "Reads the state of the mouse wheel and uses it to either increase or decrease the face size.", 92, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 710 }, { PROC_LINKS(toggle_virtual_whitespace, 0), "toggle_virtual_whitespace", 25, "Toggles the current buffer's virtual whitespace status.", 55, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 727 }, -{ PROC_LINKS(toggle_show_whitespace, 0), "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 737 }, -{ PROC_LINKS(toggle_line_numbers, 0), "toggle_line_numbers", 19, "Toggles the left margin line numbers.", 37, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 746 }, -{ PROC_LINKS(eol_dosify, 0), "eol_dosify", 10, "Puts the buffer in DOS line ending mode.", 40, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 752 }, -{ PROC_LINKS(eol_nixify, 0), "eol_nixify", 10, "Puts the buffer in NIX line ending mode.", 40, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 760 }, -{ PROC_LINKS(exit_4coder, 0), "exit_4coder", 11, "Attempts to close 4coder.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 768 }, -{ PROC_LINKS(goto_line, 0), "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 776 }, -{ PROC_LINKS(search, 0), "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 967 }, -{ PROC_LINKS(reverse_search, 0), "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 973 }, -{ PROC_LINKS(search_identifier, 0), "search_identifier", 17, "Begins an incremental search down through the current buffer for the word or token under the cursor.", 100, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 979 }, -{ PROC_LINKS(reverse_search_identifier, 0), "reverse_search_identifier", 25, "Begins an incremental search up through the current buffer for the word or token under the cursor.", 98, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 990 }, -{ PROC_LINKS(replace_in_range, 0), "replace_in_range", 16, "Queries the user for a needle and string. Replaces all occurences of needle with string in the range between cursor and the mark in the active buffer.", 150, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1041 }, -{ PROC_LINKS(replace_in_buffer, 0), "replace_in_buffer", 17, "Queries the user for a needle and string. Replaces all occurences of needle with string in the active buffer.", 109, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1050 }, -{ PROC_LINKS(replace_in_all_buffers, 0), "replace_in_all_buffers", 22, "Queries the user for a needle and string. Replaces all occurences of needle with string in all editable buffers.", 112, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1059 }, -{ PROC_LINKS(query_replace, 0), "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1147 }, -{ PROC_LINKS(query_replace_identifier, 0), "query_replace_identifier", 24, "Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.", 140, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1167 }, -{ PROC_LINKS(query_replace_selection, 0), "query_replace_selection", 23, "Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.", 141, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1183 }, -{ PROC_LINKS(save_all_dirty_buffers, 0), "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1218 }, -{ PROC_LINKS(delete_file_query, 0), "delete_file_query", 17, "Deletes the file of the current buffer if 4coder has the appropriate access rights. Will ask the user for confirmation first.", 125, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1243 }, -{ PROC_LINKS(save_to_query, 0), "save_to_query", 13, "Queries the user for a file name and saves the contents of the current buffer, altering the buffer's name too.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1281 }, -{ PROC_LINKS(rename_file_query, 0), "rename_file_query", 17, "Queries the user for a new name and renames the file of the current buffer, altering the buffer's name too.", 107, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1313 }, -{ PROC_LINKS(make_directory_query, 0), "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1350 }, -{ PROC_LINKS(move_line_up, 0), "move_line_up", 12, "Swaps the line under the cursor with the line above it, and moves the cursor up with it.", 88, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1383 }, -{ PROC_LINKS(move_line_down, 0), "move_line_down", 14, "Swaps the line under the cursor with the line below it, and moves the cursor down with it.", 90, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1389 }, -{ PROC_LINKS(duplicate_line, 0), "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1395 }, -{ PROC_LINKS(delete_line, 0), "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1409 }, -{ PROC_LINKS(open_file_in_quotes, 0), "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1474 }, -{ PROC_LINKS(open_matching_file_cpp, 0), "open_matching_file_cpp", 22, "If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1506 }, -{ PROC_LINKS(view_buffer_other_panel, 0), "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1519 }, -{ PROC_LINKS(swap_buffers_between_panels, 0), "swap_buffers_between_panels", 27, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1531 }, -{ PROC_LINKS(kill_buffer, 0), "kill_buffer", 11, "Kills the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1567 }, -{ PROC_LINKS(save, 0), "save", 4, "Saves the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1575 }, -{ PROC_LINKS(reopen, 0), "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1585 }, -{ PROC_LINKS(undo, 0), "undo", 4, "Advances backwards through the undo history of the current buffer.", 66, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1812 }, -{ PROC_LINKS(redo, 0), "redo", 4, "Advances forwards through the undo history of the current buffer.", 65, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1825 }, -{ PROC_LINKS(undo_all_buffers, 0), "undo_all_buffers", 16, "Advances backward through the undo history in the buffer containing the most recent regular edit.", 97, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1839 }, -{ PROC_LINKS(redo_all_buffers, 0), "redo_all_buffers", 16, "Advances forward through the undo history in the buffer containing the most recent regular edit.", 96, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1910 }, -{ PROC_LINKS(open_in_other, 0), "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2011 }, +{ PROC_LINKS(toggle_show_whitespace, 0), "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 736 }, +{ PROC_LINKS(toggle_line_numbers, 0), "toggle_line_numbers", 19, "Toggles the left margin line numbers.", 37, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 745 }, +{ PROC_LINKS(eol_dosify, 0), "eol_dosify", 10, "Puts the buffer in DOS line ending mode.", 40, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 751 }, +{ PROC_LINKS(eol_nixify, 0), "eol_nixify", 10, "Puts the buffer in NIX line ending mode.", 40, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 759 }, +{ PROC_LINKS(exit_4coder, 0), "exit_4coder", 11, "Attempts to close 4coder.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 767 }, +{ PROC_LINKS(goto_line, 0), "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 775 }, +{ PROC_LINKS(search, 0), "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 966 }, +{ PROC_LINKS(reverse_search, 0), "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 972 }, +{ PROC_LINKS(search_identifier, 0), "search_identifier", 17, "Begins an incremental search down through the current buffer for the word or token under the cursor.", 100, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 978 }, +{ PROC_LINKS(reverse_search_identifier, 0), "reverse_search_identifier", 25, "Begins an incremental search up through the current buffer for the word or token under the cursor.", 98, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 989 }, +{ PROC_LINKS(replace_in_range, 0), "replace_in_range", 16, "Queries the user for a needle and string. Replaces all occurences of needle with string in the range between cursor and the mark in the active buffer.", 150, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1040 }, +{ PROC_LINKS(replace_in_buffer, 0), "replace_in_buffer", 17, "Queries the user for a needle and string. Replaces all occurences of needle with string in the active buffer.", 109, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1049 }, +{ PROC_LINKS(replace_in_all_buffers, 0), "replace_in_all_buffers", 22, "Queries the user for a needle and string. Replaces all occurences of needle with string in all editable buffers.", 112, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1058 }, +{ PROC_LINKS(query_replace, 0), "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1146 }, +{ PROC_LINKS(query_replace_identifier, 0), "query_replace_identifier", 24, "Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.", 140, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1166 }, +{ PROC_LINKS(query_replace_selection, 0), "query_replace_selection", 23, "Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.", 141, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1182 }, +{ PROC_LINKS(save_all_dirty_buffers, 0), "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1217 }, +{ PROC_LINKS(delete_file_query, 0), "delete_file_query", 17, "Deletes the file of the current buffer if 4coder has the appropriate access rights. Will ask the user for confirmation first.", 125, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1242 }, +{ PROC_LINKS(save_to_query, 0), "save_to_query", 13, "Queries the user for a file name and saves the contents of the current buffer, altering the buffer's name too.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1280 }, +{ PROC_LINKS(rename_file_query, 0), "rename_file_query", 17, "Queries the user for a new name and renames the file of the current buffer, altering the buffer's name too.", 107, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1312 }, +{ PROC_LINKS(make_directory_query, 0), "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1349 }, +{ PROC_LINKS(move_line_up, 0), "move_line_up", 12, "Swaps the line under the cursor with the line above it, and moves the cursor up with it.", 88, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1382 }, +{ PROC_LINKS(move_line_down, 0), "move_line_down", 14, "Swaps the line under the cursor with the line below it, and moves the cursor down with it.", 90, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1388 }, +{ PROC_LINKS(duplicate_line, 0), "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1394 }, +{ PROC_LINKS(delete_line, 0), "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1408 }, +{ PROC_LINKS(open_file_in_quotes, 0), "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1473 }, +{ PROC_LINKS(open_matching_file_cpp, 0), "open_matching_file_cpp", 22, "If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1505 }, +{ PROC_LINKS(view_buffer_other_panel, 0), "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1518 }, +{ PROC_LINKS(swap_buffers_between_panels, 0), "swap_buffers_between_panels", 27, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1530 }, +{ PROC_LINKS(kill_buffer, 0), "kill_buffer", 11, "Kills the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1566 }, +{ PROC_LINKS(save, 0), "save", 4, "Saves the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1574 }, +{ PROC_LINKS(reopen, 0), "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1584 }, +{ PROC_LINKS(undo, 0), "undo", 4, "Advances backwards through the undo history of the current buffer.", 66, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1811 }, +{ PROC_LINKS(redo, 0), "redo", 4, "Advances forwards through the undo history of the current buffer.", 65, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1824 }, +{ PROC_LINKS(undo_all_buffers, 0), "undo_all_buffers", 16, "Advances backward through the undo history in the buffer containing the most recent regular edit.", 97, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1838 }, +{ PROC_LINKS(redo_all_buffers, 0), "redo_all_buffers", 16, "Advances forward through the undo history in the buffer containing the most recent regular edit.", 96, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1909 }, +{ PROC_LINKS(open_in_other, 0), "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2010 }, { PROC_LINKS(lister__quit, 0), "lister__quit", 12, "A lister mode command that quits the list without executing any actions.", 72, "w:\\4ed\\code\\custom\\4coder_lists.cpp", 35, 8 }, { PROC_LINKS(lister__activate, 0), "lister__activate", 16, "A lister mode command that activates the list's action on the highlighted item.", 79, "w:\\4ed\\code\\custom\\4coder_lists.cpp", 35, 15 }, { PROC_LINKS(lister__write_character, 0), "lister__write_character", 23, "A lister mode command that dispatches to the lister's write character handler.", 78, "w:\\4ed\\code\\custom\\4coder_lists.cpp", 35, 30 }, @@ -426,8 +426,8 @@ static Command_Metadata fcoder_metacmd_table[226] = { { PROC_LINKS(paste_next, 0), "paste_next", 10, "If the previous command was paste or paste_next, replaces the paste range with the next text down on the clipboard, otherwise operates as the paste command.", 156, "w:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 73 }, { PROC_LINKS(paste_and_indent, 0), "paste_and_indent", 16, "Paste from the top of clipboard and run auto-indent on the newly pasted text.", 77, "w:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 115 }, { PROC_LINKS(paste_next_and_indent, 0), "paste_next_and_indent", 21, "Paste the next item on the clipboard and run auto-indent on the newly pasted text.", 82, "w:\\4ed\\code\\custom\\4coder_clipboard.cpp", 39, 122 }, -{ PROC_LINKS(execute_previous_cli, 0), "execute_previous_cli", 20, "If the command execute_any_cli has already been used, this will execute a CLI reusing the most recent buffer name and command.", 126, "w:\\4ed\\code\\custom\\4coder_system_command.cpp", 44, 7 }, -{ PROC_LINKS(execute_any_cli, 0), "execute_any_cli", 15, "Queries for an output buffer name and system command, runs the system command as a CLI and prints the output to the specified buffer.", 133, "w:\\4ed\\code\\custom\\4coder_system_command.cpp", 44, 22 }, +{ PROC_LINKS(execute_previous_cli, 0), "execute_previous_cli", 20, "If the command execute_any_cli has already been used, this will execute a CLI reusing the most recent buffer name and command.", 126, "w:\\4ed\\code\\custom\\4coder_cli_command.cpp", 41, 7 }, +{ PROC_LINKS(execute_any_cli, 0), "execute_any_cli", 15, "Queries for an output buffer name and system command, runs the system command as a CLI and prints the output to the specified buffer.", 133, "w:\\4ed\\code\\custom\\4coder_cli_command.cpp", 41, 22 }, { PROC_LINKS(build_search, 0), "build_search", 12, "Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*.", 153, "w:\\4ed\\code\\custom\\4coder_build_commands.cpp", 44, 128 }, { PROC_LINKS(build_in_build_panel, 0), "build_in_build_panel", 20, "Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*. Puts the *compilation* buffer in a panel at the footer of the current view.", 230, "w:\\4ed\\code\\custom\\4coder_build_commands.cpp", 44, 163 }, { PROC_LINKS(close_build_panel, 0), "close_build_panel", 17, "If the special build panel is open, closes it.", 46, "w:\\4ed\\code\\custom\\4coder_build_commands.cpp", 44, 178 }, diff --git a/custom/generated/custom_api.cpp b/custom/generated/custom_api.cpp index 67e89b03..0438d4d6 100644 --- a/custom/generated/custom_api.cpp +++ b/custom/generated/custom_api.cpp @@ -149,19 +149,10 @@ vtable->get_theme_colors = get_theme_colors; vtable->finalize_color = finalize_color; vtable->push_hot_directory = push_hot_directory; vtable->set_hot_directory = set_hot_directory; -vtable->get_file_list = get_file_list; vtable->set_gui_up_down_keys = set_gui_up_down_keys; -vtable->memory_allocate = memory_allocate; -vtable->memory_set_protection = memory_set_protection; -vtable->memory_free = memory_free; -vtable->push_4ed_path = push_4ed_path; -vtable->show_mouse_cursor = show_mouse_cursor; vtable->set_edit_finished_hook_repeat_speed = set_edit_finished_hook_repeat_speed; -vtable->set_fullscreen = set_fullscreen; -vtable->is_fullscreen = is_fullscreen; vtable->send_exit_signal = send_exit_signal; vtable->set_window_title = set_window_title; -vtable->get_microseconds_timestamp = get_microseconds_timestamp; vtable->draw_string_oriented = draw_string_oriented; vtable->get_string_advance = get_string_advance; vtable->draw_rectangle = draw_rectangle; @@ -333,19 +324,10 @@ get_theme_colors = vtable->get_theme_colors; finalize_color = vtable->finalize_color; push_hot_directory = vtable->push_hot_directory; set_hot_directory = vtable->set_hot_directory; -get_file_list = vtable->get_file_list; set_gui_up_down_keys = vtable->set_gui_up_down_keys; -memory_allocate = vtable->memory_allocate; -memory_set_protection = vtable->memory_set_protection; -memory_free = vtable->memory_free; -push_4ed_path = vtable->push_4ed_path; -show_mouse_cursor = vtable->show_mouse_cursor; set_edit_finished_hook_repeat_speed = vtable->set_edit_finished_hook_repeat_speed; -set_fullscreen = vtable->set_fullscreen; -is_fullscreen = vtable->is_fullscreen; send_exit_signal = vtable->send_exit_signal; set_window_title = vtable->set_window_title; -get_microseconds_timestamp = vtable->get_microseconds_timestamp; draw_string_oriented = vtable->draw_string_oriented; get_string_advance = vtable->get_string_advance; draw_rectangle = vtable->draw_rectangle; diff --git a/custom/generated/custom_api.h b/custom/generated/custom_api.h index 3d52ec63..ce1c665e 100644 --- a/custom/generated/custom_api.h +++ b/custom/generated/custom_api.h @@ -147,19 +147,10 @@ #define custom_finalize_color_sig() argb_color custom_finalize_color(Application_Links* app, int_color color) #define custom_push_hot_directory_sig() String_Const_u8 custom_push_hot_directory(Application_Links* app, Arena* arena) #define custom_set_hot_directory_sig() b32 custom_set_hot_directory(Application_Links* app, String_Const_u8 string) -#define custom_get_file_list_sig() File_List custom_get_file_list(Application_Links* app, Arena* arena, String_Const_u8 directory) #define custom_set_gui_up_down_keys_sig() void custom_set_gui_up_down_keys(Application_Links* app, Key_Code up_key, Key_Modifier up_key_modifier, Key_Code down_key, Key_Modifier down_key_modifier) -#define custom_memory_allocate_sig() void* custom_memory_allocate(Application_Links* app, i32 size) -#define custom_memory_set_protection_sig() b32 custom_memory_set_protection(Application_Links* app, void* ptr, i32 size, Memory_Protect_Flags flags) -#define custom_memory_free_sig() void custom_memory_free(Application_Links* app, void* ptr, i32 size) -#define custom_push_4ed_path_sig() String_Const_u8 custom_push_4ed_path(Application_Links* app, Arena* arena) -#define custom_show_mouse_cursor_sig() void custom_show_mouse_cursor(Application_Links* app, Mouse_Cursor_Show_Type show) #define custom_set_edit_finished_hook_repeat_speed_sig() b32 custom_set_edit_finished_hook_repeat_speed(Application_Links* app, u32 milliseconds) -#define custom_set_fullscreen_sig() b32 custom_set_fullscreen(Application_Links* app, b32 full_screen) -#define custom_is_fullscreen_sig() b32 custom_is_fullscreen(Application_Links* app) #define custom_send_exit_signal_sig() void custom_send_exit_signal(Application_Links* app) #define custom_set_window_title_sig() b32 custom_set_window_title(Application_Links* app, String_Const_u8 title) -#define custom_get_microseconds_timestamp_sig() Microsecond_Time_Stamp custom_get_microseconds_timestamp(Application_Links* app) #define custom_draw_string_oriented_sig() Vec2 custom_draw_string_oriented(Application_Links* app, Face_ID font_id, String_Const_u8 str, Vec2 point, int_color color, u32 flags, Vec2 delta) #define custom_get_string_advance_sig() f32 custom_get_string_advance(Application_Links* app, Face_ID font_id, String_Const_u8 str) #define custom_draw_rectangle_sig() void custom_draw_rectangle(Application_Links* app, Rect_f32 rect, int_color color) @@ -327,19 +318,10 @@ typedef void custom_get_theme_colors_type(Application_Links* app, Theme_Color* c typedef argb_color custom_finalize_color_type(Application_Links* app, int_color color); typedef String_Const_u8 custom_push_hot_directory_type(Application_Links* app, Arena* arena); typedef b32 custom_set_hot_directory_type(Application_Links* app, String_Const_u8 string); -typedef File_List custom_get_file_list_type(Application_Links* app, Arena* arena, String_Const_u8 directory); typedef void custom_set_gui_up_down_keys_type(Application_Links* app, Key_Code up_key, Key_Modifier up_key_modifier, Key_Code down_key, Key_Modifier down_key_modifier); -typedef void* custom_memory_allocate_type(Application_Links* app, i32 size); -typedef b32 custom_memory_set_protection_type(Application_Links* app, void* ptr, i32 size, Memory_Protect_Flags flags); -typedef void custom_memory_free_type(Application_Links* app, void* ptr, i32 size); -typedef String_Const_u8 custom_push_4ed_path_type(Application_Links* app, Arena* arena); -typedef void custom_show_mouse_cursor_type(Application_Links* app, Mouse_Cursor_Show_Type show); typedef b32 custom_set_edit_finished_hook_repeat_speed_type(Application_Links* app, u32 milliseconds); -typedef b32 custom_set_fullscreen_type(Application_Links* app, b32 full_screen); -typedef b32 custom_is_fullscreen_type(Application_Links* app); typedef void custom_send_exit_signal_type(Application_Links* app); typedef b32 custom_set_window_title_type(Application_Links* app, String_Const_u8 title); -typedef Microsecond_Time_Stamp custom_get_microseconds_timestamp_type(Application_Links* app); typedef Vec2 custom_draw_string_oriented_type(Application_Links* app, Face_ID font_id, String_Const_u8 str, Vec2 point, int_color color, u32 flags, Vec2 delta); typedef f32 custom_get_string_advance_type(Application_Links* app, Face_ID font_id, String_Const_u8 str); typedef void custom_draw_rectangle_type(Application_Links* app, Rect_f32 rect, int_color color); @@ -508,19 +490,10 @@ custom_get_theme_colors_type *get_theme_colors; custom_finalize_color_type *finalize_color; custom_push_hot_directory_type *push_hot_directory; custom_set_hot_directory_type *set_hot_directory; -custom_get_file_list_type *get_file_list; custom_set_gui_up_down_keys_type *set_gui_up_down_keys; -custom_memory_allocate_type *memory_allocate; -custom_memory_set_protection_type *memory_set_protection; -custom_memory_free_type *memory_free; -custom_push_4ed_path_type *push_4ed_path; -custom_show_mouse_cursor_type *show_mouse_cursor; custom_set_edit_finished_hook_repeat_speed_type *set_edit_finished_hook_repeat_speed; -custom_set_fullscreen_type *set_fullscreen; -custom_is_fullscreen_type *is_fullscreen; custom_send_exit_signal_type *send_exit_signal; custom_set_window_title_type *set_window_title; -custom_get_microseconds_timestamp_type *get_microseconds_timestamp; custom_draw_string_oriented_type *draw_string_oriented; custom_get_string_advance_type *get_string_advance; custom_draw_rectangle_type *draw_rectangle; @@ -690,19 +663,10 @@ internal void get_theme_colors(Application_Links* app, Theme_Color* colors, i32 internal argb_color finalize_color(Application_Links* app, int_color color); internal String_Const_u8 push_hot_directory(Application_Links* app, Arena* arena); internal b32 set_hot_directory(Application_Links* app, String_Const_u8 string); -internal File_List get_file_list(Application_Links* app, Arena* arena, String_Const_u8 directory); internal void set_gui_up_down_keys(Application_Links* app, Key_Code up_key, Key_Modifier up_key_modifier, Key_Code down_key, Key_Modifier down_key_modifier); -internal void* memory_allocate(Application_Links* app, i32 size); -internal b32 memory_set_protection(Application_Links* app, void* ptr, i32 size, Memory_Protect_Flags flags); -internal void memory_free(Application_Links* app, void* ptr, i32 size); -internal String_Const_u8 push_4ed_path(Application_Links* app, Arena* arena); -internal void show_mouse_cursor(Application_Links* app, Mouse_Cursor_Show_Type show); internal b32 set_edit_finished_hook_repeat_speed(Application_Links* app, u32 milliseconds); -internal b32 set_fullscreen(Application_Links* app, b32 full_screen); -internal b32 is_fullscreen(Application_Links* app); internal void send_exit_signal(Application_Links* app); internal b32 set_window_title(Application_Links* app, String_Const_u8 title); -internal Microsecond_Time_Stamp get_microseconds_timestamp(Application_Links* app); internal Vec2 draw_string_oriented(Application_Links* app, Face_ID font_id, String_Const_u8 str, Vec2 point, int_color color, u32 flags, Vec2 delta); internal f32 get_string_advance(Application_Links* app, Face_ID font_id, String_Const_u8 str); internal void draw_rectangle(Application_Links* app, Rect_f32 rect, int_color color); @@ -872,19 +836,10 @@ global custom_get_theme_colors_type *get_theme_colors = 0; global custom_finalize_color_type *finalize_color = 0; global custom_push_hot_directory_type *push_hot_directory = 0; global custom_set_hot_directory_type *set_hot_directory = 0; -global custom_get_file_list_type *get_file_list = 0; global custom_set_gui_up_down_keys_type *set_gui_up_down_keys = 0; -global custom_memory_allocate_type *memory_allocate = 0; -global custom_memory_set_protection_type *memory_set_protection = 0; -global custom_memory_free_type *memory_free = 0; -global custom_push_4ed_path_type *push_4ed_path = 0; -global custom_show_mouse_cursor_type *show_mouse_cursor = 0; global custom_set_edit_finished_hook_repeat_speed_type *set_edit_finished_hook_repeat_speed = 0; -global custom_set_fullscreen_type *set_fullscreen = 0; -global custom_is_fullscreen_type *is_fullscreen = 0; global custom_send_exit_signal_type *send_exit_signal = 0; global custom_set_window_title_type *set_window_title = 0; -global custom_get_microseconds_timestamp_type *get_microseconds_timestamp = 0; global custom_draw_string_oriented_type *draw_string_oriented = 0; global custom_get_string_advance_type *get_string_advance = 0; global custom_draw_rectangle_type *draw_rectangle = 0; diff --git a/custom/generated/custom_api_master_list.h b/custom/generated/custom_api_master_list.h index fb2801f8..16f2bdcb 100644 --- a/custom/generated/custom_api_master_list.h +++ b/custom/generated/custom_api_master_list.h @@ -147,19 +147,10 @@ api(custom) function void get_theme_colors(Application_Links* app, Theme_Color* api(custom) function argb_color finalize_color(Application_Links* app, int_color color); api(custom) function String_Const_u8 push_hot_directory(Application_Links* app, Arena* arena); api(custom) function b32 set_hot_directory(Application_Links* app, String_Const_u8 string); -api(custom) function File_List get_file_list(Application_Links* app, Arena* arena, String_Const_u8 directory); api(custom) function void set_gui_up_down_keys(Application_Links* app, Key_Code up_key, Key_Modifier up_key_modifier, Key_Code down_key, Key_Modifier down_key_modifier); -api(custom) function void* memory_allocate(Application_Links* app, i32 size); -api(custom) function b32 memory_set_protection(Application_Links* app, void* ptr, i32 size, Memory_Protect_Flags flags); -api(custom) function void memory_free(Application_Links* app, void* ptr, i32 size); -api(custom) function String_Const_u8 push_4ed_path(Application_Links* app, Arena* arena); -api(custom) function void show_mouse_cursor(Application_Links* app, Mouse_Cursor_Show_Type show); api(custom) function b32 set_edit_finished_hook_repeat_speed(Application_Links* app, u32 milliseconds); -api(custom) function b32 set_fullscreen(Application_Links* app, b32 full_screen); -api(custom) function b32 is_fullscreen(Application_Links* app); api(custom) function void send_exit_signal(Application_Links* app); api(custom) function b32 set_window_title(Application_Links* app, String_Const_u8 title); -api(custom) function Microsecond_Time_Stamp get_microseconds_timestamp(Application_Links* app); api(custom) function Vec2 draw_string_oriented(Application_Links* app, Face_ID font_id, String_Const_u8 str, Vec2 point, int_color color, u32 flags, Vec2 delta); api(custom) function f32 get_string_advance(Application_Links* app, Face_ID font_id, String_Const_u8 str); api(custom) function void draw_rectangle(Application_Links* app, Rect_f32 rect, int_color color); diff --git a/platform_win32/win32_4ed.cpp b/platform_win32/win32_4ed.cpp index 544b5ffb..469f9e58 100644 --- a/platform_win32/win32_4ed.cpp +++ b/platform_win32/win32_4ed.cpp @@ -14,16 +14,17 @@ #include "4coder_base_types.h" #include "4coder_table.h" -#include "api/4coder_version.h" +#include "4coder_version.h" -#include "api/4coder_keycodes.h" -#include "api/4coder_default_colors.h" -#include "api/4coder_types.h" +#include "4coder_keycodes.h" +#include "4coder_default_colors.h" +#include "4coder_types.h" -#include "4ed_font_interface.h" -#include "4ed_system_types.h" +#include "4coder_system_types.h" #define STATIC_LINK_API #include "generated/system_api.h" + +#include "4ed_font_interface.h" #define STATIC_LINK_API #include "generated/graphics_api.h" #define STATIC_LINK_API @@ -106,12 +107,11 @@ struct Win32_Input_Chunk{ #define SLASH '\\' #define DLL "dll" -#include "4ed_font_face.cpp" - -#include "4ed_mem.cpp" #include "4coder_hash_functions.cpp" +#include "4coder_system_allocator.cpp" -#include "4ed_system_allocator.cpp" +#include "4ed_font_face.cpp" +#include "4ed_mem.cpp" #include "4ed_font_set.cpp" ////////////////////////////////