windowSystem.cpp

00001 
00002 /* Copyright (c) 2007-2009, Stefan Eilemann <eile@equalizergraphics.com> 
00003  *
00004  * This library is free software; you can redistribute it and/or modify it under
00005  * the terms of the GNU Lesser General Public License version 2.1 as published
00006  * by the Free Software Foundation.
00007  *  
00008  * This library is distributed in the hope that it will be useful, but WITHOUT
00009  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00010  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
00011  * details.
00012  * 
00013  * You should have received a copy of the GNU Lesser General Public License
00014  * along with this library; if not, write to the Free Software Foundation, Inc.,
00015  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00016  */
00017 
00018 #include "windowSystem.h"
00019 
00020 #include <eq/base/debug.h>
00021 
00022 using namespace std;
00023 using namespace eq::base;
00024 
00025 namespace eq
00026 {
00027 EQ_EXPORT void debugGLError( const std::string& when, const GLenum error, 
00028                    const char* file, const int line )
00029 {                                                                 
00030     EQWARN << disableFlush << "Got ";
00031     switch( error )
00032     {
00033         case GL_INVALID_ENUM:
00034             EQWARN << "GL_INVALID_ENUM"; break;
00035         case GL_INVALID_VALUE:
00036             EQWARN << "GL_INVALID_VALUE"; break;
00037         case GL_INVALID_OPERATION:
00038             EQWARN << "GL_INVALID_OPERATION"; break;
00039         case GL_STACK_OVERFLOW:
00040             EQWARN << "GL_STACK_OVERFLOW"; break;
00041         case GL_STACK_UNDERFLOW:
00042             EQWARN << "GL_STACK_UNDERFLOW"; break;
00043         case GL_OUT_OF_MEMORY:
00044             EQWARN << "GL_OUT_OF_MEMORY"; break;
00045         default:
00046             EQWARN << "GL error 0x" << hex << error << dec; break;
00047     }
00048     
00049     EQWARN << ' ' << when << " in " << file << ':' << line << endl
00050            << "    Set breakpoint in " << __FILE__ << ':' << __LINE__ + 1 
00051            << " to debug" << endl << enableFlush;
00052 }                                 
00053                         
00054 EQ_EXPORT std::ostream& operator << ( std::ostream& os, const WindowSystem ws )
00055 {
00056     if( ws >= WINDOW_SYSTEM_ALL )
00057         os << "unknown (" << static_cast<unsigned>( ws ) << ')';
00058     else 
00059         os << ( ws == WINDOW_SYSTEM_NONE ? "none" :
00060                 ws == WINDOW_SYSTEM_AGL  ? "agl"  :
00061                 ws == WINDOW_SYSTEM_GLX  ? "glX"  :
00062                 ws == WINDOW_SYSTEM_WGL  ? "wgl"  : "error" );
00063 
00064     return os;
00065 }
00066 }
Generated on Mon Aug 10 18:58:41 2009 for Equalizer 0.9 by  doxygen 1.5.8