diff options
author | Robert Phillips <robertphillips@google.com> | 2018-05-18 10:19:05 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-18 14:53:45 +0000 |
commit | 8f8d481b44fc486e7190c6e2db8077226d53c969 (patch) | |
tree | 9b95ff9d8d2a801f7daf15c74b796d4c18660a28 /src | |
parent | dd8b1fc41bb8b09974836a30ec357f8f20ad7cae (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.cpp | 5 | ||||
-rw-r--r-- | src/effects/SkMatrixConvolutionImageFilter.cpp | 8 |
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; } |