summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/direct2d
diff options
context:
space:
mode:
authorLouai Al-Khanji <louai.al-khanji@digia.com>2014-05-12 15:35:49 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-14 13:17:17 +0200
commitbf284c2bbdf783340a2f35350fd5ea690b3192b2 (patch)
tree86f5a0a6f807f0906706f904f836abec5e09e835 /src/plugins/platforms/direct2d
parentd16508a285a5423ae9a5034e969801bce74ffb98 (diff)
Direct2D QPA: Fix check for cosmetic pen
When checking whether a QPen should be treated as cosmetic we need to take into account the render hints set on the painter as well. Change-Id: I8200611af08000d2d1626d8ef97eb3f6dac4951c Reviewed-by: Risto Avila <risto.avila@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Diffstat (limited to 'src/plugins/platforms/direct2d')
-rw-r--r--src/plugins/platforms/direct2d/qwindowsdirect2dpaintengine.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/platforms/direct2d/qwindowsdirect2dpaintengine.cpp b/src/plugins/platforms/direct2d/qwindowsdirect2dpaintengine.cpp
index ca2dcf908d..5a4157565e 100644
--- a/src/plugins/platforms/direct2d/qwindowsdirect2dpaintengine.cpp
+++ b/src/plugins/platforms/direct2d/qwindowsdirect2dpaintengine.cpp
@@ -592,9 +592,13 @@ public:
props.miterLimit = newPen.miterLimit() * qreal(2.0); // D2D and Qt miter specs differ
props.dashOffset = newPen.dashOffset();
- props.transformType = qIsNull(newPen.widthF()) ? D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE
- : newPen.isCosmetic() ? D2D1_STROKE_TRANSFORM_TYPE_FIXED
- : D2D1_STROKE_TRANSFORM_TYPE_NORMAL;
+
+ if (newPen.widthF() == 0)
+ props.transformType = D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE;
+ else if (qt_pen_is_cosmetic(newPen, q->state()->renderHints))
+ props.transformType = D2D1_STROKE_TRANSFORM_TYPE_FIXED;
+ else
+ props.transformType = D2D1_STROKE_TRANSFORM_TYPE_NORMAL;
switch (newPen.style()) {
case Qt::SolidLine: