]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/glcanvas.cpp
Committed forgotten files
[wxWidgets.git] / src / x11 / glcanvas.cpp
index 5b619202a0d358ee33158654e7b21c27e7f013d1..11eda0cfe559905dcbebb2674d497e0abc155741 100644 (file)
@@ -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:
 // 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);
+        }
     }
 }