4coder/4ed_working_set.h

64 lines
1.2 KiB
C

/*
* Mr. 4th Dimention - Allen Webster
*
* 24.03.2018
*
* Working_Set data structure
*
*/
// TOP
#if !defined(FRED_WORKING_SET_H)
#define FRED_WORKING_SET_H
struct File_Array{
Editing_File *files;
i32 size;
};
struct Working_Set{
File_Array *file_arrays;
i32 file_count;
i32 file_max;
i16 array_count;
i16 array_max;
Node free_sentinel;
Node used_sentinel;
Node *edit_finished_list_first;
Node *edit_finished_list_last;
i32 edit_finished_count;
u64 time_of_next_edit_finished_signal;
Plat_Handle edit_finished_timer;
b32 do_not_mark_edits;
Table_Data_u64 canon_table;
Table_Data_u64 name_table;
// TODO(allen): do(update clipboard system to exist fully in the custom layer)
String_Const_u8 clipboards[64];
i32 clipboard_size;
i32 clipboard_max_size;
i32 clipboard_current;
i32 clipboard_rolling;
Node *sync_check_iter;
i32 default_display_width;
i32 default_minimum_base_display_width;
};
internal void
file_mark_edit_finished(Working_Set *working_set, Editing_File *file);
internal b32
file_unmark_edit_finished(Working_Set *working_set, Editing_File *file);
#endif
// BOTTOM