summaryrefslogtreecommitdiff
path: root/src/fringe.c
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2004-10-10 16:41:56 +0000
committerKaroly Lorentey <lorentey@elte.hu>2004-10-10 16:41:56 +0000
commitd914383aad4756cd3ec36589363702ab8d7a0245 (patch)
tree134c3012495f6d8816353e4cd2407de94229d7ac /src/fringe.c
parent6d3a46f77949e0b230b32f4b3d7f2681b934985e (diff)
parent9f4b6e738feccb3ca6b9e65e0a3745fe5767af19 (diff)
downloademacs-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.c33
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