summaryrefslogtreecommitdiff
path: root/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp
diff options
context:
space:
mode:
authorNader Jawad <njawad@google.com>2020-09-24 21:35:03 -0700
committerNader Jawad <njawad@google.com>2020-09-29 14:20:02 -0700
commit390d6e8586c276716b693be0594328e6debea5c7 (patch)
treed683df303b927623991320052af6a2bf0aabc6f5 /libs/hwui/pipeline/skia/RenderNodeDrawable.cpp
parent3f9f18eaf18b9cd172df5a7504c59e1b20c76740 (diff)
Added RenderEffect property on RenderNode
Introduced RenderEffect API to handle consuming SkImageFilter parameters on RenderNode objects in order to support blur. Updated SilkFX demo to use RenderEffect APIs on RenderNode instead of BlurShader Bug: 168549524 Test: Added tests to RenderNode CTS test cases Change-Id: I5005a322a6d75438dd104e6915630264406cf771
Diffstat (limited to 'libs/hwui/pipeline/skia/RenderNodeDrawable.cpp')
-rw-r--r--libs/hwui/pipeline/skia/RenderNodeDrawable.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp
index 00ceb2d84f9e..1473b3e5abb7 100644
--- a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp
+++ b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp
@@ -172,10 +172,12 @@ static bool layerNeedsPaint(const LayerProperties& properties, float alphaMultip
SkPaint* paint) {
paint->setFilterQuality(kLow_SkFilterQuality);
if (alphaMultiplier < 1.0f || properties.alpha() < 255 ||
- properties.xferMode() != SkBlendMode::kSrcOver || properties.getColorFilter() != nullptr) {
+ properties.xferMode() != SkBlendMode::kSrcOver || properties.getColorFilter() != nullptr ||
+ properties.getImageFilter() != nullptr) {
paint->setAlpha(properties.alpha() * alphaMultiplier);
paint->setBlendMode(properties.xferMode());
paint->setColorFilter(sk_ref_sp(properties.getColorFilter()));
+ paint->setImageFilter(sk_ref_sp(properties.getImageFilter()));
return true;
}
return false;