comparison src/w32term.c @ 80122:a9b55a84008e

(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.
author Jason Rumney <jasonr@gnu.org>
date Fri, 15 Feb 2008 17:15:08 +0000
parents 0c62e6ddd01d
children d712a21c7c2a
comparison
equal deleted inserted replaced
80121:288a07952e03 80122:a9b55a84008e
1517 #endif 1517 #endif
1518 if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width 1518 if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
1519 || s->font_not_found_p 1519 || s->font_not_found_p
1520 || s->extends_to_end_of_line_p 1520 || s->extends_to_end_of_line_p
1521 || s->font->bdf 1521 || s->font->bdf
1522 || cleartype_active
1522 || force_p) 1523 || force_p)
1523 { 1524 {
1524 x_clear_glyph_string_rect (s, s->x, s->y + box_line_width, 1525 x_clear_glyph_string_rect (s, s->x, s->y + box_line_width,
1525 s->background_width, 1526 s->background_width,
1526 s->height - 2 * box_line_width); 1527 s->height - 2 * box_line_width);
1545 && s->first_glyph->left_box_line_p) 1546 && s->first_glyph->left_box_line_p)
1546 x = s->x + abs (s->face->box_line_width); 1547 x = s->x + abs (s->face->box_line_width);
1547 else 1548 else
1548 x = s->x; 1549 x = s->x;
1549 1550
1550 if (s->for_overlaps || (s->background_filled_p && s->hl != DRAW_CURSOR)) 1551 if (s->for_overlaps || (s->background_filled_p && s->hl != DRAW_CURSOR)
1552 || cleartype_active)
1551 SetBkMode (s->hdc, TRANSPARENT); 1553 SetBkMode (s->hdc, TRANSPARENT);
1552 else 1554 else
1553 SetBkMode (s->hdc, OPAQUE); 1555 SetBkMode (s->hdc, OPAQUE);
1554 1556
1555 SetTextColor (s->hdc, s->gc->foreground); 1557 SetTextColor (s->hdc, s->gc->foreground);