[cairo] Fix for CAIRO_FORMAT_RGB24 pngs
cworth at redhat.com
Thu May 19 11:57:12 PDT 2005
On Wed, 18 May 2005 14:18:43 -0400, Owen Taylor wrote:
> Here's a version that cleans up the rgb => bgr => rgb swapping while
> trying to keep everything conceptually simple.
Thanks. This looks just fine.
A couple of minor comments, (at most, documentation cleanups), below.
> +/* Unpremultiplies data and converts native endian ARGB => RGBA bytes */
At one point, we had discussed a naming convention for making these
formats more clear. What would you think of the following?
/* Unpremultiplies data and converts native endian ARGB32 => R8G8B8A8 bytes */
/* Converts native endian xRGB32 => R8G8B8x8 bytes */
/* Premultiplies data and converts R8G8B8A8 bytes => native endian ARGB32 */
Hmm.... a name like R8G8B8A8 is really hard to head. It's just a
jumble of little circle-like shapes. Maybe it would be better to
change the case and go with r8g8b8a8, argb32, etc. ?
> + if (image->format == CAIRO_FORMAT_ARGB32)
> + png_set_write_user_transform_fn (png, unpremultiply_data);
> + else if (image->format == CAIRO_FORMAT_RGB24)
> + png_set_write_user_transform_fn (png, convert_data_to_bytes);
How about a rename here along the lines of:
unpremultiply data -> transform_argb32
convert_data_to_bytes -> transform_rgb24
But feel free to commit the code whenever you'd like.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050519/98932413/attachment.pgp
More information about the cairo