diff --git a/src/GUI/CMakeLists.txt b/src/GUI/CMakeLists.txt index b44a90f09..0a7fe3fb0 100644 --- a/src/GUI/CMakeLists.txt +++ b/src/GUI/CMakeLists.txt @@ -3,7 +3,6 @@ include(FlightGearComponent) set(SOURCES AirportList.cxx MapWidget.cxx - SafeTexFont.cxx WaypointList.cxx dialog.cxx FGPUIDialog.cxx @@ -23,7 +22,6 @@ set(SOURCES set(HEADERS AirportList.hxx MapWidget.hxx - SafeTexFont.hxx WaypointList.hxx dialog.hxx FGPUIDialog.hxx diff --git a/src/GUI/SafeTexFont.cxx b/src/GUI/SafeTexFont.cxx deleted file mode 100644 index 0fcfc6e47..000000000 --- a/src/GUI/SafeTexFont.cxx +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (C) 2008 Tim Moore -// -// This program 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 (at your option) any later version. -// -// This program 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 this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -#include <sys/types.h> -#include <sys/stat.h> -#include <errno.h> - -#include "SafeTexFont.hxx" - -using namespace flightgear; - -int SafeTexFont::load(const char *fname, GLenum mag, GLenum min) -{ - struct stat buf; - if (stat(fname, &buf) == -1) { - _status = e_ERROR; - return FNT_FALSE; - } - _name = fname; - _mag = mag; - _min = min; - return FNT_TRUE; -} - -bool SafeTexFont::ensureTextureLoaded() -{ - if (_status != e_ERROR) { - if (_status == e_LOADED) { - return true; - } else { - int loadStatus = fntTexFont::load(_name.c_str(), _mag, _min); - if (loadStatus == FNT_TRUE) { - _status = e_LOADED; - return true; - } else { - _status = e_ERROR; - _error = ulGetError(); - return false; - } - } - } else { - return false; - } -} - -void SafeTexFont::begin() -{ - if (ensureTextureLoaded()) - fntTexFont::begin(); -} - -void SafeTexFont::putch(sgVec3 curpos, float pointsize, float italic, char c) -{ - if (ensureTextureLoaded()) - fntTexFont::putch(curpos, pointsize, italic, c); -} - -void SafeTexFont::puts(sgVec3 curpos, float pointsize, float italic, - const char *s) -{ - if (ensureTextureLoaded()) - fntTexFont::puts(curpos, pointsize, italic, s); -} diff --git a/src/GUI/SafeTexFont.hxx b/src/GUI/SafeTexFont.hxx deleted file mode 100644 index 0e6397c8b..000000000 --- a/src/GUI/SafeTexFont.hxx +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (C) 2008 Tim Moore -// -// This program 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 (at your option) any later version. -// -// This program 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 this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -#ifndef FLIGHTGEAR_SAFETEXFONT_HXX -#define FLIGHTGEAR_SAFETEXFONT_HXX 1 - -#include <string> - -#include <plib/fnt.h> - -namespace flightgear -{ -/** - * Subclass of plib's fntTexFont that defers the loading of the font - * texture until just before rendering, insuring that it happens in - * the proper graphics context. - */ -class SafeTexFont : public fntTexFont -{ -public: - SafeTexFont() : _status(e_NOT_LOADED) {} - /** Load the texture for this font. - * @param mag OpenGL texture magnification; default is GL_NEAREST - * @param min OpenGL texture minification; default is - * GL_LINEAR_MIPMAP_LINEAR. - * @return the plib value FNT_FALSE if the font file doesn't - * exist; otherwise returns FNT_TRUE. - */ - int load(const char *fname, GLenum mag = GL_NEAREST, - GLenum min = GL_LINEAR_MIPMAP_LINEAR); - void begin(); - void putch(sgVec3 curpos, float pointsize, float italic, char c); - void puts(sgVec3 curpos, float pointsize, float italic, const char *s); - enum FontStatus - { - e_ERROR = -1, - e_NOT_LOADED = 0, - e_LOADED = 1 - }; - FontStatus getStatus() { return _status; } - std::string& fntError() { return _error; } -protected: - bool ensureTextureLoaded(); - std::string _name; - std::string _error; - GLenum _mag; - GLenum _min; - FontStatus _status; -}; -} -#endif