X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Ffont.hh;h=afc36deafa06f4599e19e049cc7c745ee41f3d17;hb=3fe7bded58fb82fd2c1c2a5f9ad2e8f453fa0609;hp=8ff1f67dfd528e11d06d57bfab9fcb250da13938;hpb=c6f228f3ff9ab7087669366a23d2ae61d8e5b9b9;p=chaz%2Fopenbox diff --git a/otk/font.hh b/otk/font.hh index 8ff1f67d..afc36dea 100644 --- a/otk/font.hh +++ b/otk/font.hh @@ -1,6 +1,9 @@ -// -*- mode: C++; indent-tabs-mode: nil; -*- -#ifndef __Font_hh -#define __Font_hh +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- +#ifndef __font_hh +#define __font_hh + +#include "ustring.hh" +#include "truerendercontrol.hh" extern "C" { #include @@ -9,16 +12,13 @@ extern "C" { } #include -#include namespace otk { -class BGCCache; -class BGCCacheItem; -class BColor; -class ScreenInfo; +class Color; +class Surface; -class BFont { +class Font { /* * static members */ @@ -51,27 +51,22 @@ private: public: // loads an Xft font - BFont(int screen_num, const std::string &fontstring, bool shadow, + Font(int screen_num, const std::string &fontstring, bool shadow, unsigned char offset, unsigned char tint); - virtual ~BFont(); + virtual ~Font(); inline const std::string &fontstring() const { return _fontstring; } unsigned int height() const; unsigned int maxCharWidth() const; - unsigned int measureString(const std::string &string, - bool utf8 = false) const; + unsigned 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 BColor &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; }; } -#endif // __Font_hh +#endif // __font_hh