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_ */