Mercurial > hg > xemacs-beta
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) \ |