summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2007-09-10 07:46:51 +0000
committerIra Rice <irarice@gmail.com>2009-01-05 22:13:17 -0700
commit12c742f538bd24b8d25b4fe971c7eef507c3b4c9 (patch)
tree3462c60129cb51dec11a2fcf49afd532dcdaf064
parentcb7292a77b421e943518edd64b9f11a256b0a691 (diff)
downloadmana-client-12c742f538bd24b8d25b4fe971c7eef507c3b4c9.tar.gz
mana-client-12c742f538bd24b8d25b4fe971c7eef507c3b4c9.tar.bz2
mana-client-12c742f538bd24b8d25b4fe971c7eef507c3b4c9.tar.xz
mana-client-12c742f538bd24b8d25b4fe971c7eef507c3b4c9.zip
Modified the Aethyra client to use the TMW TrueType class, rather than
the inbuilt GUIChan TrueType class. (Didn't use it originally because I didn't see the difference, when there's a considerable speedup, and that originally the import for TMW was broken code at the time, which has been fixed since.)
-rw-r--r--AethyraLin2WinXcompile.cbp4
-rw-r--r--src/Makefile.am4
-rw-r--r--src/gui/browserbox.cpp8
-rw-r--r--src/gui/gui.cpp7
-rw-r--r--src/gui/truetypefont.cpp170
-rw-r--r--src/gui/truetypefont.h67
-rw-r--r--src/sdltruetypefont.cpp171
-rw-r--r--src/sdltruetypefont.hpp157
8 files changed, 248 insertions, 340 deletions
diff --git a/AethyraLin2WinXcompile.cbp b/AethyraLin2WinXcompile.cbp
index a2b5df59..ff6699d8 100644
--- a/AethyraLin2WinXcompile.cbp
+++ b/AethyraLin2WinXcompile.cbp
@@ -232,8 +232,8 @@
<Unit filename="src\gui\textfield.h" />
<Unit filename="src\gui\trade.cpp" />
<Unit filename="src\gui\trade.h" />
- <Unit filename="src\gui\truetypefont.cpp" />
- <Unit filename="src\gui\truetypefont.h" />
+ <Unit filename="src\gui\truetypefont.cpp"/>
+ <Unit filename="src\gui\truetypefont.h"/>
<Unit filename="src\gui\updatewindow.cpp" />
<Unit filename="src\gui\updatewindow.h" />
<Unit filename="src\gui\vbox.cpp" />
diff --git a/src/Makefile.am b/src/Makefile.am
index e89afd8f..9426171d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -82,6 +82,8 @@ aethyra_SOURCES = gui/widgets/dropdown.cpp \
gui/npc_text.h \
gui/ok_dialog.cpp \
gui/ok_dialog.h \
+ gui/truetypefont.cpp \
+ gui/truetypefont.h \
gui/passwordfield.cpp \
gui/passwordfield.h \
gui/playerbox.cpp \
@@ -311,8 +313,6 @@ aethyra_SOURCES = gui/widgets/dropdown.cpp \
properties.h \
recorder.cpp \
recorder.h \
- sdltruetypefont.cpp \
- sdltruetypefont.h \
serverinfo.h \
shopitem.cpp \
shopitem.h \
diff --git a/src/gui/browserbox.cpp b/src/gui/browserbox.cpp
index 78f3fef2..ebd92e5a 100644
--- a/src/gui/browserbox.cpp
+++ b/src/gui/browserbox.cpp
@@ -24,9 +24,7 @@
#include "browserbox.h"
#include "colour.h"
#include "linkhandler.h"
-
-#include "../graphics.h"
-#include "../sdltruetypefont.hpp"
+#include "truetypefont.h"
BrowserBox::BrowserBox(unsigned int mode):
gcn::Widget(),
@@ -70,7 +68,7 @@ void BrowserBox::addRow(const std::string &row)
std::string newRow;
BROWSER_LINK bLink;
int idx1, idx2, idx3;
- gcn::contrib::SDLTrueTypeFont *font = static_cast<gcn::contrib::SDLTrueTypeFont*>(getFont());
+ TrueTypeFont *font = static_cast<TrueTypeFont*>(getFont());
// Use links and user defined colors
if (mUseLinksAndUserColors)
@@ -268,7 +266,7 @@ BrowserBox::draw(gcn::Graphics *graphics)
int x = 0, y = 0;
int wrappedLines = 0;
- gcn::contrib::SDLTrueTypeFont *font = static_cast<gcn::contrib::SDLTrueTypeFont*>(getFont());
+ TrueTypeFont *font = static_cast<TrueTypeFont*>(getFont());
graphics->setColor(BLACK);
for (TextRowIterator i = mTextRows.begin(); i != mTextRows.end(); i++)
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index 846a0f44..f33d9495 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -22,12 +22,14 @@
#include <guichan/exception.hpp>
#include <guichan/image.hpp>
#include <guichan/imagefont.hpp>
+#include <SDL/SDL_ttf.h>
// Should stay here because of Guichan being sensitive to headers order
#include <guichan/sdl/sdlinput.hpp>
#include "focushandler.h"
#include "gui.h"
+#include "truetypefont.h"
#include "viewport.h"
#include "window.h"
#include "windowcontainer.h"
@@ -36,7 +38,6 @@
#include "../configuration.h"
#include "../graphics.h"
#include "../log.h"
-#include "../sdltruetypefont.hpp"
#include "../resources/image.h"
#include "../resources/imageset.h"
@@ -113,12 +114,12 @@ Gui::Gui(Graphics *graphics):
// Set global font
try {
- mGuiFont = new gcn::contrib::SDLTrueTypeFont("/usr/local/share/aethyra/data/fonts/dejavusans.ttf", 10);
+ mGuiFont = new TrueTypeFont("/usr/local/share/aethyra/data/fonts/dejavusans.ttf", 10);
}
catch (gcn::Exception e)
{
try {
- mGuiFont = new gcn::contrib::SDLTrueTypeFont("data/fonts/dejavusans.ttf", 10);
+ mGuiFont = new TrueTypeFont("data/fonts/dejavusans.ttf", 10);
}
catch (gcn::Exception e)
{
diff --git a/src/gui/truetypefont.cpp b/src/gui/truetypefont.cpp
new file mode 100644
index 00000000..bf95ca37
--- /dev/null
+++ b/src/gui/truetypefont.cpp
@@ -0,0 +1,170 @@
+/*
+ * 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$
+ */
+
+#include "truetypefont.h"
+
+#include <list>
+
+#include <guichan/exception.hpp>
+
+#include "../graphics.h"
+#include "../resources/image.h"
+
+#define CACHE_SIZE 30
+
+class TextChunk
+{
+ public:
+ TextChunk(const std::string &text, gcn::Color color) :
+ img(NULL), text(text), color(color)
+ {
+ }
+
+ ~TextChunk()
+ {
+ delete img;
+ }
+
+ bool operator==(const TextChunk &chunk) const
+ {
+ return (
+ chunk.text == text && chunk.color == color);
+ }
+
+ void generate(TTF_Font *font)
+ {
+ SDL_Color sdlCol;
+ sdlCol.b = color.b;
+ sdlCol.r = color.r;
+ sdlCol.g = color.g;
+
+ SDL_Surface *surface = TTF_RenderUTF8_Blended(
+ font, text.c_str(), sdlCol);
+
+ if (!surface)
+ {
+ throw "Rendering font to surface failed: " +
+ std::string(TTF_GetError());
+ }
+
+ img = Image::load(surface);
+
+ SDL_FreeSurface(surface);
+ }
+
+ Image *img;
+ std::string text;
+ gcn::Color color;
+};
+
+
+// Word surfaces cache
+static std::list<TextChunk> cache;
+typedef std::list<TextChunk>::iterator CacheIterator;
+
+
+TrueTypeFont::TrueTypeFont(const std::string& filename, int size)
+{
+ if (!TTF_WasInit() && TTF_Init() == -1)
+ {
+ throw GCN_EXCEPTION("Unable to initialize SDL_ttf: " +
+ std::string(TTF_GetError()));
+ }
+
+ mFont = TTF_OpenFont(filename.c_str(), size);
+
+ if (mFont == NULL)
+ {
+ throw GCN_EXCEPTION("SDLTrueTypeFont::SDLTrueTypeFont: " +
+ std::string(TTF_GetError()));
+ }
+}
+
+TrueTypeFont::~TrueTypeFont()
+{
+ TTF_CloseFont(mFont);
+
+ if (TTF_WasInit())
+ {
+ TTF_Quit();
+ }
+}
+
+void TrueTypeFont::drawString(gcn::Graphics *graphics,
+ const std::string &text,
+ int x, int y)
+{
+ if (text.empty())
+ {
+ return;
+ }
+
+ Graphics *g = dynamic_cast<Graphics *>(graphics);
+
+ if (!g)
+ {
+ throw "Not a valid graphics object!";
+ }
+
+ gcn::Color col = g->getColor();
+
+ TextChunk chunk(text, col);
+
+ bool found = false;
+
+ for (CacheIterator i = cache.begin(); i != cache.end(); i++)
+ {
+ if (chunk == (*i))
+ {
+ // Raise priority: move it to front
+ cache.splice(cache.begin(), cache, i);
+ found = true;
+ break;
+ }
+ }
+
+ // Surface not found
+ if (!found)
+ {
+ if (cache.size() >= CACHE_SIZE)
+ {
+ cache.pop_back();
+ }
+ cache.push_front(chunk);
+ cache.front().generate(mFont);
+ }
+
+ g->drawImage(cache.front().img, x, y);
+}
+
+int TrueTypeFont::getWidth(const std::string& text) const
+{
+ int w, h;
+ TTF_SizeUTF8(mFont, text.c_str(), &w, &h);
+ return w;
+}
+
+int TrueTypeFont::getHeight() const
+{
+ return TTF_FontHeight(mFont);
+}
diff --git a/src/gui/truetypefont.h b/src/gui/truetypefont.h
new file mode 100644
index 00000000..d496d82e
--- /dev/null
+++ b/src/gui/truetypefont.h
@@ -0,0 +1,67 @@
+/*
+ * 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
diff --git a/src/sdltruetypefont.cpp b/src/sdltruetypefont.cpp
deleted file mode 100644
index 937d2d63..00000000
--- a/src/sdltruetypefont.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/* _______ __ __ __ ______ __ __ _______ __ __
- * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\
- * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / /
- * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / /
- * / /_// /\ / /_// / // / // /_/_ / / // / // /\_/ / // / | / /
- * /______/ //______/ //_/ //_____/\ /_/ //_/ //_/ //_/ //_/ /|_/ /
- * \______\/ \______\/ \_\/ \_____\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/
- *
- * Copyright (c) 2004 - 2008 Olof Naessén and Per Larsson
- *
- *
- * Per Larsson a.k.a finalman
- * Olof Naessén a.k.a jansem/yakslem
- *
- * Visit: http://guichan.sourceforge.net
- *
- * License: (BSD)
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name of Guichan nor the names of its contributors may
- * be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * For comments regarding functions please see the header file.
- */
-
-#include "sdltruetypefont.hpp"
-
-#include <guichan/exception.hpp>
-#include <guichan/image.hpp>
-#include <guichan/graphics.hpp>
-#include <guichan/sdl/sdlgraphics.hpp>
-
-namespace gcn
-{
- namespace contrib
- {
- SDLTrueTypeFont::SDLTrueTypeFont (const std::string& filename, int size)
- {
- mRowSpacing = 0;
- mGlyphSpacing = 0;
- mAntiAlias = true;
- mFilename = filename;
- mFont = NULL;
-
- mFont = TTF_OpenFont(filename.c_str(), size);
-
- if (mFont == NULL)
- {
- throw GCN_EXCEPTION("SDLTrueTypeFont::SDLTrueTypeFont. "+std::string(TTF_GetError()));
- }
- }
-
- SDLTrueTypeFont::~SDLTrueTypeFont()
- {
- TTF_CloseFont(mFont);
- }
-
- int SDLTrueTypeFont::getWidth(const std::string& text) const
- {
- int w, h;
- TTF_SizeText(mFont, text.c_str(), &w, &h);
-
- return w;
- }
-
- int SDLTrueTypeFont::getHeight() const
- {
- return TTF_FontHeight(mFont) + mRowSpacing;
- }
-
- void SDLTrueTypeFont::drawString(Graphics* graphics, const std::string& text, const int x, const int y)
- {
- if (text == "")
- {
- return;
- }
-
- SDLGraphics *sdlGraphics = dynamic_cast<SDLGraphics *>(graphics);
-
- if (sdlGraphics == NULL)
- {
- throw GCN_EXCEPTION("SDLTrueTypeFont::drawString. Graphics object not an SDL graphics object!");
- return;
- }
-
- // This is needed for drawing the Glyph in the middle if we have spacing
- int yoffset = getRowSpacing() / 2;
-
- Color col = sdlGraphics->getColor();
-
- SDL_Color sdlCol;
- sdlCol.b = col.b;
- sdlCol.r = col.r;
- sdlCol.g = col.g;
-
- SDL_Surface *textSurface;
- if (mAntiAlias)
- {
- textSurface = TTF_RenderText_Blended(mFont, text.c_str(), sdlCol);
- }
- else
- {
- textSurface = TTF_RenderText_Solid(mFont, text.c_str(), sdlCol);
- }
-
- SDL_Rect dst, src;
- dst.x = x;
- dst.y = y + yoffset;
- src.w = textSurface->w;
- src.h = textSurface->h;
- src.x = 0;
- src.y = 0;
-
- sdlGraphics->drawSDLSurface(textSurface, src, dst);
- SDL_FreeSurface(textSurface);
- }
-
- void SDLTrueTypeFont::setRowSpacing(int spacing)
- {
- mRowSpacing = spacing;
- }
-
- int SDLTrueTypeFont::getRowSpacing()
- {
- return mRowSpacing;
- }
-
- void SDLTrueTypeFont::setGlyphSpacing(int spacing)
- {
- mGlyphSpacing = spacing;
- }
-
- int SDLTrueTypeFont::getGlyphSpacing()
- {
- return mGlyphSpacing;
- }
-
- void SDLTrueTypeFont::setAntiAlias(bool antiAlias)
- {
- mAntiAlias = antiAlias;
- }
-
- bool SDLTrueTypeFont::isAntiAlias()
- {
- return mAntiAlias;
- }
- }
-}
-
diff --git a/src/sdltruetypefont.hpp b/src/sdltruetypefont.hpp
deleted file mode 100644
index 7a1dd658..00000000
--- a/src/sdltruetypefont.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/* _______ __ __ __ ______ __ __ _______ __ __
- * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\
- * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / /
- * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / /
- * / /_// /\ / /_// / // / // /_/_ / / // / // /\_/ / // / | / /
- * /______/ //______/ //_/ //_____/\ /_/ //_/ //_/ //_/ //_/ /|_/ /
- * \______\/ \______\/ \_\/ \_____\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/
- *
- * Copyright (c) 2004 - 2008 Olof Naessén and Per Larsson
- *
- *
- * Per Larsson a.k.a finalman
- * Olof Naessén a.k.a jansem/yakslem
- *
- * Visit: http://guichan.sourceforge.net
- *
- * License: (BSD)
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name of Guichan nor the names of its contributors may
- * be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef GCN_CONTRIB_SDLTRUETYPEFONT_HPP
-#define GCN_CONTRIB_SDLTRUETYPEFONT_HPP
-
-#include <map>
-#include <string>
-
-#include <SDL/SDL_ttf.h>
-
-#include <guichan/font.hpp>
-#include <guichan/platform.hpp>
-
-namespace gcn
-{
- class Graphics;
-
- namespace contrib
- {
-
- /**
- * SDL True Type Font implementation of Font. It uses the SDL_ttf library
- * to display True Type Fonts with SDL.
- *
- * NOTE: You must initialize the SDL_ttf library before using this
- * class. Also, remember to call the SDL_ttf libraries quit
- * function.
- *
- * @author Walluce Pinkham
- * @author Olof Naessén
- */
- class GCN_EXTENSION_DECLSPEC SDLTrueTypeFont: public Font
- {
- public:
-
- /**
- * Constructor.
- *
- * @param filename the filename of the True Type Font.
- * @param size the size the font should be in.
- */
- SDLTrueTypeFont (const std::string& filename, int size);
-
- /**
- * Destructor.
- */
- virtual ~SDLTrueTypeFont();
-
- /**
- * Sets the spacing between rows in pixels. Default is 0 pixels.
- * The spacing can be negative.
- *
- * @param spacing the spacing in pixels.
- */
- virtual void setRowSpacing (int spacing);
-
- /**
- * Gets the spacing between rows in pixels.
- *
- * @return the spacing.
- */
- virtual int getRowSpacing();
-
- /**
- * Sets the spacing between letters in pixels. Default is 0 pixels.
- * The spacing can be negative.
- *
- * @param spacing the spacing in pixels.
- */
- virtual void setGlyphSpacing(int spacing);
-
- /**
- * Gets the spacing between letters in pixels.
- *
- * @return the spacing.
- */
- virtual int getGlyphSpacing();
-
- /**
- * Sets the use of anti aliasing..
- *
- * @param antaAlias true for use of antia aliasing.
- */
- virtual void setAntiAlias(bool antiAlias);
-
- /**
- * Checks if anti aliasing is used.
- *
- * @return true if anti aliasing is used.
- */
- virtual bool isAntiAlias();
-
-
- // Inherited from Font
-
- virtual int getWidth(const std::string& text) const;
-
- virtual int getHeight() const;
-
- virtual void drawString(gcn::Graphics* graphics, const std::string& text, int x, int y);
-
- protected:
- TTF_Font *mFont;
-
- int mHeight;
- int mGlyphSpacing;
- int mRowSpacing;
-
- std::string mFilename;
- bool mAntiAlias;
- };
- }
-}
-
-#endif
-