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

Commit 0c633557 authored by Chia-I Wu's avatar Chia-I Wu Committed by android-build-merger
Browse files

Merge "Fix clipRect transform rounding errors" into nyc-dev

am: 2957d9d6

* commit '2957d9d6':
  Fix clipRect transform rounding errors

Change-Id: I723039f1930ac2289e4015322e744cdf937dbea2
parents 815c681f 2957d9d6
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -2732,14 +2732,14 @@ final class WindowState implements WindowManagerPolicy.WindowState {
        return mStringNameCache;
    }

    void transformFromScreenToSurfaceSpace(Rect rect) {
    void transformClipRectFromScreenToSurfaceSpace(Rect clipRect) {
         if (mHScale >= 0) {
            rect.left = (int) (rect.left / mHScale);
            rect.right = (int) (rect.right / mHScale);
            clipRect.left = (int) (clipRect.left / mHScale);
            clipRect.right = (int) Math.ceil(clipRect.right / mHScale);
        }
        if (mVScale >= 0) {
            rect.top = (int) (rect.top / mVScale);
            rect.bottom = (int) (rect.bottom / mVScale);
            clipRect.top = (int) (clipRect.top / mVScale);
            clipRect.bottom = (int) Math.ceil(clipRect.bottom / mVScale);
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -1281,7 +1281,7 @@ class WindowStateAnimator {
        if (DEBUG_WINDOW_CROP) Slog.d(TAG,
                "win=" + w + " Clip rect after stack adjustment=" + clipRect);

        w.transformFromScreenToSurfaceSpace(clipRect);
        w.transformClipRectFromScreenToSurfaceSpace(clipRect);

        // See {@link WindowState#notifyMovedInStack} for why this is necessary.
        if (w.hasJustMovedInStack() && mLastClipRect.isEmpty() && !clipRect.isEmpty()) {