diff options
Diffstat (limited to 'src/quick/util/qquickvaluetypes_p.h')
-rw-r--r-- | src/quick/util/qquickvaluetypes_p.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/quick/util/qquickvaluetypes_p.h b/src/quick/util/qquickvaluetypes_p.h index 91a5ea83e5..ccd9eefe47 100644 --- a/src/quick/util/qquickvaluetypes_p.h +++ b/src/quick/util/qquickvaluetypes_p.h @@ -56,6 +56,7 @@ #include <private/qqmlvaluetype_p.h> #include <QtGui/QColor> +#include <QtGui/QColorSpace> #include <QtGui/QVector2D> #include <QtGui/QVector3D> #include <QtGui/QVector4D> @@ -329,6 +330,7 @@ class QQuickFontValueType Q_PROPERTY(bool preferShaping READ preferShaping WRITE setPreferShaping FINAL) QML_NAMED_ELEMENT(Font) + QML_ADDED_IN_VERSION(2, 0) QML_UNCREATABLE("Element is not creatable.") public: @@ -408,6 +410,58 @@ public: void setPreferShaping(bool b); }; +class QQuickColorSpaceValueType +{ + QColorSpace v; + Q_GADGET + + Q_PROPERTY(NamedColorSpace namedColorSpace READ namedColorSpace WRITE setNamedColorSpace FINAL) + Q_PROPERTY(Primaries primaries READ primaries WRITE setPrimaries FINAL) + Q_PROPERTY(TransferFunction transferFunction READ transferFunction WRITE setTransferFunction FINAL) + Q_PROPERTY(float gamma READ gamma WRITE setGamma FINAL) + + QML_NAMED_ELEMENT(ColorSpace) + QML_ADDED_IN_VERSION(2, 15) + Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") + +public: + enum NamedColorSpace { + Unknown = 0, + SRgb, + SRgbLinear, + AdobeRgb, + DisplayP3, + ProPhotoRgb + }; + Q_ENUM(NamedColorSpace) + + enum class Primaries { + Custom = 0, + SRgb, + AdobeRgb, + DciP3D65, + ProPhotoRgb + }; + Q_ENUM(Primaries) + enum class TransferFunction { + Custom = 0, + Linear, + Gamma, + SRgb, + ProPhotoRgb + }; + Q_ENUM(TransferFunction) + + NamedColorSpace namedColorSpace() const noexcept; + void setNamedColorSpace(NamedColorSpace namedColorSpace); + Primaries primaries() const noexcept; + void setPrimaries(Primaries primariesId); + TransferFunction transferFunction() const noexcept; + void setTransferFunction(TransferFunction transferFunction); + float gamma() const noexcept; + void setGamma(float gamma); +}; + QT_END_NAMESPACE #endif // QQUICKVALUETYPES_P_H |