(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.
This commit is contained in:
@@ -709,6 +709,15 @@ struct glyph_row
|
||||
position of the next row. */
|
||||
struct display_pos end;
|
||||
|
||||
/* Left fringe bitmap number (enum fringe_bitmap_type). */
|
||||
unsigned left_fringe_bitmap : 4;
|
||||
|
||||
/* Right fringe bitmap number (enum fringe_bitmap_type). */
|
||||
unsigned right_fringe_bitmap : 4;
|
||||
|
||||
/* 1 means that we must draw the bitmaps of this row. */
|
||||
unsigned redraw_fringe_bitmaps_p : 1;
|
||||
|
||||
/* In a desired matrix, 1 means that this row must be updated. In a
|
||||
current matrix, 0 means that the row has been invalidated, i.e.
|
||||
the row's contents do not agree with what is visible on the
|
||||
@@ -777,6 +786,29 @@ struct glyph_row
|
||||
/* 1 means this row was ended by a newline from a string. */
|
||||
unsigned ends_in_newline_from_string_p : 1;
|
||||
|
||||
/* 1 means this row width is exactly the width of the window, and the
|
||||
final newline character is hidden in the right fringe. */
|
||||
unsigned exact_window_width_line_p : 1;
|
||||
|
||||
/* 1 means this row currently shows the cursor in the right fringe. */
|
||||
unsigned cursor_in_fringe_p : 1;
|
||||
|
||||
/* Non-zero means display a bitmap on X frames indicating that this
|
||||
the first line of the buffer. */
|
||||
unsigned indicate_bob_p : 1;
|
||||
|
||||
/* Non-zero means display a bitmap on X frames indicating that this
|
||||
the top line of the window, but not start of the buffer. */
|
||||
unsigned indicate_top_line_p : 1;
|
||||
|
||||
/* Non-zero means display a bitmap on X frames indicating that this
|
||||
the last line of the buffer. */
|
||||
unsigned indicate_eob_p : 1;
|
||||
|
||||
/* Non-zero means display a bitmap on X frames indicating that this
|
||||
the bottom line of the window, but not end of the buffer. */
|
||||
unsigned indicate_bottom_line_p : 1;
|
||||
|
||||
/* Continuation lines width at the start of the row. */
|
||||
int continuation_lines_width;
|
||||
};
|
||||
@@ -1582,10 +1614,19 @@ enum fringe_bitmap_type
|
||||
NO_FRINGE_BITMAP = 0,
|
||||
LEFT_TRUNCATION_BITMAP,
|
||||
RIGHT_TRUNCATION_BITMAP,
|
||||
UP_ARROW_BITMAP,
|
||||
DOWN_ARROW_BITMAP,
|
||||
CONTINUED_LINE_BITMAP,
|
||||
CONTINUATION_LINE_BITMAP,
|
||||
OVERLAY_ARROW_BITMAP,
|
||||
FIRST_LINE_BITMAP,
|
||||
LAST_LINE_BITMAP,
|
||||
FILLED_BOX_CURSOR_BITMAP,
|
||||
HOLLOW_BOX_CURSOR_BITMAP,
|
||||
BAR_CURSOR_BITMAP,
|
||||
HBAR_CURSOR_BITMAP,
|
||||
ZV_LINE_BITMAP,
|
||||
HOLLOW_SQUARE_BITMAP,
|
||||
MAX_FRINGE_BITMAPS
|
||||
};
|
||||
|
||||
@@ -2489,7 +2530,10 @@ void move_it_past_eol P_ ((struct it *));
|
||||
int in_display_vector_p P_ ((struct it *));
|
||||
int frame_mode_line_height P_ ((struct frame *));
|
||||
void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *));
|
||||
void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int));
|
||||
void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *));
|
||||
void draw_window_fringes P_ ((struct window *));
|
||||
int update_window_fringes P_ ((struct window *, int));
|
||||
void compute_fringe_widths P_ ((struct frame *, int));
|
||||
extern Lisp_Object Qtool_bar;
|
||||
extern Lisp_Object Vshow_trailing_whitespace;
|
||||
|
||||
Reference in New Issue
Block a user