| Index: src/core/SkImageFilter.cpp
|
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
|
| index d62685a17c4e26322326c24ae2d465bac2584c82..cb1d9fb57129cd1925699197956df5e73879718a 100644
|
| --- a/src/core/SkImageFilter.cpp
|
| +++ b/src/core/SkImageFilter.cpp
|
| @@ -111,6 +111,28 @@ bool SkImageFilter::filterBounds(const SkIRect& src, const SkMatrix& ctm,
|
| return this->onFilterBounds(src, ctm, dst);
|
| }
|
|
|
| +void SkImageFilter::computeFastBounds(const SkRect& src, SkRect* dst) const {
|
| + if (0 == fInputCount) {
|
| + *dst = src;
|
| + return;
|
| + }
|
| + if (this->getInput(0)) {
|
| + this->getInput(0)->computeFastBounds(src, dst);
|
| + } else {
|
| + *dst = src;
|
| + }
|
| + for (int i = 1; i < fInputCount; i++) {
|
| + SkImageFilter* input = this->getInput(i);
|
| + if (input) {
|
| + SkRect bounds;
|
| + input->computeFastBounds(src, &bounds);
|
| + dst->join(bounds);
|
| + } else {
|
| + dst->join(src);
|
| + }
|
| + }
|
| +}
|
| +
|
| bool SkImageFilter::onFilterImage(Proxy*, const SkBitmap&, const SkMatrix&,
|
| SkBitmap*, SkIPoint*) {
|
| return false;
|
|
|