]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/glcanvas.cpp
Add some version checks to help compiling on OSX.
[wxWidgets.git] / src / gtk / glcanvas.cpp
index ab444bc18c94cd180dcbdfe321d86add3ce5fed7..fa4825be051680f1d57d22a5a9c91ca8a3ab6951 100644 (file)
 
 #include "wx/glcanvas.h"
 
-#ifndef WX_PRECOMP
-    #include "wx/app.h"
-    #include "wx/frame.h"
-    #include "wx/colour.h"
-    #include "wx/module.h"
-#endif // WX_PRECOMP
-
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
+#include "wx/gtk/private/gtk2-compat.h"
 
 #if WXWIN_COMPATIBILITY_2_8
 
@@ -157,6 +151,9 @@ wxGLCanvas::wxGLCanvas(wxWindow *parent,
                        const wxPalette& palette)
     : m_createImplicitContext(true)
 {
+    m_sharedContext = NULL;
+    m_sharedContextOf = NULL;
+
     Create(parent, id, pos, size, style, name, attribList, palette);
 }
 
@@ -171,7 +168,7 @@ wxGLCanvas::wxGLCanvas(wxWindow *parent,
                        const wxPalette& palette)
     : m_createImplicitContext(true)
 {
-    m_sharedContext = wx_const_cast(wxGLContext *, shared);
+    m_sharedContext = const_cast<wxGLContext *>(shared);
 
     Create(parent, id, pos, size, style, name, attribList, palette);
 }
@@ -185,7 +182,8 @@ wxGLCanvas::wxGLCanvas(wxWindow *parent,
                        const wxPalette& palette )
     : m_createImplicitContext(true)
 {
-    m_sharedContextOf = wx_const_cast(wxGLCanvas *, shared);
+    m_sharedContext = NULL;
+    m_sharedContextOf = const_cast<wxGLCanvas *>(shared);
 
     Create(parent, id, pos, size, style, name, attribList, palette);
 }
@@ -199,9 +197,12 @@ bool wxGLCanvas::Create(wxWindow *parent,
                         long style,
                         const wxString& name,
                         const int *attribList,
-                        const wxPalette& WXUNUSED_UNLESS_DEBUG(palette))
+                        const wxPalette& palette)
 {
-    wxASSERT_MSG( !palette.IsOk(), _T("palettes not supported") );
+#if wxUSE_PALETTE
+    wxASSERT_MSG( !palette.IsOk(), wxT("palettes not supported") );
+#endif // wxUSE_PALETTE
+    wxUnusedVar(palette); // Unused when wxDEBUG_LEVEL==0
 
     m_exposed = false;
     m_noExpose = true;
@@ -231,11 +232,11 @@ bool wxGLCanvas::Create(wxWindow *parent,
     // if our parent window is already visible, we had been realized before we
     // connected to the "realize" signal and hence our m_glContext hasn't been
     // initialized yet and we have to do it now
-    if (GTK_WIDGET_REALIZED(m_wxwindow))
+    if (gtk_widget_get_realized(m_wxwindow))
         gtk_glwindow_realized_callback( m_wxwindow, this );
 #endif // WXWIN_COMPATIBILITY_2_8
 
-    if (GTK_WIDGET_MAPPED(m_wxwindow))
+    if (gtk_widget_get_mapped(m_wxwindow))
         gtk_glwindow_map_callback( m_wxwindow, this );
 
     return true;
@@ -243,7 +244,7 @@ bool wxGLCanvas::Create(wxWindow *parent,
 
 Window wxGLCanvas::GetXWindow() const
 {
-    GdkWindow *window = m_wxwindow->window;
+    GdkWindow* window = GTKGetDrawingWindow();
     return window ? GDK_WINDOW_XWINDOW(window) : 0;
 }