00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _BLESS_BUFFER_INTERNAL_H
00025 #define _BLESS_BUFFER_INTERNAL_H
00026
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030
00031 #include "segcol.h"
00032 #include "list.h"
00033 #include "buffer_action.h"
00034 #include "buffer.h"
00035
00036
00037
00038
00039 struct buffer_action_entry {
00040 struct list_node ln;
00041 buffer_action_t *action;
00042 };
00043
00044
00045
00046
00047 struct buffer_options {
00048 char *tmp_dir;
00049
00050 size_t undo_limit;
00051 char *undo_limit_str;
00052
00053 char *undo_after_save;
00054 };
00055
00056
00057
00058
00059 struct bless_buffer {
00060 segcol_t *segcol;
00061 struct buffer_options *options;
00062 list_t *undo_list;
00063 list_t *redo_list;
00064 size_t undo_list_size;
00065 size_t redo_list_size;
00066 buffer_action_t *multi_action;
00067 int multi_action_mode;
00068
00069 bless_buffer_event_func_t *event_func;
00070 void *event_user_data;
00071 };
00072
00073 #ifdef __cplusplus
00074 }
00075 #endif
00076
00077 #endif