From: Jason Rumney Date: Sun, 24 Feb 2008 15:45:28 +0000 (+0000) Subject: (x_draw_glyph_string_background): Clear the background X-Git-Tag: emacs-pretest-23.0.90~7707 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2face66975f3da09dbc3e032c0cfeb67047c53f0;p=emacs.git (x_draw_glyph_string_background): Clear the background manually when cleartype is in use. (x_draw_glyph_string_foreground): Draw text transparently when cleartype is in use. --- diff --git a/src/ChangeLog b/src/ChangeLog index afddcca381b..dda7a11fdaa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2008-02-24 Jason Rumney + * w32term.c: (x_draw_glyph_string_background): Clear the background + manually when cleartype is in use. + (x_draw_glyph_string_foreground): Draw text transparently when + cleartype is in use. + * w32font.c (w32font_text_extents): Avoid getting HDC and selecting a font into it unless we have to. diff --git a/src/w32term.c b/src/w32term.c index 57455303ed5..25ecccfd6ba 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -1846,6 +1846,7 @@ x_draw_glyph_string_background (s, force_p) || s->font_not_found_p || s->extends_to_end_of_line_p || s->font->bdf + || cleartype_active || force_p) { x_clear_glyph_string_rect (s, s->x, s->y + box_line_width, @@ -1874,7 +1875,8 @@ x_draw_glyph_string_foreground (s) else x = s->x; - if (s->for_overlaps || (s->background_filled_p && s->hl != DRAW_CURSOR)) + if (s->for_overlaps || (s->background_filled_p && s->hl != DRAW_CURSOR) + || cleartype_active) SetBkMode (s->hdc, TRANSPARENT); else SetBkMode (s->hdc, OPAQUE);