summaryrefslogtreecommitdiff
path: root/platform/android/src/com/artifex/mupdfdemo/ReaderView.java
diff options
context:
space:
mode:
authorPaul Gardiner <paul.gardiner@artifex.com>2013-09-25 12:41:06 +0100
committerPaul Gardiner <paul.gardiner@artifex.com>2013-09-25 12:41:06 +0100
commit6a10189b6611d746b8dfbc6fb1f42d65beb708e3 (patch)
tree0a9bbdcef8ec3949a559105487c037a88c708c40 /platform/android/src/com/artifex/mupdfdemo/ReaderView.java
parent457d80c7612e07a8570ae47d27f53f1e0e125cc9 (diff)
downloadmupdf-6a10189b6611d746b8dfbc6fb1f42d65beb708e3.tar.xz
Android: while adjusting reflow zoom, refresh only the visible page
Also fix a race condition where an attempt to set the zoom might precede the loading of html into the WebView
Diffstat (limited to 'platform/android/src/com/artifex/mupdfdemo/ReaderView.java')
-rw-r--r--platform/android/src/com/artifex/mupdfdemo/ReaderView.java17
1 files changed, 11 insertions, 6 deletions
diff --git a/platform/android/src/com/artifex/mupdfdemo/ReaderView.java b/platform/android/src/com/artifex/mupdfdemo/ReaderView.java
index 9ec572a3..f779372b 100644
--- a/platform/android/src/com/artifex/mupdfdemo/ReaderView.java
+++ b/platform/android/src/com/artifex/mupdfdemo/ReaderView.java
@@ -436,12 +436,9 @@ public class ReaderView
mScale = Math.min(Math.max(mScale * detector.getScaleFactor(), min_scale), max_scale);
if (mReflow) {
- applyToChildren(new ViewMapper() {
- @Override
- void applyToView(View view) {
- onScaleChild(view, mScale);
- }
- });
+ View v = mChildViews.get(mCurrent);
+ if (v != null)
+ onScaleChild(v, mScale);
} else {
float factor = mScale/previousScale;
@@ -472,6 +469,14 @@ public class ReaderView
}
public void onScaleEnd(ScaleGestureDetector detector) {
+ if (mReflow) {
+ applyToChildren(new ViewMapper() {
+ @Override
+ void applyToView(View view) {
+ onScaleChild(view, mScale);
+ }
+ });
+ }
mScaling = false;
}