From 19efe68b1ece039027b08139e032b4ce483c113b Mon Sep 17 00:00:00 2001 From: Ptyl Date: Thu, 9 May 2013 15:16:00 +0300 Subject: Imrove scrolling in the Android "Desktop" app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I got scrolling to respond to the JNI scroll method call. (This is not yet the gesture I want to implement (scroll by pixels), but at least it’s a start.) At first I tried to do some hacking in the C++ part, then found the problem was in the Java parameters, which set the mouse whell delta too big. When passed the value 1 or -1 to the Y value of AppSupport.scroll(int x, int y), the scrolling is reasonable. Change-Id: Id8fa0ada1a035760b7b05bf21325d0e51ef28fdc --- .../desktop/src/org/libreoffice/experimental/desktop/Desktop.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'android/experimental') diff --git a/android/experimental/desktop/src/org/libreoffice/experimental/desktop/Desktop.java b/android/experimental/desktop/src/org/libreoffice/experimental/desktop/Desktop.java index b24b0d70665e..b84333bd83cc 100644 --- a/android/experimental/desktop/src/org/libreoffice/experimental/desktop/Desktop.java +++ b/android/experimental/desktop/src/org/libreoffice/experimental/desktop/Desktop.java @@ -52,6 +52,12 @@ public class Desktop BootstrapContext bootstrapContext; + private static final Integer ZERO = 0; + + private static int normalize(Number value) { + return ZERO.compareTo(-value.intValue()); + } + private void initBootstrapContext() { bootstrapContext = new BootstrapContext(); @@ -293,7 +299,7 @@ public class Desktop // the scroll must have ended. if (scrollInProgress) { - AppSupport.scroll((int) translateX, (int) translateY); + AppSupport.scroll(normalize(translateX), normalize(translateY)); translateX = translateY = 0; scrollInProgress = false; scrollJustEnded = true; -- cgit