]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/glcanvas.cpp
different approaches implemented
[wxWidgets.git] / src / mac / carbon / glcanvas.cpp
index e208531ff41307375decf7fa64b0e0e0c56e7094..e6a8b50a69cf9343225f4a229f967929aa294098 100644 (file)
@@ -49,7 +49,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") );
@@ -262,7 +262,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 ) ;
@@ -320,7 +320,7 @@ bool wxGLCanvas::Show(bool show)
 {
     if ( !wxWindow::Show( show ) )
         return FALSE ;
-        
+/*        
     if ( !show )
     {
         if ( m_macCanvasIsShown )
@@ -331,18 +331,19 @@ bool wxGLCanvas::Show(bool show)
     }
     else
     {
-        if ( MacIsReallyShown() && !m_macCanvasIsShown )
+        if ( IsControlVisible( (ControlRef) m_macControl ) && !m_macCanvasIsShown )
         {
             m_macCanvasIsShown = true ;
             SetViewport() ;
         }
     }
+*/
     return TRUE ;
 }
 
-void wxGLCanvas::MacSuperShown( bool show 
+void wxGLCanvas::MacVisibilityChanged(
 {
-    if ( !show )
+    if ( !IsControlVisible( (ControlRef) m_macControl ) )
     {
         if ( m_macCanvasIsShown )
         {
@@ -352,14 +353,13 @@ void wxGLCanvas::MacSuperShown( bool show )
     }
     else
     {
-        if ( MacIsReallyShown() && !m_macCanvasIsShown )
+        if ( !m_macCanvasIsShown )
         {
             m_macCanvasIsShown = true ;
             SetViewport() ;
         }
     }
-        
-    wxWindow::MacSuperShown( show ) ;
+    wxWindowMac::MacVisibilityChanged() ;
 }
 
 //---------------------------------------------------------------------------