Merge "Fix clipRect transform rounding errors" into nyc-dev am: 2957d9d604

am: 0c63355719

* commit '0c63355719d45986b3ce24046a0338f26a00cf3b':
  Fix clipRect transform rounding errors

Change-Id: I3c24c9407c053c8b764989bb8b6e7352a758b3c2
This commit is contained in:
Chia-I Wu
2016-06-01 23:15:44 +00:00
committed by android-build-merger
2 changed files with 6 additions and 6 deletions

View File

@@ -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);
}
}

View File

@@ -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()) {