aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2020-04-08 14:35:21 +0200
committerMaximilian Goldstein <max.goldstein@qt.io>2020-04-14 14:46:19 +0200
commit53aa259d57e92f48585f95b47a25ee6e16fc2aaa (patch)
treeb3e27b6ee5ca5b8fdfb4d1e084e50ebd151fc0bc /src/quick/util
parent27748dec471a9c9825f5a35d1936bb5d00400b5b (diff)
Implement Qt.alpha()
Introduces an easy way to get a version of a color with transparency (e.g. Qt.alpha("red", 0.5)). [ChangeLog][QML][General] Added Qt.alpha for easily modifying a color's alpha value Task-number: QTBUG-77635 Change-Id: Ic724e5fa503ca2ae5157a99eed1b5c913a39239f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/util')
-rw-r--r--src/quick/util/qquickglobal.cpp7
-rw-r--r--src/quick/util/qquickvaluetypes.cpp5
-rw-r--r--src/quick/util/qquickvaluetypes_p.h1
3 files changed, 13 insertions, 0 deletions
diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp
index 3ea2f88712..e8439121ca 100644
--- a/src/quick/util/qquickglobal.cpp
+++ b/src/quick/util/qquickglobal.cpp
@@ -123,6 +123,13 @@ public:
return QVariant::fromValue(color);
}
+ QVariant alpha(const QVariant &var, qreal value) override
+ {
+ QColor color = var.value<QColor>();
+ color.setAlphaF(value);
+ return QVariant::fromValue(color);
+ }
+
QVariant tint(const QVariant &baseVar, const QVariant &tintVar) override
{
QColor tintColor = tintVar.value<QColor>();
diff --git a/src/quick/util/qquickvaluetypes.cpp b/src/quick/util/qquickvaluetypes.cpp
index 2b86fe5ceb..d836946214 100644
--- a/src/quick/util/qquickvaluetypes.cpp
+++ b/src/quick/util/qquickvaluetypes.cpp
@@ -68,6 +68,11 @@ QVariant QQuickColorValueType::darker(qreal factor) const
return QQml_colorProvider()->darker(this->v, factor);
}
+QVariant QQuickColorValueType::alpha(qreal value) const
+{
+ return QQml_colorProvider()->alpha(this->v, value);
+}
+
QVariant QQuickColorValueType::tint(QVariant tintColor) const
{
return QQml_colorProvider()->tint(this->v, tintColor);
diff --git a/src/quick/util/qquickvaluetypes_p.h b/src/quick/util/qquickvaluetypes_p.h
index b20fc6c0e3..6ddb51b5de 100644
--- a/src/quick/util/qquickvaluetypes_p.h
+++ b/src/quick/util/qquickvaluetypes_p.h
@@ -90,6 +90,7 @@ class QQuickColorValueType
public:
Q_INVOKABLE QString toString() const;
+ Q_INVOKABLE QVariant alpha(qreal value) const;
Q_INVOKABLE QVariant lighter(qreal factor = 1.5) const;
Q_INVOKABLE QVariant darker(qreal factor = 2.0) const;
Q_INVOKABLE QVariant tint(QVariant factor) const;