diff options
Diffstat (limited to 'src/compositor/extensions/qwaylandxdgshellv5.h')
-rw-r--r-- | src/compositor/extensions/qwaylandxdgshellv5.h | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshellv5.h b/src/compositor/extensions/qwaylandxdgshellv5.h deleted file mode 100644 index 3c85c2ce..00000000 --- a/src/compositor/extensions/qwaylandxdgshellv5.h +++ /dev/null @@ -1,257 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWaylandCompositor module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWAYLANDXDGSHELLV5_H -#define QWAYLANDXDGSHELLV5_H - -#include <QtWaylandCompositor/QWaylandCompositorExtension> -#include <QtWaylandCompositor/QWaylandResource> -#include <QtWaylandCompositor/QWaylandShell> -#include <QtWaylandCompositor/QWaylandShellSurface> -#include <QtWaylandCompositor/qwaylandquickchildren.h> - -#include <QtCore/QRect> - -struct wl_resource; - -QT_BEGIN_NAMESPACE - -#if QT_DEPRECATED_SINCE(5, 15) - -class QWaylandXdgShellV5Private; -class QWaylandXdgSurfaceV5; -class QWaylandXdgSurfaceV5Private; -class QWaylandXdgPopupV5; -class QWaylandXdgPopupV5Private; - -class QWaylandSurface; -class QWaylandSurfaceRole; -class QWaylandSeat; -class QWaylandOutput; -class QWaylandClient; - -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgShellV5 : public QWaylandShellTemplate<QWaylandXdgShellV5> -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QWaylandXdgShellV5) -public: - QWaylandXdgShellV5(); - QWaylandXdgShellV5(QWaylandCompositor *compositor); - - void initialize() override; - QWaylandClient *popupClient() const; - - static const struct wl_interface *interface(); - static QByteArray interfaceName(); - -public Q_SLOTS: - uint ping(QWaylandClient *client); - void closeAllPopups(); - -Q_SIGNALS: - void xdgSurfaceRequested(QWaylandSurface *surface, const QWaylandResource &resource); - void xdgSurfaceCreated(QWaylandXdgSurfaceV5 *xdgSurface); - void xdgPopupCreated(QWaylandXdgPopupV5 *xdgPopup); - void xdgPopupRequested(QWaylandSurface *surface, QWaylandSurface *parent, QWaylandSeat *seat, const QPoint &position, const QWaylandResource &resource); - void pong(uint serial); - -private Q_SLOTS: - void handleSeatChanged(QWaylandSeat *newSeat, QWaylandSeat *oldSeat); - void handleFocusChanged(QWaylandSurface *newSurface, QWaylandSurface *oldSurface); - -}; - -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgSurfaceV5 : public QWaylandShellSurfaceTemplate<QWaylandXdgSurfaceV5> -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QWaylandXdgSurfaceV5) - Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(QWaylandXdgSurfaceV5) - Q_PROPERTY(QWaylandXdgShellV5 *shell READ shell NOTIFY shellChanged) - Q_PROPERTY(QWaylandSurface *surface READ surface NOTIFY surfaceChanged) - Q_PROPERTY(QWaylandXdgSurfaceV5 *parentSurface READ parentSurface NOTIFY parentSurfaceChanged) - Q_PROPERTY(QString title READ title NOTIFY titleChanged) - Q_PROPERTY(QString appId READ appId NOTIFY appIdChanged) - Q_PROPERTY(QRect windowGeometry READ windowGeometry NOTIFY windowGeometryChanged) - Q_MOC_INCLUDE("qwaylandsurface.h") - - Q_PROPERTY(QList<int> states READ statesAsInts NOTIFY statesChanged) - Q_PROPERTY(bool maximized READ maximized NOTIFY maximizedChanged) - Q_PROPERTY(bool fullscreen READ fullscreen NOTIFY fullscreenChanged) - Q_PROPERTY(bool resizing READ resizing NOTIFY resizingChanged) - Q_PROPERTY(bool activated READ activated NOTIFY activatedChanged) - -public: - enum State : uint { - MaximizedState = 1, - FullscreenState = 2, - ResizingState = 3, - ActivatedState = 4 - }; - Q_ENUM(State) - - enum ResizeEdge : uint { - NoneEdge = 0, - TopEdge = 1, - BottomEdge = 2, - LeftEdge = 4, - TopLeftEdge = 5, - BottomLeftEdge = 6, - RightEdge = 8, - TopRightEdge = 9, - BottomRightEdge = 10 - }; - Q_ENUM(ResizeEdge) - - QWaylandXdgSurfaceV5(); - QWaylandXdgSurfaceV5(QWaylandXdgShellV5* xdgShell, QWaylandSurface *surface, const QWaylandResource &resource); - - Q_INVOKABLE void initialize(QWaylandXdgShellV5* xdgShell, QWaylandSurface *surface, const QWaylandResource &resource); - - Qt::WindowType windowType() const override; - - QString title() const; - QString appId() const; - QRect windowGeometry() const; - QList<uint> states() const; - bool maximized() const; - bool fullscreen() const; - bool resizing() const; - bool activated() const; - - QWaylandXdgShellV5 *shell() const; - - QWaylandSurface *surface() const; - QWaylandXdgSurfaceV5 *parentSurface() const; - - static const struct wl_interface *interface(); - static QByteArray interfaceName(); - static QWaylandSurfaceRole *role(); - static QWaylandXdgSurfaceV5 *fromResource(::wl_resource *resource); - - Q_INVOKABLE QSize sizeForResize(const QSizeF &size, const QPointF &delta, ResizeEdge edge); - Q_INVOKABLE uint sendConfigure(const QSize &size, const QList<uint> &states); - Q_INVOKABLE uint sendConfigure(const QSize &size, const QList<State> &states); - Q_INVOKABLE void sendClose(); - - Q_INVOKABLE uint sendMaximized(const QSize &size); - Q_INVOKABLE uint sendUnmaximized(const QSize &size = QSize(0, 0)); - Q_INVOKABLE uint sendFullscreen(const QSize &size); - Q_INVOKABLE uint sendResizing(const QSize &maxSize); - -#if QT_CONFIG(wayland_compositor_quick) - QWaylandQuickShellIntegration *createIntegration(QWaylandQuickShellSurfaceItem *item) override; -#endif - -Q_SIGNALS: - void shellChanged(); - void surfaceChanged(); - void titleChanged(); - void windowGeometryChanged(); - void appIdChanged(); - void parentSurfaceChanged(); - - void statesChanged(); - void maximizedChanged(); - void fullscreenChanged(); - void resizingChanged(); - void activatedChanged(); - - void showWindowMenu(QWaylandSeat *seat, const QPoint &localSurfacePosition); - void startMove(QWaylandSeat *seat); - void startResize(QWaylandSeat *seat, ResizeEdge edges); - void setTopLevel(); - void setTransient(); - void setMaximized(); - void unsetMaximized(); - void setFullscreen(QWaylandOutput *output); - void unsetFullscreen(); - void setMinimized(); - void ackConfigure(uint serial); - -private: - void initialize() override; - QList<int> statesAsInts() const; - -private Q_SLOTS: - void handleSurfaceSizeChanged(); - void handleBufferScaleChanged(); -}; - -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgPopupV5 : public QWaylandShellSurfaceTemplate<QWaylandXdgPopupV5> -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QWaylandXdgPopupV5) - Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(QWaylandXdgPopupV5) - Q_PROPERTY(QWaylandXdgShellV5 *shell READ shell NOTIFY shellChanged) - Q_PROPERTY(QWaylandSurface *surface READ surface NOTIFY surfaceChanged) - Q_PROPERTY(QWaylandSurface *parentSurface READ parentSurface NOTIFY parentSurfaceChanged) - Q_PROPERTY(QPoint position READ position NOTIFY positionChanged) - -public: - QWaylandXdgPopupV5(); - QWaylandXdgPopupV5(QWaylandXdgShellV5 *xdgShell, QWaylandSurface *surface, QWaylandSurface *parentSurface, - const QPoint &position, const QWaylandResource &resource); - - Qt::WindowType windowType() const override { return Qt::WindowType::Popup; } - - Q_INVOKABLE void initialize(QWaylandXdgShellV5 *shell, QWaylandSurface *surface, - QWaylandSurface *parentSurface, const QPoint &position, const QWaylandResource &resource); - - QWaylandXdgShellV5 *shell() const; - - QWaylandSurface *surface() const; - QWaylandSurface *parentSurface() const; - QPoint position() const; - - static const struct wl_interface *interface(); - static QByteArray interfaceName(); - static QWaylandSurfaceRole *role(); - static QWaylandXdgPopupV5 *fromResource(::wl_resource *resource); - - Q_INVOKABLE void sendPopupDone(); - -#if QT_CONFIG(wayland_compositor_quick) - QWaylandQuickShellIntegration *createIntegration(QWaylandQuickShellSurfaceItem *item) override; -#endif - -Q_SIGNALS: - void shellChanged(); - void surfaceChanged(); - void parentSurfaceChanged(); - void positionChanged(); - -private: - void initialize() override; -}; - -#endif // QT_DEPRECATED_SINCE(5, 15) - -QT_END_NAMESPACE - -#endif /*QWAYLANDXDGSHELLV5_H*/ |