diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2018-12-03 15:13:39 +0100 |
---|---|---|
committer | Bryce Harrington <bryce@bryceharrington.org> | 2019-01-07 19:10:30 -0800 |
commit | 87c1c19197a6a3cdae955b320386f5449e17b286 (patch) | |
tree | f730c68822f9cf76739e291a483511dd075e2c2f /util/cairo-trace | |
parent | 3a0670e03c6a93fda764878697a78e3b966ef1f1 (diff) | |
download | cairo-87c1c19197a6a3cdae955b320386f5449e17b286.tar.gz |
cairo-trace: Simplify bigendian case in emit_image.
All the cases are the same, except len is different.
Use the already calculated len parameter to handle all
cases except RGB24 the same.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Suggested-by: Bryce Harrington <bryce@bryceharrington.org>
Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
Diffstat (limited to 'util/cairo-trace')
-rw-r--r-- | util/cairo-trace/trace.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c index 1fe130bba..7ce903b11 100644 --- a/util/cairo-trace/trace.c +++ b/util/cairo-trace/trace.c @@ -1680,24 +1680,6 @@ _emit_image (cairo_surface_t *image, #ifdef WORDS_BIGENDIAN switch (format) { - case CAIRO_FORMAT_A1: - for (row = height; row--; ) { - _write_data (&stream, data, (width+7)/8); - data += stride; - } - break; - case CAIRO_FORMAT_A8: - for (row = height; row--; ) { - _write_data (&stream, data, width); - data += stride; - } - break; - case CAIRO_FORMAT_RGB16_565: - for (row = height; row--; ) { - _write_data (&stream, data, 2*width); - data += stride; - } - break; case CAIRO_FORMAT_RGB24: for (row = height; row--; ) { int col; @@ -1709,10 +1691,13 @@ _emit_image (cairo_surface_t *image, data += stride; } break; + case CAIRO_FORMAT_A1: + case CAIRO_FORMAT_A8: + case CAIRO_FORMAT_RGB16_565: case CAIRO_FORMAT_RGB30: case CAIRO_FORMAT_ARGB32: for (row = height; row--; ) { - _write_data (&stream, data, 4*width); + _write_data (&stream, data, len); data += stride; } break; @@ -1777,7 +1762,7 @@ _emit_image (cairo_surface_t *image, int col; for (col = 0; col < width; col++) dst[col] = bswap_32 (src[col]); - _write_data (&stream, rowdata, 4*width); + _write_data (&stream, rowdata, len); data += stride; } break; |