Index: src/effects/SkDropShadowImageFilter.cpp |
diff --git a/src/effects/SkDropShadowImageFilter.cpp b/src/effects/SkDropShadowImageFilter.cpp |
index 24a910d0b67ebc07c6f7b46f8b7b3d107a297871..60294e4f027a8ca91fe891b98715782c9ff903b4 100644 |
--- a/src/effects/SkDropShadowImageFilter.cpp |
+++ b/src/effects/SkDropShadowImageFilter.cpp |
@@ -57,14 +57,16 @@ void SkDropShadowImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const |
buffer.writeColor(fColor); |
} |
-bool SkDropShadowImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& source, const SkMatrix& matrix, SkBitmap* result, SkIPoint* loc) |
+bool SkDropShadowImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& source, const SkMatrix& matrix, SkBitmap* result, SkIPoint* offset) |
{ |
SkBitmap src = source; |
- if (getInput(0) && !getInput(0)->filterImage(proxy, source, matrix, &src, loc)) |
+ SkIPoint srcOffset = SkIPoint::Make(0, 0); |
+ if (getInput(0) && !getInput(0)->filterImage(proxy, source, matrix, &src, &srcOffset)) |
return false; |
SkIRect bounds; |
src.getBounds(&bounds); |
+ bounds.offset(srcOffset); |
if (!this->applyCropRect(&bounds, matrix)) { |
return false; |
} |
@@ -85,7 +87,7 @@ bool SkDropShadowImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& source |
canvas.drawBitmap(src, fDx, fDy, &paint); |
canvas.drawBitmap(src, 0, 0); |
*result = device->accessBitmap(false); |
- loc->fX += bounds.fLeft; |
- loc->fY += bounds.fTop; |
+ offset->fX = bounds.fLeft; |
+ offset->fY = bounds.fTop; |
return true; |
} |