Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc09a364 authored by Chet Haase's avatar Chet Haase Committed by Android (Google) Code Review
Browse files

Merge "Fixes for setClipBounds()" into jb-mr2-dev

parents e1546df2 21f9a360
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -13380,18 +13380,32 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
    /**
     * Sets a rectangular area on this view to which the view will be clipped
     * it is drawn. Setting the value to null will remove the clip bounds
     * when it is drawn. Setting the value to null will remove the clip bounds
     * and the view will draw normally, using its full bounds.
     *
     * @param clipBounds The rectangular area, in the local coordinates of
     * this view, to which future drawing operations will be clipped.
     */
    public void setClipBounds(Rect clipBounds) {
        mClipBounds = clipBounds;
        if (clipBounds != null) {
            invalidate(clipBounds);
            if (clipBounds.equals(mClipBounds)) {
                return;
            }
            if (mClipBounds == null) {
                invalidate();
                mClipBounds = new Rect(clipBounds);
            } 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);
            }
        } else {
            if (mClipBounds != null) {
                invalidate();
                mClipBounds = null;
            }
        }
    }