#ifndef __font_hh
#define __font_hh
-#include "userstring.hh"
+#include "ustring.hh"
+#include "truerendercontrol.hh"
extern "C" {
#include <X11/Xlib.h>
#include <X11/Xft/Xft.h>
}
-#include <assert.h>
-
-#include <string>
+#include <cassert>
namespace otk {
class Color;
+class Surface;
class Font {
/*
inline const std::string &fontstring() const { return _fontstring; }
- unsigned int height() const;
- unsigned int maxCharWidth() const;
-
- //! Measures the length of a string
- /*!
- @param string The string to measure, it should be UTF8 encoded.
- */
- unsigned int measureString(const userstring &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! :)
- @param d The drawable to render into.
- @param x The X offset onto the drawable at which to start drawing.
- @param x The Y offset onto the drawable at which to start drawing.
- @param color The color to use for drawing the text.
- @param string The string to draw, it should be UTF8 encoded.
- */
- void drawString(XftDraw *d, int x, int y, const Color &color,
- const userstring &string) const;
+ int height() const;
+ int maxCharWidth() const;
+
+ int measureString(const ustring &string) const;
+
+ // The RenderControl classes use the internal data to render the fonts, but
+ // noone else needs it, so its private.
+ friend class RenderControl;
};
}