Merge "Don't invalidate() on setClipBounds" into lmp-mr1-dev

This commit is contained in:
John Reck
2014-11-18 21:41:15 +00:00
committed by Android (Google) Code Review

View File

@@ -14768,27 +14768,21 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* this view, to which future drawing operations will be clipped. * this view, to which future drawing operations will be clipped.
*/ */
public void setClipBounds(Rect clipBounds) { public void setClipBounds(Rect clipBounds) {
if (clipBounds == mClipBounds
|| (clipBounds != null && clipBounds.equals(mClipBounds))) {
return;
}
if (clipBounds != null) { if (clipBounds != null) {
if (clipBounds.equals(mClipBounds)) {
return;
}
if (mClipBounds == null) { if (mClipBounds == null) {
invalidate();
mClipBounds = new Rect(clipBounds); mClipBounds = new Rect(clipBounds);
} else { } else {
invalidate(Math.min(mClipBounds.left, clipBounds.left),
Math.min(mClipBounds.top, clipBounds.top),
Math.max(mClipBounds.right, clipBounds.right),
Math.max(mClipBounds.bottom, clipBounds.bottom));
mClipBounds.set(clipBounds); mClipBounds.set(clipBounds);
} }
} else { } else {
if (mClipBounds != null) { mClipBounds = null;
invalidate();
mClipBounds = null;
}
} }
mRenderNode.setClipBounds(mClipBounds); mRenderNode.setClipBounds(mClipBounds);
invalidateViewProperty(false, false);
} }
/** /**