/* KWin - the KDE window manager This file is part of the KDE project. SPDX-FileCopyrightText: 2021 Xaver Hugl SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include "kwin_export.h" #include "output.h" #include #include namespace KWin { class IccProfile; class KWIN_EXPORT OutputChangeSet { public: std::optional> mode; std::optional desiredModeSize; std::optional desiredModeRefreshRate; std::optional enabled; std::optional pos; std::optional scale; std::optional transform; std::optional manualTransform; std::optional overscan; std::optional rgbRange; std::optional vrrPolicy; std::optional highDynamicRange; std::optional referenceLuminance; std::optional wideColorGamut; std::optional autoRotationPolicy; std::optional iccProfilePath; std::optional> iccProfile; std::optional> maxPeakBrightnessOverride; std::optional> maxAverageBrightnessOverride; std::optional> minBrightnessOverride; std::optional sdrGamutWideness; std::optional colorProfileSource; std::optional brightness; }; class KWIN_EXPORT OutputConfiguration { public: std::shared_ptr changeSet(Output *output); std::shared_ptr constChangeSet(Output *output) const; private: QMap> m_properties; }; }