KWaylandServer

outputchangeset_v2.h
1 /*
2  SPDX-FileCopyrightText: 2015 Sebastian Kügler <[email protected]>
3  SPDX-FileCopyrightText: 2021 Méven Car <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6 */
7 
8 #pragma once
9 
10 #include <QObject>
11 
12 #include "outputdevice_v2_interface.h"
13 #include <KWaylandServer/kwaylandserver_export.h>
14 
15 namespace KWaylandServer
16 {
17 
18 class OutputChangeSetV2Private;
19 
20 /**
21  * @brief Holds a set of changes to an OutputInterface or OutputDeviceInterface.
22  *
23  * This class implements a set of changes that the compositor can apply to an
24  * OutputInterface after OutputConfiguration::apply has been called on the client
25  * side. The changes are per-configuration.
26  *
27  * @see OutputConfiguration
28  */
29 class KWAYLANDSERVER_EXPORT OutputChangeSetV2 : public QObject
30 {
31  Q_OBJECT
32 public:
33  ~OutputChangeSetV2() override;
34  /** Whether the enabled() property of the outputdevice changed.
35  * @returns @c true if the enabled property of the outputdevice has changed.
36  */
37  bool enabledChanged() const;
38 
39  /** Whether the transform() property of the outputdevice changed.
40  * @returns @c true if the enabled property of the outputdevice has changed.
41  * bool modeChanged() const;
42  */
43  /** Whether the transform() property of the outputdevice changed. */
44  bool transformChanged() const;
45 
46  /** Whether the size property of the outputdevice changed.
47  */
48  bool sizeChanged() const;
49 
50  /** Whether the refreshRate property of the outputdevice changed.
51  */
52  bool refreshRateChanged() const;
53 
54  /** Whether the globalPosition() property of the outputdevice changed.
55  * @returns @c true if the globalPosition() property of the outputdevice has changed.
56  */
57  bool positionChanged() const;
58 
59  /** Whether the scale() property of the outputdevice changed.
60  * @returns @c true if the scale() property of the outputdevice has changed.
61  */
62  bool scaleChanged() const;
63 
64  /** Whether the overscan() property of the outputdevice changed.
65  * @returns @c true if the overscan() property of the outputdevice has changed
66  */
67  bool overscanChanged() const;
68 
69  /**
70  * Whether the vrrPolicy() property of the outputdevice changed.
71  * @returns @c true if the vrrPolicy() property of the outputdevice has changed.
72  */
73  bool vrrPolicyChanged() const;
74 
75  /**
76  * Whether the rgbRange() property of the outputdevice changed.
77  * @returns @c true if the rgbRange() property of the outputdevice has changed.
78  */
79  bool rgbRangeChanged() const;
80 
81  /** The new value for enabled. */
82  bool enabled() const;
83 
84  /** The new size */
85  QSize size() const;
86 
87  /** The new refresh rate */
88  int refreshRate() const;
89 
90  /** The new value for transform. */
91  OutputDeviceV2Interface::Transform transform() const;
92 
93  /** The new value for globalPosition. */
94  QPoint position() const;
95 
96  /** The new value for scale.
97  */
98  qreal scale() const;
99 
100  /** the overscan value in % */
101  uint32_t overscan() const;
102 
103  /** The new value for vrrPolicy */
104  OutputDeviceV2Interface::VrrPolicy vrrPolicy() const;
105 
106  /** The new value for rgbRange */
107  OutputDeviceV2Interface::RgbRange rgbRange() const;
108 
109 private:
110  friend class OutputConfigurationV2InterfacePrivate;
111  explicit OutputChangeSetV2(OutputDeviceV2Interface *outputdevice, QObject *parent = nullptr);
112 
114 };
115 
116 }
Holds a set of changes to an OutputInterface or OutputDeviceInterface.
Represents an output device, the difference to Output is that this output can be disabled, so not currently used to display content.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Oct 23 2021 23:08:27 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.