Re: gdk-pixbuf to GTK




Owen Taylor <otaylor@redhat.com> writes:

> Havoc Pennington <hp@redhat.com> writes:
> 
> > Hi,
> > 
> > At GUADEC we talked about moving gdk-pixbuf to be a GTK dependency, or
> > possibly included in the GTK+ package. This lets us use GdkPixbuf
> > instead of GdkPixmap for various GTK APIs (such as CList), and also
> > removes the need for GnomePixmap.
> > 
> > Basically to do this we need to remove the libart
> > dependency. gdk-pixbuf doesn't depend on libart in any real way (it
> > uses an enumeration or two, and the ArtPixbuf struct).
> > 
> > So, the questions are:
> > 
> >  - any objections or comments on the general concept?
> 
> I'm in favor of doing this, though this would introduce (optional)
> libtiff, libpng, and libjpeg dependencies for GTK+. XPM simply
> is not a good format, and having that be the only native image
> format for GTK+ is rather silly.
> 
> The question is whether the right thing to do is:
> 
>  a) Remove the libart dependency from gdk-pixbuf and put it
>     gdk-pixbuf all into GTK+
>  b) Bundle the non-GDK-specific parts of gdk-pixbuf together
>     with libart in a separate package, make that a dependency
>     of GTK+, and then put the GDK-specific parts of gdk-pixbuf
>     into GDK.
>  
> >  - specifically how would we like to remove the libart dependency?
> > 
> >    my suggestion is a struct just like ArtPixbuf but with a 
> >    different name that comes with gdk-pixbuf, thus we avoid breaking
> >    current apps using gdk-pixbuf
> 
> I think we should go ahead, break the apps (trivially) and fix
> the stupid GdkPixbuf structure to be sane:
> 
> struct _GdkPixbuf {
> 	/* Reference count */
> 	int ref_count;
> 
> 	/* Libart pixbuf */
> 	ArtPixBuf *art_pixbuf;
> };

OK, it's been pointed out to me that the above is very unclear.
What the above is is the current (broken) structure. What I
was suggesting in is that we have a single structure with 
a reference count instead of the one structure pointing to
the other.

Regards,
                                        Owen



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]