diff options
author | 2016-03-21 14:51:59 -0700 | |
---|---|---|
committer | 2016-03-21 14:51:59 -0700 | |
commit | e5e79840ef38ab1d3f03abcf1b2df66fb9940018 (patch) | |
tree | 1401c257dfc5f6658c5911499d9037eaee9bacb5 /src/effects/SkOffsetImageFilter.cpp | |
parent | 989da4a32cd6823359f31c971c3b3f31425e905e (diff) |
Change signatures of filter bounds methods to return a rect.
Change filterBounds(), onFilterBounds() and onFilterNodeBounds() and computeFastBounds() to
return the destination rectangle. There was no code path that could
return false, and returning rects by value is ok now.
BUG=skia:5094
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1823573003
Review URL: https://codereview.chromium.org/1823573003
Diffstat (limited to 'src/effects/SkOffsetImageFilter.cpp')
-rw-r--r-- | src/effects/SkOffsetImageFilter.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/effects/SkOffsetImageFilter.cpp b/src/effects/SkOffsetImageFilter.cpp index f3d2bb0c58..8e4b87881d 100644 --- a/src/effects/SkOffsetImageFilter.cpp +++ b/src/effects/SkOffsetImageFilter.cpp @@ -65,25 +65,21 @@ SkSpecialImage* SkOffsetImageFilter::onFilterImage(SkSpecialImage* source, } } -void SkOffsetImageFilter::computeFastBounds(const SkRect& src, SkRect* dst) const { - if (getInput(0)) { - getInput(0)->computeFastBounds(src, dst); - } else { - *dst = src; - } - dst->offset(fOffset.fX, fOffset.fY); +SkRect SkOffsetImageFilter::computeFastBounds(const SkRect& src) const { + SkRect bounds = this->getInput(0) ? this->getInput(0)->computeFastBounds(src) : src; + bounds.offset(fOffset.fX, fOffset.fY); + return bounds; } -void SkOffsetImageFilter::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm, - SkIRect* dst, MapDirection direction) const { +SkIRect SkOffsetImageFilter::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm, + MapDirection direction) const { SkVector vec; ctm.mapVectors(&vec, &fOffset, 1); if (kReverse_MapDirection == direction) { vec.negate(); } - *dst = src; - dst->offset(SkScalarCeilToInt(vec.fX), SkScalarCeilToInt(vec.fY)); + return src.makeOffset(SkScalarCeilToInt(vec.fX), SkScalarCeilToInt(vec.fY)); } SkFlattenable* SkOffsetImageFilter::CreateProc(SkReadBuffer& buffer) { |