diff options
Diffstat (limited to 'src/compositor/extensions/qwaylandxdgshell_p.h')
-rw-r--r-- | src/compositor/extensions/qwaylandxdgshell_p.h | 62 |
1 files changed, 15 insertions, 47 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshell_p.h b/src/compositor/extensions/qwaylandxdgshell_p.h index 3223abf3a..9ab188a44 100644 --- a/src/compositor/extensions/qwaylandxdgshell_p.h +++ b/src/compositor/extensions/qwaylandxdgshell_p.h @@ -1,43 +1,10 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the QtWaylandCompositor module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #ifndef QWAYLANDXDGSHELL_P_H #define QWAYLANDXDGSHELL_P_H -#include <QtWaylandCompositor/private/qwaylandcompositorextension_p.h> +#include <QtWaylandCompositor/private/qwaylandshellsurface_p.h> #include <QtWaylandCompositor/private/qwaylandshell_p.h> #include <QtWaylandCompositor/private/qwayland-server-xdg-shell.h> @@ -60,11 +27,11 @@ QT_BEGIN_NAMESPACE -struct Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgPositionerData { +struct Q_WAYLANDCOMPOSITOR_EXPORT QWaylandXdgPositionerData { QSize size; QRect anchorRect; - Qt::Edges anchorEdges = 0; - Qt::Edges gravityEdges = 0; + Qt::Edges anchorEdges = {}; + Qt::Edges gravityEdges = {}; uint constraintAdjustments = XDG_POSITIONER_CONSTRAINT_ADJUSTMENT_NONE; QPoint offset; QWaylandXdgPositionerData(); @@ -73,7 +40,7 @@ struct Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgPositionerData { QPoint unconstrainedPosition() const; }; -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgShellPrivate +class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandXdgShellPrivate : public QWaylandShellPrivate , public QtWaylandServer::xdg_wm_base { @@ -98,8 +65,8 @@ protected: void xdg_wm_base_pong(Resource *resource, uint32_t serial) override; }; -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgSurfacePrivate - : public QWaylandCompositorExtensionPrivate +class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandXdgSurfacePrivate + : public QWaylandShellSurfacePrivate , public QtWaylandServer::xdg_surface { Q_DECLARE_PUBLIC(QWaylandXdgSurface) @@ -132,18 +99,18 @@ private: void xdg_surface_set_window_geometry(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override; }; -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgToplevelPrivate : public QObjectPrivate, public QtWaylandServer::xdg_toplevel +class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandXdgToplevelPrivate : public QObjectPrivate, public QtWaylandServer::xdg_toplevel { Q_DECLARE_PUBLIC(QWaylandXdgToplevel) public: struct ConfigureEvent { ConfigureEvent() = default; - ConfigureEvent(const QVector<QWaylandXdgToplevel::State> + ConfigureEvent(const QList<QWaylandXdgToplevel::State> &incomingStates, const QSize &incomingSize, uint incomingSerial) : states(incomingStates), size(incomingSize), serial(incomingSerial) { } - QVector<QWaylandXdgToplevel::State> states; + QList<QWaylandXdgToplevel::State> states; QSize size = {0, 0}; uint serial = 0; }; @@ -186,11 +153,12 @@ public: QSize m_maxSize; QSize m_minSize = {0, 0}; QWaylandXdgToplevelDecorationV1 *m_decoration = nullptr; + bool m_modal = false; static QWaylandSurfaceRole s_role; }; -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgPopupPrivate : public QObjectPrivate, public QtWaylandServer::xdg_popup +class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandXdgPopupPrivate : public QObjectPrivate, public QtWaylandServer::xdg_popup { Q_DECLARE_PUBLIC(QWaylandXdgPopup) public: @@ -223,7 +191,7 @@ private: QList<ConfigureEvent> m_pendingConfigures; }; -class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgPositioner : public QtWaylandServer::xdg_positioner +class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandXdgPositioner : public QtWaylandServer::xdg_positioner { public: QWaylandXdgPositioner(const QWaylandResource& resource); |