summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Guy <romainguy@android.com>2009-07-07 11:22:45 -0700
committerRomain Guy <romainguy@android.com>2009-07-07 11:22:45 -0700
commit1e09597512fd7e6c62ea00e4f0a93d305717ca79 (patch)
treeada311fbe268b39a5a9b2234aac64df9c75cbe6e
parent88e209dcf8c2ebddda5c272f46d1bd5478bc639c (diff)
downloadframeworks_base-1e09597512fd7e6c62ea00e4f0a93d305717ca79.zip
frameworks_base-1e09597512fd7e6c62ea00e4f0a93d305717ca79.tar.gz
frameworks_base-1e09597512fd7e6c62ea00e4f0a93d305717ca79.tar.bz2
Fixes #1963217. Increases the invalidate region in compatibility mode.
To account for rounding errors when scaling the invalidate regions, increase the dirty rectangle by 1 pixel in each direction
-rw-r--r--core/java/android/view/ViewRoot.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index 65457c5..6f6e224 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -546,13 +546,16 @@ public final class ViewRoot extends Handler implements ViewParent,
if (DEBUG_DRAW) Log.v(TAG, "Invalidate child: " + dirty);
if (mCurScrollY != 0 || mTranslator != null) {
mTempRect.set(dirty);
+ dirty = mTempRect;
if (mCurScrollY != 0) {
- mTempRect.offset(0, -mCurScrollY);
+ dirty.offset(0, -mCurScrollY);
}
if (mTranslator != null) {
- mTranslator.translateRectInAppWindowToScreen(mTempRect);
+ mTranslator.translateRectInAppWindowToScreen(dirty);
+ }
+ if (mAttachInfo.mScalingRequired) {
+ dirty.inset(-1, -1);
}
- dirty = mTempRect;
}
mDirty.union(dirty);
if (!mWillDrawSoon) {