Mercurial > emacs
diff src/dispextern.h @ 109296:f6f0d450d542
Fix ghost buffer boundary indicators in fringes (Bug#5634, Bug#6325).
* dispextern.h (FRINGE_HEIGHT_BITS): New define.
(struct glyph_row): New members left_fringe_offset and
right_fringe_offset.
* xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap
specially.
* w32term.c (w32_draw_fringe_bitmap): Likewise.
* nsterm.m (ns_draw_fringe_bitmap): Likewise.
* fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here.
Take account of bitmap offset.
(draw_window_fringes): Take account of window vscroll.
(update_window_fringes): Likewise. Extend top-aligned top indicator
or bottom-aligned bottom indicator to adjacent rows if it doesn't fit
in one row. Don't set redraw_fringe_bitmaps_p outside row comparison.
Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
---|---|
date | Mon, 05 Jul 2010 18:58:31 +0900 |
parents | af52c11fa4bd |
children | 60516122d066 cca2a663ef92 |
line wrap: on
line diff
--- a/src/dispextern.h Sun Jul 04 02:59:56 2010 +0200 +++ b/src/dispextern.h Mon Jul 05 18:58:31 2010 +0900 @@ -105,6 +105,8 @@ /* Number of bits allocated to store fringe bitmap numbers. */ #define FRINGE_ID_BITS 16 +/* Number of bits allocated to store fringe bitmap height. */ +#define FRINGE_HEIGHT_BITS 8 /*********************************************************************** @@ -778,6 +780,12 @@ /* Face of the right fringe glyph. */ unsigned right_fringe_face_id : FACE_ID_BITS; + /* Vertical offset of the left fringe bitmap. */ + signed left_fringe_offset : FRINGE_HEIGHT_BITS; + + /* Vertical offset of the right fringe bitmap. */ + signed right_fringe_offset : FRINGE_HEIGHT_BITS; + /* 1 means that we must draw the bitmaps of this row. */ unsigned redraw_fringe_bitmaps_p : 1;