aboutsummaryrefslogtreecommitdiff
path: root/pixman/test/utils.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-04-23 14:49:28 +0200
committermarha <marha@users.sourceforge.net>2012-04-23 14:49:28 +0200
commitb68922d51f52ca6ab9daa0105ef5c57f35bfbdcf (patch)
tree4e1760d8c7a1499cad49248b640dcc7ec21d4647 /pixman/test/utils.c
parent0e3699334faf92f508b6c187a261548b656b0dd3 (diff)
downloadvcxsrv-b68922d51f52ca6ab9daa0105ef5c57f35bfbdcf.tar.gz
vcxsrv-b68922d51f52ca6ab9daa0105ef5c57f35bfbdcf.tar.bz2
vcxsrv-b68922d51f52ca6ab9daa0105ef5c57f35bfbdcf.zip
fontconfig libXau libXext libxcb pixman mesa git update 23 April 2012
Diffstat (limited to 'pixman/test/utils.c')
-rw-r--r--pixman/test/utils.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/pixman/test/utils.c b/pixman/test/utils.c
index cc0365aa2..c1bf6dc2c 100644
--- a/pixman/test/utils.c
+++ b/pixman/test/utils.c
@@ -358,9 +358,16 @@ a8r8g8b8_to_rgba_np (uint32_t *dst, uint32_t *src, int n_pixels)
if (a != 0)
{
- r = (r * 255) / a;
- g = (g * 255) / a;
- b = (b * 255) / a;
+#define DIVIDE(c, a) \
+ do \
+ { \
+ int t = ((c) * 255) / a; \
+ (c) = t < 0? 0 : t > 255? 255 : t; \
+ } while (0)
+
+ DIVIDE (r, a);
+ DIVIDE (g, a);
+ DIVIDE (b, a);
}
*dst8++ = r;