]> git.saurik.com Git - wxWidgets.git/commitdiff
OpenGL changes for carbon and cocoa
authorStefan Csomor <csomor@advancedconcepts.ch>
Sun, 13 Sep 2009 17:19:01 +0000 (17:19 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sun, 13 Sep 2009 17:19:01 +0000 (17:19 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/glcanvas.h
src/osx/carbon/glcanvas.cpp
src/osx/cocoa/glcanvas.mm
src/osx/glcanvas_osx.cpp

index 62b5c001beebbcb8cdd8ffbe960eba71642503f6..ff97bdf0eff8576305b445ec284286fd6da94cfd 100644 (file)
 #ifdef __WXOSX_IPHONE__
 #import <OpenGLES/ES1/gl.h>
 #import <OpenGLES/ES1/glext.h>
+#define wxUSE_OPENGL_EMULATION 1
 #else
 #include <OpenGL/gl.h>
 #endif
 
+#include "wx/vector.h"
+
 // low level calls
 
 WXDLLIMPEXP_GL WXGLContext WXGLCreateContext( WXGLPixelFormat pixelFormat, WXGLContext shareContext );
 WXDLLIMPEXP_GL void WXGLDestroyContext( WXGLContext context );
+
 WXDLLIMPEXP_GL WXGLContext WXGLGetCurrentContext();
 WXDLLIMPEXP_GL bool WXGLSetCurrentContext(WXGLContext context);
-WXDLLIMPEXP_GL void WXGLSwapBuffers( WXGLContext context );
 
 WXDLLIMPEXP_GL WXGLPixelFormat WXGLChoosePixelFormat(const int *attribList);
 WXDLLIMPEXP_GL void WXGLDestroyPixelFormat( WXGLPixelFormat pixelFormat );
index 4029acc11c26ed824f3ebb5e7b4256db6ef4ed03..9a6226dd9a74499565ff277d3465fd3112e82bac 100644 (file)
@@ -77,11 +77,6 @@ void WXGLDestroyContext( WXGLContext context )
     }
 }
 
-void WXGLSwapBuffers( WXGLContext context )
-{
-    aglSwapBuffers(context);
-}
-
 WXGLContext WXGLGetCurrentContext()
 {
     return aglGetCurrentContext();
@@ -367,6 +362,15 @@ wxGLCanvas::~wxGLCanvas()
         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 )
index 4c5f6ec1e5a6a7d96fdc268c43ff099811e650a7..bebcdcefdbb829dc17b158c674ef96d10857cebd 100644 (file)
@@ -221,19 +221,6 @@ WXGLPixelFormat WXGLChoosePixelFormat(const int *attribList)
     return [[NSOpenGLPixelFormat alloc] initWithAttributes:(NSOpenGLPixelFormatAttribute*) attribs];
 }
 
-bool wxGLContext::SetCurrent(const wxGLCanvas& win) const
-{
-    if ( !m_glContext )
-        return false;
-
-    [m_glContext setView: win.GetHandle() ];
-    [m_glContext update];
-
-    [m_glContext makeCurrentContext];
-
-    return true;
-}
-
 @interface wxNSCustomOpenGLView : NSView
 {
     NSOpenGLContext* context;
@@ -294,5 +281,27 @@ wxGLCanvas::~wxGLCanvas()
         WXGLDestroyPixelFormat(m_glFormat);
 }
 
+bool wxGLCanvas::SwapBuffers()
+{
+    WXGLContext context = WXGLGetCurrentContext();
+    wxCHECK_MSG(context, false, wxT("should have current context"));
+
+    [context flushBuffer];
+
+    return true;
+}
+
+bool wxGLContext::SetCurrent(const wxGLCanvas& win) const
+{
+    if ( !m_glContext )
+        return false;  
+
+    [m_glContext setView: win.GetHandle() ];
+    [m_glContext update];
+    
+    [m_glContext makeCurrentContext];
+    
+    return true;
+}
 
 #endif // wxUSE_GLCANVAS
index d5710897097508a56b1f84253a6a6f6ee0b15431..56f74a7f4139ec433a2509a5f8651c23a151a714 100644 (file)
@@ -35,8 +35,6 @@
 
 #include "wx/osx/private.h"
 
-#include <AGL/agl.h>
-
 // ----------------------------------------------------------------------------
 // wxGLCanvas
 // ----------------------------------------------------------------------------
@@ -147,15 +145,6 @@ bool wxGLCanvasBase::IsDisplaySupported(const int *attribList)
     return true;
 }
 
-bool wxGLCanvas::SwapBuffers()
-{
-    WXGLContext context = WXGLGetCurrentContext();
-    wxCHECK_MSG(context, false, wxT("should have current context"));
-
-    WXGLSwapBuffers(context);
-    return true;
-}
-
 bool wxGLCanvasBase::IsExtensionSupported(const char *extension)
 {
     // we need a valid context to query for extensions.