aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2018-05-18 10:19:05 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-18 14:53:45 +0000
commit8f8d481b44fc486e7190c6e2db8077226d53c969 (patch)
tree9b95ff9d8d2a801f7daf15c74b796d4c18660a28 /src
parentdd8b1fc41bb8b09974836a30ec357f8f20ad7cae (diff)
Add SkIRect::adjust method
Change-Id: Ib18d1a82944524e20d5d72912d8db7a823c470de Reviewed-on: https://skia-review.googlesource.com/128884 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/SkImageFilter.cpp5
-rw-r--r--src/effects/SkMatrixConvolutionImageFilter.cpp8
2 files changed, 6 insertions, 7 deletions
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
index 59715d99e9..aabfef09bb 100644
--- a/src/core/SkImageFilter.cpp
+++ b/src/core/SkImageFilter.cpp
@@ -505,9 +505,8 @@ SkIRect SkImageFilter::DetermineRepeatedSrcBound(const SkIRect& srcBounds,
const SkISize& filterSize,
const SkIRect& originalSrcBounds) {
SkIRect tmp = srcBounds;
- tmp.fRight = Sk32_sat_add(tmp.fRight, filterSize.fWidth);
- tmp.fBottom = Sk32_sat_add(tmp.fBottom, filterSize.fHeight);
- tmp.offset(-filterOffset.fX, -filterOffset.fY);
+ tmp.adjust(-filterOffset.fX, -filterOffset.fY,
+ filterSize.fWidth - filterOffset.fX, filterSize.fHeight - filterOffset.fY);
if (tmp.fLeft < originalSrcBounds.fLeft || tmp.fRight > originalSrcBounds.fRight) {
tmp.fLeft = originalSrcBounds.fLeft;
diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp
index 2c695e7685..2119a8b108 100644
--- a/src/effects/SkMatrixConvolutionImageFilter.cpp
+++ b/src/effects/SkMatrixConvolutionImageFilter.cpp
@@ -452,12 +452,12 @@ SkIRect SkMatrixConvolutionImageFilter::onFilterNodeBounds(const SkIRect& src, c
SkIRect dst = src;
int w = fKernelSize.width() - 1, h = fKernelSize.height() - 1;
- dst.fRight = Sk32_sat_add(dst.fRight, w);
- dst.fBottom = Sk32_sat_add(dst.fBottom, h);
+
if (kReverse_MapDirection == dir) {
- dst.offset(-fKernelOffset);
+ dst.adjust(-fKernelOffset.fX, -fKernelOffset.fY,
+ w - fKernelOffset.fX, h - fKernelOffset.fY);
} else {
- dst.offset(fKernelOffset - SkIPoint::Make(w, h));
+ dst.adjust(fKernelOffset.fX - w, fKernelOffset.fY - h, fKernelOffset.fX, fKernelOffset.fY);
}
return dst;
}