diff options
author | Eugenio Favalli <elvenprogrammer@gmail.com> | 2007-09-10 07:46:51 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2008-12-29 15:19:33 +0100 |
commit | 7cc4dfe0c26fa84e6b9245b6874a853405dea87a (patch) | |
tree | 34f71d91195617c11cae132b67ce6f4144ab7be5 /src/gui/truetypefont.h | |
parent | eecda4921a72acd30955c14e1fb457c5ac690a2a (diff) | |
download | mana-client-7cc4dfe0c26fa84e6b9245b6874a853405dea87a.tar.gz mana-client-7cc4dfe0c26fa84e6b9245b6874a853405dea87a.tar.bz2 mana-client-7cc4dfe0c26fa84e6b9245b6874a853405dea87a.tar.xz mana-client-7cc4dfe0c26fa84e6b9245b6874a853405dea87a.zip |
Added support for True Type Fonts.
(cherry-picked from mainline)
Diffstat (limited to 'src/gui/truetypefont.h')
-rw-r--r-- | src/gui/truetypefont.h | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/src/gui/truetypefont.h b/src/gui/truetypefont.h new file mode 100644 index 00000000..e0e57cd7 --- /dev/null +++ b/src/gui/truetypefont.h @@ -0,0 +1,134 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + +#ifndef _TMW_TRUETYPEFONT_H +#define _TMW_TRUETYPEFONT_H + +#include <string> + +#include <guichan/font.hpp> +#include <guichan/graphics.hpp> +#include <SDL/SDL_ttf.h> + +/** + * A wrapper around SDL_ttf for allowing the use of TrueType fonts. + * + * <b>NOTE:</b> This class needs SDL_ttf to be initialized. + */ +class TrueTypeFont : public gcn::Font +{ + public: + /** + * Constructor. + * + * @param filename Font filename. + * @param size Font size. + */ + TrueTypeFont(const std::string& filename, int size); + + /** + * Destructor. + */ + ~TrueTypeFont(); + + virtual int getWidth(const std::string& text) const; + + virtual int getHeight() const; + + /** + * @see Font::drawString + */ + void drawString(gcn::Graphics* graphics, const std::string& text, int x, int y); + + private: + TTF_Font *mFont; +}; + +#endif +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + +#ifndef _TMW_TRUETYPEFONT_H +#define _TMW_TRUETYPEFONT_H + +#include <string> + +#include <guichan/font.hpp> +#include <guichan/graphics.hpp> +#include <SDL/SDL_ttf.h> + +/** + * A wrapper around SDL_ttf for allowing the use of TrueType fonts. + * + * <b>NOTE:</b> This class needs SDL_ttf to be initialized. + */ +class TrueTypeFont : public gcn::Font +{ + public: + /** + * Constructor. + * + * @param filename Font filename. + * @param size Font size. + */ + TrueTypeFont(const std::string& filename, int size); + + /** + * Destructor. + */ + ~TrueTypeFont(); + + virtual int getWidth(const std::string& text) const; + + virtual int getHeight() const; + + /** + * @see Font::drawString + */ + void drawString(gcn::Graphics* graphics, const std::string& text, int x, int y); + + private: + TTF_Font *mFont; +}; + +#endif |