aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-08-24 15:29:03 +0200
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-08-24 14:05:09 +0000
commit6067b74bb7baadbd28bfdfa8e2d63b775c972b0f (patch)
tree3918001366e4e6a2835153a7fb94cbd55cb5def5
parent27bee8076f50a948ffb9997e2a0673854681437d (diff)
Fix hue clamping in Context2D
It goes from 0..359, not 0..255. Task-number: QTBUG-47894 Change-Id: I0612a9d5e4999afae7703b5c49741b94fb0da07f Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
-rw-r--r--src/quick/items/context2d/qquickcontext2d.cpp2
-rw-r--r--tests/auto/quick/qquickcanvasitem/data/tst_context.qml18
2 files changed, 19 insertions, 1 deletions
diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp
index 4aa3b1c8d0..c71a354e0c 100644
--- a/src/quick/items/context2d/qquickcontext2d.cpp
+++ b/src/quick/items/context2d/qquickcontext2d.cpp
@@ -189,7 +189,7 @@ QColor qt_color_from_string(const QV4::Value &name)
if (isRgb)
return QColor::fromRgba(qRgba(qClamp(rh, 0, 255), qClamp(gs, 0, 255), qClamp(bl, 0, 255), qClamp(alpha, 0, 255)));
else if (isHsl)
- return QColor::fromHsl(qClamp(rh, 0, 255), qClamp(gs, 0, 255), qClamp(bl, 0, 255), qClamp(alpha, 0, 255));
+ return QColor::fromHsl(qClamp(rh, 0, 359), qClamp(gs, 0, 255), qClamp(bl, 0, 255), qClamp(alpha, 0, 255));
}
return QColor();
}
diff --git a/tests/auto/quick/qquickcanvasitem/data/tst_context.qml b/tests/auto/quick/qquickcanvasitem/data/tst_context.qml
index f266c16d76..566ad9d3d5 100644
--- a/tests/auto/quick/qquickcanvasitem/data/tst_context.qml
+++ b/tests/auto/quick/qquickcanvasitem/data/tst_context.qml
@@ -182,4 +182,22 @@ Canvas {
}
}
}
+
+ TestCase {
+ name: "Colors"
+ when: canvas.available
+
+ function test_colors() {
+ wait(100);
+ compare(contextSpy.count, 1);
+
+ var ctx = canvas.getContext("2d");
+ // QTBUG-47894
+ ctx.strokeStyle = 'hsl(255, 100%, 50%)';
+ var c1 = ctx.strokeStyle.toString();
+ ctx.strokeStyle = 'hsl(320, 100%, 50%)';
+ var c2 = ctx.strokeStyle.toString();
+ verify(c1 !== c2);
+ }
+ }
}