From 01a6d810b6b35288410ed43819a940749d92362f Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 7 Sep 2002 07:18:31 +0000 Subject: [PATCH] increase the reported font size when it has a shadow --- src/Font.cc | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/Font.cc b/src/Font.cc index 37dfef2f..ae835e76 100644 --- a/src/Font.cc +++ b/src/Font.cc @@ -262,7 +262,7 @@ void BFont::drawString(Drawable d, int x, int y, const BColor &color, _screen->getColormap()); assert(draw); -/* if (_shadow) { + if (_shadow) { XftColor c; c.color.red = 0; c.color.green = 0; @@ -274,21 +274,14 @@ void BFont::drawString(Drawable d, int x, int y, const BColor &color, XftDrawStringUtf8(draw, &c, _xftfont, x + 1, _xftfont->ascent + y + 1, (XftChar8 *) string.c_str(), string.size()); } -*/ - + XftColor c; c.color.red = color.red() | color.red() << 8; c.color.green = color.green() | color.green() << 8; c.color.blue = color.blue() | color.blue() << 8; c.pixel = color.pixel(); - - if (_shadow) { - c.color.alpha = 0x66 | 0x66 << 8; // transparent shadow - XftDrawStringUtf8(draw, &c, _xftfont, x + 1, _xftfont->ascent + y + 1, - (XftChar8 *) string.c_str(), string.size()); - } - c.color.alpha = 0xff | 0xff << 8; // no transparency in BColor yet + XftDrawStringUtf8(draw, &c, _xftfont, x, _xftfont->ascent + y, (XftChar8 *) string.c_str(), string.size()); @@ -318,7 +311,7 @@ unsigned int BFont::measureString(const string &string) const { XGlyphInfo info; XftTextExtentsUtf8(_display, _xftfont, (XftChar8 *) string.c_str(), string.size(), &info); - return info.xOff; + return info.xOff + (_shadow ? 1 : 0); } #endif // XFT @@ -337,7 +330,7 @@ unsigned int BFont::height(void) const { #ifdef XFT if (_xftfont) - return _xftfont->height; + return _xftfont->height + (_shadow ? 1 : 0); #endif // XFT if (i18n.multibyte()) -- 2.39.2