#include <gtk/gtk.h>
#include <gdk/gdkx.h>
-#include "wx/gtk/win_gtk.h"
-
#if WXWIN_COMPATIBILITY_2_8
//-----------------------------------------------------------------------------
GdkVisual *visual;
GdkColormap *colormap;
- // MR: This needs a fix for lower gtk+ versions too. Might need to rethink logic (FIXME)
-#if defined(__WXGTK20__) && GTK_CHECK_VERSION(2,2,0)
- if (!gtk_check_version(2,2,0))
- {
- wxWindow::Create( parent, id, pos, size, style, name );
-
- m_glWidget = m_wxwindow;
+ wxWindow::Create( parent, id, pos, size, style, name );
- GdkScreen *screen = gtk_widget_get_screen( m_glWidget );
- colormap = gdk_screen_get_default_colormap(screen);
- visual = gdk_colormap_get_visual(colormap);
+ m_glWidget = m_wxwindow;
- if (GDK_VISUAL_XVISUAL(visual)->visualid != xvi->visualid)
- {
- visual = gdk_x11_screen_lookup_visual( screen, xvi->visualid );
- colormap = gdk_colormap_new(visual, FALSE);
- }
+ GdkScreen *screen = gtk_widget_get_screen( m_glWidget );
+ colormap = gdk_screen_get_default_colormap(screen);
+ visual = gdk_colormap_get_visual(colormap);
- gtk_widget_set_colormap( m_glWidget, colormap );
- }
- else
-#endif // GTK+ >= 2.2
+ if (GDK_VISUAL_XVISUAL(visual)->visualid != xvi->visualid)
{
- visual = gdkx_visual_get( xvi->visualid );
- colormap = gdk_colormap_new( visual, TRUE );
-
- gtk_widget_push_colormap( colormap );
-
- wxWindow::Create( parent, id, pos, size, style, name );
- m_glWidget = m_wxwindow;
+ visual = gdk_x11_screen_lookup_visual( screen, xvi->visualid );
+ colormap = gdk_colormap_new(visual, FALSE);
}
+ gtk_widget_set_colormap( m_glWidget, colormap );
+
gtk_widget_set_double_buffered( m_glWidget, FALSE );
#if WXWIN_COMPATIBILITY_2_8
g_signal_connect(m_wxwindow, "expose_event", G_CALLBACK(gtk_glwindow_expose_callback), this);
g_signal_connect(m_widget, "size_allocate", G_CALLBACK(gtk_glcanvas_size_callback), this);
- if (gtk_check_version(2,2,0) != NULL)
- {
- gtk_widget_pop_colormap();
- }
-
#if WXWIN_COMPATIBILITY_2_8
// 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
Window wxGLCanvas::GetXWindow() const
{
- GdkWindow *window = GTK_PIZZA(m_wxwindow)->bin_window;
+ GdkWindow *window = m_wxwindow->window;
return window ? GDK_WINDOW_XWINDOW(window) : 0;
}