Support shadows and reordering in ViewOverlay

am: 36d9a6dfba

Change-Id: I1e7c33d68b5e2350b8b0ac589c46fdc250424b1a
This commit is contained in:
Chris Craik
2017-01-13 22:07:43 +00:00
committed by android-build-merger

View File

@@ -238,7 +238,19 @@ public class ViewOverlay {
@Override
protected void dispatchDraw(Canvas canvas) {
/*
* The OverlayViewGroup doesn't draw with a DisplayList, because
* draw(Canvas, View, long) is never called on it. This is fine, since it doesn't need
* RenderNode/DisplayList features, and can just draw into the owner's Canvas.
*
* This means that we need to insert reorder barriers manually though, so that children
* of the OverlayViewGroup can cast shadows and Z reorder with each other.
*/
canvas.insertReorderBarrier();
super.dispatchDraw(canvas);
canvas.insertInorderBarrier();
final int numDrawables = (mDrawables == null) ? 0 : mDrawables.size();
for (int i = 0; i < numDrawables; ++i) {
mDrawables.get(i).draw(canvas);