![[]](/images/special/trans.gif)
LibN2L-4 Library Code ReferenceClassesCompounds Files Members Method Index Full Reference cOpenGLException.cppGo to the documentation of this file.00001 /************************************************************************ 00002 Nova-2 Library (libN2L, or simply n2l) Game development C++ Library 00003 Copyright (C) 2003 Aaron Cameron 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 A copy of the GNU Lesser General Public License has been provided with 00020 this library in the file 'COPYING'. 00021 00022 Contact information for the author of this library has been provided 00023 with this library in the file 'AUTHOR'. 00024 ************************************************************************/ 00025 #include "cOpenGLException.h" 00026 00027 namespace n2l 00028 { 00029 00030 /* ************************************************************************* */ 00031 cOpenGLException::cOpenGLException( const tString & iCallSource, 00032 const tString & iMessage, 00033 const GLenum iDriverError ) : 00034 cDriverLayerException( iCallSource, 00035 iMessage, 00036 "OpenGL", 00037 glEnumErrorToStr(iDriverError) ), 00038 mDriverError( iDriverError ) 00039 { 00040 } 00041 00042 00043 /* ************************************************************************* */ 00044 cOpenGLException::~cOpenGLException() 00045 { 00046 } 00047 00048 /* ************************************************************************* */ 00049 const GLenum cOpenGLException::driverErrorNum() const 00050 { 00051 return mDriverError; 00052 } 00053 00054 00055 /* ************************************************************************* */ 00056 const tString & cOpenGLException::glEnumErrorToStr( const GLenum iDriverError ) const 00057 { 00058 static const tString ErrorStr_Unlisted = "n2l:(Unlisted GL_* Error)"; 00059 static const tString ErrorStr_GL_NO_ERROR = "GL_NO_ERROR"; 00060 static const tString ErrorStr_GL_INVALID_ENUM = "GL_INVALID_ENUM"; 00061 static const tString ErrorStr_GL_INVALID_VALUE = "GL_INVALID_VALUE"; 00062 static const tString ErrorStr_GL_INVALID_OPERATION ="GL_INVALID_OPERATION"; 00063 static const tString ErrorStr_GL_STACK_OVERFLOW = "GL_STACK_OVERFLOW"; 00064 static const tString ErrorStr_GL_STACK_UNDERFLOW = "GL_STACK_UNDERFLOW"; 00065 static const tString ErrorStr_GL_OUT_OF_MEMORY = "GL_OUT_OF_MEMORY"; 00066 switch (iDriverError) { 00067 case GL_NO_ERROR: return ErrorStr_GL_NO_ERROR; 00068 case GL_INVALID_ENUM: return ErrorStr_GL_INVALID_ENUM; 00069 case GL_INVALID_VALUE: return ErrorStr_GL_INVALID_VALUE; 00070 case GL_INVALID_OPERATION: return ErrorStr_GL_INVALID_OPERATION; 00071 case GL_STACK_OVERFLOW: return ErrorStr_GL_STACK_OVERFLOW; 00072 case GL_STACK_UNDERFLOW: return ErrorStr_GL_STACK_UNDERFLOW; 00073 case GL_OUT_OF_MEMORY: return ErrorStr_GL_OUT_OF_MEMORY; 00074 default: return ErrorStr_Unlisted; 00075 }; // switch 00076 } 00077 00078 00079 } |