From 87b21ba61d7a8c322d658bd6b8d9f75b9e711263 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 22 Sep 2013 14:18:43 +0300 Subject: load fonts in separate function. --- src/gui/sdlfont.cpp | 14 +++++++++----- src/gui/sdlfont.h | 2 ++ 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gui/sdlfont.cpp b/src/gui/sdlfont.cpp index 54dbfbff6..eb05bea8d 100644 --- a/src/gui/sdlfont.cpp +++ b/src/gui/sdlfont.cpp @@ -364,14 +364,13 @@ SDLFont::SDLFont(std::string filename, ++fontCounter; fixDirSeparators(filename); - mFont = TTF_OpenFont(resman->getPath(filename).c_str(), size); + mFont = openFont(filename.c_str(), size); if (!mFont) { logger->log("Error finding font " + filename); std::string backFile = "fonts/dejavusans.ttf"; - mFont = TTF_OpenFont(resman->getPath( - fixDirSeparators(backFile)).c_str(), size); + mFont = openFont(fixDirSeparators(backFile).c_str(), size); if (!mFont) { throw GCN_EXCEPTION("SDLSDLFont::SDLSDLFont: " + @@ -396,6 +395,12 @@ SDLFont::~SDLFont() } } +TTF_Font *SDLFont::openFont(const char *const name, const int size) +{ + return TTF_OpenFontIndex(ResourceManager::getInstance()->getPath( + name).c_str(), size, 0); +} + void SDLFont::loadFont(std::string filename, const int size, const int style) @@ -410,8 +415,7 @@ void SDLFont::loadFont(std::string filename, } fixDirSeparators(filename); - TTF_Font *const font = TTF_OpenFont( - resman->getPath(filename).c_str(), size); + TTF_Font *const font = openFont(filename.c_str(), size); if (!font) { diff --git a/src/gui/sdlfont.h b/src/gui/sdlfont.h index 8bab3e3f1..eedc4c6e0 100644 --- a/src/gui/sdlfont.h +++ b/src/gui/sdlfont.h @@ -149,6 +149,8 @@ class SDLFont final : public gcn::Font static bool mSoftMode; private: + static TTF_Font *openFont(const char *const name, const int size); + TTF_Font *mFont; unsigned mCreateCounter; unsigned mDeleteCounter; -- cgit v1.2.3-60-g2f50