From 5d1b6d4058b3802c5fd7dc05973b00eb8c8bfd9f Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Mon, 11 Apr 2022 15:35:42 +0200 Subject: Fix the build of wip-cpp-compositor But it's still missing xdg_popup_grab() and xdg_popup_destroy() at least. Task-number: QTBUG-69937 Change-Id: I4f4b5ae6303da12be8d9b0f26da5098e3d0d6eea Reviewed-by: Paul Olav Tvete --- tests/manual/wip-cpp-compositor/compositor.cpp | 2 +- tests/manual/wip-cpp-compositor/compositor.h | 4 ++-- tests/manual/wip-cpp-compositor/window.cpp | 13 +++++++++---- tests/manual/wip-cpp-compositor/window.h | 2 ++ 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/tests/manual/wip-cpp-compositor/compositor.cpp b/tests/manual/wip-cpp-compositor/compositor.cpp index d3fcb6fa4..fb9183f54 100644 --- a/tests/manual/wip-cpp-compositor/compositor.cpp +++ b/tests/manual/wip-cpp-compositor/compositor.cpp @@ -80,7 +80,7 @@ QPoint View::mapToLocal(const QPoint &globalPosition) const void View::updateAnchoredPosition() { QPoint offset; - QSize size = surface()->size(); + QSize size = surface()->bufferSize(); QSize delta = size - m_lastSize; if (m_anchorEdges & Qt::RightEdge) offset.setX(-delta.width()); diff --git a/tests/manual/wip-cpp-compositor/compositor.h b/tests/manual/wip-cpp-compositor/compositor.h index 5c2d6a2f5..226ec28dc 100644 --- a/tests/manual/wip-cpp-compositor/compositor.h +++ b/tests/manual/wip-cpp-compositor/compositor.h @@ -71,8 +71,8 @@ class View : public QWaylandView public: explicit View() = default; QOpenGLTexture *getTexture(); - QSize size() const { return surface() ? surface()->size() : QSize(); } - QRect globalGeometry() const { return {globalPosition(), surface()->size()}; } + QSize bufferSize() const { return surface() ? surface()->bufferSize() : QSize(); } + QRect globalGeometry() const { return {globalPosition(), surface()->bufferSize()}; } QPoint globalPosition() const { return m_globalPosition; } void setGlobalPosition(const QPoint &position); QPoint mapToLocal(const QPoint &globalPosition) const; diff --git a/tests/manual/wip-cpp-compositor/window.cpp b/tests/manual/wip-cpp-compositor/window.cpp index b5b2581e0..925823537 100644 --- a/tests/manual/wip-cpp-compositor/window.cpp +++ b/tests/manual/wip-cpp-compositor/window.cpp @@ -116,23 +116,28 @@ void Window::paintGL() void Window::mousePressEvent(QMouseEvent *event) { - m_compositor->handleMousePress(event->localPos().toPoint(), event->button()); + m_compositor->handleMousePress(event->position().toPoint(), event->button()); } void Window::mouseReleaseEvent(QMouseEvent *event) { - m_compositor->handleMouseRelease(event->localPos().toPoint(), event->button(), event->buttons()); + m_compositor->handleMouseRelease(event->position().toPoint(), event->button(), event->buttons()); } void Window::mouseMoveEvent(QMouseEvent *event) { - m_compositor->handleMouseMove(event->localPos().toPoint()); + m_compositor->handleMouseMove(event->position().toPoint()); } +#if QT_CONFIG(wheelevent) void Window::wheelEvent(QWheelEvent *event) { - m_compositor->handleMouseWheel(event->orientation(), event->delta()); + if (event->angleDelta().x() != 0) + m_compositor->handleMouseWheel(Qt::Horizontal, event->angleDelta().x()); + if (event->angleDelta().y() != 0) + m_compositor->handleMouseWheel(Qt::Vertical, event->angleDelta().y()); } +#endif void Window::keyPressEvent(QKeyEvent *event) { diff --git a/tests/manual/wip-cpp-compositor/window.h b/tests/manual/wip-cpp-compositor/window.h index bc71207ee..2535eb22b 100644 --- a/tests/manual/wip-cpp-compositor/window.h +++ b/tests/manual/wip-cpp-compositor/window.h @@ -71,7 +71,9 @@ protected: void mousePressEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; +#if QT_CONFIG(wheelevent) void wheelEvent(QWheelEvent *event) override; +#endif void keyPressEvent(QKeyEvent *event) override; void keyReleaseEvent(QKeyEvent *event) override; -- cgit v1.2.3