]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/glcanvas.cpp
Correct format specifiers used to show wxIPV4address.
[wxWidgets.git] / src / osx / carbon / glcanvas.cpp
index 4084a19ecbbc9ee2da4c76f66a5fe150fcfd0c61..f8483e844ecef6f7888c452f6acadcee2f711912 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        src/mac/carbon/glcanvas.cpp
+// Name:        src/osx/carbon/glcanvas.cpp
 // Purpose:     wxGLCanvas, for using OpenGL with wxWidgets under Macintosh
 // Author:      Stefan Csomor
 // Modified by:
 // Purpose:     wxGLCanvas, for using OpenGL with wxWidgets under Macintosh
 // Author:      Stefan Csomor
 // Modified by:
@@ -77,11 +77,6 @@ void WXGLDestroyContext( WXGLContext context )
     }
 }
 
     }
 }
 
-void WXGLSwapBuffers( WXGLContext context )
-{
-    aglSwapBuffers(context);
-}
-
 WXGLContext WXGLGetCurrentContext()
 {
     return aglGetCurrentContext();
 WXGLContext WXGLGetCurrentContext()
 {
     return aglGetCurrentContext();
@@ -268,7 +263,7 @@ bool wxGLContext::SetCurrent(const wxGLCanvas& win) const
     GLint bufnummer = win.GetAglBufferName();
     aglSetInteger(m_glContext, AGL_BUFFER_NAME, &bufnummer);
     //win.SetLastContext(m_glContext);
     GLint bufnummer = win.GetAglBufferName();
     aglSetInteger(m_glContext, AGL_BUFFER_NAME, &bufnummer);
     //win.SetLastContext(m_glContext);
-    
+
     const_cast<wxGLCanvas&>(win).SetViewport();
 
     if ( !aglSetDrawable(m_glContext, drawable) )
     const_cast<wxGLCanvas&>(win).SetViewport();
 
     if ( !aglSetDrawable(m_glContext, drawable) )
@@ -286,19 +281,19 @@ bool wxGLContext::SetCurrent(const wxGLCanvas& win) const
 
 /*
 
 
 /*
 
-sharing contexts under AGL is not straightforward, to quote from 
+sharing contexts under AGL is not straightforward, to quote from
 
 http://lists.apple.com/archives/mac-opengl/2003/Jan/msg00402.html :
 
 
 http://lists.apple.com/archives/mac-opengl/2003/Jan/msg00402.html :
 
-In Carbon OpenGL (AGL) you would use call aglSetInteger to setup a 
-buffer name and attached each context to that same name. From AGL 
+In Carbon OpenGL (AGL) you would use call aglSetInteger to setup a
+buffer name and attached each context to that same name. From AGL
 you can do:
 
 GLint id = 1;
 
 ctx1 = aglCreateContext...
 aglSetInteger(ctx1, AGL_BUFFER_NAME, &id); // create name
 you can do:
 
 GLint id = 1;
 
 ctx1 = aglCreateContext...
 aglSetInteger(ctx1, AGL_BUFFER_NAME, &id); // create name
-aglAttachDrawable (ctx1,...); // create surface with associated with 
+aglAttachDrawable (ctx1,...); // create surface with associated with
 name (first time)
 ctx2 = aglCreateContext...
 aglSetInteger(ctx2, AGL_BUFFER_NAME, &id); // uses previously created name
 name (first time)
 ctx2 = aglCreateContext...
 aglSetInteger(ctx2, AGL_BUFFER_NAME, &id); // uses previously created name
@@ -320,7 +315,7 @@ context behavior.
 */
 
 /*
 */
 
 /*
-so what I'm doing is to have a dummy aglContext attached to a wxGLCanvas, 
+so what I'm doing is to have a dummy aglContext attached to a wxGLCanvas,
 assign it a buffer number
 */
 
 assign it a buffer number
 */
 
@@ -348,8 +343,8 @@ bool wxGLCanvas::Create(wxWindow *parent,
 
     static GLint gCurrentBufferName = 1;
     m_bufferName = gCurrentBufferName++;
 
     static GLint gCurrentBufferName = 1;
     m_bufferName = gCurrentBufferName++;
-    aglSetInteger (m_dummyContext, AGL_BUFFER_NAME, &m_bufferName); 
-    
+    aglSetInteger (m_dummyContext, AGL_BUFFER_NAME, &m_bufferName);
+
     AGLDrawable drawable = (AGLDrawable)GetWindowPort(MAC_WXHWND(MacGetTopLevelWindowRef()));
     aglSetDrawable(m_dummyContext, drawable);
 
     AGLDrawable drawable = (AGLDrawable)GetWindowPort(MAC_WXHWND(MacGetTopLevelWindowRef()));
     aglSetDrawable(m_dummyContext, drawable);
 
@@ -362,11 +357,20 @@ wxGLCanvas::~wxGLCanvas()
 {
     if ( m_glFormat )
         WXGLDestroyPixelFormat(m_glFormat);
 {
     if ( m_glFormat )
         WXGLDestroyPixelFormat(m_glFormat);
-        
+
     if ( m_dummyContext )
         WXGLDestroyContext(m_dummyContext);
 }
 
     if ( m_dummyContext )
         WXGLDestroyContext(m_dummyContext);
 }
 
+bool wxGLCanvas::SwapBuffers()
+{
+    WXGLContext context = WXGLGetCurrentContext();
+    wxCHECK_MSG(context, false, wxT("should have current context"));
+
+    aglSwapBuffers(context);
+    return true;
+}
+
 void wxGLCanvas::SetViewport()
 {
     if ( !m_needsUpdate )
 void wxGLCanvas::SetViewport()
 {
     if ( !m_needsUpdate )