summaryrefslogtreecommitdiffstats
path: root/src/context2d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/context2d.cpp')
-rw-r--r--src/context2d.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/context2d.cpp b/src/context2d.cpp
index 9da0d31..7c3c4a0 100644
--- a/src/context2d.cpp
+++ b/src/context2d.cpp
@@ -101,6 +101,22 @@ QColor colorFromString(const QString &name)
return QColor((int)qClamp(compo[0], qreal(0), qreal(255)),
(int)qClamp(compo[1], qreal(0), qreal(255)),
(int)qClamp(compo[2], qreal(0), qreal(255)));
+ } else if (name.startsWith("hsla(")){
+ ++itr; ++itr; ++itr; ++itr; ++itr;
+ compo = parseNumbersList(itr);
+ if (compo.size() != 4) {
+ return QColor();
+ }
+ return QColor::fromHslF(compo[0], compo[1],
+ compo[2], compo[3]);
+ } else if (name.startsWith("hsl(")){
+ ++itr; ++itr; ++itr; ++itr; ++itr;
+ compo = parseNumbersList(itr);
+ if (compo.size() != 3) {
+ return QColor();
+ }
+ return QColor::fromHslF(compo[0], compo[1],
+ compo[2]);
} else {
//QRgb color;
//CSSParser::parseColor(name, color);