summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmeventtranslator.h
diff options
context:
space:
mode:
authorMikolaj Boc <mikolaj.boc@qt.io>2022-07-15 09:11:11 +0200
committerMikolaj Boc <mikolaj.boc@qt.io>2022-07-25 14:40:40 +0200
commit5a4e5c62af0d462e0c26d691d3971e82f3241f4b (patch)
tree863487079e4e8f7903652bb4e5b80f9149fa4fe8 /src/plugins/platforms/wasm/qwasmeventtranslator.h
parent57b4e30ff8841da682cc5e27c2b4abf571838e32 (diff)
Improve window dragging on WASM
Window dragging has been considerably improved by replacing the mouse events by pointer events and placing a pointer lock on WASM canvas, so that off-browser window events are delivered to us. Translation of the drag origin has been limited to inside the canvas, so that a window cannot be dragged so far that it becomes offscreen and is unreachable. Change-Id: Id177c630a6466f04464a513371d6b97d3a098b6a Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmeventtranslator.h')
-rw-r--r--src/plugins/platforms/wasm/qwasmeventtranslator.h20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/plugins/platforms/wasm/qwasmeventtranslator.h b/src/plugins/platforms/wasm/qwasmeventtranslator.h
index d86ddf7625..76da1ebbe5 100644
--- a/src/plugins/platforms/wasm/qwasmeventtranslator.h
+++ b/src/plugins/platforms/wasm/qwasmeventtranslator.h
@@ -12,6 +12,8 @@
#include <QtGui/qinputdevice.h>
#include <QHash>
#include <QCursor>
+#include "qwasmevent.h"
+#include "qwasmplatform.h"
QT_BEGIN_NAMESPACE
@@ -26,25 +28,7 @@ public:
explicit QWasmEventTranslator();
~QWasmEventTranslator();
- template <typename Event>
- QFlags<Qt::KeyboardModifier> translatKeyModifier(const Event *event);
-
static Qt::Key translateEmscriptKey(const EmscriptenKeyboardEvent *emscriptKey);
- QFlags<Qt::KeyboardModifier> translateKeyboardEventModifier(const EmscriptenKeyboardEvent *keyEvent);
- QFlags<Qt::KeyboardModifier> translateMouseEventModifier(const EmscriptenMouseEvent *mouseEvent);
- QFlags<Qt::KeyboardModifier> translateTouchEventModifier(const EmscriptenTouchEvent *touchEvent);
- static constexpr Qt::MouseButton translateMouseButton(unsigned short button) {
- switch (button) {
- case 0:
- return Qt::LeftButton;
- case 1:
- return Qt::MiddleButton;
- case 2:
- return Qt::RightButton;
- default:
- return Qt::NoButton;
- }
- }
static QCursor cursorForMode(QWasmCompositor::ResizeMode mode);
QString getKeyText(const EmscriptenKeyboardEvent *keyEvent, Qt::Key key);