Fix a regression in magnification center x,y

bug:28133561

Change-Id: If37baa5f2ebe5840b50ca845bf81ce70cedf0412
This commit is contained in:
Svetoslav Ganov
2016-04-12 18:02:47 -07:00
parent e740c84dc3
commit 0a59531581

View File

@@ -156,10 +156,10 @@ class MagnificationController {
final float offsetY = sentSpec.offsetY;
// Compute the new center and update spec as needed.
final float centerX = (mMagnifiedBounds.width() / 2.0f - offsetX) / scale
+ mMagnifiedBounds.left;
final float centerY = (mMagnifiedBounds.height() / 2.0f - offsetY) / scale
+ mMagnifiedBounds.top;
final float centerX = (mMagnifiedBounds.width() / 2.0f
+ mMagnifiedBounds.left - offsetX) / scale;
final float centerY = (mMagnifiedBounds.height() / 2.0f
+ mMagnifiedBounds.top - offsetY) / scale;
if (updateSpec) {
setScaleAndCenter(scale, centerX, centerY, false);
} else {
@@ -256,7 +256,7 @@ class MagnificationController {
public float getCenterX() {
synchronized (mLock) {
return (mMagnifiedBounds.width() / 2.0f
- getOffsetX()) / getScale() + mMagnifiedBounds.left;
+ mMagnifiedBounds.left - getOffsetX()) / getScale();
}
}
@@ -279,7 +279,7 @@ class MagnificationController {
public float getCenterY() {
synchronized (mLock) {
return (mMagnifiedBounds.height() / 2.0f
- getOffsetY()) / getScale() + mMagnifiedBounds.top;
+ mMagnifiedBounds.top - getOffsetY()) / getScale();
}
}