File indexing completed on 2024-05-05 17:39:43

0001 /*
0002  *  SPDX-FileCopyrightText: 2014-2015 Sebastian Kügler <sebas@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.1-or-later
0005  */
0006 
0007 #ifndef KSCREEN_WAYLAND_CONFIGREADER_H
0008 #define KSCREEN_WAYLAND_CONFIGREADER_H
0009 
0010 #include <QObject>
0011 #include <QRect>
0012 
0013 // KWayland
0014 #include <KWayland/Server/display.h>
0015 #include <KWayland/Server/output_interface.h>
0016 #include <KWayland/Server/outputdevice_interface.h>
0017 
0018 namespace KScreen
0019 {
0020 using namespace KWayland::Server;
0021 
0022 class WaylandConfigReader
0023 {
0024 public:
0025     // static QList<KWayland::Server::OutputInterface*> outputsFromConfig(const QString &configfile, KWayland::Server::Display *display);
0026     static void outputsFromConfig(const QString &configfile, KWayland::Server::Display *display, QList<KWayland::Server::OutputDeviceInterface *> &outputs);
0027     static OutputDeviceInterface *createOutputDevice(const QVariantMap &outputConfig, KWayland::Server::Display *display);
0028     static QList<KWayland::Server::OutputInterface *> createOutputs(KWayland::Server::Display *display,
0029                                                                     QList<KWayland::Server::OutputDeviceInterface *> &outputdevices);
0030 
0031     static QSize sizeFromJson(const QVariant &data);
0032     static QRect rectFromJson(const QVariant &data);
0033     static QPoint pointFromJson(const QVariant &data);
0034 };
0035 
0036 } // namespace
0037 
0038 #endif // KSCREEN_WAYLAND_CONFIGREADER_H