From 3512a02e11b3f80c3b5fe6af8639e510e1382568 Mon Sep 17 00:00:00 2001 From: Fred Ross-Perry Date: Tue, 27 Sep 2016 08:16:24 -0700 Subject: Android example - fix to maintain vertical center when zooming. --- .../mupdf/src/main/java/com/artifex/mupdf/android/DocViewBase.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'platform/android/example') diff --git a/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/DocViewBase.java b/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/DocViewBase.java index 5ecc75d8..10cf78ca 100755 --- a/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/DocViewBase.java +++ b/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/DocViewBase.java @@ -477,9 +477,14 @@ public class DocViewBase mScale *= ratio; scaleChildren(); - // scroll so the left edged is flush to the viewport. + // scroll horizontally so the left edge is flush with the viewport. mXScroll += getScrollX(); + // scroll vertically to maintain the center. + int oldy = mViewport.centerY() - mLastBlockRect.top; + int newy = (int) ((float) oldy * ratio); + mYScroll -= (newy-oldy); + requestLayout(); } -- cgit v1.2.3