KWayland

outputmanagement_interface.h
1 /*
2  SPDX-FileCopyrightText: 2015 Sebastian K├╝gler <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 #ifndef KWAYLAND_SERVER_OUTPUTMANAGEMENT_INTERFACE_H
7 #define KWAYLAND_SERVER_OUTPUTMANAGEMENT_INTERFACE_H
8 
9 #include "global.h"
10 
11 #include <KWayland/Server/kwaylandserver_export.h>
12 
13 namespace KWayland
14 {
15 namespace Server
16 {
18 /**
19  * @class OutputManagementInterface
20  *
21  * This class is used to change the configuration of the Wayland server's outputs.
22  * The client requests an OutputConfiguration, changes its OutputDevices and then
23  * calls OutputConfiguration::apply, which makes this class emit a signal, carrying
24  * the new configuration.
25  * The server is then expected to make the requested changes by applying the settings
26  * of the OutputDevices to the Outputs.
27  *
28  * @see OutputConfiguration
29  * @see OutputConfigurationInterface
30  * @since 5.5
31  */
32 class KWAYLANDSERVER_EXPORT OutputManagementInterface : public Global
33 {
34  Q_OBJECT
35 public:
36  ~OutputManagementInterface() override;
37 
38 Q_SIGNALS:
39  /**
40  * Emitted after the client has requested an OutputConfiguration to be applied.
41  * through OutputConfiguration::apply. The compositor can use this object to get
42  * notified when the new configuration is set up, and it should be applied to the
43  * Wayland server's OutputInterfaces.
44  *
45  * @param config The OutputConfigurationInterface corresponding to the client that
46  * called apply().
47  * @see OutputConfiguration::apply
48  * @see OutputConfigurationInterface
49  * @see OutputDeviceInterface
50  * @see OutputInterface
51  */
52  void configurationChangeRequested(KWayland::Server::OutputConfigurationInterface *configurationInterface);
53 
54 private:
55  explicit OutputManagementInterface(Display *display, QObject *parent = nullptr);
56  friend class Display;
57  class Private;
58 };
59 
60 }
61 }
62 
63 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Feb 7 2023 03:56:21 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.