KWin
Loading...
Searching...
No Matches
edid.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#pragma once
11
12#include "core/colorspace.h"
13#include "kwin_export.h"
14
15#include <QByteArray>
16#include <QList>
17#include <QSize>
18#include <QVector2D>
19
20namespace KWin
21{
22
28class KWIN_EXPORT Edid
29{
30public:
31 Edid();
32 Edid(const void *data, uint32_t size);
33
37 bool isValid() const;
38
42 QSize physicalSize() const;
43
47 QByteArray eisaId() const;
48
52 QByteArray monitorName() const;
53
57 QByteArray serialNumber() const;
58
62 QByteArray vendor() const;
63
67 QByteArray raw() const;
68
72 QString manufacturerString() const;
73
78 QString nameString() const;
79
80 QString hash() const;
81
82 std::optional<Colorimetry> colorimetry() const;
83
84 double desiredMinLuminance() const;
85 std::optional<double> desiredMaxFrameAverageLuminance() const;
86 std::optional<double> desiredMaxLuminance() const;
87 bool supportsPQ() const;
88 bool supportsBT2020() const;
89
94 QByteArray identifier() const;
95
96private:
97 QSize m_physicalSize;
98 QByteArray m_vendor;
99 QByteArray m_eisaId;
100 QByteArray m_monitorName;
101 QByteArray m_serialNumber;
102 QString m_hash;
103 std::optional<Colorimetry> m_colorimetry;
104 struct HDRMetadata
105 {
106 double desiredContentMinLuminance;
107 std::optional<double> desiredContentMaxLuminance;
108 std::optional<double> desiredMaxFrameAverageLuminance;
109 bool supportsPQ;
110 bool supportsBT2020;
111 };
112 std::optional<HDRMetadata> m_hdrMetadata;
113
114 QByteArray m_identifier;
115
116 QByteArray m_raw;
117 bool m_isValid = false;
118};
119
120} // namespace KWin