Loading include/private/gui/LayerState.h +2 −2 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 eLayerSecure = 0x80, // SECURE }; enum { Loading @@ -48,10 +49,9 @@ struct layer_state_t { eAlphaChanged = 0x00000008, eMatrixChanged = 0x00000010, eTransparentRegionChanged = 0x00000020, eVisibilityChanged = 0x00000040, eFlagsChanged = 0x00000040, eLayerStackChanged = 0x00000080, eCropChanged = 0x00000100, eOpacityChanged = 0x00000200, }; layer_state_t() Loading libs/gui/SurfaceComposerClient.cpp +4 −5 Original line number Diff line number Diff line Loading @@ -310,11 +310,10 @@ status_t Composer::setFlags(const sp<SurfaceComposerClient>& client, layer_state_t* s = getLayerStateLocked(client, id); if (!s) return BAD_INDEX; if (mask & layer_state_t::eLayerOpaque) { s->what |= layer_state_t::eOpacityChanged; } if (mask & layer_state_t::eLayerHidden) { s->what |= layer_state_t::eVisibilityChanged; if (mask & layer_state_t::eLayerOpaque || mask & layer_state_t::eLayerHidden || mask & layer_state_t::eLayerSecure) { s->what |= layer_state_t::eFlagsChanged; } s->flags &= ~mask; s->flags |= (flags & mask); Loading services/surfaceflinger/Layer.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -76,7 +76,6 @@ Layer::Layer(SurfaceFlinger* flinger, const sp<Client>& client, mFiltering(false), mNeedsFiltering(false), mMesh(Mesh::TRIANGLE_FAN, 4, 2, 2), mSecure(false), mProtectedByApp(false), mHasSurface(false), mClientRef(client), Loading @@ -96,6 +95,8 @@ Layer::Layer(SurfaceFlinger* flinger, const sp<Client>& client, layerFlags |= layer_state_t::eLayerHidden; if (flags & ISurfaceComposerClient::eOpaque) layerFlags |= layer_state_t::eLayerOpaque; if (flags & ISurfaceComposerClient::eSecure) layerFlags |= layer_state_t::eLayerSecure; if (flags & ISurfaceComposerClient::eNonPremultiplied) mPremultipliedAlpha = false; Loading Loading @@ -256,7 +257,6 @@ status_t Layer::setBuffers( uint32_t w, uint32_t h, mFormat = format; mPotentialCursor = (flags & ISurfaceComposerClient::eCursorWindow) ? true : false; mSecure = (flags & ISurfaceComposerClient::eSecure) ? true : false; mProtectedByApp = (flags & ISurfaceComposerClient::eProtectedByApp) ? true : false; mCurrentOpacity = getOpacityForFormat(format); Loading Loading @@ -858,6 +858,12 @@ bool Layer::isOpaque(const Layer::State& s) const return ((s.flags & layer_state_t::eLayerOpaque) != 0) || mCurrentOpacity; } bool Layer::isSecure() const { const Layer::State& s(mDrawingState); return (s.flags & layer_state_t::eLayerSecure); } bool Layer::isProtected() const { const sp<GraphicBuffer>& activeBuffer(mActiveBuffer); Loading services/surfaceflinger/Layer.h +1 −2 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ public: * isSecure - true if this surface is secure, that is if it prevents * screenshots or VNC servers. */ virtual bool isSecure() const { return mSecure; } virtual bool isSecure() const; /* * isProtected - true if the layer may contain protected content in the Loading Loading @@ -402,7 +402,6 @@ private: mutable Texture mTexture; // page-flip thread (currently main thread) bool mSecure; // no screenshots bool mProtectedByApp; // application requires protected path to external sink // protected by mLock Loading services/surfaceflinger/SurfaceFlinger.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -2235,9 +2235,7 @@ uint32_t SurfaceFlinger::setClientStateLocked( if (layer->setTransparentRegionHint(s.transparentRegion)) flags |= eTraversalNeeded; } if ((what & layer_state_t::eVisibilityChanged) || (what & layer_state_t::eOpacityChanged)) { // TODO: should we just use an eFlagsChanged for this? if (what & layer_state_t::eFlagsChanged) { if (layer->setFlags(s.flags, s.mask)) flags |= eTraversalNeeded; } Loading Loading
include/private/gui/LayerState.h +2 −2 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 eLayerSecure = 0x80, // SECURE }; enum { Loading @@ -48,10 +49,9 @@ struct layer_state_t { eAlphaChanged = 0x00000008, eMatrixChanged = 0x00000010, eTransparentRegionChanged = 0x00000020, eVisibilityChanged = 0x00000040, eFlagsChanged = 0x00000040, eLayerStackChanged = 0x00000080, eCropChanged = 0x00000100, eOpacityChanged = 0x00000200, }; layer_state_t() Loading
libs/gui/SurfaceComposerClient.cpp +4 −5 Original line number Diff line number Diff line Loading @@ -310,11 +310,10 @@ status_t Composer::setFlags(const sp<SurfaceComposerClient>& client, layer_state_t* s = getLayerStateLocked(client, id); if (!s) return BAD_INDEX; if (mask & layer_state_t::eLayerOpaque) { s->what |= layer_state_t::eOpacityChanged; } if (mask & layer_state_t::eLayerHidden) { s->what |= layer_state_t::eVisibilityChanged; if (mask & layer_state_t::eLayerOpaque || mask & layer_state_t::eLayerHidden || mask & layer_state_t::eLayerSecure) { s->what |= layer_state_t::eFlagsChanged; } s->flags &= ~mask; s->flags |= (flags & mask); Loading
services/surfaceflinger/Layer.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -76,7 +76,6 @@ Layer::Layer(SurfaceFlinger* flinger, const sp<Client>& client, mFiltering(false), mNeedsFiltering(false), mMesh(Mesh::TRIANGLE_FAN, 4, 2, 2), mSecure(false), mProtectedByApp(false), mHasSurface(false), mClientRef(client), Loading @@ -96,6 +95,8 @@ Layer::Layer(SurfaceFlinger* flinger, const sp<Client>& client, layerFlags |= layer_state_t::eLayerHidden; if (flags & ISurfaceComposerClient::eOpaque) layerFlags |= layer_state_t::eLayerOpaque; if (flags & ISurfaceComposerClient::eSecure) layerFlags |= layer_state_t::eLayerSecure; if (flags & ISurfaceComposerClient::eNonPremultiplied) mPremultipliedAlpha = false; Loading Loading @@ -256,7 +257,6 @@ status_t Layer::setBuffers( uint32_t w, uint32_t h, mFormat = format; mPotentialCursor = (flags & ISurfaceComposerClient::eCursorWindow) ? true : false; mSecure = (flags & ISurfaceComposerClient::eSecure) ? true : false; mProtectedByApp = (flags & ISurfaceComposerClient::eProtectedByApp) ? true : false; mCurrentOpacity = getOpacityForFormat(format); Loading Loading @@ -858,6 +858,12 @@ bool Layer::isOpaque(const Layer::State& s) const return ((s.flags & layer_state_t::eLayerOpaque) != 0) || mCurrentOpacity; } bool Layer::isSecure() const { const Layer::State& s(mDrawingState); return (s.flags & layer_state_t::eLayerSecure); } bool Layer::isProtected() const { const sp<GraphicBuffer>& activeBuffer(mActiveBuffer); Loading
services/surfaceflinger/Layer.h +1 −2 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ public: * isSecure - true if this surface is secure, that is if it prevents * screenshots or VNC servers. */ virtual bool isSecure() const { return mSecure; } virtual bool isSecure() const; /* * isProtected - true if the layer may contain protected content in the Loading Loading @@ -402,7 +402,6 @@ private: mutable Texture mTexture; // page-flip thread (currently main thread) bool mSecure; // no screenshots bool mProtectedByApp; // application requires protected path to external sink // protected by mLock Loading
services/surfaceflinger/SurfaceFlinger.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -2235,9 +2235,7 @@ uint32_t SurfaceFlinger::setClientStateLocked( if (layer->setTransparentRegionHint(s.transparentRegion)) flags |= eTraversalNeeded; } if ((what & layer_state_t::eVisibilityChanged) || (what & layer_state_t::eOpacityChanged)) { // TODO: should we just use an eFlagsChanged for this? if (what & layer_state_t::eFlagsChanged) { if (layer->setFlags(s.flags, s.mask)) flags |= eTraversalNeeded; } Loading