]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/glcanvas.cpp
Mac compilation fix after const patch
[wxWidgets.git] / src / mac / carbon / glcanvas.cpp
index 44215b6b75824b9678a9a68717f3131d14498dea..ac3533cefcf114a14f69dc6ff91fb5d7426c1f96 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        glcanvas.cpp
-// Purpose:     wxGLCanvas, for using OpenGL with wxWindows under Macintosh
+// Purpose:     wxGLCanvas, for using OpenGL with wxWidgets under Macintosh
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
@@ -9,18 +9,12 @@
 // Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "glcanvas.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #if defined(__BORLANDC__)
 #pragma hdrstop
 #endif
 
-#include "wx/setup.h"
-
 #if wxUSE_GLCANVAS
 
 #ifndef WX_PRECOMP
@@ -49,7 +43,7 @@ wxGLContext::wxGLContext(
 {
     m_window = win;
     
-    m_drawable = (AGLDrawable) UMAGetWindowPort(MAC_WXHWND(win->MacGetRootWindow()));
+    m_drawable = (AGLDrawable) UMAGetWindowPort(MAC_WXHWND(win->MacGetTopLevelWindowRef()));
     
     m_glContext = aglCreateContext(fmt, other ? other->m_glContext : NULL);
     wxCHECK_RET( m_glContext, wxT("Couldn't create OpenGl context") );
@@ -97,15 +91,12 @@ void wxGLContext::Update()
 
 void wxGLContext::SetColour(const wxChar *colour)
 {
-    float r = 0.0;
-    float g = 0.0;
-    float b = 0.0;
-    wxColour *col = wxTheColourDatabase->FindColour(colour);
-    if (col)
+    wxColour col = wxTheColourDatabase->Find(colour);
+    if (col.Ok())
     {
-        r = (float)(col->Red()/256.0);
-        g = (float)(col->Green()/256.0);
-        b = (float)(col->Blue()/256.0);
+        float r = (float)(col.Red()/256.0);
+        float g = (float)(col.Green()/256.0);
+        float b = (float)(col.Blue()/256.0);
         glColor3f( r, g, b);
     }
 }
@@ -265,7 +256,7 @@ void wxGLCanvas::SetViewport()
            int width, height;
            GetClientSize(& width, & height);
            Rect bounds ;
-           GetWindowPortBounds( MAC_WXHWND(MacGetRootWindow()) , &bounds ) ;
+           GetWindowPortBounds( MAC_WXHWND(MacGetTopLevelWindowRef()) , &bounds ) ;
            GLint parms[4] ;
            parms[0] = x ;
            parms[1] = bounds.bottom - bounds.top - ( y + height ) ;
@@ -323,7 +314,7 @@ bool wxGLCanvas::Show(bool show)
 {
     if ( !wxWindow::Show( show ) )
         return FALSE ;
-        
+/*        
     if ( !show )
     {
         if ( m_macCanvasIsShown )
@@ -334,18 +325,19 @@ bool wxGLCanvas::Show(bool show)
     }
     else
     {
-        if ( MacIsReallyShown() && !m_macCanvasIsShown )
+        if ( m_peer->IsVisible()&& !m_macCanvasIsShown )
         {
             m_macCanvasIsShown = true ;
             SetViewport() ;
         }
     }
+*/
     return TRUE ;
 }
 
-void wxGLCanvas::MacSuperShown( bool show 
+void wxGLCanvas::MacVisibilityChanged(
 {
-    if ( !show )
+    if ( !MacIsReallyShown() )
     {
         if ( m_macCanvasIsShown )
         {
@@ -355,14 +347,13 @@ void wxGLCanvas::MacSuperShown( bool show )
     }
     else
     {
-        if ( MacIsReallyShown() && !m_macCanvasIsShown )
+        if ( !m_macCanvasIsShown )
         {
             m_macCanvasIsShown = true ;
             SetViewport() ;
         }
     }
-        
-    wxWindow::MacSuperShown( show ) ;
+    wxWindowMac::MacVisibilityChanged() ;
 }
 
 //---------------------------------------------------------------------------