increase the reported font size when it has a shadow
This commit is contained in:
parent
2c01b1aa9a
commit
01a6d810b6
1 changed files with 5 additions and 12 deletions
17
src/Font.cc
17
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())
|
||||
|
|
Loading…
Reference in a new issue