On Tue, 2008-03-04 at 19:37 +0000, Jon Harrop wrote: > > > 2) change the name, for example to Gtkglarea 2.0*, the legitimate > > > sucessor to Gtkglarea 1 (the last version of Gtkglarea that I downloaded > > > last week is 1.99 and still comes with gtk_signal_connect and other Gtk > > > 1.2* functions deprecated long ago) > > > > No, gtkglarea is dead. > > GlArea still has many users and is the defacto standard for some languages.
it may have many users, but it's unmaintained, so it is ipso facto "dead". > > We don't want a new widget. We want being able > > to render to widgets using OpenGL as an alternative to using cairo. > > That is, the GtkGlExt approach. > > I'm not sure who you are referring to as "we" but many people need little > beyond GlArea. I have no desire to create Gtk-compatible widgets. I only want > to render general graphics quickly and easily using OpenGL. on the bug linked in the thread, and in many gtk+ developers team meetings it was reached a consensus for an integration towards a cairo-style approach: inside the ::expose-event handlers you can retrieve a GL context, draw on it using the GL API and the result will be rendered on the widget's window. that's what "we" means. > If anyone is interested in improving the situation for scientists and > engineers then I would recommend taking this into account: keep it simple to > bind. you can't really get much simpler than a: GLXContext gl_context; gl_context = gdk_glx_create_context (GDK_DRAWABLE (widget->window)); or, since it should be portable across various backends: static gboolean widget_expose (GtkWidget *widget, GdkExposeEvent *event) { GdkGLContext *gl_context; /* creates or returns the (backend-dependent) GL context, which is * made current to the widget's GdkWindow - for instance, on GLX it * will create a context if not already present, and will call * glXMakeCurrent() for the display and window. */ gl_context = gdk_gl_create_context (GDK_DRAWABLE (widget->window)); /* ... draw using GL API ... */ /* retrieve the platform-dependent implementation for mad crack */ GLXContext glx_context = GDK_GLX_CONTEXT (gl_context); /* waits for vblank, calls glXSwapBuffers(), and unrefs the * GdkGLContext - but it does not destroy it. */ g_object_unref (gl_context); } ciao, Emmanuele. -- Emmanuele Bassi, W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list