X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Ffont.hh;h=16c47f27aed9f2c5c2c28e4cdcc03561ba264209;hb=5face4c6f35172761367f63ac0b6eaf62d84e532;hp=8ff1f67dfd528e11d06d57bfab9fcb250da13938;hpb=c6f228f3ff9ab7087669366a23d2ae61d8e5b9b9;p=chaz%2Fopenbox diff --git a/otk/font.hh b/otk/font.hh index 8ff1f67d..16c47f27 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; + 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 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