[cairo] gobject boxed types

Vladimir Vukicevic vladimir at pobox.com
Sat Sep 13 10:12:53 PDT 2008

On Sep 12, 2008, at 5:02 PM, Colin Walters wrote:

> Hi,
> We had a short discussion about this on #gtk+ a few days ago.
> Basically, it would greatly help the GObject-based stack above Cairo
> (GTK+, HippoCanvas, GooCanvas, Clutter, etc.) if we had official
> GObject "boxed" types for Cairo objects.
> This is necessary because the GTypes are used in things like signals
> to specify argument types, and language bindings need that data.  Now,
> one possibility Matthias Clasen suggested would be to put these in
> GDK, which would be somewhat tricky from a layering perspective
> (neither Pango nor Clutter for example currently depend on GDK as far
> as I know), but might be workable.  Another possibility is to put them
> in Cairo itself, optionally enabled.
> Just to be extremely clear the goal is not to have cairo hard depend
> on GLib in any way - for example Mozilla on Windows/OS X and any other
> embedded type cases would ship with this off and things should be
> fine. I do expect however that freedesktop.org/Linux OS vendors and
> the like would ship with this enabled.

Hmm.. my biggest problem with this is that it's essentially putting a  
language binding into Cairo -- a binding to the glib type system.  No  
other language binding is present inside Cairo.  However, I do  
understand that there are a lot of glib-using projects for which this  
would be beneficial.  Why not put this in an entirely separate (and  
simple) cairo-glib library?  That gives glib-using projects something  
clear to link with, and it avoids the dependency problems that Luiz  
and others have mentioned.

     - Vlad

More information about the cairo mailing list