]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/glcanvas.cpp
test wxExecute() in the sample
[wxWidgets.git] / src / mac / glcanvas.cpp
index 1629d068b66e6eb2c2bac929cd2d442730fb4ed5..62d9c307c44a67542b3859f67957d993cb0f1fbe 100644 (file)
@@ -45,7 +45,7 @@ wxGLContext::wxGLContext(
 {
     m_window = win;
 
-    m_drawable = (AGLDrawable) UMAGetWindowPort(win->GetMacRootWindow());
+    m_drawable = (AGLDrawable) UMAGetWindowPort(MAC_WXHWND(win->MacGetRootWindow()));
 
     m_glContext = aglCreateContext(fmt, other ? other->m_glContext : NULL);
     wxCHECK_RET( m_glContext, wxT("Couldn't create OpenGl context") );
@@ -216,7 +216,6 @@ bool wxGLCanvas::Create(wxWindow *parent, const wxGLContext *shared, wxWindowID
                        const wxPoint& pos, const wxSize& size, long style, const wxString& name,
                        int *attribList, const wxPalette& palette)
 {
-       m_macEraseOnRedraw = false ;
     wxWindow::Create( parent, id, pos, size, style, name );
 
     AGLPixelFormat fmt = ChoosePixelFormat(attribList);
@@ -252,7 +251,7 @@ void wxGLCanvas::SetViewport()
     int width, height;
     GetClientSize(& width, & height);
     Rect bounds ;
-    GetWindowPortBounds( GetMacRootWindow() , &bounds ) ;
+    GetWindowPortBounds( MAC_WXHWND(MacGetRootWindow()) , &bounds ) ;
     GLint parms[4] ;
     parms[0] = x ;
     parms[1] = bounds.bottom - bounds.top - ( y + height ) ;
@@ -263,20 +262,32 @@ void wxGLCanvas::SetViewport()
 }
 
 void wxGLCanvas::OnSize(wxSizeEvent& event)
+{
+  MacUpdateView() ;
+}
+
+void wxGLCanvas::MacUpdateView()
 {
   if (m_glContext)
   {
     UpdateContext();
     m_glContext->SetCurrent();
-
     SetViewport();
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-    glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
-    glMatrixMode(GL_MODELVIEW);
   }
 }
 
+void wxGLCanvas::MacSuperChangedPosition()
+{
+  MacUpdateView() ;
+  wxWindow::MacSuperChangedPosition() ;
+}
+
+void wxGLCanvas::MacTopLevelWindowChangedPosition()
+{
+  MacUpdateView() ;
+  wxWindow::MacTopLevelWindowChangedPosition() ;
+}
+
 void wxGLCanvas::SetCurrent()
 {
   if (m_glContext)