]> Dogcows Code - chaz/openbox/blobdiff - src/Font.cc
drop shadow with color of text
[chaz/openbox] / src / Font.cc
index d4a6950d247fda992b9dc6828c4b149bc2273b62..37dfef2f878f8e94bf1047bd48bce5f52479baf0 100644 (file)
@@ -262,26 +262,33 @@ 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;
       c.color.blue = 0;
-      c.color.alpha = 0x55 | 0x55 << 8; // transparent shadow
+      c.color.alpha = 0x49 | 0x49 << 8; // transparent shadow
       c.pixel = BlackPixel(_display, _screen->getScreenNumber());
 
         
-      XftDrawStringUtf8(draw, &c, _xftfont, x - 1, _xftfont->ascent + y + 1,
+      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.color.alpha = 0xff | 0xff << 8; // no transparency in BColor yet
     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());
 
This page took 0.021276 seconds and 4 git commands to generate.