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..38574d94 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, s, v, a; + c.getHsv(&h, &s, &v, &a); + const int v0 = v + (255 - v)/2; + const int v1 = v - v/2; + const QColor c0 = QColor::fromHsv(h, s, v0, a); + const 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 |