From bcbd64b68008465391f6686e5c65548cd6800e7d Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 31 Oct 1999 22:50:06 +0000 Subject: [PATCH] eeek math error at 255 (becomes 254) not surprising i didnt notice.. i looked at the results rsather than numerically evaluating... SVN revision: 1088 --- blend.c | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/blend.c b/blend.c index a582d26..28dfca9 100644 --- a/blend.c +++ b/blend.c @@ -624,11 +624,11 @@ __imlib_ReBlendRGBAToRGB(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump, rr = (*p2 >> 16) & 0xff; tmp = rr + (((r - 127) * a) >> 7); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + (((g - 127) * a) >> 7); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + (((b - 127) * a) >> 7); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); *p2 = (nr << 16) | (ng << 8) | nb; p1++; p2++; @@ -663,11 +663,11 @@ __imlib_ReBlendRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump, aa = (*p2 >> 24) & 0xff; tmp = rr + (((r - 127) * a) >> 7); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + (((g - 127) * a) >> 7); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + (((b - 127) * a) >> 7); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = a + aa; na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))); *p2 = (na << 24) | (nr << 16) | @@ -703,11 +703,11 @@ __imlib_ReCopyRGBAToRGB(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump, rr = (*p2 >> 16) & 0xff; tmp = rr + ((r - 127) << 1); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + ((g - 127) << 1); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + ((b - 127) << 1); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); *p2 = (*p2 & 0xff000000) | (nr << 16) | (ng << 8) | nb; p1++; p2++; @@ -740,11 +740,11 @@ __imlib_ReCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump, rr = (*p2 >> 16) & 0xff; tmp = rr + ((r - 127) << 1); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + ((g - 127) << 1); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + ((b - 127) << 1); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); *p2 = (nr << 16) | (ng << 8) | nb; p1++; p2++; @@ -1280,11 +1280,11 @@ __imlib_ReBlendRGBAToRGBCmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum rr = (*p2 >> 16) & 0xff; tmp = rr + (((r - 127) * a) >> 7); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + (((g - 127) * a) >> 7); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + (((b - 127) * a) >> 7); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); *p2 = (nr << 16) | (ng << 8) | nb; p1++; p2++; @@ -1321,11 +1321,11 @@ __imlib_ReBlendRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju aa = (*p2 >> 24) & 0xff; tmp = rr + (((r - 127) * a) >> 7); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + (((g - 127) * a) >> 7); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + (((b - 127) * a) >> 7); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = a + aa; na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))); *p2 = (na << 24) | (nr << 16) | @@ -1363,11 +1363,11 @@ __imlib_ReCopyRGBAToRGBCmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump rr = (*p2 >> 16) & 0xff; tmp = rr + ((r - 127) << 1); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + ((g - 127) << 1); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + ((b - 127) << 1); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); *p2 = (*p2 & 0xff000000) | (nr << 16) | (ng << 8) | nb; p1++; p2++; @@ -1402,11 +1402,11 @@ __imlib_ReCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum rr = (*p2 >> 16) & 0xff; tmp = rr + ((r - 127) << 1); - nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = gg + ((g - 127) << 1); - ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); tmp = bb + ((b - 127) << 1); - nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 8)); + nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9)); *p2 = (nr << 16) | (ng << 8) | nb; p1++; p2++;