diff options
Diffstat (limited to 'src/context2d.cpp')
-rw-r--r-- | src/context2d.cpp | 16 |
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); |