Rename member for_overlaps_p in struct glyph_string to for_overlaps.

This commit is contained in:
YAMAMOTO Mitsuharu 2005-10-07 07:40:35 +00:00
parent a66678fd3c
commit c2ded1b7d5
4 changed files with 52 additions and 18 deletions

View file

@ -1,3 +1,37 @@
2005-10-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* dispextern.h (struct glyph_string): Rename member for_overlaps_p
to for_overlaps. Now occupy 3 bits.
(OVERLAPS_PRED, OVERLAPS_SUCC, OVERLAPS_BOTH)
(OVERLAPS_ERASED_CURSOR): New defines.
(struct redisplay_interface): Add new OVERLAPS arg to member
fix_overlapping_area.
(x_fix_overlapping_area): Add new OVERLAPS arg.
(get_glyph_string_clip_rects): Add extern.
* dispnew.c (redraw_overlapping_rows): Call
rif->fix_overlapping_area with new OVERLAPS arg as redrawn part.
* xdisp.c: Rename member for_overlaps_p in struct glyph_string to
for_overlaps.
(get_glyph_string_clip_rects): New function created from
get_glyph_string_clip_rect. Set clipping rectangles according to
the value of for_overlaps. Enable to store multiple clipping
rectangles.
(get_glyph_string_clip_rect): Use get_glyph_string_clip_rects.
(fill_composite_glyph_string, fill_glyph_string, draw_glyphs):
Rename argument OVERLAPS_P to OVERLAPS. All uses in macros changed.
(x_fix_overlapping_area): Add OVERLAPS arg. Pass it to draw_glyphs.
(draw_phys_cursor_glyph): Set width of erased cursor to use it for
calculating clipping rectangles later. Call
x_fix_overlapping_area with new OVERLAPS arg to draw only erased
cursor area.
(expose_overlaps): Call x_fix_overlapping_area with new
OVERLAPS arg to draw overlaps in both preceding and succeeding rows.
* xterm.c, w32term.c, macterm.c: Rename member for_overlaps_p in
struct glyph_string to for_overlaps.
2005-10-04 Kim F. Storm <storm@cua.dk>
* window.c (window_split_tree): New function.

View file

@ -2320,7 +2320,7 @@ x_draw_glyph_string_foreground (s)
XDrawImageString is usually faster than XDrawString.) Always
use XDrawImageString when drawing the cursor so that there is
no chance that characters under a box cursor are invisible. */
if (s->for_overlaps_p
if (s->for_overlaps
|| (s->background_filled_p && s->hl != DRAW_CURSOR))
#endif
{
@ -3271,7 +3271,7 @@ x_draw_glyph_string (s)
draw a cursor, draw the background of the successor first so that
S can draw into it. This makes S->next use XDrawString instead
of XDrawImageString. */
if (s->next && s->right_overhang && !s->for_overlaps_p
if (s->next && s->right_overhang && !s->for_overlaps
&& s->next->hl != DRAW_CURSOR)
{
xassert (s->next->img == NULL);
@ -3285,7 +3285,7 @@ x_draw_glyph_string (s)
/* Draw relief (if any) in advance for char/composition so that the
glyph string can be drawn over it. */
if (!s->for_overlaps_p
if (!s->for_overlaps
&& s->face->box != FACE_NO_BOX
&& (s->first_glyph->type == CHAR_GLYPH
|| s->first_glyph->type == COMPOSITE_GLYPH))
@ -3311,7 +3311,7 @@ x_draw_glyph_string (s)
break;
case CHAR_GLYPH:
if (s->for_overlaps_p)
if (s->for_overlaps)
s->background_filled_p = 1;
else
x_draw_glyph_string_background (s, 0);
@ -3319,7 +3319,7 @@ x_draw_glyph_string (s)
break;
case COMPOSITE_GLYPH:
if (s->for_overlaps_p || s->gidx > 0)
if (s->for_overlaps || s->gidx > 0)
s->background_filled_p = 1;
else
x_draw_glyph_string_background (s, 1);
@ -3330,7 +3330,7 @@ x_draw_glyph_string (s)
abort ();
}
if (!s->for_overlaps_p)
if (!s->for_overlaps)
{
/* Draw underline. */
if (s->face->underline_p)

View file

@ -1567,7 +1567,7 @@ x_draw_glyph_string_foreground (s)
else
x = s->x;
if (s->for_overlaps_p || (s->background_filled_p && s->hl != DRAW_CURSOR))
if (s->for_overlaps || (s->background_filled_p && s->hl != DRAW_CURSOR))
SetBkMode (s->hdc, TRANSPARENT);
else
SetBkMode (s->hdc, OPAQUE);
@ -2448,7 +2448,7 @@ x_draw_glyph_string (s)
/* If S draws into the background of its successor, draw the
background of the successor first so that S can draw into it.
This makes S->next use XDrawString instead of XDrawImageString. */
if (s->next && s->right_overhang && !s->for_overlaps_p)
if (s->next && s->right_overhang && !s->for_overlaps)
{
xassert (s->next->img == NULL);
x_set_glyph_string_gc (s->next);
@ -2461,7 +2461,7 @@ x_draw_glyph_string (s)
/* Draw relief (if any) in advance for char/composition so that the
glyph string can be drawn over it. */
if (!s->for_overlaps_p
if (!s->for_overlaps
&& s->face->box != FACE_NO_BOX
&& (s->first_glyph->type == CHAR_GLYPH
|| s->first_glyph->type == COMPOSITE_GLYPH))
@ -2487,7 +2487,7 @@ x_draw_glyph_string (s)
break;
case CHAR_GLYPH:
if (s->for_overlaps_p)
if (s->for_overlaps)
s->background_filled_p = 1;
else
x_draw_glyph_string_background (s, 0);
@ -2495,7 +2495,7 @@ x_draw_glyph_string (s)
break;
case COMPOSITE_GLYPH:
if (s->for_overlaps_p || s->gidx > 0)
if (s->for_overlaps || s->gidx > 0)
s->background_filled_p = 1;
else
x_draw_glyph_string_background (s, 1);
@ -2506,7 +2506,7 @@ x_draw_glyph_string (s)
abort ();
}
if (!s->for_overlaps_p)
if (!s->for_overlaps)
{
/* Draw underline. */
if (s->face->underline_p

View file

@ -1299,7 +1299,7 @@ x_draw_glyph_string_foreground (s)
XDrawImageString is usually faster than XDrawString.) Always
use XDrawImageString when drawing the cursor so that there is
no chance that characters under a box cursor are invisible. */
if (s->for_overlaps_p
if (s->for_overlaps
|| (s->background_filled_p && s->hl != DRAW_CURSOR))
{
/* Draw characters with 16-bit or 8-bit functions. */
@ -2604,7 +2604,7 @@ x_draw_glyph_string (s)
/* If S draws into the background of its successor, draw the
background of the successor first so that S can draw into it.
This makes S->next use XDrawString instead of XDrawImageString. */
if (s->next && s->right_overhang && !s->for_overlaps_p)
if (s->next && s->right_overhang && !s->for_overlaps)
{
xassert (s->next->img == NULL);
x_set_glyph_string_gc (s->next);
@ -2617,7 +2617,7 @@ x_draw_glyph_string (s)
/* Draw relief (if any) in advance for char/composition so that the
glyph string can be drawn over it. */
if (!s->for_overlaps_p
if (!s->for_overlaps
&& s->face->box != FACE_NO_BOX
&& (s->first_glyph->type == CHAR_GLYPH
|| s->first_glyph->type == COMPOSITE_GLYPH))
@ -2643,7 +2643,7 @@ x_draw_glyph_string (s)
break;
case CHAR_GLYPH:
if (s->for_overlaps_p)
if (s->for_overlaps)
s->background_filled_p = 1;
else
x_draw_glyph_string_background (s, 0);
@ -2651,7 +2651,7 @@ x_draw_glyph_string (s)
break;
case COMPOSITE_GLYPH:
if (s->for_overlaps_p || s->gidx > 0)
if (s->for_overlaps || s->gidx > 0)
s->background_filled_p = 1;
else
x_draw_glyph_string_background (s, 1);
@ -2662,7 +2662,7 @@ x_draw_glyph_string (s)
abort ();
}
if (!s->for_overlaps_p)
if (!s->for_overlaps)
{
/* Draw underline. */
if (s->face->underline_p)