File indexing completed on 2024-05-12 05:33:57

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 #pragma once
0008 
0009 #include <QObject>
0010 #include <QRect>
0011 
0012 // KWayland
0013 #include <KWayland/Server/display.h>
0014 #include <KWayland/Server/output_interface.h>
0015 #include <KWayland/Server/outputdevice_interface.h>
0016 
0017 namespace KScreen
0018 {
0019 using namespace KWayland::Server;
0020 
0021 class WaylandConfigReader
0022 {
0023 public:
0024     // static QList<KWayland::Server::OutputInterface*> outputsFromConfig(const QString &configfile, KWayland::Server::Display *display);
0025     static void outputsFromConfig(const QString &configfile, KWayland::Server::Display *display, QList<KWayland::Server::OutputDeviceInterface *> &outputs);
0026     static OutputDeviceInterface *createOutputDevice(const QVariantMap &outputConfig, KWayland::Server::Display *display);
0027     static QList<KWayland::Server::OutputInterface *> createOutputs(KWayland::Server::Display *display,
0028                                                                     QList<KWayland::Server::OutputDeviceInterface *> &outputdevices);
0029 
0030     static QSize sizeFromJson(const QVariant &data);
0031     static QRect rectFromJson(const QVariant &data);
0032     static QPoint pointFromJson(const QVariant &data);
0033 };
0034 
0035 } // namespace