summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Sørvig <[email protected]>2025-03-14 15:54:37 +0100
committerMorten Sørvig <[email protected]>2025-03-17 19:46:02 +0100
commit0eba6478eefcc7ef7591e75f95002a36a0685343 (patch)
treeb6182115259f37fe417c9b4d66c5d78b651198ac
parent209a2145f94e99f99832c3a08cdf579d8f42ca55 (diff)
wasm: Use the new QWasmEventHandler class
Also saves one malloc call per event handler. Change-Id: I33a72916b101e27d2e4139ebb1dc5227b0793273 Reviewed-by: Lorn Potter <[email protected]>
-rw-r--r--src/plugins/platforms/wasm/qwasmwindow.cpp32
-rw-r--r--src/plugins/platforms/wasm/qwasmwindow.h38
2 files changed, 35 insertions, 35 deletions
diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp
index 83a4689fc1b..16ee1c3bc53 100644
--- a/src/plugins/platforms/wasm/qwasmwindow.cpp
+++ b/src/plugins/platforms/wasm/qwasmwindow.cpp
@@ -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)); });
}
diff --git a/src/plugins/platforms/wasm/qwasmwindow.h b/src/plugins/platforms/wasm/qwasmwindow.h
index be424753d3f..8b5e6d56a71 100644
--- a/src/plugins/platforms/wasm/qwasmwindow.h
+++ b/src/plugins/platforms/wasm/qwasmwindow.h
@@ -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;
-
- 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;
-
- 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;
-
- std::unique_ptr<qstdweb::EventCallback> m_wheelEventCallback;
+ QWasmEventHandler m_keyDownCallback;
+ QWasmEventHandler m_keyUpCallback;
+ QWasmEventHandler m_keyDownCallbackForInputContext;
+ QWasmEventHandler m_keyUpCallbackForInputContext;
+
+ QWasmEventHandler m_pointerDownCallback;
+ QWasmEventHandler m_pointerMoveCallback;
+ QWasmEventHandler m_pointerUpCallback;
+ QWasmEventHandler m_pointerCancelCallback;
+ QWasmEventHandler m_pointerLeaveCallback;
+ QWasmEventHandler m_pointerEnterCallback;
+
+ QWasmEventHandler m_dragOverCallback;
+ QWasmEventHandler m_dragStartCallback;
+ QWasmEventHandler m_dragEndCallback;
+ QWasmEventHandler m_dropCallback;
+ QWasmEventHandler m_dragLeaveCallback;
+
+ QWasmEventHandler m_wheelEventCallback;
QMap<int, QWindowSystemInterface::TouchPoint> m_pointerIdToTouchPoints;