]> Dogcows Code - chaz/openbox/blobdiff - render/font.c
fallback to transients' parents when possible.
[chaz/openbox] / render / font.c
index 96498c650064c0fd0cf751aaacc9442321775580..5f0dbf8ba5cfb08868fd0e3f6af6ad242f741b3f 100644 (file)
@@ -109,12 +109,19 @@ void font_draw(XftDraw *d, TextureText *t, Rect *position)
     x += 3; /* XXX figure out X with justification */
 
     if (t->shadow) {
-        c.color.red = 0;
-        c.color.green = 0;
-        c.color.blue = 0;
-        c.color.alpha = t->tint | t->tint << 8; /* transparent shadow */
-        c.pixel = BlackPixel(ob_display, ob_screen);
-  
+        if (t->tint >= 0) {
+            c.color.red = 0;
+            c.color.green = 0;
+            c.color.blue = 0;
+            c.color.alpha = 0xffff * t->tint / 100; /* transparent shadow */
+            c.pixel = BlackPixel(ob_display, ob_screen);
+        } else {
+            c.color.red = 0xffff * -t->tint / 100;
+            c.color.green = 0xffff * -t->tint / 100;
+            c.color.blue = 0xffff * -t->tint / 100;
+            c.color.alpha = 0xffff * -t->tint / 100; /* transparent shadow */
+            c.pixel = WhitePixel(ob_display, ob_screen);
+        }  
         XftDrawStringUtf8(d, &c, t->font->xftfont, x + t->offset,
                           t->font->xftfont->ascent + y + t->offset,
                           (FcChar8*)t->string, strlen(t->string));
This page took 0.020092 seconds and 4 git commands to generate.