diff options
| author | Alan Viverette <alanv@google.com> | 2013-11-14 14:48:20 -0800 |
|---|---|---|
| committer | Alan Viverette <alanv@google.com> | 2013-11-14 14:48:30 -0800 |
| commit | fed3f728b7fea15c73d4fda551bd0433dd4f85eb (patch) | |
| tree | 63e0f8672f2dfc4099abe6cd801ad2f533089487 /core/java/android/view/ViewRootImpl.java | |
| parent | e5d2af6be21a5b9b09667be2597cf1bc4b7a4a1e (diff) | |
Generalize mapping between local and global View coordinates
Change-Id: Ib7f5d51debe2e9773d9ef2fa60a33379b229371a
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index a5f797ed9c71..ff74f9d60a13 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -28,6 +28,7 @@ import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Canvas; +import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.Point; @@ -1124,6 +1125,28 @@ public final class ViewRootImpl implements ViewParent, return windowSizeMayChange; } + /** + * Modifies the input matrix such that it maps view-local coordinates to + * on-screen coordinates. + * + * @param m input matrix to modify + */ + void transformMatrixToGlobal(Matrix m) { + final View.AttachInfo attachInfo = mAttachInfo; + m.postTranslate(attachInfo.mWindowLeft, attachInfo.mWindowTop); + } + + /** + * Modifies the input matrix such that it maps on-screen coordinates to + * view-local coordinates. + * + * @param m input matrix to modify + */ + void transformMatrixToLocal(Matrix m) { + final View.AttachInfo attachInfo = mAttachInfo; + m.preTranslate(-attachInfo.mWindowLeft, -attachInfo.mWindowTop); + } + private void performTraversals() { // cache mView since it is used so much below... final View host = mView; |
