Index: src/core/SkImageFilter.cpp |
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp |
index 3f33bc3876a3e9a4a4c9ea753743941be6aa292c..6a3286ed67475510be347379142f35d8084cc5df 100644 |
--- a/src/core/SkImageFilter.cpp |
+++ b/src/core/SkImageFilter.cpp |
@@ -309,6 +309,9 @@ |
} |
bool SkImageFilter::canComputeFastBounds() const { |
+ if (this->affectsTransparentBlack()) { |
+ return false; |
+ } |
for (int i = 0; i < fInputCount; i++) { |
SkImageFilter* input = this->getInput(i); |
if (input && !input->canComputeFastBounds()) { |
@@ -316,6 +319,10 @@ |
} |
} |
return true; |
+} |
+ |
+bool SkImageFilter::affectsTransparentBlack() const { |
+ return false; |
} |
bool SkImageFilter::onFilterImage(Proxy*, const SkBitmap&, const Context&, |
@@ -382,14 +389,6 @@ |
} |
#endif |
return false; |
-} |
- |
-bool SkImageFilter::asAColorFilter(SkColorFilter** filterPtr) const { |
- SkASSERT(nullptr != filterPtr); |
- return this->countInputs() > 0 && |
- NULL == this->getInput(0) && |
- this->isColorFilterNode(filterPtr) && |
- !(*filterPtr)->affectsTransparentBlack(); |
} |
bool SkImageFilter::applyCropRect(const Context& ctx, const SkBitmap& src, |