Bug 89022 - image scaler should use a pixel inclusive measurement instead

of pixel centered.  r=pavlov, sr=brendan, a=asa


git-svn-id: svn://10.0.0.236/trunk@101843 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
tor%cs.brown.edu
2001-08-27 22:10:56 +00:00
parent 1881298881
commit 51e6868194

View File

@@ -102,9 +102,9 @@ RectStretch(long xs1,long ys1,long xs2,long ys2,
dy = abs((int)(ys2-ys1));
sx = sign(yd2-yd1);
sy = sign(ys2-ys1);
e = (dy<<1)-dx;
dx2 = dx<<1;
dy <<= 1;
e = dy-dx;
dx2 = dx;
dy += 1;
if (!dx2) dx2=1;
for (d=0; d<=dx; d++) {
Stretch(xd1,xd2,xs1,xs2,ys1,yd1,aSrcImage,aSrcStride,aDstImage,aDstStride);
@@ -139,9 +139,9 @@ Stretch24(long x1,long x2,long y1,long y2,long yr,long yw,
dy = abs((int)(y2-y1));
sx = 3*sign(x2-x1);
sy = 3*sign(y2-y1);
e = (dy<<1)-dx;
dx2 = dx<<1;
dy <<= 1;
e = dy-dx;
dx2 = dx;
dy += 1;
src=aSrcImage+yr*aSrcStride+3*y1;
dst=aDstImage+yw*aDstStride+3*x1;
if (!dx2) dx2=1;
@@ -170,9 +170,9 @@ Stretch8(long x1,long x2,long y1,long y2,long yr,long yw,
dy = abs((int)(y2-y1));
sx = sign(x2-x1);
sy = sign(y2-y1);
e = (dy<<1)-dx;
dx2 = dx<<1;
dy <<= 1;
e = dy-dx;
dx2 = dx;
dy += 1;
src=aSrcImage+yr*aSrcStride+y1;
dst=aDstImage+yw*aDstStride+x1;
if (!dx2) dx2=1;
@@ -198,9 +198,9 @@ Stretch1(long x1,long x2,long y1,long y2,long yr,long yw,
dy = abs((int)(y2-y1));
sx = sign(x2-x1);
sy = sign(y2-y1);
e = (dy<<1)-dx;
dx2 = dx<<1;
dy <<= 1;
e = dy-dx;
dx2 = dx;
dy += 1;
if (!dx2) dx2=1;
for (d=0; d<=dx; d++) {
if (*(aSrcImage+yr*aSrcStride+(y1>>3)) & 1<<(7-y1&0x7))