File indexing completed on 2024-05-05 09:51:12

0001 /*
0002  *   SPDX-FileCopyrightText: 2012 Daniel Nicoletti <dantti12@gmail.com>
0003  *   SPDX-FileCopyrightText: 2012, 2013 Daniel Vrátil <dvratil@redhat.com>
0004  *
0005  *  SPDX-License-Identifier: LGPL-2.1-or-later
0006  */
0007 
0008 #pragma once
0009 
0010 #include "kscreen_export.h"
0011 
0012 #include <QObject>
0013 #include <QQuaternion>
0014 #include <QtGlobal>
0015 
0016 namespace KScreen
0017 {
0018 class KSCREEN_EXPORT Edid : public QObject
0019 {
0020     Q_OBJECT
0021 
0022     Q_PROPERTY(QString deviceId READ deviceId CONSTANT)
0023     Q_PROPERTY(QString name READ name CONSTANT)
0024     Q_PROPERTY(QString vendor READ vendor CONSTANT)
0025     Q_PROPERTY(QString serial READ serial CONSTANT)
0026     Q_PROPERTY(QString eisaId READ eisaId CONSTANT)
0027     Q_PROPERTY(QString hash READ hash CONSTANT)
0028     Q_PROPERTY(uint width READ width CONSTANT)
0029     Q_PROPERTY(uint height READ height CONSTANT)
0030     Q_PROPERTY(qreal gamma READ gamma CONSTANT)
0031     Q_PROPERTY(QQuaternion red READ red CONSTANT)
0032     Q_PROPERTY(QQuaternion green READ green CONSTANT)
0033     Q_PROPERTY(QQuaternion blue READ blue CONSTANT)
0034     Q_PROPERTY(QQuaternion white READ white CONSTANT)
0035 
0036 public:
0037     explicit Edid();
0038     explicit Edid(const QByteArray &data, QObject *parent = nullptr);
0039     ~Edid() override;
0040 
0041     Q_REQUIRED_RESULT Edid *clone() const;
0042 
0043     bool isValid() const;
0044 
0045     QString deviceId(const QString &fallbackName = QString()) const;
0046     QString name() const;
0047     QString vendor() const;
0048     QString serial() const;
0049     QString eisaId() const;
0050     QString hash() const;
0051     QString pnpId() const;
0052     uint width() const;
0053     uint height() const;
0054     qreal gamma() const;
0055     QQuaternion red() const;
0056     QQuaternion green() const;
0057     QQuaternion blue() const;
0058     QQuaternion white() const;
0059 
0060 private:
0061     Q_DISABLE_COPY(Edid)
0062 
0063     class Private;
0064     Private *const d;
0065 
0066     explicit Edid(Private *dd);
0067 };
0068 
0069 }