Loading include/private/gui/LayerState.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ struct layer_state_t { enum { eLayerHidden = 0x01, // SURFACE_HIDDEN in SurfaceControl.java eLayerOpaque = 0x02, // SURFACE_OPAQUE eLayerTransparent = 0x80, // SURFACE_TRANSPARENT }; enum { Loading @@ -52,6 +53,7 @@ struct layer_state_t { eLayerStackChanged = 0x00000080, eCropChanged = 0x00000100, eOpacityChanged = 0x00000200, eTransparencyChanged = 0x80000000, }; layer_state_t() Loading libs/gui/SurfaceComposerClient.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -316,6 +316,9 @@ status_t Composer::setFlags(const sp<SurfaceComposerClient>& client, if (mask & layer_state_t::eLayerHidden) { s->what |= layer_state_t::eVisibilityChanged; } if (mask & layer_state_t::eLayerTransparent) { s->what |= layer_state_t::eTransparencyChanged; } s->flags &= ~mask; s->flags |= (flags & mask); s->mask |= mask; Loading services/surfaceflinger/Layer.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -1199,7 +1199,8 @@ void Layer::onPostComposition() { bool Layer::isVisible() const { const Layer::State& s(mDrawingState); return !(s.flags & layer_state_t::eLayerHidden) && s.alpha return !(s.flags & layer_state_t::eLayerHidden) && !(s.flags & layer_state_t::eLayerTransparent) && s.alpha && (mActiveBuffer != NULL || mSidebandStream != NULL); } Loading services/surfaceflinger/SurfaceFlinger.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -2535,7 +2535,8 @@ uint32_t SurfaceFlinger::setClientStateLocked( flags |= eTraversalNeeded; } if ((what & layer_state_t::eVisibilityChanged) || (what & layer_state_t::eOpacityChanged)) { (what & layer_state_t::eOpacityChanged) || (what & layer_state_t::eTransparencyChanged)) { // TODO: should we just use an eFlagsChanged for this? if (layer->setFlags(s.flags, s.mask)) flags |= eTraversalNeeded; Loading Loading
include/private/gui/LayerState.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ struct layer_state_t { enum { eLayerHidden = 0x01, // SURFACE_HIDDEN in SurfaceControl.java eLayerOpaque = 0x02, // SURFACE_OPAQUE eLayerTransparent = 0x80, // SURFACE_TRANSPARENT }; enum { Loading @@ -52,6 +53,7 @@ struct layer_state_t { eLayerStackChanged = 0x00000080, eCropChanged = 0x00000100, eOpacityChanged = 0x00000200, eTransparencyChanged = 0x80000000, }; layer_state_t() Loading
libs/gui/SurfaceComposerClient.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -316,6 +316,9 @@ status_t Composer::setFlags(const sp<SurfaceComposerClient>& client, if (mask & layer_state_t::eLayerHidden) { s->what |= layer_state_t::eVisibilityChanged; } if (mask & layer_state_t::eLayerTransparent) { s->what |= layer_state_t::eTransparencyChanged; } s->flags &= ~mask; s->flags |= (flags & mask); s->mask |= mask; Loading
services/surfaceflinger/Layer.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -1199,7 +1199,8 @@ void Layer::onPostComposition() { bool Layer::isVisible() const { const Layer::State& s(mDrawingState); return !(s.flags & layer_state_t::eLayerHidden) && s.alpha return !(s.flags & layer_state_t::eLayerHidden) && !(s.flags & layer_state_t::eLayerTransparent) && s.alpha && (mActiveBuffer != NULL || mSidebandStream != NULL); } Loading
services/surfaceflinger/SurfaceFlinger.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -2535,7 +2535,8 @@ uint32_t SurfaceFlinger::setClientStateLocked( flags |= eTraversalNeeded; } if ((what & layer_state_t::eVisibilityChanged) || (what & layer_state_t::eOpacityChanged)) { (what & layer_state_t::eOpacityChanged) || (what & layer_state_t::eTransparencyChanged)) { // TODO: should we just use an eFlagsChanged for this? if (layer->setFlags(s.flags, s.mask)) flags |= eTraversalNeeded; Loading