diff options
| author | 2018-02-12 13:03:30 -0800 | |
|---|---|---|
| committer | 2018-02-13 15:11:45 -0800 | |
| commit | 10280a87df9e06bbd3e0ce7e9a74e7c4016d5341 (patch) | |
| tree | 31f54c5cd97ae6605df85b1bdff4cd585d67ccba | |
| parent | aa2c46cc81b87f443e800617097ad60212fbdaf4 (diff) | |
Fix magnification viewport drifting when scaling
Fixes: 32255388
Test: Ensure viewport no longer drifts when scaling
Change-Id: I1b12aeaa8e1d0282d6c35a27ee061f6cd7b0a667
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/MagnificationController.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/MagnificationController.java b/services/accessibility/java/com/android/server/accessibility/MagnificationController.java index a70b88e87ae4..7250a445487d 100644 --- a/services/accessibility/java/com/android/server/accessibility/MagnificationController.java +++ b/services/accessibility/java/com/android/server/accessibility/MagnificationController.java @@ -446,8 +446,10 @@ class MagnificationController implements Handler.Callback { mMagnificationRegion.getBounds(viewport); final MagnificationSpec spec = mCurrentMagnificationSpec; final float oldScale = spec.scale; - final float oldCenterX = (viewport.width() / 2.0f - spec.offsetX) / oldScale; - final float oldCenterY = (viewport.height() / 2.0f - spec.offsetY) / oldScale; + final float oldCenterX + = (viewport.width() / 2.0f - spec.offsetX + viewport.left) / oldScale; + final float oldCenterY + = (viewport.height() / 2.0f - spec.offsetY + viewport.top) / oldScale; final float normPivotX = (pivotX - spec.offsetX) / oldScale; final float normPivotY = (pivotY - spec.offsetY) / oldScale; final float offsetX = (oldCenterX - normPivotX) * (oldScale / scale); |