aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickvaluetypes_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquickvaluetypes_p.h')
-rw-r--r--src/quick/util/qquickvaluetypes_p.h129
1 files changed, 76 insertions, 53 deletions
diff --git a/src/quick/util/qquickvaluetypes_p.h b/src/quick/util/qquickvaluetypes_p.h
index 559ade00ea..c203d12fab 100644
--- a/src/quick/util/qquickvaluetypes_p.h
+++ b/src/quick/util/qquickvaluetypes_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtQuick module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QQUICKVALUETYPES_P_H
#define QQUICKVALUETYPES_P_H
@@ -66,7 +30,7 @@
QT_BEGIN_NAMESPACE
-class Q_QUICK_PRIVATE_EXPORT QQuickColorValueType
+class Q_QUICK_EXPORT QQuickColorValueType
{
QColor v;
Q_PROPERTY(qreal r READ r WRITE setR FINAL)
@@ -79,16 +43,18 @@ class Q_QUICK_PRIVATE_EXPORT QQuickColorValueType
Q_PROPERTY(qreal hslHue READ hslHue WRITE setHslHue FINAL)
Q_PROPERTY(qreal hslSaturation READ hslSaturation WRITE setHslSaturation FINAL)
Q_PROPERTY(qreal hslLightness READ hslLightness WRITE setHslLightness FINAL)
- Q_PROPERTY(bool valid READ isValid)
+ Q_PROPERTY(bool valid READ isValid FINAL)
Q_GADGET
QML_ADDED_IN_VERSION(2, 0)
QML_FOREIGN(QColor)
QML_VALUE_TYPE(color)
QML_EXTENDED(QQuickColorValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
+ Q_INVOKABLE QQuickColorValueType(const QString &string);
Q_INVOKABLE QString toString() const;
Q_INVOKABLE QVariant alpha(qreal value) const;
@@ -117,9 +83,11 @@ public:
void setHslHue(qreal);
void setHslSaturation(qreal);
void setHslLightness(qreal);
+
+ operator QColor() const { return v; }
};
-class Q_QUICK_PRIVATE_EXPORT QQuickVector2DValueType
+class Q_QUICK_EXPORT QQuickVector2DValueType
{
QVector2D v;
Q_PROPERTY(qreal x READ x WRITE setX FINAL)
@@ -129,6 +97,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickVector2DValueType
QML_FOREIGN(QVector2D)
QML_VALUE_TYPE(vector2d)
QML_EXTENDED(QQuickVector2DValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
@@ -151,9 +120,11 @@ public:
Q_INVOKABLE QVector4D toVector4d() const;
Q_INVOKABLE bool fuzzyEquals(const QVector2D &vec, qreal epsilon) const;
Q_INVOKABLE bool fuzzyEquals(const QVector2D &vec) const;
+
+ operator QVector2D() const { return v; }
};
-class Q_QUICK_PRIVATE_EXPORT QQuickVector3DValueType
+class Q_QUICK_EXPORT QQuickVector3DValueType
{
QVector3D v;
Q_PROPERTY(qreal x READ x WRITE setX FINAL)
@@ -164,6 +135,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickVector3DValueType
QML_FOREIGN(QVector3D)
QML_VALUE_TYPE(vector3d)
QML_EXTENDED(QQuickVector3DValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
@@ -190,9 +162,11 @@ public:
Q_INVOKABLE QVector4D toVector4d() const;
Q_INVOKABLE bool fuzzyEquals(const QVector3D &vec, qreal epsilon) const;
Q_INVOKABLE bool fuzzyEquals(const QVector3D &vec) const;
+
+ operator QVector3D() const { return v; }
};
-class Q_QUICK_PRIVATE_EXPORT QQuickVector4DValueType
+class Q_QUICK_EXPORT QQuickVector4DValueType
{
QVector4D v;
Q_PROPERTY(qreal x READ x WRITE setX FINAL)
@@ -204,6 +178,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickVector4DValueType
QML_FOREIGN(QVector4D)
QML_VALUE_TYPE(vector4d)
QML_EXTENDED(QQuickVector4DValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
@@ -231,20 +206,23 @@ public:
Q_INVOKABLE QVector3D toVector3d() const;
Q_INVOKABLE bool fuzzyEquals(const QVector4D &vec, qreal epsilon) const;
Q_INVOKABLE bool fuzzyEquals(const QVector4D &vec) const;
+
+ operator QVector4D() const { return v; }
};
-class Q_QUICK_PRIVATE_EXPORT QQuickQuaternionValueType
+class Q_QUICK_EXPORT QQuickQuaternionValueType
{
QQuaternion v;
- Q_PROPERTY(qreal scalar READ scalar WRITE setScalar)
- Q_PROPERTY(qreal x READ x WRITE setX)
- Q_PROPERTY(qreal y READ y WRITE setY)
- Q_PROPERTY(qreal z READ z WRITE setZ)
+ Q_PROPERTY(qreal scalar READ scalar WRITE setScalar FINAL)
+ Q_PROPERTY(qreal x READ x WRITE setX FINAL)
+ Q_PROPERTY(qreal y READ y WRITE setY FINAL)
+ Q_PROPERTY(qreal z READ z WRITE setZ FINAL)
Q_GADGET
QML_ADDED_IN_VERSION(2, 0)
QML_FOREIGN(QQuaternion)
QML_VALUE_TYPE(quaternion)
QML_EXTENDED(QQuickQuaternionValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
@@ -259,9 +237,29 @@ public:
void setX(qreal);
void setY(qreal);
void setZ(qreal);
+
+ Q_INVOKABLE qreal dotProduct(const QQuaternion &q) const;
+ Q_INVOKABLE QQuaternion times(const QQuaternion &q) const;
+ Q_INVOKABLE QVector3D times(const QVector3D &vec) const;
+ Q_INVOKABLE QQuaternion times(qreal factor) const;
+ Q_INVOKABLE QQuaternion plus(const QQuaternion &q) const;
+ Q_INVOKABLE QQuaternion minus(const QQuaternion &q) const;
+
+ Q_INVOKABLE QQuaternion normalized() const;
+ Q_INVOKABLE QQuaternion inverted() const;
+ Q_INVOKABLE QQuaternion conjugated() const;
+ Q_INVOKABLE qreal length() const;
+
+ Q_INVOKABLE QVector3D toEulerAngles() const;
+ Q_INVOKABLE QVector4D toVector4d() const;
+
+ Q_INVOKABLE bool fuzzyEquals(const QQuaternion &q, qreal epsilon) const;
+ Q_INVOKABLE bool fuzzyEquals(const QQuaternion &q) const;
+
+ operator QQuaternion() const { return v; }
};
-class Q_QUICK_PRIVATE_EXPORT QQuickMatrix4x4ValueType
+class Q_QUICK_EXPORT QQuickMatrix4x4ValueType
{
QMatrix4x4 v;
Q_PROPERTY(qreal m11 READ m11 WRITE setM11 FINAL)
@@ -285,6 +283,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickMatrix4x4ValueType
QML_FOREIGN(QMatrix4x4)
QML_VALUE_TYPE(matrix4x4)
QML_EXTENDED(QQuickMatrix4x4ValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
@@ -325,6 +324,7 @@ public:
Q_INVOKABLE void translate(const QVector3D &t) { v.translate(t); }
Q_INVOKABLE void rotate(float angle, const QVector3D &axis) { v.rotate(angle, axis); }
+ Q_INVOKABLE void rotate(const QQuaternion &q) { v.rotate(q); }
Q_INVOKABLE void scale(float s) { v.scale(s); }
Q_INVOKABLE void scale(float sx, float sy, float sz) { v.scale(sx, sy, sz); }
Q_INVOKABLE void scale(const QVector3D &s) { v.scale(s); }
@@ -344,13 +344,18 @@ public:
Q_INVOKABLE QMatrix4x4 inverted() const;
Q_INVOKABLE QMatrix4x4 transposed() const;
+ Q_INVOKABLE QPointF map(const QPointF p) const;
+ Q_INVOKABLE QRectF mapRect(const QRectF r) const;
+
Q_INVOKABLE bool fuzzyEquals(const QMatrix4x4 &m, qreal epsilon) const;
Q_INVOKABLE bool fuzzyEquals(const QMatrix4x4 &m) const;
+
+ operator QMatrix4x4() const { return v; }
};
namespace QQuickFontEnums
{
-Q_NAMESPACE
+Q_NAMESPACE_EXPORT(Q_QUICK_EXPORT)
QML_NAMED_ELEMENT(Font)
QML_ADDED_IN_VERSION(2, 0)
@@ -381,7 +386,7 @@ enum HintingPreference {
Q_ENUM_NS(HintingPreference)
};
-class Q_QUICK_PRIVATE_EXPORT QQuickFontValueType
+class Q_QUICK_EXPORT QQuickFontValueType
{
QFont v;
Q_GADGET
@@ -402,11 +407,15 @@ class Q_QUICK_PRIVATE_EXPORT QQuickFontValueType
Q_PROPERTY(QQuickFontEnums::HintingPreference hintingPreference READ hintingPreference WRITE setHintingPreference FINAL)
Q_PROPERTY(bool kerning READ kerning WRITE setKerning FINAL)
Q_PROPERTY(bool preferShaping READ preferShaping WRITE setPreferShaping FINAL)
+ Q_PROPERTY(QVariantMap features READ features WRITE setFeatures FINAL)
+ Q_PROPERTY(QVariantMap variableAxes READ variableAxes WRITE setVariableAxes FINAL)
+ Q_PROPERTY(bool contextFontMerging READ contextFontMerging WRITE setContextFontMerging FINAL)
QML_VALUE_TYPE(font)
QML_FOREIGN(QFont)
QML_ADDED_IN_VERSION(2, 0)
QML_EXTENDED(QQuickFontValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &value);
@@ -460,11 +469,22 @@ public:
bool preferShaping() const;
void setPreferShaping(bool b);
+
+ QVariantMap features() const;
+ void setFeatures(const QVariantMap &features);
+
+ QVariantMap variableAxes() const;
+ void setVariableAxes(const QVariantMap &variableAxes);
+
+ bool contextFontMerging() const;
+ void setContextFontMerging(bool b);
+
+ operator QFont() const { return v; }
};
namespace QQuickColorSpaceEnums
{
-Q_NAMESPACE
+Q_NAMESPACE_EXPORT(Q_QUICK_EXPORT)
QML_NAMED_ELEMENT(ColorSpace)
QML_ADDED_IN_VERSION(2, 15)
Q_CLASSINFO("RegisterEnumClassesUnscoped", "false")
@@ -497,7 +517,7 @@ enum class TransferFunction {
Q_ENUM_NS(TransferFunction)
}
-class Q_QUICK_PRIVATE_EXPORT QQuickColorSpaceValueType
+class Q_QUICK_EXPORT QQuickColorSpaceValueType
{
QColorSpace v;
Q_GADGET
@@ -511,6 +531,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickColorSpaceValueType
QML_FOREIGN(QColorSpace)
QML_ADDED_IN_VERSION(2, 15)
QML_EXTENDED(QQuickColorSpaceValueType)
+ QML_STRUCTURED_VALUE
public:
static QVariant create(const QJSValue &params);
@@ -523,6 +544,8 @@ public:
void setTransferFunction(QQuickColorSpaceEnums::TransferFunction transferFunction);
float gamma() const noexcept;
void setGamma(float gamma);
+
+ operator QColorSpace() const { return v; }
};
QT_END_NAMESPACE