[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