summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-09-07 07:18:31 +0000
committerDana Jansens <danakj@orodu.net>2002-09-07 07:18:31 +0000
commit01a6d810b6b35288410ed43819a940749d92362f (patch)
treefde948fb5ec92737800e1ce9beb5f63247c84cfb /src
parent2c01b1aa9ae32db7062afe7159c393978958323a (diff)
increase the reported font size when it has a shadow
Diffstat (limited to 'src')
-rw-r--r--src/Font.cc17
1 files 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())