]> Dogcows Code - chaz/openbox/blobdiff - otk/font.cc
kill a comment
[chaz/openbox] / otk / font.cc
index a38946f02ad4efc3efccf72e5ea71c92de714154..ee9c37d79a22483ff0f808a4b2201b7fec33c5a0 100644 (file)
@@ -1,36 +1,25 @@
 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 
-#ifdef    HAVE_CONFIG_H
-#  include "../config.h"
-#endif // HAVE_CONFIG_H
-
-extern "C" {
-#ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-#endif // HAVE_STDLIB_H
-}
-
-#include <iostream>
-#include <algorithm>
+#include "config.h"
 
 #include "font.hh"
+#include "surface.hh"
 #include "util.hh"
 #include "display.hh"
-#include "color.hh"
 #include "screeninfo.hh"
 
 extern "C" {
-#ifdef    HAVE_STDIO_H
-#  include <stdio.h>
-#endif // HAVE_STDIO_H
-
-#include "gettext.h"
+#include "../src/gettext.h"
 #define _(str) gettext(str)
 }
 
+#include <cstdio>
+#include <cstdlib>
+#include <iostream>
+#include <algorithm>
+
 namespace otk {
 
-std::string Font::_fallback_font = "fixed";
 bool        Font::_xft_init      = false;
 
 Font::Font(int screen_num, const std::string &fontstring,
@@ -50,10 +39,12 @@ Font::Font(int screen_num, const std::string &fontstring,
       printf(_("Couldn't initialize Xft.\n\n"));
       ::exit(3);
     }
+#ifdef DEBUG
     int version = XftGetVersion();
-    printf(_("Using Xft %d.%d.%d (Built against %d.%d.%d).\n"),
+    printf("Using Xft %d.%d.%d (Built against %d.%d.%d).\n",
            version / 10000 % 100, version / 100 % 100, version % 100,
            XFT_MAJOR, XFT_MINOR, XFT_REVISION);
+#endif
     _xft_init = true;
   }
 
@@ -62,13 +53,13 @@ Font::Font(int screen_num, const std::string &fontstring,
     return;
 
   printf(_("Unable to load font: %s\n"), _fontstring.c_str());
-  printf(_("Trying fallback font: %s\n"), _fallback_font.c_str());
+  printf(_("Trying fallback font: %s\n"), "fixed");
 
   if ((_xftfont = XftFontOpenName(**display, _screen_num,
-                                  _fallback_font.c_str())))
+                                  "fixed")))
     return;
 
-  printf(_("Unable to load font: %s\n"), _fallback_font.c_str());
+  printf(_("Unable to load font: %s\n"), "fixed");
   printf(_("Aborting!.\n"));
 
   ::exit(3); // can't continue without a font
@@ -82,48 +73,7 @@ Font::~Font(void)
 }
 
 
-void Font::drawString(XftDraw *d, int x, int y, const Color &color,
-                       const ustring &string) const
-{
-  assert(d);
-
-  if (_shadow) {
-    XftColor c;
-    c.color.red = 0;
-    c.color.green = 0;
-    c.color.blue = 0;
-    c.color.alpha = _tint | _tint << 8; // transparent shadow
-    c.pixel = BlackPixel(**display, _screen_num);
-
-    if (string.utf8())
-      XftDrawStringUtf8(d, &c, _xftfont, x + _offset,
-                        _xftfont->ascent + y + _offset,
-                        (FcChar8*)string.c_str(), string.bytes());
-    else
-      XftDrawString8(d, &c, _xftfont, x + _offset,
-                     _xftfont->ascent + y + _offset,
-                     (FcChar8*)string.c_str(), string.bytes());
-  }
-    
-  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();
-  c.color.alpha = 0xff | 0xff << 8; // no transparency in Color yet
-
-  if (string.utf8())
-    XftDrawStringUtf8(d, &c, _xftfont, x, _xftfont->ascent + y,
-                      (FcChar8*)string.c_str(), string.bytes());
-  else
-    XftDrawString8(d, &c, _xftfont, x, _xftfont->ascent + y,
-                   (FcChar8*)string.c_str(), string.bytes());
-
-  return;
-}
-
-
-unsigned int Font::measureString(const ustring &string) const
+int Font::measureString(const ustring &string) const
 {
   XGlyphInfo info;
 
@@ -134,19 +84,19 @@ unsigned int Font::measureString(const ustring &string) const
     XftTextExtents8(**display, _xftfont,
                     (FcChar8*)string.c_str(), string.bytes(), &info);
 
-  return info.xOff + (_shadow ? _offset : 0);
+  return (signed) info.xOff + (_shadow ? _offset : 0);
 }
 
 
-unsigned int Font::height(void) const
+int Font::height(void) const
 {
-  return _xftfont->height + (_shadow ? _offset : 0);
+  return (signed) _xftfont->height + (_shadow ? _offset : 0);
 }
 
 
-unsigned int Font::maxCharWidth(void) const
+int Font::maxCharWidth(void) const
 {
-  return _xftfont->max_advance_width;
+  return (signed) _xftfont->max_advance_width;
 }
 
 }
This page took 0.0238 seconds and 4 git commands to generate.