diff options
author | Andy McFadden <fadden@android.com> | 2014-01-29 17:17:11 -0800 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2014-01-29 17:36:49 -0800 |
commit | 4125a4ffaf374ca9c0773f256998557d3325343e (patch) | |
tree | 26978b87b53a5a9507257606ff65eb95c4a966ac /libs/gui/SurfaceComposerClient.cpp | |
parent | a9d5701b034ed2d9771b3f0943e1add00741d7cd (diff) | |
download | frameworks_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.cpp | 7 |
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; |