diff options
author | 2015-05-10 18:33:29 -0700 | |
---|---|---|
committer | 2015-05-10 18:33:29 -0700 | |
commit | 88f12dbe926df806cfb5b0641f613a2e256a713b (patch) | |
tree | 05053a2c77d7250740e8b8b7c8755b1103a0d08b /src/core | |
parent | c19cdc254cc08f334b00c3b9fdb703818c8ca681 (diff) |
SkPictureShader: floor scaledSize not to exceed maxTextureSize
scaledSize becomes larger than maxTextureSize by zoom level
because it is rounded.
BUG=chromium:485916
Review URL: https://codereview.chromium.org/1129413002
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkPictureShader.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/SkPictureShader.cpp b/src/core/SkPictureShader.cpp index e831320a7e..2c835ed93e 100644 --- a/src/core/SkPictureShader.cpp +++ b/src/core/SkPictureShader.cpp @@ -178,8 +178,8 @@ SkShader* SkPictureShader::refBitmapShader(const SkMatrix& matrix, const SkMatri if (scaledSize.width() > maxTextureSize || scaledSize.height() > maxTextureSize) { SkScalar downScale = SkScalarDiv(maxTextureSize, SkMax32(scaledSize.width(), scaledSize.height())); - scaledSize.set(SkScalarMul(scaledSize.width(), downScale), - SkScalarMul(scaledSize.height(), downScale)); + scaledSize.set(SkScalarFloorToScalar(SkScalarMul(scaledSize.width(), downScale)), + SkScalarFloorToScalar(SkScalarMul(scaledSize.height(), downScale))); } } #endif |