summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-08-03 14:31:10 +0200
committerSamuel Rødal <sroedal@trolltech.com>2009-08-03 14:43:53 +0200
commitc1c52b5cd22655999a9abc6bce709e15b598d2c5 (patch)
tree828b92eed8f2fd9ddd458556058eed643edab445 /src/gui/painting
parent463df7e4a6dc7c11716e27ca5de9ebeb61940990 (diff)
Preserved fill rule for perspective mapped strokes in raster engine.
Task-number: 254407 Reviewed-by: Gunnar
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qoutlinemapper.cpp2
-rw-r--r--src/gui/painting/qtransform.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/painting/qoutlinemapper.cpp b/src/gui/painting/qoutlinemapper.cpp
index 401fad92f5..d2943788fd 100644
--- a/src/gui/painting/qoutlinemapper.cpp
+++ b/src/gui/painting/qoutlinemapper.cpp
@@ -225,6 +225,8 @@ void QOutlineMapper::endOutline()
}
}
path = QTransform(m_m11, m_m12, m_m13, m_m21, m_m22, m_m23, m_dx, m_dy, m_m33).map(path);
+ if (!(m_outline.flags & QT_FT_OUTLINE_EVEN_ODD_FILL))
+ path.setFillRule(Qt::WindingFill);
uint old_txop = m_txop;
m_txop = QTransform::TxNone;
if (path.isEmpty())
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp
index dcb8947258..6a3392848f 100644
--- a/src/gui/painting/qtransform.cpp
+++ b/src/gui/painting/qtransform.cpp
@@ -1459,6 +1459,7 @@ static QPainterPath mapProjective(const QTransform &transform, const QPainterPat
if (path.elementCount() > 0 && lastMoveTo != last)
lineTo_clipped(result, transform, last, lastMoveTo, needsMoveTo, false);
+ result.setFillRule(path.fillRule());
return result;
}