37 bool eventFilter(QObject *object, QEvent *event)
override;
41 void handleStartResize(QWaylandSeat *seat, QWaylandWlShellSurface::ResizeEdge edges);
42 void handleSetDefaultTopLevel();
43 void handleSetTransient(QWaylandSurface *parentSurface,
const QPoint &relativeToParent,
bool inactive);
44 void handleSetMaximized(QWaylandOutput *output);
45 void handleSetFullScreen(QWaylandWlShellSurface::FullScreenMethod method, uint framerate, QWaylandOutput *output);
46 void handleSetPopup(QWaylandSeat *seat, QWaylandSurface *parent,
const QPoint &relativeToParent);
47 void handleShellSurfaceDestroyed();
48 void handleSurfaceHasContentChanged();
50 void adjustOffsetForNextFrame(
const QPointF &offset);
51 void handleFullScreenSizeChanged();
52 void handleMaximizedSizeChanged();
55 enum class GrabberState {
61 void handlePopupClosed();
62 void handlePopupRemoved();
63 qreal devicePixelRatio()
const;
65 QWaylandQuickShellSurfaceItem *m_item =
nullptr;
66 QPointer<QWaylandWlShellSurface> m_shellSurface;
67 GrabberState grabberState = GrabberState::Default;
74 QWaylandSeat *seat =
nullptr;
78 bool initialized =
false;
89 State currentState = State::Windowed;
90 State nextState = State::Windowed;
99 QPointF normalPosition;
100 QPointF finalPosition;
102 bool filterMouseMoveEvent(QMouseEvent *event);
103 bool filterMouseReleaseEvent(QMouseEvent *event);