comparison src/frame.h @ 384:bbff43aa5eb7 r21-2-7

Import from CVS: tag r21-2-7
author cvs
date Mon, 13 Aug 2007 11:08:24 +0200
parents 8626e4521993
children 74fd4e045ea6
comparison
equal deleted inserted replaced
383:6a50c6a581a5 384:bbff43aa5eb7
30 #ifdef HAVE_TOOLBARS 30 #ifdef HAVE_TOOLBARS
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 36
36 #define FRAME_TYPE_NAME(f) ((f)->framemeths->name) 37 #define FRAME_TYPE_NAME(f) ((f)->framemeths->name)
37 #define FRAME_TYPE(f) ((f)->framemeths->symbol) 38 #define FRAME_TYPE(f) ((f)->framemeths->symbol)
38 39
39 /******** Accessing / calling a frame method *********/ 40 /******** Accessing / calling a frame method *********/
86 the frame's window structure but contains only pointers to the 87 the frame's window structure but contains only pointers to the
87 display structures. */ 88 display structures. */
88 struct window_mirror *root_mirror; 89 struct window_mirror *root_mirror;
89 90
90 int modiff; 91 int modiff;
92
93 /* subwindow cache elements for this frame */
94 subwindow_cachel_dynarr *subwindow_cachels;
91 95
92 #ifdef HAVE_SCROLLBARS 96 #ifdef HAVE_SCROLLBARS
93 /* frame-local scrollbar information. See scrollbar.c. */ 97 /* frame-local scrollbar information. See scrollbar.c. */
94 int scrollbar_y_offset; 98 int scrollbar_y_offset;
95 99
161 unsigned int buffers_changed :1; 165 unsigned int buffers_changed :1;
162 unsigned int clip_changed :1; 166 unsigned int clip_changed :1;
163 unsigned int extents_changed :1; 167 unsigned int extents_changed :1;
164 unsigned int faces_changed :1; 168 unsigned int faces_changed :1;
165 unsigned int frame_changed :1; 169 unsigned int frame_changed :1;
170 unsigned int subwindows_changed :1;
166 unsigned int glyphs_changed :1; 171 unsigned int glyphs_changed :1;
167 unsigned int icon_changed :1; 172 unsigned int icon_changed :1;
168 unsigned int menubar_changed :1; 173 unsigned int menubar_changed :1;
169 unsigned int modeline_changed :1; 174 unsigned int modeline_changed :1;
170 unsigned int point_changed :1; 175 unsigned int point_changed :1;
307 struct device *mfgc_d = XDEVICE (mfgc_f->device); \ 312 struct device *mfgc_d = XDEVICE (mfgc_f->device); \
308 MARK_DEVICE_GLYPHS_CHANGED (mfgc_d); \ 313 MARK_DEVICE_GLYPHS_CHANGED (mfgc_d); \
309 } \ 314 } \
310 else \ 315 else \
311 glyphs_changed = 1; \ 316 glyphs_changed = 1; \
317 } while (0)
318
319 #define MARK_FRAME_SUBWINDOWS_CHANGED(f) do { \
320 struct frame *mfgc_f = (f); \
321 mfgc_f->subwindows_changed = 1; \
322 mfgc_f->modiff++; \
323 if (!NILP (mfgc_f->device)) \
324 { \
325 struct device *mfgc_d = XDEVICE (mfgc_f->device); \
326 MARK_DEVICE_SUBWINDOWS_CHANGED (mfgc_d); \
327 } \
328 else \
329 subwindows_changed = 1; \
312 } while (0) 330 } while (0)
313 331
314 #define MARK_FRAME_TOOLBARS_CHANGED(f) do { \ 332 #define MARK_FRAME_TOOLBARS_CHANGED(f) do { \
315 struct frame *mftc_f = (f); \ 333 struct frame *mftc_f = (f); \
316 mftc_f->toolbar_changed = 1; \ 334 mftc_f->toolbar_changed = 1; \
420 #else 438 #else
421 #define FRAME_SCROLLBAR_WIDTH(f) 0 439 #define FRAME_SCROLLBAR_WIDTH(f) 0
422 #define FRAME_SCROLLBAR_HEIGHT(f) 0 440 #define FRAME_SCROLLBAR_HEIGHT(f) 0
423 #endif 441 #endif
424 442
443 #define FW_FRAME(obj) \
444 (WINDOWP (obj) ? WINDOW_FRAME (XWINDOW (obj)) \
445 : (FRAMEP (obj) ? obj \
446 : Qnil))
447
425 #define FRAME_NEW_HEIGHT(f) ((f)->new_height) 448 #define FRAME_NEW_HEIGHT(f) ((f)->new_height)
426 #define FRAME_NEW_WIDTH(f) ((f)->new_width) 449 #define FRAME_NEW_WIDTH(f) ((f)->new_width)
427 #define FRAME_CURSOR_X(f) ((f)->cursor_x) 450 #define FRAME_CURSOR_X(f) ((f)->cursor_x)
428 #define FRAME_CURSOR_Y(f) ((f)->cursor_y) 451 #define FRAME_CURSOR_Y(f) ((f)->cursor_y)
429 #define FRAME_VISIBLE_P(f) ((f)->visible) 452 #define FRAME_VISIBLE_P(f) ((f)->visible)
437 #define FRAME_SELECTED_WINDOW(f) NON_LVALUE ((f)->selected_window) 460 #define FRAME_SELECTED_WINDOW(f) NON_LVALUE ((f)->selected_window)
438 #define FRAME_LAST_NONMINIBUF_WINDOW(f) \ 461 #define FRAME_LAST_NONMINIBUF_WINDOW(f) \
439 NON_LVALUE ((f)->last_nonminibuf_window) 462 NON_LVALUE ((f)->last_nonminibuf_window)
440 #define FRAME_SB_VCACHE(f) ((f)->sb_vcache) 463 #define FRAME_SB_VCACHE(f) ((f)->sb_vcache)
441 #define FRAME_SB_HCACHE(f) ((f)->sb_hcache) 464 #define FRAME_SB_HCACHE(f) ((f)->sb_hcache)
465 #define FRAME_SUBWINDOW_CACHE(f) ((f)->subwindow_cachels)
442 466
443 #if 0 /* FSFmacs */ 467 #if 0 /* FSFmacs */
444 468
445 #define FRAME_VISIBLE_P(f) ((f)->visible != 0) 469 #define FRAME_VISIBLE_P(f) ((f)->visible != 0)
446 #define FRAME_SET_VISIBLE(f,p) \ 470 #define FRAME_SET_VISIBLE(f,p) \