/* render/text.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_RENDER_TEXT_H__ #define __INCLUDED_RENDER_TEXT_H__ #include #include namespace render { class Text { public: /// draw a text string static void draw(float x, float y, const std::string & text); /// draw a text string static void draw(float x, float y, const char *text); /// draw a text stream /** If the stream contains multiple lines, each new line will be * drawn at the same x value. The stream is cleared after reading */ static void draw(float x, float y, std::stringstream & textstream); /// draw a character static void draw(float x, float y, const char ascii); /// set the font static void setfont(const char *texture, float width, float height); /// current font width static inline float fontwidth() { return text_fontwidth; } /// current font height static inline float fontheight() { return text_fontheight; } private: static float text_fontwidth; static float text_fontheight; }; } #endif //__INCLUDED_RENDER_TEXT_H__