summaryrefslogtreecommitdiff
path: root/render/font.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-04-02 06:37:52 +0000
committerDana Jansens <danakj@orodu.net>2003-04-02 06:37:52 +0000
commit301c302e4effccfe2ef7db521b24a8264c31793e (patch)
tree875915be749c94e17bef9cfb0913b825a4ab2306 /render/font.c
parentb10b31feb818b0e4b506f31bdcd8bd22f8f26af9 (diff)
use the tint properly for the shadow
Diffstat (limited to 'render/font.c')
-rw-r--r--render/font.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/render/font.c b/render/font.c
index 96498c65..8d27e4bc 100644
--- a/render/font.c
+++ b/render/font.c
@@ -108,13 +108,22 @@ void font_draw(XftDraw *d, TextureText *t, Rect *position)
x += 3; /* XXX figure out X with justification */
+ g_message("SHADOW %d %d %d", t->shadow, t->offset, t->tint);
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));