diff options
author | Andy McFadden <fadden@android.com> | 2014-01-29 17:17:11 -0800 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2014-02-18 15:55:42 -0800 |
commit | 44c35ec4a94eb33f7ee0df085c5d2d56d99962cf (patch) | |
tree | de1adb17f357fcd544ba81467735fe0b39cb0f00 /libs/gui | |
parent | ed4d28dd70448b13eb74a3166ec8d1c1a530e2d4 (diff) | |
download | frameworks_native-44c35ec4a94eb33f7ee0df085c5d2d56d99962cf.zip frameworks_native-44c35ec4a94eb33f7ee0df085c5d2d56d99962cf.tar.gz frameworks_native-44c35ec4a94eb33f7ee0df085c5d2d56d99962cf.tar.bz2 |
Allow "opaque" flag to be updated. DO NOT MERGE
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')
-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; |