4coder/4ed_working_set.h

71 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 Non_File_Table_Entry{
String name;
Buffer_Slot_ID id;
};
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;
u64 time_of_next_edit_finished_signal;
Plat_Handle edit_finished_timer;
b32 do_not_mark_edits;
Table canon_table;
Table name_table;
// TODO(allen): do(update clipboard system to exist fully in the custom layer)
String 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;
};
struct File_Name_Entry{
String name;
Buffer_Slot_ID id;
};
internal void
file_mark_edit_finished(Working_Set *working_set, Editing_File *file);
internal b32
file_unmark_edit_finished(Editing_File *file);
#endif
// BOTTOM