summaryrefslogtreecommitdiffstats
path: root/src/compositor/extensions/qwaylandxdgshellv5_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor/extensions/qwaylandxdgshellv5_p.h')
-rw-r--r--src/compositor/extensions/qwaylandxdgshellv5_p.h173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshellv5_p.h b/src/compositor/extensions/qwaylandxdgshellv5_p.h
deleted file mode 100644
index 9aaad65b5..000000000
--- a/src/compositor/extensions/qwaylandxdgshellv5_p.h
+++ /dev/null
@@ -1,173 +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_P_H
-#define QWAYLANDXDGSHELLV5_P_H
-
-#include <QtWaylandCompositor/private/qwaylandcompositorextension_p.h>
-#include <QtWaylandCompositor/private/qwaylandshell_p.h>
-#include <QtWaylandCompositor/private/qwayland-server-xdg-shell-unstable-v5_p.h>
-
-#include <QtWaylandCompositor/QWaylandXdgShellV5>
-
-#include <QtCore/QSet>
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_NAMESPACE
-
-class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgShellV5Private
- : public QWaylandShellPrivate
- , public QtWaylandServer::xdg_shell_v5
-{
- Q_DECLARE_PUBLIC(QWaylandXdgShellV5)
-public:
- QWaylandXdgShellV5Private();
- void ping(Resource *resource, uint32_t serial);
- void registerSurface(QWaylandXdgSurfaceV5 *xdgSurface);
- void unregisterXdgSurface(QWaylandXdgSurfaceV5 *xdgSurface);
- void registerXdgPopup(QWaylandXdgPopupV5 *xdgPopup);
- void unregisterXdgPopup(QWaylandXdgPopupV5 *xdgPopup);
- static QWaylandXdgShellV5Private *get(QWaylandXdgShellV5 *xdgShell) { return xdgShell->d_func(); }
- bool isValidPopupParent(QWaylandSurface *parentSurface) const;
- QWaylandXdgPopupV5 *topmostPopupForClient(struct wl_client* client) const;
-
- QSet<uint32_t> m_pings;
- QMultiMap<struct wl_client *, QWaylandXdgSurfaceV5 *> m_xdgSurfaces;
- QMultiMap<struct wl_client *, QWaylandXdgPopupV5 *> m_xdgPopups;
-
- QWaylandXdgSurfaceV5 *xdgSurfaceFromSurface(QWaylandSurface *surface) const;
-
-protected:
- void xdg_shell_destroy(Resource *resource) override;
- void xdg_shell_get_xdg_surface(Resource *resource, uint32_t id,
- struct ::wl_resource *surface) override;
- void xdg_shell_use_unstable_version(Resource *resource, int32_t version) override;
- void xdg_shell_get_xdg_popup(Resource *resource, uint32_t id, struct ::wl_resource *surface,
- struct ::wl_resource *parent, struct ::wl_resource *seatResource,
- uint32_t serial, int32_t x, int32_t y) override;
- void xdg_shell_pong(Resource *resource, uint32_t serial) override;
-};
-
-class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgSurfaceV5Private
- : public QWaylandCompositorExtensionPrivate
- , public QtWaylandServer::xdg_surface_v5
-{
- Q_DECLARE_PUBLIC(QWaylandXdgSurfaceV5)
-public:
- QWaylandXdgSurfaceV5Private();
- static QWaylandXdgSurfaceV5Private *get(QWaylandXdgSurfaceV5 *xdgSurface) { return xdgSurface->d_func(); }
-
- struct ConfigureEvent {
- QVector<uint> states;
- QSize size;
- uint serial;
- };
-
- void handleFocusLost();
- void handleFocusReceived();
- QRect calculateFallbackWindowGeometry() const;
- void updateFallbackWindowGeometry();
-
- void setWindowType(Qt::WindowType windowType);
-
-private:
- QWaylandXdgShellV5 *m_xdgShell = nullptr;
- QWaylandSurface *m_surface = nullptr;
- QWaylandXdgSurfaceV5 *m_parentSurface = nullptr;
-
- Qt::WindowType m_windowType = Qt::WindowType::Window;
-
- QString m_title;
- QString m_appId;
- QRect m_windowGeometry;
- bool m_unsetWindowGeometry = true;
-
- QList<ConfigureEvent> m_pendingConfigures;
- ConfigureEvent m_lastAckedConfigure;
- ConfigureEvent lastSentConfigure() const { return m_pendingConfigures.empty() ? m_lastAckedConfigure : m_pendingConfigures.first(); }
-
- void xdg_surface_destroy_resource(Resource *resource) override;
-
- void xdg_surface_destroy(Resource *resource) override;
- void xdg_surface_move(Resource *resource, struct ::wl_resource *seat,
- uint32_t serial) override;
- void xdg_surface_resize(Resource *resource, struct ::wl_resource *seat, uint32_t serial,
- uint32_t edges) override;
- void xdg_surface_set_maximized(Resource *resource) override;
- void xdg_surface_unset_maximized(Resource *resource) override;
- void xdg_surface_set_fullscreen(Resource *resource,
- struct ::wl_resource *output) override;
- void xdg_surface_unset_fullscreen(Resource *resource) override;
- void xdg_surface_set_minimized(Resource *resource) override;
- void xdg_surface_set_parent(Resource *resource, struct ::wl_resource *parent) override;
- void xdg_surface_set_app_id(Resource *resource, const QString &app_id) override;
- void xdg_surface_show_window_menu(Resource *resource, struct ::wl_resource *seatResource,
- uint32_t serial, int32_t x, int32_t y) override;
- void xdg_surface_ack_configure(Resource *resource, uint32_t serial) override;
- void xdg_surface_set_title(Resource *resource, const QString &title) override;
- void xdg_surface_set_window_geometry(Resource *resource, int32_t x, int32_t y,
- int32_t width, int32_t height) override;
-
- static QWaylandSurfaceRole s_role;
-};
-
-class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgPopupV5Private
- : public QWaylandCompositorExtensionPrivate
- , public QtWaylandServer::xdg_popup_v5
-{
- Q_DECLARE_PUBLIC(QWaylandXdgPopupV5)
-
-public:
- QWaylandXdgPopupV5Private();
- static QWaylandXdgPopupV5Private *get(QWaylandXdgPopupV5 *xdgPopup) { return xdgPopup->d_func(); }
-
- QWaylandSurface *m_surface = nullptr;
- QWaylandSurface *m_parentSurface = nullptr;
- QWaylandXdgShellV5 *m_xdgShell = nullptr;
- QPoint m_position;
-
- void xdg_popup_destroy_resource(Resource *resource) override;
- void xdg_popup_destroy(xdg_popup_v5::Resource *resource) override;
-
- static QWaylandSurfaceRole s_role;
-};
-
-QT_END_NAMESPACE
-
-#endif // QWAYLANDXDGSHELLV5_P_H