Mercurial > hg > xemacs-beta
comparison src/redisplay.h @ 404:2f8bb876ab1d r21-2-32
Import from CVS: tag r21-2-32
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:16:07 +0200 |
parents | a86b2b5e0111 |
children | b8cc9ab3f761 |
comparison
equal
deleted
inserted
replaced
403:9f011ab08d48 | 404:2f8bb876ab1d |
---|---|
413 appropriate flag. | 413 appropriate flag. |
414 | 414 |
415 If any of these flags are set, redisplay will look more carefully | 415 If any of these flags are set, redisplay will look more carefully |
416 to see if anything has really changed. */ | 416 to see if anything has really changed. */ |
417 | 417 |
418 /* non-nil if the contents of a buffer have changed since the last time | 418 /* Nonzero if the contents of a buffer have changed since the last time |
419 redisplay completed */ | 419 redisplay completed. */ |
420 extern int buffers_changed; | 420 extern int buffers_changed; |
421 extern int buffers_changed_set; | 421 extern int buffers_changed_set; |
422 | 422 |
423 /* Nonzero if head_clip or tail_clip of a buffer has changed | 423 /* Nonzero if head_clip or tail_clip of a buffer has changed |
424 since last redisplay that finished */ | 424 since last redisplay that finished. */ |
425 extern int clip_changed; | 425 extern int clip_changed; |
426 extern int clip_changed_set; | 426 extern int clip_changed_set; |
427 | 427 |
428 /* non-nil if any extent has changed since the last time redisplay completed */ | 428 /* Nonzero if any extent has changed since the last time redisplay completed. */ |
429 extern int extents_changed; | 429 extern int extents_changed; |
430 extern int extents_changed_set; | 430 extern int extents_changed_set; |
431 | 431 |
432 /* non-nil if any face has changed since the last time redisplay completed */ | 432 /* Nonzero if any face has changed since the last time redisplay completed. */ |
433 extern int faces_changed; | 433 extern int faces_changed; |
434 | 434 |
435 /* Nonzero means one or more frames have been marked as garbaged */ | 435 /* Nonzero means one or more frames have been marked as garbaged. */ |
436 extern int frame_changed; | 436 extern int frame_changed; |
437 | 437 |
438 /* True if any of the builtin display glyphs (continuation, | 438 /* True if any of the builtin display glyphs (continuation, |
439 hscroll, control-arrow, etc) is in need of updating | 439 hscroll, control-arrow, etc) is in need of updating |
440 somewhere. */ | 440 somewhere. */ |
457 | 457 |
458 /* True if a menubar is in need of updating somewhere. */ | 458 /* True if a menubar is in need of updating somewhere. */ |
459 extern int menubar_changed; | 459 extern int menubar_changed; |
460 extern int menubar_changed_set; | 460 extern int menubar_changed_set; |
461 | 461 |
462 /* true iff we should redraw the modelines on the next redisplay */ | 462 /* True iff we should redraw the modelines on the next redisplay. */ |
463 extern int modeline_changed; | 463 extern int modeline_changed; |
464 extern int modeline_changed_set; | 464 extern int modeline_changed_set; |
465 | 465 |
466 /* non-nil if point has changed in some buffer since the last time | 466 /* Nonzero if point has changed in some buffer since the last time |
467 redisplay completed */ | 467 redisplay completed. */ |
468 extern int point_changed; | 468 extern int point_changed; |
469 extern int point_changed_set; | 469 extern int point_changed_set; |
470 | 470 |
471 /* non-nil if some frame has changed its size */ | 471 /* Nonzero if some frame has changed its size. */ |
472 extern int size_changed; | 472 extern int size_changed; |
473 | 473 |
474 /* non-nil if some device has signaled that it wants to change size */ | 474 /* Nonzero if some device has signaled that it wants to change size. */ |
475 extern int asynch_device_change_pending; | 475 extern int asynch_device_change_pending; |
476 | 476 |
477 /* non-nil if any toolbar has changed */ | 477 /* Nonzero if any toolbar has changed. */ |
478 extern int toolbar_changed; | 478 extern int toolbar_changed; |
479 extern int toolbar_changed_set; | 479 extern int toolbar_changed_set; |
480 | 480 |
481 /* non-nil if any gutter has changed */ | 481 /* Nonzero if any gutter has changed. */ |
482 extern int gutter_changed; | 482 extern int gutter_changed; |
483 extern int gutter_changed_set; | 483 extern int gutter_changed_set; |
484 | 484 |
485 /* non-nil if any window has changed since the last time redisplay completed */ | 485 /* Nonzero if any window has changed since the last time redisplay completed */ |
486 extern int windows_changed; | 486 extern int windows_changed; |
487 | 487 |
488 /* non-nil if any frame's window structure has changed since the last | 488 /* Nonzero if any frame's window structure has changed since the last |
489 time redisplay completed */ | 489 time redisplay completed. */ |
490 extern int windows_structure_changed; | 490 extern int windows_structure_changed; |
491 | 491 |
492 /* These macros can be relatively expensive. Since they are often | 492 /* These macros can be relatively expensive. Since they are often |
493 called numerous times between each call to redisplay, we keep track | 493 called numerous times between each call to redisplay, we keep track |
494 if each has already been called and don't bother doing most of the | 494 if each has already been called and don't bother doing most of the |
548 | 548 |
549 #define GLOBAL_RESET_CHANGED_FLAGS do { \ | 549 #define GLOBAL_RESET_CHANGED_FLAGS do { \ |
550 buffers_changed = 0; \ | 550 buffers_changed = 0; \ |
551 clip_changed = 0; \ | 551 clip_changed = 0; \ |
552 extents_changed = 0; \ | 552 extents_changed = 0; \ |
553 faces_changed = 0; \ | |
554 frame_changed = 0; \ | 553 frame_changed = 0; \ |
555 icon_changed = 0; \ | 554 icon_changed = 0; \ |
556 menubar_changed = 0; \ | 555 menubar_changed = 0; \ |
557 modeline_changed = 0; \ | 556 modeline_changed = 0; \ |
558 point_changed = 0; \ | 557 point_changed = 0; \ |
559 toolbar_changed = 0; \ | 558 toolbar_changed = 0; \ |
560 gutter_changed = 0; \ | 559 gutter_changed = 0; \ |
561 glyphs_changed = 0; \ | 560 glyphs_changed = 0; \ |
562 subwindows_changed = 0; \ | 561 subwindows_changed = 0; \ |
563 subwindows_state_changed = 0; \ | 562 subwindows_state_changed = 0; \ |
564 windows_changed = 0; \ | 563 windows_changed = 0; \ |
565 windows_structure_changed = 0; \ | 564 windows_structure_changed = 0; \ |
566 } while (0) | 565 } while (0) |
567 | 566 |
568 #define CLASS_REDISPLAY_FLAGS_CHANGEDP(p) \ | 567 #define CLASS_REDISPLAY_FLAGS_CHANGEDP(p) \ |
576 (p)->modeline_changed || \ | 575 (p)->modeline_changed || \ |
577 (p)->point_changed || \ | 576 (p)->point_changed || \ |
578 (p)->toolbar_changed || \ | 577 (p)->toolbar_changed || \ |
579 (p)->gutter_changed || \ | 578 (p)->gutter_changed || \ |
580 (p)->glyphs_changed || \ | 579 (p)->glyphs_changed || \ |
581 (p)->size_changed || \ | 580 (p)->size_changed || \ |
582 (p)->subwindows_changed || \ | 581 (p)->subwindows_changed || \ |
583 (p)->subwindows_state_changed || \ | 582 (p)->subwindows_state_changed || \ |
584 (p)->windows_changed || \ | 583 (p)->windows_changed || \ |
585 (p)->windows_structure_changed ) | 584 (p)->windows_structure_changed ) |
586 | 585 |
638 /* Nonzero means no need to redraw the entire frame on resuming | 637 /* Nonzero means no need to redraw the entire frame on resuming |
639 a suspended Emacs. This is useful on terminals with multiple pages, | 638 a suspended Emacs. This is useful on terminals with multiple pages, |
640 where one page is used for Emacs and another for all else. */ | 639 where one page is used for Emacs and another for all else. */ |
641 extern int no_redraw_on_reenter; | 640 extern int no_redraw_on_reenter; |
642 | 641 |
643 /* Nonzero means flash the frame instead of ringing the bell. */ | 642 /* Non-nil means flash the frame instead of ringing the bell. */ |
644 extern int visible_bell; | 643 extern Lisp_Object Vvisible_bell; |
645 | 644 |
646 /* Thickness of shadow border around 3D modelines. */ | 645 /* Thickness of shadow border around 3D modelines. */ |
647 extern Lisp_Object Vmodeline_shadow_thickness; | 646 extern Lisp_Object Vmodeline_shadow_thickness; |
648 | 647 |
649 /* Scroll if point lands on the bottom line and that line is partially | 648 /* Scroll if point lands on the bottom line and that line is partially |
667 so put cursor on minibuffer after the prompt. */ | 666 so put cursor on minibuffer after the prompt. */ |
668 | 667 |
669 extern int cursor_in_echo_area; | 668 extern int cursor_in_echo_area; |
670 | 669 |
671 extern Lisp_Object Qbar_cursor, Qcursor_in_echo_area, Vwindow_system; | 670 extern Lisp_Object Qbar_cursor, Qcursor_in_echo_area, Vwindow_system; |
671 | |
672 extern Lisp_Object Qtop_bottom; | |
672 | 673 |
673 | 674 |
674 /*************************************************************************/ | 675 /*************************************************************************/ |
675 /* redisplay exported functions */ | 676 /* redisplay exported functions */ |
676 /*************************************************************************/ | 677 /*************************************************************************/ |
682 int redisplay_frame_text_width_string (struct frame *f, | 683 int redisplay_frame_text_width_string (struct frame *f, |
683 Lisp_Object face, | 684 Lisp_Object face, |
684 Bufbyte *nonreloc, | 685 Bufbyte *nonreloc, |
685 Lisp_Object reloc, | 686 Lisp_Object reloc, |
686 Bytecount offset, Bytecount len); | 687 Bytecount offset, Bytecount len); |
688 int redisplay_frame (struct frame *f, int preemption_check); | |
687 void redisplay (void); | 689 void redisplay (void); |
688 struct display_block *get_display_block_from_line (struct display_line *dl, | 690 struct display_block *get_display_block_from_line (struct display_line *dl, |
689 enum display_type type); | 691 enum display_type type); |
690 layout_bounds calculate_display_line_boundaries (struct window *w, | 692 layout_bounds calculate_display_line_boundaries (struct window *w, |
691 int modeline); | 693 int modeline); |
782 int no_output_end); | 784 int no_output_end); |
783 void redisplay_redraw_cursor (struct frame *f, int run_begin_end_meths); | 785 void redisplay_redraw_cursor (struct frame *f, int run_begin_end_meths); |
784 void output_display_line (struct window *w, display_line_dynarr *cdla, | 786 void output_display_line (struct window *w, display_line_dynarr *cdla, |
785 display_line_dynarr *ddla, int line, | 787 display_line_dynarr *ddla, int line, |
786 int force_start, int force_end); | 788 int force_start, int force_end); |
789 void sync_display_line_structs (struct window *w, int line, int do_blocks, | |
790 display_line_dynarr *cdla, | |
791 display_line_dynarr *ddla); | |
787 | 792 |
788 #endif /* INCLUDED_redisplay_h_ */ | 793 #endif /* INCLUDED_redisplay_h_ */ |