summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-01-25 15:57:31 +0100
committerBenjamin Otte <otte@redhat.com>2010-04-23 23:30:09 +0200
commit5e7f245a4d159ce19cc70724477ef9d2faf33318 (patch)
treefac8273eadd7342349819872a9c2875e442d4508 /util
parentafb26f759a0dc6ea5ba5973297ef7acce4387be6 (diff)
Add RGBA32, BGRA32 and ABGR32 formats
Diffstat (limited to 'util')
-rw-r--r--util/cairo-script/cairo-script-operators.c12
-rw-r--r--util/cairo-trace/trace.c13
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