X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Ffont.hh;h=16c47f27aed9f2c5c2c28e4cdcc03561ba264209;hb=2c977ae7ffe1e287264989669d2cfd2eb499d4ee;hp=9091b9bcf857638ba9f3bbfb65147000fcfd7eac;hpb=bc99e6a420c04b4607bffc90e528d9572649f95f;p=chaz%2Fopenbox diff --git a/otk/font.hh b/otk/font.hh index 9091b9bc..16c47f27 100644 --- a/otk/font.hh +++ b/otk/font.hh @@ -2,6 +2,9 @@ #ifndef __font_hh #define __font_hh +#include "ustring.hh" +#include "truerendercontrol.hh" + extern "C" { #include #define _XFT_NO_COMPAT_ // no Xft 1 API @@ -9,11 +12,11 @@ extern "C" { } #include -#include namespace otk { class Color; +class Surface; class Font { /* @@ -54,19 +57,14 @@ public: inline const std::string &fontstring() const { return _fontstring; } - unsigned int height() const; - unsigned int maxCharWidth() const; + int height() const; + int maxCharWidth() const; - unsigned int measureString(const std::string &string, - bool utf8 = false) const; + int measureString(const ustring &string) const; - //! Draws a string into an XftDraw object - /*! - Be Warned: If you use an XftDraw object and a color, or a font from - different screens, you WILL have unpredictable results! :) - */ - void drawString(XftDraw *d, int x, int y, const Color &color, - const std::string &string, bool utf8 = false) const; + // The RenderControl classes use the internal data to render the fonts, but + // noone else needs it, so its private. + friend class RenderControl; }; }