diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-06-03 12:29:29 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-06-03 12:29:52 +0200 |
commit | 4eee1ab5a51ac482e2252e2e85c0fe624d5d4bad (patch) | |
tree | 71fb24fc69b2f77e08a57c56011ee5b72f23a52a /src/quick3d | |
parent | 79aa74b5d9df52605a8833e3853b422ca8e7a651 (diff) | |
parent | 666a645d1edc98dfea92fdaf7eaeed10c86dbc56 (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
src/render/renderers/opengl/renderer/renderer.cpp
tests/auto/render/textures/tst_textures.cpp
Change-Id: I4da0eafe7ddd4dd822c3dcb5f5fa826653a335b4
Diffstat (limited to 'src/quick3d')
-rw-r--r-- | src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp | 2 | ||||
-rw-r--r-- | src/quick3d/imports/scene3d/scene3ditem.cpp | 2 | ||||
-rw-r--r-- | src/quick3d/quick3d/qt3dquick_global.cpp | 19 | ||||
-rw-r--r-- | src/quick3d/quick3d/qt3dquickvaluetypes.cpp | 74 | ||||
-rw-r--r-- | src/quick3d/quick3d/qt3dquickvaluetypes_p.h | 18 |
5 files changed, 105 insertions, 10 deletions
diff --git a/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp b/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp index f101d17d3..efb9fa706 100644 --- a/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp +++ b/src/quick3d/imports/animation/qt3dquick3danimationplugin.cpp @@ -58,6 +58,7 @@ #include <Qt3DAnimation/qmorphtarget.h> #include <Qt3DAnimation/qvertexblendanimation.h> +#include <Qt3DQuick/private/quick3dnodev9_p.h> #include <Qt3DQuickAnimation/private/qt3dquickanimation_global_p.h> #include <Qt3DQuickAnimation/private/quick3dchannelmapper_p.h> #include <Qt3DQuickAnimation/private/quick3dkeyframeanimation_p.h> @@ -74,6 +75,7 @@ void Qt3DQuick3DAnimationPlugin::registerTypes(const char *uri) Qt3DAnimation::Quick::Quick3DAnimation_initialize(); // @uri Qt3D.Animation + qmlRegisterExtendedUncreatableType<Qt3DCore::QNode, Qt3DCore::Quick::Quick3DNodeV9, 9>(uri, 2, 9, "Node", QStringLiteral("Node is a base class")); qmlRegisterUncreatableType<Qt3DAnimation::QAbstractClipAnimator>(uri, 2, 9, "AbstractClipAnimator", QStringLiteral("QAbstractClipAnimator is abstract")); qmlRegisterType<Qt3DAnimation::QClipAnimator>(uri, 2, 9, "ClipAnimator"); qmlRegisterType<Qt3DAnimation::QBlendedClipAnimator>(uri, 2, 9, "BlendedClipAnimator"); diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp index 67785c1e8..f5173497b 100644 --- a/src/quick3d/imports/scene3d/scene3ditem.cpp +++ b/src/quick3d/imports/scene3d/scene3ditem.cpp @@ -113,7 +113,7 @@ namespace Qt3DRender { \qml sourceAlphaArg: BlendEquationArguments.Zero destinationAlphaArg: BlendEquationArguments.One - \qml + \endqml to that material. */ diff --git a/src/quick3d/quick3d/qt3dquick_global.cpp b/src/quick3d/quick3d/qt3dquick_global.cpp index 5510e06ad..6b34f3719 100644 --- a/src/quick3d/quick3d/qt3dquick_global.cpp +++ b/src/quick3d/quick3d/qt3dquick_global.cpp @@ -53,7 +53,7 @@ namespace Quick { class Quick3DColorProvider : public QQmlColorProvider { public: - QVariant colorFromString(const QString &s, bool *ok) + QVariant colorFromString(const QString &s, bool *ok) override { QColor c(s); if (c.isValid()) { @@ -65,7 +65,7 @@ public: return QVariant(); } - unsigned rgbaFromString(const QString &s, bool *ok) + unsigned rgbaFromString(const QString &s, bool *ok) override { QColor c(s); if (c.isValid()) { @@ -87,31 +87,36 @@ public: return QString(); } - QVariant fromRgbF(double r, double g, double b, double a) + QVariant fromRgbF(double r, double g, double b, double a) override { return QVariant(QColor::fromRgbF(r, g, b, a)); } - QVariant fromHslF(double h, double s, double l, double a) + QVariant fromHslF(double h, double s, double l, double a) override { return QVariant(QColor::fromHslF(h, s, l, a)); } - QVariant lighter(const QVariant &var, qreal factor) + QVariant fromHsvF(double h, double s, double v, double a) override + { + return QVariant(QColor::fromHsvF(h, s, v, a)); + } + + QVariant lighter(const QVariant &var, qreal factor) override { QColor color = var.value<QColor>(); color = color.lighter(int(qRound(factor*100.))); return QVariant::fromValue(color); } - QVariant darker(const QVariant &var, qreal factor) + QVariant darker(const QVariant &var, qreal factor) override { QColor color = var.value<QColor>(); color = color.darker(int(qRound(factor*100.))); return QVariant::fromValue(color); } - QVariant tint(const QVariant &baseVar, const QVariant &tintVar) + QVariant tint(const QVariant &baseVar, const QVariant &tintVar) override { QColor tintColor = tintVar.value<QColor>(); diff --git a/src/quick3d/quick3d/qt3dquickvaluetypes.cpp b/src/quick3d/quick3d/qt3dquickvaluetypes.cpp index 1cdc3844b..7cc1a4a0c 100644 --- a/src/quick3d/quick3d/qt3dquickvaluetypes.cpp +++ b/src/quick3d/quick3d/qt3dquickvaluetypes.cpp @@ -54,8 +54,7 @@ namespace Quick3DValueTypes { QString Quick3DColorValueType::toString() const { - // to maintain behaviour with QtQuick 1.0, we just output normal toString() value. - return QVariant(v).toString(); + return v.name(v.alpha() != 255 ? QColor::HexArgb : QColor::HexRgb); } qreal Quick3DColorValueType::r() const @@ -78,6 +77,36 @@ qreal Quick3DColorValueType::a() const return v.alphaF(); } +qreal Quick3DColorValueType::hsvHue() const +{ + return v.hsvHueF(); +} + +qreal Quick3DColorValueType::hsvSaturation() const +{ + return v.hsvSaturationF(); +} + +qreal Quick3DColorValueType::hsvValue() const +{ + return v.valueF(); +} + +qreal Quick3DColorValueType::hslHue() const +{ + return v.hslHueF(); +} + +qreal Quick3DColorValueType::hslSaturation() const +{ + return v.hslSaturationF(); +} + +qreal Quick3DColorValueType::hslLightness() const +{ + return v.lightnessF(); +} + void Quick3DColorValueType::setR(qreal r) { v.setRedF(r); @@ -98,6 +127,47 @@ void Quick3DColorValueType::setA(qreal a) v.setAlphaF(a); } +void Quick3DColorValueType::setHsvHue(qreal hsvHue) +{ + qreal hue, saturation, value, alpha; + v.getHsvF(&hue, &saturation, &value, &alpha); + v.setHsvF(hsvHue, saturation, value, alpha); +} + +void Quick3DColorValueType::setHsvSaturation(qreal hsvSaturation) +{ + qreal hue, saturation, value, alpha; + v.getHsvF(&hue, &saturation, &value, &alpha); + v.setHsvF(hue, hsvSaturation, value, alpha); +} + +void Quick3DColorValueType::setHsvValue(qreal hsvValue) +{ + qreal hue, saturation, value, alpha; + v.getHsvF(&hue, &saturation, &value, &alpha); + v.setHsvF(hue, saturation, hsvValue, alpha); +} + +void Quick3DColorValueType::setHslHue(qreal hslHue) +{ + qreal hue, saturation, lightness, alpha; + v.getHslF(&hue, &saturation, &lightness, &alpha); + v.setHslF(hslHue, saturation, lightness, alpha); +} + +void Quick3DColorValueType::setHslSaturation(qreal hslSaturation) +{ + qreal hue, saturation, lightness, alpha; + v.getHslF(&hue, &saturation, &lightness, &alpha); + v.setHslF(hue, hslSaturation, lightness, alpha); +} + +void Quick3DColorValueType::setHslLightness(qreal hslLightness) +{ + qreal hue, saturation, lightness, alpha; + v.getHslF(&hue, &saturation, &lightness, &alpha); + v.setHslF(hue, saturation, hslLightness, alpha); +} QString Quick3DVector2DValueType::toString() const { diff --git a/src/quick3d/quick3d/qt3dquickvaluetypes_p.h b/src/quick3d/quick3d/qt3dquickvaluetypes_p.h index 9f21f9146..ab98771d3 100644 --- a/src/quick3d/quick3d/qt3dquickvaluetypes_p.h +++ b/src/quick3d/quick3d/qt3dquickvaluetypes_p.h @@ -79,6 +79,12 @@ class Q_3DQUICKSHARED_PRIVATE_EXPORT Quick3DColorValueType Q_PROPERTY(qreal g READ g WRITE setG FINAL) Q_PROPERTY(qreal b READ b WRITE setB FINAL) Q_PROPERTY(qreal a READ a WRITE setA FINAL) + Q_PROPERTY(qreal hsvHue READ hsvHue WRITE setHsvHue FINAL) + Q_PROPERTY(qreal hsvSaturation READ hsvSaturation WRITE setHsvSaturation FINAL) + Q_PROPERTY(qreal hsvValue READ hsvValue WRITE setHsvValue FINAL) + 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_GADGET public: Q_INVOKABLE QString toString() const; @@ -87,10 +93,22 @@ public: qreal g() const; qreal b() const; qreal a() const; + qreal hsvHue() const; + qreal hsvSaturation() const; + qreal hsvValue() const; + qreal hslHue() const; + qreal hslSaturation() const; + qreal hslLightness() const; void setR(qreal); void setG(qreal); void setB(qreal); void setA(qreal); + void setHsvHue(qreal); + void setHsvSaturation(qreal); + void setHsvValue(qreal); + void setHslHue(qreal); + void setHslSaturation(qreal); + void setHslLightness(qreal); }; class Q_3DQUICKSHARED_PRIVATE_EXPORT Quick3DVector2DValueType |