summaryrefslogtreecommitdiffstats
path: root/src/android
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-06-09 14:46:29 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-06-18 12:59:14 +0000
commit97eec16e4ff6367c233f8ea6c4a343c286c3a514 (patch)
tree5e80b6668e88d2ceebe75546c5ef9fc299af536e /src/android
parent68bcbe2470f1dec54b7803d847f7aa755b07c058 (diff)
Android: fix missing wheel events
Change-Id: I65b4f6a8fcbdad537a984064e332a4a1f34a265a Task-number: QTBUG-43669 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/android')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java13
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtSurface.java7
2 files changed, 20 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
index b11883a105..902e2f68e7 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
@@ -61,6 +61,7 @@ import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
+import android.view.InputDevice;
import java.lang.reflect.Method;
import java.security.KeyStore;
@@ -470,6 +471,17 @@ public class QtNative
}
}
+ static public void sendGenericMotionEvent(MotionEvent event, int id)
+ {
+ if (event.getActionMasked() != MotionEvent.ACTION_SCROLL
+ || (event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != InputDevice.SOURCE_CLASS_POINTER) {
+ return;
+ }
+
+ mouseWheel(id, (int) event.getX(), (int) event.getY(),
+ event.getAxisValue(MotionEvent.AXIS_HSCROLL), event.getAxisValue(MotionEvent.AXIS_VSCROLL));
+ }
+
public static Context getContext() {
if (m_activity != null)
return m_activity;
@@ -801,6 +813,7 @@ public class QtNative
public static native void mouseDown(int winId, int x, int y);
public static native void mouseUp(int winId, int x, int y);
public static native void mouseMove(int winId, int x, int y);
+ public static native void mouseWheel(int winId, int x, int y, float hdelta, float vdelta);
public static native void touchBegin(int winId);
public static native void touchAdd(int winId, int pointerId, int action, boolean primary, int x, int y, float major, float minor, float rotation, float pressure);
public static native void touchEnd(int winId, int action);
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtSurface.java b/src/android/jar/src/org/qtproject/qt5/android/QtSurface.java
index 4d8abb2117..e994002dd3 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtSurface.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtSurface.java
@@ -112,4 +112,11 @@ public class QtSurface extends SurfaceView implements SurfaceHolder.Callback
QtNative.sendTrackballEvent(event, getId());
return true;
}
+
+ @Override
+ public boolean onGenericMotionEvent(MotionEvent event)
+ {
+ QtNative.sendGenericMotionEvent(event, getId());
+ return true;
+ }
}