fix that........

SVN revision: 1105
This commit is contained in:
Carsten Haitzler 1999-11-01 16:52:52 +00:00
parent 4dbe846918
commit ad597fef7d
1 changed files with 36 additions and 12 deletions

48
blend.c
View File

@ -418,7 +418,7 @@ __imlib_AddCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
for (y = 0; y < h; y++)
{
DATA8 nr, ng, nb, r, g, b, rr, gg, bb;
DATA8 nr, ng, nb, na, r, g, b, a, rr, gg, bb, aa;
int tmp;
p1 = src + (y * (w + src_jump));
@ -428,10 +428,12 @@ __imlib_AddCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
b = (*p1 ) & 0xff;
g = (*p1 >> 8 ) & 0xff;
r = (*p1 >> 16) & 0xff;
a = (*p1 >> 24) & 0xff;
bb = (*p2 ) & 0xff;
gg = (*p2 >> 8 ) & 0xff;
rr = (*p2 >> 16) & 0xff;
aa = (*p2 >> 24) & 0xff;
tmp = rr + r;
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
@ -439,7 +441,9 @@ __imlib_AddCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
tmp = bb + b;
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
*p2 = (nr << 16) | (ng << 8) | nb;
tmp = a + aa;
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
*p2 = (na << 24) | (nr << 16) | (ng << 8) | nb;
p1++;
p2++;
}
@ -580,7 +584,7 @@ __imlib_SubCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
for (y = 0; y < h; y++)
{
DATA8 nr, ng, nb, r, g, b, rr, gg, bb;
DATA8 nr, ng, nb, na, r, g, b, a, rr, gg, bb, aa;
int tmp;
p1 = src + (y * (w + src_jump));
@ -590,10 +594,12 @@ __imlib_SubCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
b = (*p1 ) & 0xff;
g = (*p1 >> 8 ) & 0xff;
r = (*p1 >> 16) & 0xff;
a = (*p1 >> 24) & 0xff;
bb = (*p2 ) & 0xff;
gg = (*p2 >> 8 ) & 0xff;
rr = (*p2 >> 16) & 0xff;
aa = (*p2 >> 24) & 0xff;
tmp = rr - r;
nr = tmp & (~(tmp >> 8));
@ -601,7 +607,9 @@ __imlib_SubCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
ng = tmp & (~(tmp >> 8));
tmp = bb - b;
nb = tmp & (~(tmp >> 8));
*p2 = (nr << 16) | (ng << 8) | nb;
tmp = a + aa;
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 9)));
*p2 = (na << 24) | (nr << 16) | (ng << 8) | nb;
p1++;
p2++;
}
@ -743,7 +751,7 @@ __imlib_ReCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
for (y = 0; y < h; y++)
{
DATA8 nr, ng, nb, r, g, b, rr, gg, bb;
DATA8 nr, ng, nb, na, r, g, b, a, rr, gg, bb, aa;
int tmp;
p1 = src + (y * (w + src_jump));
@ -753,10 +761,12 @@ __imlib_ReCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
b = (*p1 ) & 0xff;
g = (*p1 >> 8 ) & 0xff;
r = (*p1 >> 16) & 0xff;
a = (*p1 >> 24) & 0xff;
bb = (*p2 ) & 0xff;
gg = (*p2 >> 8 ) & 0xff;
rr = (*p2 >> 16) & 0xff;
aa = (*p2 >> 24) & 0xff;
tmp = rr + ((r - 127) << 1);
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
@ -764,7 +774,9 @@ __imlib_ReCopyRGBAToRGBA(DATA32 *src, int src_jump, DATA32 *dst, int dst_jump,
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
tmp = bb + ((b - 127) << 1);
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
*p2 = (nr << 16) | (ng << 8) | nb;
tmp = a + aa;
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 9)));
*p2 = (na << 24) | (nr << 16) | (ng << 8) | nb;
p1++;
p2++;
}
@ -1080,7 +1092,7 @@ __imlib_AddCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
for (y = 0; y < h; y++)
{
DATA8 nr, ng, nb, r, g, b, rr, gg, bb;
DATA8 nr, ng, nb, na, r, g, b, a, rr, gg, bb, aa;
int tmp;
p1 = src + (y * (w + src_jump));
@ -1090,12 +1102,14 @@ __imlib_AddCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
b = (*p1 ) & 0xff;
g = (*p1 >> 8 ) & 0xff;
r = (*p1 >> 16) & 0xff;
a = (*p1 >> 24) & 0xff;
CMOD_APPLY_RGB(cm, r, g, b);
bb = (*p2 ) & 0xff;
gg = (*p2 >> 8 ) & 0xff;
rr = (*p2 >> 16) & 0xff;
aa = (*p2 >> 24) & 0xff;
tmp = rr + r;
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
@ -1103,7 +1117,9 @@ __imlib_AddCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
tmp = bb + b;
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
*p2 = (nr << 16) | (ng << 8) | nb;
tmp = a + aa;
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 8)));
*p2 = (na << 24) | (nr << 16) | (ng << 8) | nb;
p1++;
p2++;
}
@ -1250,7 +1266,7 @@ __imlib_SubCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
for (y = 0; y < h; y++)
{
DATA8 nr, ng, nb, r, g, b, rr, gg, bb;
DATA8 nr, ng, nb, na, r, g, b, a, rr, gg, bb, aa;
int tmp;
p1 = src + (y * (w + src_jump));
@ -1260,12 +1276,14 @@ __imlib_SubCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
b = (*p1 ) & 0xff;
g = (*p1 >> 8 ) & 0xff;
r = (*p1 >> 16) & 0xff;
a = (*p1 >> 24) & 0xff;
CMOD_APPLY_RGB(cm, r, g, b);
bb = (*p2 ) & 0xff;
gg = (*p2 >> 8 ) & 0xff;
rr = (*p2 >> 16) & 0xff;
aa = (*p2 >> 24) & 0xff;
tmp = rr - r;
nr = tmp & (~(tmp >> 8));
@ -1273,7 +1291,9 @@ __imlib_SubCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_ju
ng = tmp & (~(tmp >> 8));
tmp = bb - b;
nb = tmp & (~(tmp >> 8));
*p2 = (nr << 16) | (ng << 8) | nb;
tmp = a + aa;
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 9)));
*p2 = (na << 24) | (nr << 16) | (ng << 8) | nb;
p1++;
p2++;
}
@ -1421,7 +1441,7 @@ __imlib_ReCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum
for (y = 0; y < h; y++)
{
DATA8 nr, ng, nb, r, g, b, rr, gg, bb;
DATA8 nr, ng, nb, na, r, g, b, a, rr, gg, bb, aa;
int tmp;
p1 = src + (y * (w + src_jump));
@ -1431,12 +1451,14 @@ __imlib_ReCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum
b = (*p1 ) & 0xff;
g = (*p1 >> 8 ) & 0xff;
r = (*p1 >> 16) & 0xff;
a = (*p1 >> 24) & 0xff;
CMOD_APPLY_RGB(cm, r, g, b);
bb = (*p2 ) & 0xff;
gg = (*p2 >> 8 ) & 0xff;
rr = (*p2 >> 16) & 0xff;
aa = (*p2 >> 24) & 0xff;
tmp = rr + ((r - 127) << 1);
nr = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
@ -1444,7 +1466,9 @@ __imlib_ReCopyRGBAToRGBACmod(DATA32 *src, int src_jump, DATA32 *dst, int dst_jum
ng = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
tmp = bb + ((b - 127) << 1);
nb = (tmp | ((tmp & 256) - ((tmp & 256) >> 8))) & (~(tmp >> 9));
*p2 = (nr << 16) | (ng << 8) | nb;
tmp = a + aa;
na = (tmp | ((tmp & 256) - ((tmp & 256) >> 9)));
*p2 = (na << 24) | (nr << 16) | (ng << 8) | nb;
p1++;
p2++;
}