diff options
| author | Romain Guy <romainguy@android.com> | 2009-07-07 11:22:45 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@android.com> | 2009-07-07 11:22:45 -0700 |
| commit | 1e09597512fd7e6c62ea00e4f0a93d305717ca79 (patch) | |
| tree | ada311fbe268b39a5a9b2234aac64df9c75cbe6e | |
| parent | 88e209dcf8c2ebddda5c272f46d1bd5478bc639c (diff) | |
| download | frameworks_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.java | 9 |
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) { |
