38 std::optional<std::tuple<OutputConfiguration, QList<Output *>,
ConfigType>>
queryConfig(
const QList<Output *> &outputs,
bool isLidClosed, QOrientationReading *orientation,
bool isTabletMode);
45 void applyOrientationReading(
OutputConfiguration &config,
const QList<Output *> &outputs, QOrientationReading *orientation,
bool isTabletMode);
46 std::optional<std::pair<OutputConfiguration, QList<Output *>>> generateLidClosedConfig(
const QList<Output *> &outputs);
47 std::pair<OutputConfiguration, QList<Output *>> generateConfig(
const QList<Output *> &outputs,
bool isLidClosed);
48 std::shared_ptr<OutputMode> chooseMode(
Output *output)
const;
50 double targetDpi(
Output *output)
const;
62 std::optional<QString> edidIdentifier;
63 std::optional<QString> connectorName;
68 std::optional<ModeData> mode;
69 std::optional<double> scale;
70 std::optional<OutputTransform> transform;
71 std::optional<OutputTransform> manualTransform;
72 std::optional<uint32_t> overscan;
73 std::optional<Output::RgbRange> rgbRange;
74 std::optional<VrrPolicy> vrrPolicy;
75 std::optional<bool> highDynamicRange;
76 std::optional<uint32_t> sdrBrightness;
77 std::optional<bool> wideColorGamut;
78 std::optional<Output::AutoRotationPolicy> autoRotation;
79 std::optional<QString> iccProfilePath;
80 std::optional<double> maxPeakBrightnessOverride;
81 std::optional<double> maxAverageBrightnessOverride;
82 std::optional<double> minBrightnessOverride;
83 std::optional<double> sdrGamutWideness;
94 bool lidClosed =
false;
95 QList<SetupState> outputs;
98 std::pair<OutputConfiguration, QList<Output *>> setupToConfig(Setup *setup,
const std::unordered_map<Output *, size_t> &outputMap)
const;
99 std::optional<std::pair<Setup *, std::unordered_map<Output *, size_t>>> findSetup(
const QList<Output *> &outputs,
bool lidClosed);
100 std::optional<size_t> findOutput(Output *output,
const QList<Output *> &allOutputs)
const;
102 QList<OutputState> m_outputs;
103 QList<Setup> m_setups;