comparison src/frame.h @ 422:95016f13131a r21-2-19

Import from CVS: tag r21-2-19
author cvs
date Mon, 13 Aug 2007 11:25:01 +0200
parents 697ef44129c6
children 11054d720c21
comparison
equal deleted inserted replaced
421:fff06e11db74 422:95016f13131a
31 #include "toolbar.h" 31 #include "toolbar.h"
32 #endif 32 #endif
33 33
34 #include "device.h" 34 #include "device.h"
35 #include "glyphs.h" 35 #include "glyphs.h"
36 #include "redisplay.h"
36 37
37 #define FRAME_TYPE_NAME(f) ((f)->framemeths->name) 38 #define FRAME_TYPE_NAME(f) ((f)->framemeths->name)
38 #define FRAME_TYPE(f) ((f)->framemeths->symbol) 39 #define FRAME_TYPE(f) ((f)->framemeths->symbol)
39 40
40 /******** Accessing / calling a frame method *********/ 41 /******** Accessing / calling a frame method *********/
106 /* Size of toolbars as seen by redisplay. This is used to determine 107 /* Size of toolbars as seen by redisplay. This is used to determine
107 whether to re-layout windows by a call to change_frame_size early 108 whether to re-layout windows by a call to change_frame_size early
108 in redisplay_frame. */ 109 in redisplay_frame. */
109 unsigned int current_toolbar_size[4]; 110 unsigned int current_toolbar_size[4];
110 #endif 111 #endif
112
113 /* Dynamic array of display lines for gutters */
114 display_line_dynarr *current_display_lines;
115 display_line_dynarr *desired_display_lines;
111 116
112 /* A structure of auxiliary data specific to the device type. 117 /* A structure of auxiliary data specific to the device type.
113 struct x_frame is used for X window frames; defined in console-x.h */ 118 struct x_frame is used for X window frames; defined in console-x.h */
114 void *frame_data; 119 void *frame_data;
115 120
158 163
159 unsigned int top_toolbar_was_visible :1; 164 unsigned int top_toolbar_was_visible :1;
160 unsigned int bottom_toolbar_was_visible :1; 165 unsigned int bottom_toolbar_was_visible :1;
161 unsigned int left_toolbar_was_visible :1; 166 unsigned int left_toolbar_was_visible :1;
162 unsigned int right_toolbar_was_visible :1; 167 unsigned int right_toolbar_was_visible :1;
168 /* gutter visibility */
169 unsigned int top_gutter_was_visible :1;
170 unsigned int bottom_gutter_was_visible :1;
171 unsigned int left_gutter_was_visible :1;
172 unsigned int right_gutter_was_visible :1;
163 173
164 /* redisplay flags */ 174 /* redisplay flags */
165 unsigned int buffers_changed :1; 175 unsigned int buffers_changed :1;
166 unsigned int clip_changed :1; 176 unsigned int clip_changed :1;
167 unsigned int extents_changed :1; 177 unsigned int extents_changed :1;
173 unsigned int menubar_changed :1; 183 unsigned int menubar_changed :1;
174 unsigned int modeline_changed :1; 184 unsigned int modeline_changed :1;
175 unsigned int point_changed :1; 185 unsigned int point_changed :1;
176 unsigned int size_changed :1; 186 unsigned int size_changed :1;
177 unsigned int toolbar_changed :1; 187 unsigned int toolbar_changed :1;
188 unsigned int gutter_changed :1;
178 unsigned int windows_changed :1; 189 unsigned int windows_changed :1;
179 unsigned int windows_structure_changed :1; 190 unsigned int windows_structure_changed :1;
180 unsigned int window_face_cache_reset :1; /* used by expose handler */ 191 unsigned int window_face_cache_reset :1; /* used by expose handler */
181 unsigned int echo_area_garbaged :1; /* used by Fredisplay_echo_area */ 192 unsigned int echo_area_garbaged :1; /* used by Fredisplay_echo_area */
182 unsigned int size_slipped :1; 193 unsigned int size_slipped :1;
338 struct device *mftc_d = XDEVICE (mftc_f->device); \ 349 struct device *mftc_d = XDEVICE (mftc_f->device); \
339 MARK_DEVICE_TOOLBARS_CHANGED (mftc_d); \ 350 MARK_DEVICE_TOOLBARS_CHANGED (mftc_d); \
340 } \ 351 } \
341 else \ 352 else \
342 toolbar_changed = 1; \ 353 toolbar_changed = 1; \
354 } while (0)
355
356 #define MARK_FRAME_GUTTERS_CHANGED(f) do { \
357 struct frame *mftc_f = (f); \
358 mftc_f->gutter_changed = 1; \
359 mftc_f->modiff++; \
360 if (!NILP (mftc_f->device)) \
361 { \
362 struct device *mftc_d = XDEVICE (mftc_f->device); \
363 MARK_DEVICE_GUTTERS_CHANGED (mftc_d); \
364 } \
365 else \
366 gutter_changed = 1; \
343 } while (0) 367 } while (0)
344 368
345 #define MARK_FRAME_SIZE_CHANGED(f) do { \ 369 #define MARK_FRAME_SIZE_CHANGED(f) do { \
346 struct frame *mfsc_f = (f); \ 370 struct frame *mfsc_f = (f); \
347 mfsc_f->size_changed = 1; \ 371 mfsc_f->size_changed = 1; \