summaryrefslogtreecommitdiffstats
path: root/libs/gui/SurfaceComposerClient.cpp
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2014-01-29 17:17:11 -0800
committerAndy McFadden <fadden@android.com>2014-01-29 17:36:49 -0800
commit4125a4ffaf374ca9c0773f256998557d3325343e (patch)
tree26978b87b53a5a9507257606ff65eb95c4a966ac /libs/gui/SurfaceComposerClient.cpp
parenta9d5701b034ed2d9771b3f0943e1add00741d7cd (diff)
downloadframeworks_native-4125a4ffaf374ca9c0773f256998557d3325343e.zip
frameworks_native-4125a4ffaf374ca9c0773f256998557d3325343e.tar.gz
frameworks_native-4125a4ffaf374ca9c0773f256998557d3325343e.tar.bz2
Allow "opaque" flag to be updated
Moves the "opaque layer" from Layer to Layer::State. This allows it to be updated as part of a transaction. Bug 12387406 Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
Diffstat (limited to 'libs/gui/SurfaceComposerClient.cpp')
-rw-r--r--libs/gui/SurfaceComposerClient.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index aafc4d2..2246f5f 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -309,7 +309,12 @@ status_t Composer::setFlags(const sp<SurfaceComposerClient>& client,
layer_state_t* s = getLayerStateLocked(client, id);
if (!s)
return BAD_INDEX;
- s->what |= layer_state_t::eVisibilityChanged;
+ if (mask & layer_state_t::eLayerOpaque) {
+ s->what |= layer_state_t::eOpacityChanged;
+ }
+ if (mask & layer_state_t::eLayerHidden) {
+ s->what |= layer_state_t::eVisibilityChanged;
+ }
s->flags &= ~mask;
s->flags |= (flags & mask);
s->mask |= mask;