wasm: Use the new QWasmEventHandler class
Also saves one malloc call per event handler. Change-Id: I33a72916b101e27d2e4139ebb1dc5227b0793273 Reviewed-by: Lorn Potter <lorn.potter@qt.io>
This commit is contained in:
parent
209a2145f9
commit
0eba6478ee
@ -121,73 +121,73 @@ QWasmWindow::QWasmWindow(QWindow *w, QWasmDeadKeySupport *deadKeySupport,
|
||||
|
||||
void QWasmWindow::registerEventHandlers()
|
||||
{
|
||||
m_pointerDownCallback = std::make_unique<qstdweb::EventCallback>(m_window, "pointerdown",
|
||||
m_pointerDownCallback = QWasmEventHandler(m_window, "pointerdown",
|
||||
[this](emscripten::val event){ processPointer(PointerEvent(EventType::PointerDown, event)); }
|
||||
);
|
||||
m_pointerMoveCallback = std::make_unique<qstdweb::EventCallback>(m_window, "pointermove",
|
||||
m_pointerMoveCallback = QWasmEventHandler(m_window, "pointermove",
|
||||
[this](emscripten::val event){ processPointer(PointerEvent(EventType::PointerMove, event)); }
|
||||
);
|
||||
m_pointerUpCallback = std::make_unique<qstdweb::EventCallback>(m_window, "pointerup",
|
||||
m_pointerUpCallback = QWasmEventHandler(m_window, "pointerup",
|
||||
[this](emscripten::val event){ processPointer(PointerEvent(EventType::PointerUp, event)); }
|
||||
);
|
||||
m_pointerCancelCallback = std::make_unique<qstdweb::EventCallback>(m_window, "pointercancel",
|
||||
m_pointerCancelCallback = QWasmEventHandler(m_window, "pointercancel",
|
||||
[this](emscripten::val event){ processPointer(PointerEvent(EventType::PointerCancel, event)); }
|
||||
);
|
||||
m_pointerEnterCallback = std::make_unique<qstdweb::EventCallback>(m_window, "pointerenter",
|
||||
m_pointerEnterCallback = QWasmEventHandler(m_window, "pointerenter",
|
||||
[this](emscripten::val event) { this->handlePointerEnterLeaveEvent(PointerEvent(EventType::PointerEnter, event)); }
|
||||
);
|
||||
m_pointerLeaveCallback = std::make_unique<qstdweb::EventCallback>(m_window, "pointerleave",
|
||||
m_pointerLeaveCallback = QWasmEventHandler(m_window, "pointerleave",
|
||||
[this](emscripten::val event) { this->handlePointerEnterLeaveEvent(PointerEvent(EventType::PointerLeave, event)); }
|
||||
);
|
||||
|
||||
m_window.call<void>("setAttribute", emscripten::val("draggable"), emscripten::val("true"));
|
||||
m_dragStartCallback = std::make_unique<qstdweb::EventCallback>(m_window, "dragstart",
|
||||
m_dragStartCallback = QWasmEventHandler(m_window, "dragstart",
|
||||
[this](emscripten::val event) {
|
||||
DragEvent dragEvent(EventType::DragStart, event, window());
|
||||
QWasmDrag::instance()->onNativeDragStarted(&dragEvent);
|
||||
}
|
||||
);
|
||||
m_dragOverCallback = std::make_unique<qstdweb::EventCallback>(m_window, "dragover",
|
||||
m_dragOverCallback = QWasmEventHandler(m_window, "dragover",
|
||||
[this](emscripten::val event) {
|
||||
DragEvent dragEvent(EventType::DragOver, event, window());
|
||||
QWasmDrag::instance()->onNativeDragOver(&dragEvent);
|
||||
}
|
||||
);
|
||||
m_dropCallback = std::make_unique<qstdweb::EventCallback>(m_window, "drop",
|
||||
m_dropCallback = QWasmEventHandler(m_window, "drop",
|
||||
[this](emscripten::val event) {
|
||||
DragEvent dragEvent(EventType::Drop, event, window());
|
||||
QWasmDrag::instance()->onNativeDrop(&dragEvent);
|
||||
}
|
||||
);
|
||||
m_dragEndCallback = std::make_unique<qstdweb::EventCallback>(m_window, "dragend",
|
||||
m_dragEndCallback = QWasmEventHandler(m_window, "dragend",
|
||||
[this](emscripten::val event) {
|
||||
DragEvent dragEvent(EventType::DragEnd, event, window());
|
||||
QWasmDrag::instance()->onNativeDragFinished(&dragEvent);
|
||||
}
|
||||
);
|
||||
m_dragLeaveCallback = std::make_unique<qstdweb::EventCallback>(m_window, "dragleave",
|
||||
m_dragLeaveCallback = QWasmEventHandler(m_window, "dragleave",
|
||||
[this](emscripten::val event) {
|
||||
DragEvent dragEvent(EventType::DragLeave, event, window());
|
||||
QWasmDrag::instance()->onNativeDragLeave(&dragEvent);
|
||||
}
|
||||
);
|
||||
|
||||
m_wheelEventCallback = std::make_unique<qstdweb::EventCallback>( m_window, "wheel",
|
||||
m_wheelEventCallback = QWasmEventHandler(m_window, "wheel",
|
||||
[this](emscripten::val event) { this->handleWheelEvent(event); });
|
||||
|
||||
QWasmInputContext *wasmInput = QWasmIntegration::get()->wasmInputContext();
|
||||
if (wasmInput) {
|
||||
m_keyDownCallbackForInputContext =
|
||||
std::make_unique<qstdweb::EventCallback>(wasmInput->m_inputElement, "keydown",
|
||||
QWasmEventHandler(wasmInput->m_inputElement, "keydown",
|
||||
[this](emscripten::val event) { this->handleKeyForInputContextEvent(EventType::KeyDown, event); });
|
||||
m_keyUpCallbackForInputContext =
|
||||
std::make_unique<qstdweb::EventCallback>(wasmInput->m_inputElement, "keyup",
|
||||
QWasmEventHandler(wasmInput->m_inputElement, "keyup",
|
||||
[this](emscripten::val event) { this->handleKeyForInputContextEvent(EventType::KeyUp, event); });
|
||||
}
|
||||
|
||||
m_keyDownCallback = std::make_unique<qstdweb::EventCallback>(m_window, "keydown",
|
||||
m_keyDownCallback = QWasmEventHandler(m_window, "keydown",
|
||||
[this](emscripten::val event) { this->handleKeyEvent(KeyEvent(EventType::KeyDown, event, m_deadKeySupport)); });
|
||||
m_keyUpCallback =std::make_unique<qstdweb::EventCallback>(m_window, "keyup",
|
||||
m_keyUpCallback =QWasmEventHandler(m_window, "keyup",
|
||||
[this](emscripten::val event) {this->handleKeyEvent(KeyEvent(EventType::KeyUp, event, m_deadKeySupport)); });
|
||||
}
|
||||
|
||||
|
@ -151,25 +151,25 @@ private:
|
||||
|
||||
QWasmWindowTreeNode *m_commitedParent = nullptr;
|
||||
|
||||
std::unique_ptr<qstdweb::EventCallback> m_keyDownCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_keyUpCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_keyDownCallbackForInputContext;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_keyUpCallbackForInputContext;
|
||||
QWasmEventHandler m_keyDownCallback;
|
||||
QWasmEventHandler m_keyUpCallback;
|
||||
QWasmEventHandler m_keyDownCallbackForInputContext;
|
||||
QWasmEventHandler m_keyUpCallbackForInputContext;
|
||||
|
||||
std::unique_ptr<qstdweb::EventCallback> m_pointerDownCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_pointerMoveCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_pointerUpCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_pointerCancelCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_pointerLeaveCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_pointerEnterCallback;
|
||||
QWasmEventHandler m_pointerDownCallback;
|
||||
QWasmEventHandler m_pointerMoveCallback;
|
||||
QWasmEventHandler m_pointerUpCallback;
|
||||
QWasmEventHandler m_pointerCancelCallback;
|
||||
QWasmEventHandler m_pointerLeaveCallback;
|
||||
QWasmEventHandler m_pointerEnterCallback;
|
||||
|
||||
std::unique_ptr<qstdweb::EventCallback> m_dragOverCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_dragStartCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_dragEndCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_dropCallback;
|
||||
std::unique_ptr<qstdweb::EventCallback> m_dragLeaveCallback;
|
||||
QWasmEventHandler m_dragOverCallback;
|
||||
QWasmEventHandler m_dragStartCallback;
|
||||
QWasmEventHandler m_dragEndCallback;
|
||||
QWasmEventHandler m_dropCallback;
|
||||
QWasmEventHandler m_dragLeaveCallback;
|
||||
|
||||
std::unique_ptr<qstdweb::EventCallback> m_wheelEventCallback;
|
||||
QWasmEventHandler m_wheelEventCallback;
|
||||
|
||||
QMap<int, QWindowSystemInterface::TouchPoint> m_pointerIdToTouchPoints;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user