X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/54385bdb3f485f25656511b5a6b1b8ced03e0688..4c81b43195fca7768fe5b7db1a93b51b41b8f28a:/src/x11/glcanvas.cpp diff --git a/src/x11/glcanvas.cpp b/src/x11/glcanvas.cpp index 5b619202a0..11eda0cfe5 100644 --- a/src/x11/glcanvas.cpp +++ b/src/x11/glcanvas.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: glcanvas.cpp -// Purpose: wxGLCanvas, for using OpenGL with wxWindows +// Purpose: wxGLCanvas, for using OpenGL with wxWidgets // Uses the GLX extension. // Author: Julian Smart and Wolfram Gloger // Modified by: @@ -10,10 +10,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "glcanvas.h" -#endif - #include "wx/setup.h" #if wxUSE_GLCANVAS @@ -132,34 +128,38 @@ void wxGLContext::SetCurrent() { Display* display = (Display*) wxGetDisplay(); glXMakeCurrent(display, (Window) wxGetClientAreaWindow(m_window), - m_glContext );; + m_glContext ); } } void wxGLContext::SetColour(const wxChar *colour) { - wxColour *the_colour = wxTheColourDatabase->FindColour(colour); - if(the_colour) { - GLboolean b; - glGetBooleanv(GL_RGBA_MODE, &b); - if(b) { - glColor3ub(the_colour->Red(), - the_colour->Green(), - the_colour->Blue()); - } else { + wxColour the_colour = wxTheColourDatabase->Find(colour); + if(the_colour.Ok()) + { + GLboolean b; + glGetBooleanv(GL_RGBA_MODE, &b); + if(b) + { + glColor3ub(the_colour.Red(), + the_colour.Green(), + the_colour.Blue()); + } + else + { #ifdef __WXMOTIF__ - the_colour->AllocColour(m_window->GetXDisplay()); + the_colour.AllocColour(m_window->GetXDisplay()); #else - the_colour->CalcPixel(wxTheApp->GetMainColormap(wxGetDisplay())); + the_colour.CalcPixel(wxTheApp->GetMainColormap(wxGetDisplay())); #endif - GLint pix = (GLint)the_colour->GetPixel(); - if(pix == -1) + GLint pix = (GLint)the_colour.GetPixel(); + if(pix == -1) { wxLogError(wxT("wxGLCanvas: cannot allocate color\n")); - return; + return; } - glIndexi(pix); - } + glIndexi(pix); + } } }