- m_sharedContext = (wxGLContext*)shared; // const_cast
- m_sharedContextOf = (wxGLCanvas*)shared_context_of; // const_cast
- m_glContext = (wxGLContext*) NULL;
-
- m_exposed = FALSE;
- m_noExpose = TRUE;
- m_nativeSizeEvent = TRUE;
-
- XVisualInfo *vi = NULL;
- if (wxTheApp->m_glVisualInfo != NULL) {
- vi = (XVisualInfo *) wxTheApp->m_glVisualInfo;
- m_canFreeVi = FALSE; // owned by wxTheApp - don't free upon destruction
- } else {
- vi = (XVisualInfo *) ChooseGLVisual(attribList);
- m_canFreeVi = TRUE;
- }
- m_vi = vi; // save for later use
-
- wxCHECK_MSG( m_vi, FALSE, "required visual couldn't be found" );
-
- GdkVisual *visual = gdkx_visual_get( vi->visualid );
- GdkColormap *colormap = gdk_colormap_new( gdkx_visual_get(vi->visualid), TRUE );
-
- gtk_widget_push_colormap( colormap );
- gtk_widget_push_visual( visual );
-
- wxScrolledWindow::Create( parent, id, pos, size, style, name );
-
- m_glWidget = m_wxwindow;
-
- gtk_pizza_set_clear( GTK_PIZZA(m_wxwindow), FALSE );
-
- gtk_signal_connect( GTK_OBJECT(m_wxwindow), "realize",
- GTK_SIGNAL_FUNC(gtk_glwindow_realized_callback), (gpointer) this );
-
- gtk_signal_connect( GTK_OBJECT(m_wxwindow), "map",
- GTK_SIGNAL_FUNC(gtk_glwindow_map_callback), (gpointer) this );
-
- gtk_signal_connect( GTK_OBJECT(m_wxwindow), "expose_event",
- GTK_SIGNAL_FUNC(gtk_glwindow_expose_callback), (gpointer)this );
-
- gtk_signal_connect( GTK_OBJECT(m_wxwindow), "draw",
- GTK_SIGNAL_FUNC(gtk_glwindow_draw_callback), (gpointer)this );
-
- gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
- GTK_SIGNAL_FUNC(gtk_glcanvas_size_callback), (gpointer)this );
-
- gtk_widget_pop_visual();
- gtk_widget_pop_colormap();
-
- if (GTK_WIDGET_REALIZED(m_wxwindow))
- gtk_glwindow_realized_callback( m_wxwindow, this );
-
- if (GTK_WIDGET_MAPPED(m_wxwindow))
- gtk_glwindow_map_callback( m_wxwindow, this );
-
- return TRUE;