]> code.delx.au - gnu-emacs/commitdiff
(x_draw_glyph_string_background): Clear the background
authorJason Rumney <jasonr@gnu.org>
Sun, 24 Feb 2008 15:45:28 +0000 (15:45 +0000)
committerJason Rumney <jasonr@gnu.org>
Sun, 24 Feb 2008 15:45:28 +0000 (15:45 +0000)
manually when cleartype is in use.
(x_draw_glyph_string_foreground): Draw text transparently when
cleartype is in use.

src/ChangeLog
src/w32term.c

index afddcca381bc788afe07f591b5f483571f07898f..dda7a11fdaad1df82ad1cbfb61aea2f7f3762b31 100644 (file)
@@ -1,5 +1,10 @@
 2008-02-24  Jason Rumney  <jasonr@gnu.org>
 
+       * 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.
 
index 57455303ed51da03b46571b1a06d60871999d81d..25ecccfd6baf0a995a58bbcc94eb0053658e812f 100644 (file)
@@ -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);