2010/9/2 Havoc Pennington <h...@pobox.com>: > See bugs: > > https://bugzilla.gnome.org/show_bug.cgi?id=395578 > https://bugzilla.gnome.org/show_bug.cgi?id=491507 > > I'm attaching a patch which proposes some API to make GdkPixbuf > support the cairo RGB24/ARGB32 formats. > In this patch, there's no actual code to convert, it would come from > gdk/gdkcairo.c, I didn't mess with it yet.
The functions are unnecessarily general. Only two functions are needed: an in-place conversion of an entire pixbuf, and duplication with conversion (to cover cases where the number of bytes per pixel is different, or lossy conversion). There's no need to support copying regions between pixbufs with conversion, because compositing is Cairo's job. > The idea would be to have a second patch, which would let you set up a > pixbuf loader to load the new formats; the pixbuf loader would then > convert on the fly for backends that didn't have support for the new > formats, initially that'd be all of them. But we could give loaders a > "format hint" later. The conversion between non-premultiplied BE RGBA to premultiplied native-endian ARGB is lossless in practice. E.g. even if you convert back to non-premul, it doesn't matter in most cases, because to display the image on the screen you'll have to convert back to premul anyway. So instead of modifying all the loaders, we could just convert to the new format after loading. Regards, Krzysztof _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list