]> Dogcows Code - chaz/openbox/blobdiff - render/font.c
not using quarks, using an array and a Context enum for contexts
[chaz/openbox] / render / font.c
index ee06caca861f9f6dee63917c31992787af5407e9..5f0dbf8ba5cfb08868fd0e3f6af6ad242f741b3f 100644 (file)
@@ -52,15 +52,15 @@ ObFont *font_open(char *fontstring)
         return out;
     }
     g_warning(_("Unable to load font: %s\n"), fontstring);
-    g_warning(_("Trying fallback font: %s\n"), "fixed");
+    g_warning(_("Trying fallback font: %s\n"), "sans");
 
-    if ((xf = XftFontOpenName(ob_display, ob_screen, "fixed"))) {
+    if ((xf = XftFontOpenName(ob_display, ob_screen, "sans"))) {
         out = g_new(ObFont, 1);
         out->xftfont = xf;
         measure_height(out);
         return out;
     }
-    g_warning(_("Unable to load font: %s\n"), "fixed");
+    g_warning(_("Unable to load font: %s\n"), "sans");
     g_warning(_("Aborting!.\n"));
 
     exit(3); /* can't continue without a font */
@@ -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.0208 seconds and 4 git commands to generate.