4coder/4ed_app_models.h

100 lines
1.8 KiB
C
Raw Normal View History

2016-02-01 05:03:42 +00:00
/*
* Mr. 4th Dimention - Allen Webster
*
2016-05-06 15:34:08 +00:00
* 06.05.2016 (dd.mm.yyyy)
2016-02-01 05:03:42 +00:00
*
* Global app level settings definition
*
*/
// TOP
struct App_Settings{
char *init_files[8];
i32 init_files_count;
i32 init_files_max;
2017-01-30 18:41:08 +00:00
2016-02-01 05:03:42 +00:00
i32 initial_line;
b32 lctrl_lalt_is_altgr;
2016-03-21 22:27:27 +00:00
2017-01-30 18:41:08 +00:00
char *custom_font_file;
char *custom_font_name;
i32 custom_font_size;
i32 custom_arg_start;
i32 custom_arg_end;
2016-02-01 05:03:42 +00:00
};
global_const App_Settings null_app_settings = {0};
2016-02-01 05:03:42 +00:00
2016-06-07 16:26:11 +00:00
struct Debug_Input_Event{
Key_Code key;
2016-06-07 16:26:11 +00:00
char consumer[32];
2016-06-07 16:26:11 +00:00
b8 is_hold;
b8 is_ctrl;
b8 is_alt;
b8 is_shift;
};
struct Debug_Data{
Debug_Input_Event input_events[16];
i32 this_frame_count;
2016-06-07 16:26:11 +00:00
};
2016-03-07 05:13:20 +00:00
struct Models{
Mem_Options mem;
App_Settings settings;
2017-03-11 18:53:48 +00:00
Font_ID global_font_id;
2017-03-11 18:35:12 +00:00
Command_Map map_top;
Command_Map map_file;
Command_Map map_ui;
Command_Map *user_maps;
i32 *map_id_table;
i32 user_map_count;
Command_Binding prev_command;
Coroutine *command_coroutine;
u32 command_coroutine_flags[2];
2016-03-07 05:13:20 +00:00
Hook_Function *hooks[hook_type_count];
Application_Links app_links;
2016-09-09 13:04:51 +00:00
Custom_API config_api;
Open_File_Hook_Function *hook_open_file;
Open_File_Hook_Function *hook_new_file;
Open_File_Hook_Function *hook_save_file;
2016-09-09 13:04:51 +00:00
Command_Caller_Hook_Function *command_caller;
Input_Filter_Function *input_filter;
Scroll_Rule_Function *scroll_rule;
Style_Library styles;
u32 *palette;
Editing_Layout layout;
Working_Set working_set;
2016-06-10 03:20:45 +00:00
struct Live_Views *live_set;
2016-03-20 21:51:58 +00:00
Editing_File *message_buffer;
2016-06-29 17:45:26 +00:00
Editing_File *scratch_buffer;
Hot_Directory hot_directory;
Panel *prev_mouse_panel;
2016-05-29 21:34:52 +00:00
b32 keep_playing;
2016-06-07 16:26:11 +00:00
Debug_Data debug;
Key_Code user_up_key;
Key_Code user_down_key;
};
2016-02-01 05:03:42 +00:00
// BOTTOM
2016-05-06 15:34:08 +00:00