From 51e6868194fa118dadc5c40ea87da3addfcee1bc Mon Sep 17 00:00:00 2001 From: "tor%cs.brown.edu" Date: Mon, 27 Aug 2001 22:10:56 +0000 Subject: [PATCH] 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 --- mozilla/gfx/src/imgScaler.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/mozilla/gfx/src/imgScaler.cpp b/mozilla/gfx/src/imgScaler.cpp index 4bfec99a3b3..4025f4a17d7 100644 --- a/mozilla/gfx/src/imgScaler.cpp +++ b/mozilla/gfx/src/imgScaler.cpp @@ -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))