windowSystem.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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 }