Tried to make wxGLCanvas work again. WIP.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -187,6 +187,8 @@ gtk_myfixed_init (GtkMyFixed *myfixed)
|
||||
myfixed->scroll_x = 0;
|
||||
myfixed->scroll_y = 0;
|
||||
myfixed->visibility = GDK_VISIBILITY_PARTIAL;
|
||||
|
||||
myfixed->clear_on_draw = TRUE;
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
@@ -226,6 +228,16 @@ gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed,
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gtk_my_fixed_set_clear (GtkMyFixed *myfixed,
|
||||
gboolean clear)
|
||||
{
|
||||
g_return_if_fail (myfixed != NULL);
|
||||
g_return_if_fail (GTK_IS_MYFIXED (myfixed));
|
||||
|
||||
myfixed->clear_on_draw = clear;
|
||||
}
|
||||
|
||||
void
|
||||
gtk_myfixed_put (GtkMyFixed *myfixed,
|
||||
GtkWidget *widget,
|
||||
@@ -637,7 +649,8 @@ gtk_myfixed_draw (GtkWidget *widget,
|
||||
myfixed = GTK_MYFIXED (widget);
|
||||
|
||||
children = myfixed->children;
|
||||
if ( !(GTK_WIDGET_APP_PAINTABLE (widget)) )
|
||||
if ( !(GTK_WIDGET_APP_PAINTABLE (widget)) &&
|
||||
(myfixed->clear_on_draw))
|
||||
{
|
||||
gdk_window_clear_area( myfixed->bin_window,
|
||||
area->x, area->y, area->width, area->height);
|
||||
|
@@ -303,7 +303,7 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// "draw" of m_wxwindow
|
||||
// "draw" of m_widget
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNUSED(rect), wxWindow *win )
|
||||
@@ -1766,6 +1766,8 @@ void wxWindow::Init()
|
||||
m_hasVMT = FALSE;
|
||||
m_needParent = TRUE;
|
||||
m_isBeingDeleted = FALSE;
|
||||
|
||||
m_noExpose = FALSE;
|
||||
|
||||
m_hasScrolling = FALSE;
|
||||
m_isScrolling = FALSE;
|
||||
@@ -1776,7 +1778,6 @@ void wxWindow::Init()
|
||||
m_oldVerticalPos = 0.0;
|
||||
|
||||
m_resizing = FALSE;
|
||||
m_scrollGC = (GdkGC*) NULL;
|
||||
m_widgetStyle = (GtkStyle*) NULL;
|
||||
|
||||
m_insertCallback = (wxInsertChildFunction) NULL;
|
||||
@@ -1977,12 +1978,6 @@ wxWindow::~wxWindow()
|
||||
m_widgetStyle = (GtkStyle*) NULL;
|
||||
}
|
||||
|
||||
if (m_scrollGC)
|
||||
{
|
||||
gdk_gc_unref( m_scrollGC );
|
||||
m_scrollGC = (GdkGC*) NULL;
|
||||
}
|
||||
|
||||
if (m_wxwindow)
|
||||
{
|
||||
gtk_widget_destroy( m_wxwindow );
|
||||
@@ -2034,12 +2029,15 @@ void wxWindow::PostCreation()
|
||||
|
||||
if (m_wxwindow)
|
||||
{
|
||||
/* these get reported to wxWindows -> wxPaintEvent */
|
||||
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "expose_event",
|
||||
GTK_SIGNAL_FUNC(gtk_window_expose_callback), (gpointer)this );
|
||||
if (!m_noExpose)
|
||||
{
|
||||
/* these get reported to wxWindows -> wxPaintEvent */
|
||||
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "expose_event",
|
||||
GTK_SIGNAL_FUNC(gtk_window_expose_callback), (gpointer)this );
|
||||
|
||||
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw",
|
||||
GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this );
|
||||
gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw",
|
||||
GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this );
|
||||
}
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* these are called when the "sunken" or "raised" borders are drawn */
|
||||
|
Reference in New Issue
Block a user