diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2004-10-10 16:41:56 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2004-10-10 16:41:56 +0000 |
commit | d914383aad4756cd3ec36589363702ab8d7a0245 (patch) | |
tree | 134c3012495f6d8816353e4cd2407de94229d7ac /src/fringe.c | |
parent | 6d3a46f77949e0b230b32f4b3d7f2681b934985e (diff) | |
parent | 9f4b6e738feccb3ca6b9e65e0a3745fe5767af19 (diff) | |
download | emacs-d914383aad4756cd3ec36589363702ab8d7a0245.tar.gz |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-604
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-605
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-606
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-607
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-256
Diffstat (limited to 'src/fringe.c')
-rw-r--r-- | src/fringe.c | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/src/fringe.c b/src/fringe.c index 03af487c095..e66fa4adecc 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -723,19 +723,35 @@ draw_row_fringe_bitmaps (w, row) } /* Draw the fringes of window W. Only fringes for rows marked for - update in redraw_fringe_bitmaps_p are drawn. */ + update in redraw_fringe_bitmaps_p are drawn. -void -draw_window_fringes (w) + Return >0 if left or right fringe was redrawn in any way. + + If NO_FRINGE is non-zero, also return >0 if either fringe has zero width. + + A return value >0 indicates that the vertical line between windows + needs update (as it may be drawn in the fringe). +*/ + +int +draw_window_fringes (w, no_fringe) struct window *w; + int no_fringe; { struct glyph_row *row; int yb = window_text_bottom_y (w); int nrows = w->current_matrix->nrows; int y = 0, rn; + int updated = 0; if (w->pseudo_window_p) - return; + return 0; + + /* Must draw line if no fringe */ + if (no_fringe + && (WINDOW_LEFT_FRINGE_WIDTH (w) == 0 + || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0)) + updated++; for (y = 0, rn = 0, row = w->current_matrix->rows; y < yb && rn < nrows; @@ -745,7 +761,10 @@ draw_window_fringes (w) continue; draw_row_fringe_bitmaps (w, row); row->redraw_fringe_bitmaps_p = 0; + updated++; } + + return updated; } @@ -951,11 +970,7 @@ update_window_fringes (w, force_p) Typically, we add an equal amount (+/- 1 pixel) to each fringe, but a negative width value is taken literally (after negating it). - We never make the fringes narrower than specified. It is planned - to make fringe bitmaps customizable and expandable, and at that - time, the user will typically specify the minimum number of pixels - needed for his bitmaps, so we shouldn't select anything less than - what is specified. + We never make the fringes narrower than specified. */ void |