summaryrefslogtreecommitdiff
path: root/libs/hwui/RenderProperties.cpp
diff options
context:
space:
mode:
author Nader Jawad <njawad@google.com> 2020-09-24 21:35:03 -0700
committer Nader Jawad <njawad@google.com> 2020-09-29 14:20:02 -0700
commit390d6e8586c276716b693be0594328e6debea5c7 (patch)
treed683df303b927623991320052af6a2bf0aabc6f5 /libs/hwui/RenderProperties.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/RenderProperties.cpp')
-rw-r--r--libs/hwui/RenderProperties.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/hwui/RenderProperties.cpp b/libs/hwui/RenderProperties.cpp
index ff9cf45cdc73..8fba9cf21df1 100644
--- a/libs/hwui/RenderProperties.cpp
+++ b/libs/hwui/RenderProperties.cpp
@@ -49,6 +49,12 @@ bool LayerProperties::setColorFilter(SkColorFilter* filter) {
return true;
}
+bool LayerProperties::setImageFilter(SkImageFilter* imageFilter) {
+ if(mImageFilter.get() == imageFilter) return false;
+ mImageFilter = sk_ref_sp(imageFilter);
+ return true;
+}
+
bool LayerProperties::setFromPaint(const SkPaint* paint) {
bool changed = false;
changed |= setAlpha(static_cast<uint8_t>(PaintUtils::getAlphaDirect(paint)));
@@ -63,6 +69,7 @@ LayerProperties& LayerProperties::operator=(const LayerProperties& other) {
setAlpha(other.alpha());
setXferMode(other.xferMode());
setColorFilter(other.getColorFilter());
+ setImageFilter(other.getImageFilter());
return *this;
}