From cb4d58766668b003fea67798027fc25d84acd059 Mon Sep 17 00:00:00 2001 From: Xianzhu Wang Date: Fri, 15 Sep 2017 08:47:43 -0700 Subject: Fix SkImageSource::filterBounds() Previously SkImageSource::filterBounds() uses the default SkImageFilter::onFilterNodeBounds() which returns the input rect. Now override onFilterNodeBounds() in SkImageSource to return src or dst rect (with transform applied). Change-Id: I6681e1ba97affb09ef1ca5bc03b3d0f66c10f149 Reviewed-on: https://skia-review.googlesource.com/46741 Commit-Queue: Mike Reed Reviewed-by: Mike Reed --- src/effects/SkImageSource.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/effects/SkImageSource.cpp') diff --git a/src/effects/SkImageSource.cpp b/src/effects/SkImageSource.cpp index cd2fb51e94..8ab02ce0cb 100644 --- a/src/effects/SkImageSource.cpp +++ b/src/effects/SkImageSource.cpp @@ -146,6 +146,13 @@ SkRect SkImageSource::computeFastBounds(const SkRect& src) const { return fDstRect; } +SkIRect SkImageSource::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm, + MapDirection direction) const { + SkRect bounds = kForward_MapDirection == direction ? fDstRect : fSrcRect; + ctm.mapRect(&bounds); + return bounds.roundOut(); +} + #ifndef SK_IGNORE_TO_STRING void SkImageSource::toString(SkString* str) const { str->appendf("SkImageSource: ("); -- cgit v1.2.3