android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 25 +++++++--- 1 file changed, 18 insertions(+), 7 deletions(-)
New commits: commit eadc132d5fa339b6fe5b2f8bb482ed30dbd23147 Author: Jan Holesovsky <ke...@collabora.com> Date: Mon Oct 13 07:01:26 2014 +0200 android: When rotating, we also need to update the viewport geometry. Change-Id: I04502c56b1e1d16cf65cbeb47632c508ef9889d0 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 4c91542..4c5509a 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -45,20 +45,32 @@ public class LOKitThread extends Thread { return true; } - private void refresh() { - Bitmap bitmap = mTileProvider.thumbnail(1000); - if (bitmap != null) { - mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight()); + /** Handle the geometry change + draw. */ + private void redraw() { + if (mController == null || mTileProvider == null) { + // called too early... + return; } - mLayerClient.clearAndResetlayers(); draw(); + RectF rect = new RectF(0, 0, mTileProvider.getPageWidth(), mTileProvider.getPageHeight()); mController.setPageRect(rect, rect); mController.setViewportMetrics(mController.getViewportMetrics()); mController.setForceRedraw(); } + /** Invalidate everything + handle the geometry change + draw. */ + private void refresh() { + Bitmap bitmap = mTileProvider.thumbnail(1000); + if (bitmap != null) { + mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight()); + } + + mLayerClient.clearAndResetlayers(); + redraw(); + } + private void changePart(int partIndex) { LOKitShell.showProgressSpinner(); mTileProvider.changePart(partIndex); @@ -119,8 +131,7 @@ public class LOKitThread extends Thread { draw(); break; case LOEvent.SIZE_CHANGED: - // re-draw when the size has changed - draw(); + redraw(); break; case LOEvent.CHANGE_PART: changePart(event.getPartIndex()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits