diff options
| author | Kim F. Storm | 2004-01-16 18:40:46 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2004-01-16 18:40:46 +0000 |
| commit | 557c387e7084e57f0835e1caa00db99d7db9490b (patch) | |
| tree | 343874a7a68938281cf6a70030aa800f54db2346 | |
| parent | 40b2672a794179224683c0ea4917339aa44d0dea (diff) | |
| download | emacs-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.h | 44 |
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 *)); | |||
| 2489 | int in_display_vector_p P_ ((struct it *)); | 2530 | int in_display_vector_p P_ ((struct it *)); |
| 2490 | int frame_mode_line_height P_ ((struct frame *)); | 2531 | int frame_mode_line_height P_ ((struct frame *)); |
| 2491 | void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *)); | 2532 | void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *)); |
| 2533 | void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int)); | ||
| 2492 | void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *)); | 2534 | void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *)); |
| 2535 | void draw_window_fringes P_ ((struct window *)); | ||
| 2536 | int update_window_fringes P_ ((struct window *, int)); | ||
| 2493 | void compute_fringe_widths P_ ((struct frame *, int)); | 2537 | void compute_fringe_widths P_ ((struct frame *, int)); |
| 2494 | extern Lisp_Object Qtool_bar; | 2538 | extern Lisp_Object Qtool_bar; |
| 2495 | extern Lisp_Object Vshow_trailing_whitespace; | 2539 | extern Lisp_Object Vshow_trailing_whitespace; |