aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim F. Storm2004-01-16 18:40:46 +0000
committerKim F. Storm2004-01-16 18:40:46 +0000
commit557c387e7084e57f0835e1caa00db99d7db9490b (patch)
tree343874a7a68938281cf6a70030aa800f54db2346
parent40b2672a794179224683c0ea4917339aa44d0dea (diff)
downloademacs-557c387e7084e57f0835e1caa00db99d7db9490b.tar.gz
emacs-557c387e7084e57f0835e1caa00db99d7db9490b.zip
(struct glyph_row): New members left_fringe_bitmap,
right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling. New members exact_window_width_line_p and cursor_in_fringe_p for overflowing newlines into right fringe. New members indicate_bob_p, indicate_top_line_p, indicate_eob_p, and indicate_bottom_line_p for buffer boundaries and scrolling. (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP, FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP, HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP, and HOLLOW_SQUARE_BITMAP. (draw_fringe_bitmap, draw_window_fringes, update_window_fringes): Add prototypes.
-rw-r--r--src/dispextern.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 81c707d9335..eed56e55706 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -709,6 +709,15 @@ struct glyph_row
709 position of the next row. */ 709 position of the next row. */
710 struct display_pos end; 710 struct display_pos end;
711 711
712 /* Left fringe bitmap number (enum fringe_bitmap_type). */
713 unsigned left_fringe_bitmap : 4;
714
715 /* Right fringe bitmap number (enum fringe_bitmap_type). */
716 unsigned right_fringe_bitmap : 4;
717
718 /* 1 means that we must draw the bitmaps of this row. */
719 unsigned redraw_fringe_bitmaps_p : 1;
720
712 /* In a desired matrix, 1 means that this row must be updated. In a 721 /* In a desired matrix, 1 means that this row must be updated. In a
713 current matrix, 0 means that the row has been invalidated, i.e. 722 current matrix, 0 means that the row has been invalidated, i.e.
714 the row's contents do not agree with what is visible on the 723 the row's contents do not agree with what is visible on the
@@ -777,6 +786,29 @@ struct glyph_row
777 /* 1 means this row was ended by a newline from a string. */ 786 /* 1 means this row was ended by a newline from a string. */
778 unsigned ends_in_newline_from_string_p : 1; 787 unsigned ends_in_newline_from_string_p : 1;
779 788
789 /* 1 means this row width is exactly the width of the window, and the
790 final newline character is hidden in the right fringe. */
791 unsigned exact_window_width_line_p : 1;
792
793 /* 1 means this row currently shows the cursor in the right fringe. */
794 unsigned cursor_in_fringe_p : 1;
795
796 /* Non-zero means display a bitmap on X frames indicating that this
797 the first line of the buffer. */
798 unsigned indicate_bob_p : 1;
799
800 /* Non-zero means display a bitmap on X frames indicating that this
801 the top line of the window, but not start of the buffer. */
802 unsigned indicate_top_line_p : 1;
803
804 /* Non-zero means display a bitmap on X frames indicating that this
805 the last line of the buffer. */
806 unsigned indicate_eob_p : 1;
807
808 /* Non-zero means display a bitmap on X frames indicating that this
809 the bottom line of the window, but not end of the buffer. */
810 unsigned indicate_bottom_line_p : 1;
811
780 /* Continuation lines width at the start of the row. */ 812 /* Continuation lines width at the start of the row. */
781 int continuation_lines_width; 813 int continuation_lines_width;
782}; 814};
@@ -1582,10 +1614,19 @@ enum fringe_bitmap_type
1582 NO_FRINGE_BITMAP = 0, 1614 NO_FRINGE_BITMAP = 0,
1583 LEFT_TRUNCATION_BITMAP, 1615 LEFT_TRUNCATION_BITMAP,
1584 RIGHT_TRUNCATION_BITMAP, 1616 RIGHT_TRUNCATION_BITMAP,
1617 UP_ARROW_BITMAP,
1618 DOWN_ARROW_BITMAP,
1585 CONTINUED_LINE_BITMAP, 1619 CONTINUED_LINE_BITMAP,
1586 CONTINUATION_LINE_BITMAP, 1620 CONTINUATION_LINE_BITMAP,
1587 OVERLAY_ARROW_BITMAP, 1621 OVERLAY_ARROW_BITMAP,
1622 FIRST_LINE_BITMAP,
1623 LAST_LINE_BITMAP,
1624 FILLED_BOX_CURSOR_BITMAP,
1625 HOLLOW_BOX_CURSOR_BITMAP,
1626 BAR_CURSOR_BITMAP,
1627 HBAR_CURSOR_BITMAP,
1588 ZV_LINE_BITMAP, 1628 ZV_LINE_BITMAP,
1629 HOLLOW_SQUARE_BITMAP,
1589 MAX_FRINGE_BITMAPS 1630 MAX_FRINGE_BITMAPS
1590}; 1631};
1591 1632
@@ -2489,7 +2530,10 @@ void move_it_past_eol P_ ((struct it *));
2489int in_display_vector_p P_ ((struct it *)); 2530int in_display_vector_p P_ ((struct it *));
2490int frame_mode_line_height P_ ((struct frame *)); 2531int frame_mode_line_height P_ ((struct frame *));
2491void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *)); 2532void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *));
2533void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int));
2492void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *)); 2534void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *));
2535void draw_window_fringes P_ ((struct window *));
2536int update_window_fringes P_ ((struct window *, int));
2493void compute_fringe_widths P_ ((struct frame *, int)); 2537void compute_fringe_widths P_ ((struct frame *, int));
2494extern Lisp_Object Qtool_bar; 2538extern Lisp_Object Qtool_bar;
2495extern Lisp_Object Vshow_trailing_whitespace; 2539extern Lisp_Object Vshow_trailing_whitespace;