From 2b5b932572d4386de0a1383982b96ef45c25ee05 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Tue, 6 May 2003 07:21:22 +0000 Subject: [PATCH] OpenGL for GTK2 fixes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/glcanvas.cpp | 8 ++++++++ src/gtk1/glcanvas.cpp | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/gtk/glcanvas.cpp b/src/gtk/glcanvas.cpp index ff037160c6..c55808b96f 100644 --- a/src/gtk/glcanvas.cpp +++ b/src/gtk/glcanvas.cpp @@ -206,6 +206,7 @@ gtk_glwindow_expose_callback( GtkWidget *WXUNUSED(widget), GdkEventExpose *gdk_e // "draw" of m_wxwindow //----------------------------------------------------------------------------- +#ifndef __WXGTK20__ static void gtk_glwindow_draw_callback( GtkWidget *WXUNUSED(widget), GdkRectangle *rect, wxGLCanvas *win ) { @@ -217,6 +218,7 @@ gtk_glwindow_draw_callback( GtkWidget *WXUNUSED(widget), GdkRectangle *rect, wxG win->GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height ); } +#endif //----------------------------------------------------------------------------- // "size_allocate" of m_wxwindow @@ -319,6 +321,10 @@ bool wxGLCanvas::Create( wxWindow *parent, m_glWidget = m_wxwindow; +#ifdef __WXGTK20__ + gtk_widget_set_double_buffered( m_glWidget, FALSE ); +#endif + gtk_pizza_set_clear( GTK_PIZZA(m_wxwindow), FALSE ); gtk_signal_connect( GTK_OBJECT(m_wxwindow), "realize", @@ -330,8 +336,10 @@ bool wxGLCanvas::Create( wxWindow *parent, gtk_signal_connect( GTK_OBJECT(m_wxwindow), "expose_event", GTK_SIGNAL_FUNC(gtk_glwindow_expose_callback), (gpointer)this ); +#ifndef __WXGTK20__ gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw", GTK_SIGNAL_FUNC(gtk_glwindow_draw_callback), (gpointer)this ); +#endif gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate", GTK_SIGNAL_FUNC(gtk_glcanvas_size_callback), (gpointer)this ); diff --git a/src/gtk1/glcanvas.cpp b/src/gtk1/glcanvas.cpp index ff037160c6..c55808b96f 100644 --- a/src/gtk1/glcanvas.cpp +++ b/src/gtk1/glcanvas.cpp @@ -206,6 +206,7 @@ gtk_glwindow_expose_callback( GtkWidget *WXUNUSED(widget), GdkEventExpose *gdk_e // "draw" of m_wxwindow //----------------------------------------------------------------------------- +#ifndef __WXGTK20__ static void gtk_glwindow_draw_callback( GtkWidget *WXUNUSED(widget), GdkRectangle *rect, wxGLCanvas *win ) { @@ -217,6 +218,7 @@ gtk_glwindow_draw_callback( GtkWidget *WXUNUSED(widget), GdkRectangle *rect, wxG win->GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height ); } +#endif //----------------------------------------------------------------------------- // "size_allocate" of m_wxwindow @@ -319,6 +321,10 @@ bool wxGLCanvas::Create( wxWindow *parent, m_glWidget = m_wxwindow; +#ifdef __WXGTK20__ + gtk_widget_set_double_buffered( m_glWidget, FALSE ); +#endif + gtk_pizza_set_clear( GTK_PIZZA(m_wxwindow), FALSE ); gtk_signal_connect( GTK_OBJECT(m_wxwindow), "realize", @@ -330,8 +336,10 @@ bool wxGLCanvas::Create( wxWindow *parent, gtk_signal_connect( GTK_OBJECT(m_wxwindow), "expose_event", GTK_SIGNAL_FUNC(gtk_glwindow_expose_callback), (gpointer)this ); +#ifndef __WXGTK20__ gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw", GTK_SIGNAL_FUNC(gtk_glwindow_draw_callback), (gpointer)this ); +#endif gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate", GTK_SIGNAL_FUNC(gtk_glcanvas_size_callback), (gpointer)this ); -- 2.45.2