Mercurial > hg > xemacs-beta
comparison src/frame.h @ 442:abe6d1db359e r21-2-36
Import from CVS: tag r21-2-36
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:35:02 +0200 |
parents | 8de8e3f6228a |
children | 576fb035e263 |
comparison
equal
deleted
inserted
replaced
441:72a7cfa4a488 | 442:abe6d1db359e |
---|---|
76 #ifdef HAVE_TTY | 76 #ifdef HAVE_TTY |
77 /* The count of frame number. This applies to TTY frames only. */ | 77 /* The count of frame number. This applies to TTY frames only. */ |
78 int order_count; | 78 int order_count; |
79 #endif | 79 #endif |
80 | 80 |
81 /* Current page number for a printer frame. */ | |
82 int page_number; | |
83 | |
81 /* Width of the internal border. This is a line of background color | 84 /* Width of the internal border. This is a line of background color |
82 just inside the window's border. It is normally only non-zero on | 85 just inside the window's border. It is normally only non-zero on |
83 X frames, but we put it here to avoid introducing window system | 86 X frames, but we put it here to avoid introducing window system |
84 dependencies. */ | 87 dependencies. */ |
85 int internal_border_width; | 88 int internal_border_width; |
88 the frame's window structure but contains only pointers to the | 91 the frame's window structure but contains only pointers to the |
89 display structures. */ | 92 display structures. */ |
90 struct window_mirror *root_mirror; | 93 struct window_mirror *root_mirror; |
91 | 94 |
92 int modiff; | 95 int modiff; |
93 | |
94 /* subwindow cache elements for this frame */ | |
95 subwindow_cachel_dynarr *subwindow_cachels; | |
96 | 96 |
97 struct expose_ignore* subwindow_exposures; | 97 struct expose_ignore* subwindow_exposures; |
98 struct expose_ignore* subwindow_exposures_tail; | 98 struct expose_ignore* subwindow_exposures_tail; |
99 | 99 |
100 #ifdef HAVE_SCROLLBARS | 100 #ifdef HAVE_SCROLLBARS |
111 whether to re-layout windows by a call to change_frame_size early | 111 whether to re-layout windows by a call to change_frame_size early |
112 in redisplay_frame. */ | 112 in redisplay_frame. */ |
113 unsigned int current_toolbar_size[4]; | 113 unsigned int current_toolbar_size[4]; |
114 #endif | 114 #endif |
115 | 115 |
116 /* Dynamic array of display lines for gutters */ | 116 /* Size of gutters as seen by redisplay. This is used to determine |
117 display_line_dynarr *current_display_lines; | 117 whether to re-layout windows by a call to change_frame_size early |
118 display_line_dynarr *desired_display_lines; | 118 in redisplay_frame. */ |
119 unsigned int current_gutter_bounds[4]; | |
120 | |
121 /* Dynamic arrays of display lines for gutters */ | |
122 display_line_dynarr *current_display_lines[4]; | |
123 display_line_dynarr *desired_display_lines[4]; | |
119 | 124 |
120 /* A structure of auxiliary data specific to the device type. | 125 /* A structure of auxiliary data specific to the device type. |
121 struct x_frame is used for X window frames; defined in console-x.h */ | 126 struct x_frame is used for X window frames; defined in console-x.h */ |
122 void *frame_data; | 127 void *frame_data; |
123 | 128 |
134 <0 : user can access it,needs no repainting : hidden :mapped and invisible | 139 <0 : user can access it,needs no repainting : hidden :mapped and invisible |
135 where f-v-p is the return value of frame-visible-p */ | 140 where f-v-p is the return value of frame-visible-p */ |
136 int visible; | 141 int visible; |
137 | 142 |
138 /* one-bit flags: */ | 143 /* one-bit flags: */ |
144 | |
145 /* Is focusing onto this frame disabled? (Modal dialog boxes) */ | |
146 unsigned int disabled :1; | |
139 | 147 |
140 /* Are we finished initializing? */ | 148 /* Are we finished initializing? */ |
141 unsigned int init_finished :1; | 149 unsigned int init_finished :1; |
142 | 150 |
143 /* Is frame marked for deletion? This is used in XSetErrorHandler(). */ | 151 /* Is frame marked for deletion? This is used in XSetErrorHandler(). */ |
211 EXFUN (Fmake_frame_visible, 1); | 219 EXFUN (Fmake_frame_visible, 1); |
212 EXFUN (Fraise_frame, 1); | 220 EXFUN (Fraise_frame, 1); |
213 EXFUN (Fselect_frame, 1); | 221 EXFUN (Fselect_frame, 1); |
214 EXFUN (Fset_frame_pointer, 2); | 222 EXFUN (Fset_frame_pointer, 2); |
215 EXFUN (Fset_frame_position, 3); | 223 EXFUN (Fset_frame_position, 3); |
224 EXFUN (Fset_frame_properties, 2); | |
216 EXFUN (Fset_frame_size, 4); | 225 EXFUN (Fset_frame_size, 4); |
217 | 226 |
218 extern Lisp_Object Qbackground_toolbar_color, Qbell_volume, Qborder_color; | 227 extern Lisp_Object Qbackground_toolbar_color, Qbell_volume, Qborder_color; |
219 extern Lisp_Object Qborder_width, Qbottom_toolbar_shadow_color; | 228 extern Lisp_Object Qborder_width, Qbottom_toolbar_shadow_color; |
220 extern Lisp_Object Qbottom_toolbar_shadow_pixmap, Qdelete_frame; | 229 extern Lisp_Object Qbottom_toolbar_shadow_pixmap, Qdelete_frame; |
234 | 243 |
235 | 244 |
236 DECLARE_LRECORD (frame, struct frame); | 245 DECLARE_LRECORD (frame, struct frame); |
237 #define XFRAME(x) XRECORD (x, frame, struct frame) | 246 #define XFRAME(x) XRECORD (x, frame, struct frame) |
238 #define XSETFRAME(x, p) XSETRECORD (x, p, frame) | 247 #define XSETFRAME(x, p) XSETRECORD (x, p, frame) |
248 #define wrap_frame(p) wrap_object (p) | |
239 #define FRAMEP(x) RECORDP (x, frame) | 249 #define FRAMEP(x) RECORDP (x, frame) |
240 #define CHECK_FRAME(x) CHECK_RECORD (x, frame) | 250 #define CHECK_FRAME(x) CHECK_RECORD (x, frame) |
241 #define CONCHECK_FRAME(x) CONCHECK_RECORD (x, frame) | 251 #define CONCHECK_FRAME(x) CONCHECK_RECORD (x, frame) |
242 | 252 |
243 #define CHECK_LIVE_FRAME(x) do { \ | 253 #define CHECK_LIVE_FRAME(x) do { \ |
252 } while (0) | 262 } while (0) |
253 | 263 |
254 #define FRAME_TYPE_P(f, type) EQ (FRAME_TYPE (f), Q##type) | 264 #define FRAME_TYPE_P(f, type) EQ (FRAME_TYPE (f), Q##type) |
255 | 265 |
256 #ifdef ERROR_CHECK_TYPECHECK | 266 #ifdef ERROR_CHECK_TYPECHECK |
257 INLINE struct frame * | 267 INLINE_HEADER struct frame * |
258 error_check_frame_type (struct frame * f, Lisp_Object sym); | 268 error_check_frame_type (struct frame * f, Lisp_Object sym); |
259 INLINE struct frame * | 269 INLINE_HEADER struct frame * |
260 error_check_frame_type (struct frame * f, Lisp_Object sym) | 270 error_check_frame_type (struct frame * f, Lisp_Object sym) |
261 { | 271 { |
262 assert (EQ (FRAME_TYPE (f), sym)); | 272 assert (EQ (FRAME_TYPE (f), sym)); |
263 return f; | 273 return f; |
264 } | 274 } |
282 if (!FRAME_TYPE_P (XFRAME (x), type)) \ | 292 if (!FRAME_TYPE_P (XFRAME (x), type)) \ |
283 x = wrong_type_argument \ | 293 x = wrong_type_argument \ |
284 (type##_console_methods->predicate_symbol, x); \ | 294 (type##_console_methods->predicate_symbol, x); \ |
285 } while (0) | 295 } while (0) |
286 | 296 |
297 #define FRAME_DISPLAY_P(frm) \ | |
298 (DEVICE_DISPLAY_P (XDEVICE (FRAME_DEVICE (frm)))) | |
299 | |
300 #define CHECK_DISPLAY_FRAME(frm) \ | |
301 do { \ | |
302 CHECK_FRAME (frm); \ | |
303 CHECK_LIVE_FRAME (frm); \ | |
304 CHECK_DISPLAY_DEVICE (FRAME_DEVICE (XFRAME (frm))); \ | |
305 } while (0) | |
306 | |
307 #define CONCHECK_DISPLAY_FRAME(frm) \ | |
308 do { \ | |
309 CONCHECK_FRAME (frm); \ | |
310 CONCHECK_LIVE_FRAME (frm); \ | |
311 CONCHECK_DISPLAY_DEVICE (FRAME_DEVICE (XFRAME (frm))); \ | |
312 } while (0) | |
313 | |
314 #define FRAME_PRINTER_P(frm) \ | |
315 (DEVICE_PRINTER_P (XDEVICE (FRAME_DEVICE (frm)))) | |
316 | |
317 #define CHECK_PRINTER_FRAME(frm) \ | |
318 do { \ | |
319 CHECK_FRAME (frm); \ | |
320 CHECK_LIVE_FRAME (frm); \ | |
321 CHECK_PRINTER_DEVICE (FRAME_DEVICE (XFRAME (frm))); \ | |
322 } while (0) | |
323 | |
324 #define CONCHECK_PRINTER_FRAME(frm) \ | |
325 do { \ | |
326 CONCHECK_FRAME (frm); \ | |
327 CONCHECK_LIVE_FRAME (frm); \ | |
328 CONCHECK_PRINTER_DEVICE (FRAME_DEVICE (XFRAME (frm))); \ | |
329 } while (0) | |
330 | |
287 /* #### These should be in the frame-*.h files but there are | 331 /* #### These should be in the frame-*.h files but there are |
288 too many places where the abstraction is broken. Need to | 332 too many places where the abstraction is broken. Need to |
289 fix. */ | 333 fix. */ |
290 | 334 |
291 #define FRAME_X_P(frm) CONSOLE_TYPESYM_X_P (FRAME_TYPE (frm)) | 335 #define FRAME_X_P(frm) CONSOLE_TYPESYM_X_P (FRAME_TYPE (frm)) |
330 glyphs_changed = 1; \ | 374 glyphs_changed = 1; \ |
331 } while (0) | 375 } while (0) |
332 | 376 |
333 #define MARK_FRAME_SUBWINDOWS_CHANGED(f) do { \ | 377 #define MARK_FRAME_SUBWINDOWS_CHANGED(f) do { \ |
334 struct frame *mfgc_f = (f); \ | 378 struct frame *mfgc_f = (f); \ |
335 mfgc_f->subwindows_changed = 1; \ | 379 mfgc_f->subwindows_changed = 1; \ |
336 mfgc_f->modiff++; \ | 380 mfgc_f->modiff++; \ |
337 if (!NILP (mfgc_f->device)) \ | 381 if (!NILP (mfgc_f->device)) \ |
338 { \ | 382 { \ |
339 struct device *mfgc_d = XDEVICE (mfgc_f->device); \ | 383 struct device *mfgc_d = XDEVICE (mfgc_f->device); \ |
340 MARK_DEVICE_SUBWINDOWS_CHANGED (mfgc_d); \ | 384 MARK_DEVICE_SUBWINDOWS_CHANGED (mfgc_d); \ |
341 } \ | 385 } \ |
342 else \ | 386 else \ |
343 subwindows_changed = 1; \ | 387 subwindows_changed = 1; \ |
344 } while (0) | 388 } while (0) |
345 | 389 |
346 #define MARK_FRAME_SUBWINDOWS_STATE_CHANGED(f) do { \ | 390 #define MARK_FRAME_SUBWINDOWS_STATE_CHANGED(f) do { \ |
347 struct frame *mfgc_f = (f); \ | 391 struct frame *mfgc_f = (f); \ |
348 mfgc_f->subwindows_state_changed = 1; \ | 392 mfgc_f->subwindows_state_changed = 1; \ |
349 mfgc_f->modiff++; \ | 393 mfgc_f->modiff++; \ |
350 if (!NILP (mfgc_f->device)) \ | 394 if (!NILP (mfgc_f->device)) \ |
351 { \ | 395 { \ |
352 struct device *mfgc_d = XDEVICE (mfgc_f->device); \ | 396 struct device *mfgc_d = XDEVICE (mfgc_f->device); \ |
353 MARK_DEVICE_SUBWINDOWS_STATE_CHANGED (mfgc_d); \ | 397 MARK_DEVICE_SUBWINDOWS_STATE_CHANGED (mfgc_d); \ |
367 } \ | 411 } \ |
368 else \ | 412 else \ |
369 toolbar_changed = 1; \ | 413 toolbar_changed = 1; \ |
370 } while (0) | 414 } while (0) |
371 | 415 |
372 #define MARK_FRAME_GUTTERS_CHANGED(f) do { \ | 416 #define MARK_FRAME_GUTTERS_CHANGED(f) do { \ |
373 struct frame *mftc_f = (f); \ | 417 struct frame *mftc_f = (f); \ |
374 mftc_f->gutter_changed = 1; \ | 418 mftc_f->gutter_changed = 1; \ |
375 mftc_f->modiff++; \ | 419 mftc_f->modiff++; \ |
376 if (!NILP (mftc_f->device)) \ | 420 if (!NILP (mftc_f->device)) \ |
377 { \ | 421 { \ |
378 struct device *mftc_d = XDEVICE (mftc_f->device); \ | 422 struct device *mftc_d = XDEVICE (mftc_f->device); \ |
379 MARK_DEVICE_GUTTERS_CHANGED (mftc_d); \ | 423 MARK_DEVICE_GUTTERS_CHANGED (mftc_d); \ |
380 } \ | 424 } \ |
381 else \ | 425 else \ |
382 gutter_changed = 1; \ | 426 gutter_changed = 1; \ |
383 } while (0) | 427 } while (0) |
384 | 428 |
459 #define FRAME_CONSOLE(f) DEVICE_CONSOLE (XDEVICE (FRAME_DEVICE (f))) | 503 #define FRAME_CONSOLE(f) DEVICE_CONSOLE (XDEVICE (FRAME_DEVICE (f))) |
460 #define FRAME_LIVE_P(f) (!(f)->dead) | 504 #define FRAME_LIVE_P(f) (!(f)->dead) |
461 | 505 |
462 #define FRAME_MINIBUF_ONLY_P(f) \ | 506 #define FRAME_MINIBUF_ONLY_P(f) \ |
463 EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f)) | 507 EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f)) |
464 #define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer) | 508 #define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer) |
465 #define FRAME_HEIGHT(f) ((f)->height) | 509 #define FRAME_HEIGHT(f) ((f)->height) |
466 #define FRAME_WIDTH(f) ((f)->width) | 510 #define FRAME_WIDTH(f) ((f)->width) |
467 #define FRAME_CHARHEIGHT(f) ((f)->char_height) | 511 #define FRAME_CHARHEIGHT(f) ((f)->char_height) |
468 #define FRAME_CHARWIDTH(f) ((f)->char_width) | 512 #define FRAME_CHARWIDTH(f) ((f)->char_width) |
469 #define FRAME_PIXHEIGHT(f) ((f)->pixheight) | 513 #define FRAME_PIXHEIGHT(f) ((f)->pixheight) |
470 #define FRAME_PIXWIDTH(f) ((f)->pixwidth) | 514 #define FRAME_PIXWIDTH(f) ((f)->pixwidth) |
515 #define FRAME_PAGENUMBER(f) ((f)->page_number + 0) | |
516 #define FRAME_SET_PAGENUMBER(f,x) (f)->page_number = (x); | |
471 #ifdef HAVE_SCROLLBARS | 517 #ifdef HAVE_SCROLLBARS |
472 #define FRAME_SCROLLBAR_WIDTH(f) \ | 518 #define FRAME_SCROLLBAR_WIDTH(f) \ |
473 (NILP ((f)->vertical_scrollbar_visible_p) ? \ | 519 (NILP ((f)->vertical_scrollbar_visible_p) ? \ |
474 0 : XINT ((f)->scrollbar_width)) | 520 0 : XINT ((f)->scrollbar_width)) |
475 #define FRAME_SCROLLBAR_HEIGHT(f) \ | 521 #define FRAME_SCROLLBAR_HEIGHT(f) \ |
480 #define FRAME_SCROLLBAR_HEIGHT(f) 0 | 526 #define FRAME_SCROLLBAR_HEIGHT(f) 0 |
481 #endif | 527 #endif |
482 | 528 |
483 #define FW_FRAME(obj) \ | 529 #define FW_FRAME(obj) \ |
484 (WINDOWP (obj) ? WINDOW_FRAME (XWINDOW (obj)) \ | 530 (WINDOWP (obj) ? WINDOW_FRAME (XWINDOW (obj)) \ |
485 : (FRAMEP (obj) ? obj \ | 531 : (FRAMEP (obj) ? obj \ |
486 : Qnil)) | 532 : Qnil)) |
487 | 533 |
488 #define FRAME_NEW_HEIGHT(f) ((f)->new_height) | 534 #define FRAME_NEW_HEIGHT(f) ((f)->new_height) |
489 #define FRAME_NEW_WIDTH(f) ((f)->new_width) | 535 #define FRAME_NEW_WIDTH(f) ((f)->new_width) |
490 #define FRAME_CURSOR_X(f) ((f)->cursor_x) | 536 #define FRAME_CURSOR_X(f) ((f)->cursor_x) |
491 #define FRAME_CURSOR_Y(f) ((f)->cursor_y) | 537 #define FRAME_CURSOR_Y(f) ((f)->cursor_y) |
500 #define FRAME_SELECTED_WINDOW(f) NON_LVALUE ((f)->selected_window) | 546 #define FRAME_SELECTED_WINDOW(f) NON_LVALUE ((f)->selected_window) |
501 #define FRAME_LAST_NONMINIBUF_WINDOW(f) \ | 547 #define FRAME_LAST_NONMINIBUF_WINDOW(f) \ |
502 NON_LVALUE ((f)->last_nonminibuf_window) | 548 NON_LVALUE ((f)->last_nonminibuf_window) |
503 #define FRAME_SB_VCACHE(f) ((f)->sb_vcache) | 549 #define FRAME_SB_VCACHE(f) ((f)->sb_vcache) |
504 #define FRAME_SB_HCACHE(f) ((f)->sb_hcache) | 550 #define FRAME_SB_HCACHE(f) ((f)->sb_hcache) |
505 #define FRAME_SUBWINDOW_CACHE(f) ((f)->subwindow_cachels) | 551 #define FRAME_SUBWINDOW_CACHE(f) ((f)->subwindow_instance_cache) |
506 | 552 |
507 #if 0 /* FSFmacs */ | 553 #if 0 /* FSFmacs */ |
508 | 554 |
509 #define FRAME_VISIBLE_P(f) ((f)->visible != 0) | 555 #define FRAME_VISIBLE_P(f) ((f)->visible != 0) |
510 #define FRAME_SET_VISIBLE(f,p) \ | 556 #define FRAME_SET_VISIBLE(f,p) \ |
577 FRAME_THEORETICAL_TOOLBAR_SIZE (f, LEFT_TOOLBAR) | 623 FRAME_THEORETICAL_TOOLBAR_SIZE (f, LEFT_TOOLBAR) |
578 #define FRAME_THEORETICAL_RIGHT_TOOLBAR_WIDTH(f) \ | 624 #define FRAME_THEORETICAL_RIGHT_TOOLBAR_WIDTH(f) \ |
579 FRAME_THEORETICAL_TOOLBAR_SIZE (f, RIGHT_TOOLBAR) | 625 FRAME_THEORETICAL_TOOLBAR_SIZE (f, RIGHT_TOOLBAR) |
580 | 626 |
581 #define FRAME_THEORETICAL_TOOLBAR_BORDER_WIDTH(f, pos) \ | 627 #define FRAME_THEORETICAL_TOOLBAR_BORDER_WIDTH(f, pos) \ |
582 (FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE (f, pos) \ | 628 (FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE (f, pos) \ |
583 ? FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH (f, pos) \ | 629 ? FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH (f, pos) \ |
584 : 0) | 630 : 0) |
585 | 631 |
586 #define FRAME_THEORETICAL_TOP_TOOLBAR_BORDER_WIDTH(f) \ | 632 #define FRAME_THEORETICAL_TOP_TOOLBAR_BORDER_WIDTH(f) \ |
587 FRAME_THEORETICAL_TOOLBAR_BORDER_WIDTH (f, TOP_TOOLBAR) | 633 FRAME_THEORETICAL_TOOLBAR_BORDER_WIDTH (f, TOP_TOOLBAR) |
636 sure that there aren't some places in the redisplay code | 682 sure that there aren't some places in the redisplay code |
637 that use these macros and expect the former semantics, so | 683 that use these macros and expect the former semantics, so |
638 if you encounter some odd toolbar behavior, you might want | 684 if you encounter some odd toolbar behavior, you might want |
639 to look into this. --ben */ | 685 to look into this. --ben */ |
640 | 686 |
641 #define FRAME_REAL_TOOLBAR_VISIBLE(f, pos) \ | 687 #define FRAME_REAL_TOOLBAR_VISIBLE(f, pos) \ |
642 ((!NILP (FRAME_REAL_TOOLBAR (f, pos)) \ | 688 ((!NILP (FRAME_REAL_TOOLBAR (f, pos)) \ |
643 && FRAME_RAW_REAL_TOOLBAR_SIZE (f, pos) > 0) \ | 689 && FRAME_RAW_REAL_TOOLBAR_SIZE (f, pos) > 0) \ |
644 ? FRAME_RAW_REAL_TOOLBAR_VISIBLE (f, pos) \ | 690 ? FRAME_RAW_REAL_TOOLBAR_VISIBLE (f, pos) \ |
645 : 0) | 691 : 0) |
646 #define FRAME_REAL_TOOLBAR_SIZE(f, pos) \ | 692 #define FRAME_REAL_TOOLBAR_SIZE(f, pos) \ |
647 ((!NILP (FRAME_REAL_TOOLBAR (f, pos)) \ | 693 ((!NILP (FRAME_REAL_TOOLBAR (f, pos)) \ |
648 && FRAME_RAW_REAL_TOOLBAR_VISIBLE (f, pos)) \ | 694 && FRAME_RAW_REAL_TOOLBAR_VISIBLE (f, pos)) \ |
649 ? FRAME_RAW_REAL_TOOLBAR_SIZE (f, pos) \ | 695 ? FRAME_RAW_REAL_TOOLBAR_SIZE (f, pos) \ |
650 : 0) | 696 : 0) |
651 #define FRAME_REAL_TOOLBAR_BORDER_WIDTH(f, pos) \ | 697 #define FRAME_REAL_TOOLBAR_BORDER_WIDTH(f, pos) \ |
652 ((!NILP (FRAME_REAL_TOOLBAR (f, pos)) \ | 698 ((!NILP (FRAME_REAL_TOOLBAR (f, pos)) \ |
653 && FRAME_RAW_REAL_TOOLBAR_VISIBLE (f, pos)) \ | 699 && FRAME_RAW_REAL_TOOLBAR_VISIBLE (f, pos)) \ |
654 ? FRAME_RAW_REAL_TOOLBAR_BORDER_WIDTH (f, pos) \ | 700 ? FRAME_RAW_REAL_TOOLBAR_BORDER_WIDTH (f, pos) \ |
655 : 0) | 701 : 0) |
656 | 702 |
657 #define FRAME_REAL_TOP_TOOLBAR_HEIGHT(f) \ | 703 #define FRAME_REAL_TOP_TOOLBAR_HEIGHT(f) \ |
679 #define FRAME_REAL_LEFT_TOOLBAR_VISIBLE(f) \ | 725 #define FRAME_REAL_LEFT_TOOLBAR_VISIBLE(f) \ |
680 FRAME_REAL_TOOLBAR_VISIBLE (f, LEFT_TOOLBAR) | 726 FRAME_REAL_TOOLBAR_VISIBLE (f, LEFT_TOOLBAR) |
681 #define FRAME_REAL_RIGHT_TOOLBAR_VISIBLE(f) \ | 727 #define FRAME_REAL_RIGHT_TOOLBAR_VISIBLE(f) \ |
682 FRAME_REAL_TOOLBAR_VISIBLE (f, RIGHT_TOOLBAR) | 728 FRAME_REAL_TOOLBAR_VISIBLE (f, RIGHT_TOOLBAR) |
683 | 729 |
684 #define FRAME_TOP_BORDER_START(f) \ | 730 #define FRAME_TOP_BORDER_START(f) \ |
685 (FRAME_REAL_TOP_TOOLBAR_HEIGHT (f) + \ | 731 (FRAME_REAL_TOP_TOOLBAR_HEIGHT (f) + \ |
686 2 * FRAME_REAL_TOP_TOOLBAR_BORDER_WIDTH (f)) | 732 2 * FRAME_REAL_TOP_TOOLBAR_BORDER_WIDTH (f)) |
687 #define FRAME_TOP_BORDER_END(f) \ | 733 #define FRAME_TOP_BORDER_END(f) \ |
688 (FRAME_TOP_BORDER_START (f) + FRAME_BORDER_HEIGHT (f)) | 734 (FRAME_TOP_BORDER_START (f) + FRAME_BORDER_HEIGHT (f)) |
689 | 735 |
690 #define FRAME_BOTTOM_BORDER_START(f) \ | 736 #define FRAME_BOTTOM_BORDER_START(f) \ |
691 (FRAME_PIXHEIGHT (f) - FRAME_BORDER_HEIGHT (f) - \ | 737 (FRAME_PIXHEIGHT (f) - FRAME_BORDER_HEIGHT (f) - \ |
692 FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - \ | 738 FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - \ |
693 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) | 739 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) |
694 #define FRAME_BOTTOM_BORDER_END(f) \ | 740 #define FRAME_BOTTOM_BORDER_END(f) \ |
695 (FRAME_PIXHEIGHT (f) - FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - \ | 741 (FRAME_PIXHEIGHT (f) - FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - \ |
696 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) | 742 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) |
697 | 743 |
698 #define FRAME_LEFT_BORDER_START(f) \ | 744 #define FRAME_LEFT_BORDER_START(f) \ |
699 (FRAME_REAL_LEFT_TOOLBAR_WIDTH (f) + \ | 745 (FRAME_REAL_LEFT_TOOLBAR_WIDTH (f) + \ |
700 2 * FRAME_REAL_LEFT_TOOLBAR_BORDER_WIDTH (f)) | 746 2 * FRAME_REAL_LEFT_TOOLBAR_BORDER_WIDTH (f)) |
701 #define FRAME_LEFT_BORDER_END(f) \ | 747 #define FRAME_LEFT_BORDER_END(f) \ |
702 (FRAME_LEFT_BORDER_START (f) + FRAME_BORDER_WIDTH (f)) | 748 (FRAME_LEFT_BORDER_START (f) + FRAME_BORDER_WIDTH (f)) |
703 | 749 |
704 #define FRAME_RIGHT_BORDER_START(f) \ | 750 #define FRAME_RIGHT_BORDER_START(f) \ |
705 (FRAME_PIXWIDTH (f) - FRAME_BORDER_WIDTH (f) - \ | 751 (FRAME_PIXWIDTH (f) - FRAME_BORDER_WIDTH (f) - \ |
706 FRAME_REAL_RIGHT_TOOLBAR_WIDTH(f) - \ | 752 FRAME_REAL_RIGHT_TOOLBAR_WIDTH(f) - \ |
707 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH (f)) | 753 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH (f)) |
708 #define FRAME_RIGHT_BORDER_END(f) \ | 754 #define FRAME_RIGHT_BORDER_END(f) \ |
709 (FRAME_PIXWIDTH (f) - FRAME_REAL_RIGHT_TOOLBAR_WIDTH (f) - \ | 755 (FRAME_PIXWIDTH (f) - FRAME_REAL_RIGHT_TOOLBAR_WIDTH (f) - \ |
710 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH(f)) | 756 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH(f)) |
711 | 757 |
712 /* Equivalent in FSF Emacs: | 758 /* Equivalent in FSF Emacs: |
713 | 759 |
714 FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a | 760 FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a |
726 DEVICE_FRAME_LOOP (frmcons, XDEVICE (XCAR (devcons))) | 772 DEVICE_FRAME_LOOP (frmcons, XDEVICE (XCAR (devcons))) |
727 | 773 |
728 void update_frame_title (struct frame *f); | 774 void update_frame_title (struct frame *f); |
729 Lisp_Object next_frame (Lisp_Object f, Lisp_Object frametype, | 775 Lisp_Object next_frame (Lisp_Object f, Lisp_Object frametype, |
730 Lisp_Object console); | 776 Lisp_Object console); |
731 Lisp_Object prev_frame (Lisp_Object f, Lisp_Object frametype, | 777 Lisp_Object previous_frame (Lisp_Object f, Lisp_Object frametype, |
732 Lisp_Object console); | 778 Lisp_Object console); |
733 void store_in_alist (Lisp_Object *alistptr, | |
734 CONST char *propname, | |
735 Lisp_Object val); | |
736 void pixel_to_char_size (struct frame *f, int pixel_width, int pixel_height, | 779 void pixel_to_char_size (struct frame *f, int pixel_width, int pixel_height, |
737 int *char_width, int *char_height); | 780 int *char_width, int *char_height); |
738 void char_to_pixel_size (struct frame *f, int char_width, int char_height, | 781 void char_to_pixel_size (struct frame *f, int char_width, int char_height, |
739 int *pixel_width, int *pixel_height); | 782 int *pixel_width, int *pixel_height); |
740 void round_size_to_char (struct frame *f, int in_width, int in_height, | 783 void round_size_to_char (struct frame *f, int in_width, int in_height, |
766 int called_from_delete_device, | 809 int called_from_delete_device, |
767 int from_io_error); | 810 int from_io_error); |
768 void io_error_delete_frame (Lisp_Object frame); | 811 void io_error_delete_frame (Lisp_Object frame); |
769 Lisp_Object find_some_frame (int (*predicate) (Lisp_Object, void *), | 812 Lisp_Object find_some_frame (int (*predicate) (Lisp_Object, void *), |
770 void *closure); | 813 void *closure); |
771 int device_matches_console_spec (Lisp_Object frame, Lisp_Object device, | 814 int device_matches_console_spec (Lisp_Object device, Lisp_Object console); |
772 Lisp_Object console); | |
773 Lisp_Object frame_first_window (struct frame *f); | 815 Lisp_Object frame_first_window (struct frame *f); |
774 int show_gc_cursor (struct frame *f, Lisp_Object cursor); | 816 int show_gc_cursor (struct frame *f, Lisp_Object cursor); |
775 void set_frame_selected_window (struct frame *f, Lisp_Object window); | 817 void set_frame_selected_window (struct frame *f, Lisp_Object window); |
776 int is_surrogate_for_selected_frame (struct frame *f); | 818 int is_surrogate_for_selected_frame (struct frame *f); |
777 void update_frame_icon (struct frame *f); | 819 void update_frame_icon (struct frame *f); |