diff options
| author | Liang Qi <liang.qi@qt.io> | 2017-06-19 13:25:11 +0200 |
|---|---|---|
| committer | Liang Qi <liang.qi@qt.io> | 2017-06-19 16:12:34 +0200 |
| commit | ce09ef431373f45d14ce0a6e7de24aee3666093d (patch) | |
| tree | 7c998b21f02db55e233e7eeb1599663f1c6b51ca /src/plugins/platforms/android/androidjniinput.cpp | |
| parent | 7ad55ca65f42351e231f31f7a9253ae6eaf1ebb3 (diff) | |
| parent | 97eec16e4ff6367c233f8ea6c4a343c286c3a514 (diff) | |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/corelib/io/qprocess_unix.cpp
src/corelib/io/qprocess_win.cpp
src/plugins/platforms/android/qandroidplatformintegration.h
src/plugins/platforms/windows/qwindowscontext.cpp
src/plugins/platforms/windows/windows.pri
src/tools/uic/cpp/cppwriteinitialization.cpp
src/widgets/doc/src/widgets-and-layouts/gallery.qdoc
Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
Diffstat (limited to 'src/plugins/platforms/android/androidjniinput.cpp')
| -rw-r--r-- | src/plugins/platforms/android/androidjniinput.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp index 8372bf64844..32630003d13 100644 --- a/src/plugins/platforms/android/androidjniinput.cpp +++ b/src/plugins/platforms/android/androidjniinput.cpp @@ -121,11 +121,11 @@ namespace QtAndroidInput return m_softwareKeyboardRect; } - void updateHandles(int mode, QPoint cursor, QPoint anchor) + void updateHandles(int mode, QPoint cursor, QPoint anchor, bool rtl) { - QJNIObjectPrivate::callStaticMethod<void>(applicationClass(), "updateHandles", "(IIIII)V", + QJNIObjectPrivate::callStaticMethod<void>(applicationClass(), "updateHandles", "(IIIIIZ)V", mode, cursor.x(), cursor.y(), anchor.x(), - anchor.y()); + anchor.y(), rtl); } static void mouseDown(JNIEnv */*env*/, jobject /*thiz*/, jint /*winId*/, jint x, jint y) @@ -173,6 +173,25 @@ namespace QtAndroidInput Qt::MouseButtons(Qt::LeftButton)); } + static void mouseWheel(JNIEnv */*env*/, jobject /*thiz*/, jint /*winId*/, jint x, jint y, jfloat hdelta, jfloat vdelta) + { + if (m_ignoreMouseEvents) + return; + + QPoint globalPos(x,y); + QWindow *tlw = m_mouseGrabber.data(); + if (!tlw) + tlw = topLevelWindowAt(globalPos); + QPoint localPos = tlw ? (globalPos-tlw->position()) : globalPos; + QPoint angleDelta(hdelta * 120, vdelta * 120); + + QWindowSystemInterface::handleWheelEvent(tlw, + localPos, + globalPos, + QPoint(), + angleDelta); + } + static void longPress(JNIEnv */*env*/, jobject /*thiz*/, jint /*winId*/, jint x, jint y) { QAndroidInputContext *inputContext = QAndroidInputContext::androidInputContext(); @@ -824,6 +843,7 @@ namespace QtAndroidInput {"mouseDown", "(III)V", (void *)mouseDown}, {"mouseUp", "(III)V", (void *)mouseUp}, {"mouseMove", "(III)V", (void *)mouseMove}, + {"mouseWheel", "(IIIFF)V", (void *)mouseWheel}, {"longPress", "(III)V", (void *)longPress}, {"isTabletEventSupported", "()Z", (void *)isTabletEventSupported}, {"tabletEvent", "(IIJIIIFFF)V", (void *)tabletEvent}, |
