diff options
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 1acb2da051..953cb99c13 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -2011,7 +2011,8 @@ void SurfaceFlinger::computeLayerBounds() { continue; } - layer->computeBounds(displayDevice->getViewport().toFloatRect(), ui::Transform()); + layer->computeBounds(displayDevice->getViewport().toFloatRect(), ui::Transform(), + 0.f /* shadowRadius */); } } } @@ -3335,6 +3336,9 @@ uint32_t SurfaceFlinger::setClientStateLocked( flags |= eTraversalNeeded; } } + if (what & layer_state_t::eShadowRadiusChanged) { + if (layer->setShadowRadius(s.shadowRadius)) flags |= eTraversalNeeded; + } // This has to happen after we reparent children because when we reparent to null we remove // child layers from current state and remove its relative z. If the children are reparented in // the same transaction, then we have to make sure we reparent the children first so we do not @@ -5010,7 +5014,8 @@ status_t SurfaceFlinger::captureLayers( const Rect& drawingBounds) : oldParent(oldParent), newParent(newParent) { // Compute and cache the bounds for the new parent layer. - newParent->computeBounds(drawingBounds.toFloatRect(), ui::Transform()); + newParent->computeBounds(drawingBounds.toFloatRect(), ui::Transform(), + 0.f /* shadowRadius */); oldParent->setChildrenDrawingParent(newParent); } ~ReparentForDrawing() { oldParent->setChildrenDrawingParent(oldParent); } |