diff options
author | Benjamin Otte <otte@redhat.com> | 2010-01-25 15:57:31 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2010-04-23 23:30:09 +0200 |
commit | 5e7f245a4d159ce19cc70724477ef9d2faf33318 (patch) | |
tree | fac8273eadd7342349819872a9c2875e442d4508 /util | |
parent | afb26f759a0dc6ea5ba5973297ef7acce4387be6 (diff) |
Add RGBA32, BGRA32 and ABGR32 formats
Diffstat (limited to 'util')
-rw-r--r-- | util/cairo-script/cairo-script-operators.c | 12 | ||||
-rw-r--r-- | util/cairo-trace/trace.c | 13 |
2 files changed, 24 insertions, 1 deletions
diff --git a/util/cairo-script/cairo-script-operators.c b/util/cairo-script/cairo-script-operators.c index b4a1a95b..1af6fd7f 100644 --- a/util/cairo-script/cairo-script-operators.c +++ b/util/cairo-script/cairo-script-operators.c @@ -2848,6 +2848,9 @@ _image_read_raw (csi_file_t *src, break; default: case CAIRO_FORMAT_INVALID: + case CAIRO_FORMAT_BGRA32: + case CAIRO_FORMAT_RGBA32: + case CAIRO_FORMAT_ABGR32: case CAIRO_FORMAT_ARGB32: len = 4 * width * height; break; @@ -2911,6 +2914,9 @@ _image_read_raw (csi_file_t *src, break; case CAIRO_FORMAT_INVALID: case CAIRO_FORMAT_ARGB32: + case CAIRO_FORMAT_ABGR32: + case CAIRO_FORMAT_BGRA32: + case CAIRO_FORMAT_RGBA32: /* stride == width */ break; } @@ -2997,6 +3003,9 @@ _image_read_raw (csi_file_t *src, break; case CAIRO_FORMAT_INVALID: case CAIRO_FORMAT_ARGB32: + case CAIRO_FORMAT_ABGR32: + case CAIRO_FORMAT_BGRA32: + case CAIRO_FORMAT_RGBA32: /* stride == width */ break; } @@ -3018,6 +3027,9 @@ _image_read_raw (csi_file_t *src, } break; case CAIRO_FORMAT_ARGB32: + case CAIRO_FORMAT_ABGR32: + case CAIRO_FORMAT_BGRA32: + case CAIRO_FORMAT_RGBA32: { uint32_t *rgba = (uint32_t *) data; for (x = len/4; x--; rgba++) { diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c index fd83ee93..fbfa2fa5 100644 --- a/util/cairo-trace/trace.c +++ b/util/cairo-trace/trace.c @@ -1456,6 +1456,9 @@ _format_to_string (cairo_format_t format) switch (format) { f(INVALID); f(ARGB32); + f(ABGR32); + f(RGBA32); + f(BGRA32); f(RGB24); f(RGB16_565); f(A8); @@ -1589,7 +1592,10 @@ _emit_image (cairo_surface_t *image, case CAIRO_FORMAT_RGB24: len = 3*width; break; default: case CAIRO_FORMAT_INVALID: - case CAIRO_FORMAT_ARGB32: len = 4*width; break; + case CAIRO_FORMAT_ARGB32: + case CAIRO_FORMAT_RGBA32: + case CAIRO_FORMAT_BGRA32: + case CAIRO_FORMAT_ABGR32: len = 4*width; break; } _trace_printf (" /source "); @@ -1686,6 +1692,9 @@ _emit_image (cairo_surface_t *image, } break; case CAIRO_FORMAT_ARGB32: + case CAIRO_FORMAT_ABGR32: + case CAIRO_FORMAT_RGBA32: + case CAIRO_FORMAT_BGRA32: for (row = height; row--; ) { uint32_t *src = (uint32_t *) data; uint32_t *dst = (uint32_t *) rowdata; @@ -3691,7 +3700,9 @@ cairo_surface_write_to_png_stream (cairo_surface_t *surface, _enter_trace (); _emit_line_info (); if (surface != NULL && _write_lock ()) { +#if CAIRO_HAS_SYMBOL_LOOKUP char symbol[1024]; +#endif _trace_printf ("%% s%ld ", _get_surface_id (surface)); #if CAIRO_HAS_SYMBOL_LOOKUP |