Hi. As far as I can see in the source code, the GdkPixbuf loading (from file) is built upon the stdio FILE interface. It was to be expected, since several low-level image-loading libraries have a simple API for FILEs, and a more complex API for more generic I/O. But in the spirit of the Gtk+ API, some more abstraction was expected, probably using the GIOChannel API. For example, the following function: GdkPixbuf * gdk_pixbuf_new_from_io_channel (const char *display_name, GIOChannel *io, GError **error); (then, gdk_pixbuf_new_from_file would only need to be a trivial wrapper around it). Such a function would allow, for example, to load pixbufs from userland virtual filesystems. This can already be done using a loader, but it would require more specific code; furthermore, loaders for interlaced images are awfully slow. I have found a mail in this list three years old where Owen Taylor writes that "gdk-pixbuf probably should be using a stream API for the loader stuff" (<URL: http://article.gmane.org/gmane.comp.gnome.devel/1286 >) but it is lost in a thread on another issue, and there was no follow-up. May I ask what you think about this issue? Regards, -- Nicolas George
Attachment:
signature.asc
Description: Digital signature