Fix for oversight in r7325
unreviewed
git-svn-id: http://skia.googlecode.com/svn/trunk@7328 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkBitmapProcState.cpp b/src/core/SkBitmapProcState.cpp
index d90fbf2..4d66860 100644
--- a/src/core/SkBitmapProcState.cpp
+++ b/src/core/SkBitmapProcState.cpp
@@ -459,7 +459,12 @@
// chooseProcs multiples the inverse matrix by the inverse of the
// bitmap's width and height. Since this method is going to do
// its own tiling and sampling we need to undo that here.
- yTemp = SkScalarFloorToInt(pt.fY * s.fBitmap->height());
+ if (SkShader::kClamp_TileMode != s.fTileModeX ||
+ SkShader::kClamp_TileMode != s.fTileModeY) {
+ yTemp = SkScalarFloorToInt(pt.fY * s.fBitmap->height());
+ } else {
+ yTemp = SkScalarFloorToInt(pt.fY);
+ }
} else {
yTemp = s.fFilterOneY + y;
}
@@ -485,7 +490,9 @@
SkIntToScalar(x) + SK_ScalarHalf,
SkIntToScalar(y) + SK_ScalarHalf,
&pt);
- if (s.fInvType > SkMatrix::kTranslate_Mask) {
+ if (s.fInvType > SkMatrix::kTranslate_Mask &&
+ (SkShader::kClamp_TileMode != s.fTileModeX ||
+ SkShader::kClamp_TileMode != s.fTileModeY)) {
pt.fY *= s.fBitmap->height();
}
int iY2;