diff options
Diffstat (limited to 'muse2/muse/widgets/utils.cpp')
-rw-r--r-- | muse2/muse/widgets/utils.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/muse2/muse/widgets/utils.cpp b/muse2/muse/widgets/utils.cpp index 1bf4ca64..693f3c36 100644 --- a/muse2/muse/widgets/utils.cpp +++ b/muse2/muse/widgets/utils.cpp @@ -11,6 +11,10 @@ #include <sys/time.h> #include <QFrame> +#include <QColor> +#include <QGradient> +#include <QLinearGradient> +#include <QPointF> #include "utils.h" @@ -354,3 +358,19 @@ bool autoAdjustFontSize(QFrame* w, const QString& s, bool ignoreWidth, bool igno return true; } + +QGradient gGradientFromQColor(const QColor& c, const QPointF& start, const QPointF& finalStop) +{ + int h = c.hsvHue(), s = c.hsvSaturation(), a = c.alpha(); + int cv = c.value(); + int v0 = cv + (255 - cv)/2; + int v1 = cv - cv/2; + QColor c0 = QColor::fromHsv(h, s, v0, a); + QColor c1 = QColor::fromHsv(h, s, v1, a); + + QLinearGradient gradient(start, finalStop); + gradient.setColorAt(0, c0); + gradient.setColorAt(1, c1); + + return gradient; +}
\ No newline at end of file |