From: YAMAMOTO Mitsuharu Date: Fri, 7 Oct 2005 07:40:35 +0000 (+0000) Subject: Rename member for_overlaps_p in struct glyph_string to for_overlaps. X-Git-Tag: emacs-pretest-22.0.90~6773 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c2ded1b7d5b6ced034c2291d5078416fbc58fafc;p=emacs.git Rename member for_overlaps_p in struct glyph_string to for_overlaps. --- diff --git a/src/ChangeLog b/src/ChangeLog index adb5b204953..deb3ca4fbe9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,37 @@ +2005-10-07 YAMAMOTO Mitsuharu + + * 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 * window.c (window_split_tree): New function. diff --git a/src/macterm.c b/src/macterm.c index ff4dde4c74b..94a2c4d5434 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -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) diff --git a/src/w32term.c b/src/w32term.c index 8a28ac136b8..7e352bfd50d 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -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 diff --git a/src/xterm.c b/src/xterm.c index 1234694de4a..af62cfd0c75 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -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)