[cairo] gobject boxed types
vladimir at pobox.com
Sat Sep 13 10:12:53 PDT 2008
On Sep 12, 2008, at 5:02 PM, Colin Walters wrote:
> 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.
More information about the cairo