[Gambas-devel] Flaw in GTK+ 2 / 3

Benoît Minisini gambas at ...1...
Wed Jan 2 20:04:21 CET 2013

Le 02/01/2013 17:21, Benoît Minisini a écrit :
> Hi,
> Since a few revision, all drawings are done in gb.gtk with cairo ; as
> requested by GTK+, which has deprecated the old drawing API.
> Fine. But there is a problem with images.
> Images in GTK+ are managed by the GdkPixbuf class, which stores the
> image data in memory with the RGBA format. (As x86 is little endian, in
> memory you have actually R-G-B-A, and if you read it as a 32 bits
> integer, R is in the lowest bits and A in the highest).
> But Cairo only handles images in the pre-multiplied BGRP format (like Qt4).
> So each time you call Draw.Image() or Paint.DrawImage(), a costly
> conversion is needed.
> I'm currently searching for some sort of workaround for this design flaw
> in GTK+.
> That flaw has not been fixed in GTK+ 3 apparently. Why didn't they
> change GdkPixbuf so that it uses the same format as Cairo, or why didn't
> they deprecated GdkPixbuf for a new image class using that format? That
> is the question...
> Any suggestion is welcome!

More details there: https://live.gnome.org/GtkCairoIntegration

Benoît Minisini

More information about the Devel mailing list