forked from old/legacy-imlib2
eeek math error at 255 (becomes 254) not surprising i didnt notice.. i
looked at the results rsather than numerically evaluating... SVN revision: 1088
This commit is contained in:
parent
732db08e49
commit
bcbd64b680
48
blend.c
48
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++;
|
||||
|
|
Loading…
Reference in New Issue