Warning, file /plasma/libkscreen/backends/kwayland/waylandoutputmanagement.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2014-2015 Sebastian Kügler <sebas@kde.org> 0003 * SPDX-FileCopyrightText: 2021 Méven Car <meven.car@enioka.com> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 #ifndef WAYLANDOUTPUTMANAGEMENT_H 0008 #define WAYLANDOUTPUTMANAGEMENT_H 0009 0010 #include "qwayland-kde-output-management-v2.h" 0011 #include "qwayland-kde-output-order-v1.h" 0012 0013 #include <QObject> 0014 #include <QSize> 0015 0016 namespace KScreen 0017 { 0018 class WaylandConfig; 0019 class WaylandOutputDevice; 0020 0021 class WaylandOutputConfiguration : public QObject, public QtWayland::kde_output_configuration_v2 0022 { 0023 Q_OBJECT 0024 public: 0025 WaylandOutputConfiguration(struct ::kde_output_configuration_v2 *object); 0026 0027 Q_SIGNALS: 0028 void applied(); 0029 void failed(); 0030 0031 protected: 0032 void kde_output_configuration_v2_applied() override; 0033 void kde_output_configuration_v2_failed() override; 0034 }; 0035 0036 class WaylandOutputManagement : public QObject, public QtWayland::kde_output_management_v2 0037 { 0038 Q_OBJECT 0039 public: 0040 WaylandOutputManagement(struct ::wl_registry *registry, int id, int version); 0041 0042 WaylandOutputConfiguration *createConfiguration(); 0043 }; 0044 0045 class WaylandOutputOrder : public QObject, public QtWayland::kde_output_order_v1 0046 { 0047 Q_OBJECT 0048 public: 0049 WaylandOutputOrder(struct ::wl_registry *registry, int id, int version); 0050 ~WaylandOutputOrder(); 0051 0052 QVector<QString> order() const; 0053 0054 Q_SIGNALS: 0055 void outputOrderChanged(const QVector<QString> &outputs); 0056 0057 private: 0058 void kde_output_order_v1_output(const QString &output_name) override; 0059 void kde_output_order_v1_done() override; 0060 0061 QVector<QString> m_outputOrder; 0062 QVector<QString> m_pendingOutputOrder; 0063 }; 0064 } 0065 0066 #endif // WAYLANDOUTPUTMANAGEMENT_H