diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2009-08-03 12:31:10 (GMT) |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2009-08-03 12:43:53 (GMT) |
commit | c1c52b5cd22655999a9abc6bce709e15b598d2c5 (patch) | |
tree | 828b92eed8f2fd9ddd458556058eed643edab445 /src/gui/painting | |
parent | 463df7e4a6dc7c11716e27ca5de9ebeb61940990 (diff) | |
download | Qt-c1c52b5cd22655999a9abc6bce709e15b598d2c5.zip Qt-c1c52b5cd22655999a9abc6bce709e15b598d2c5.tar.gz Qt-c1c52b5cd22655999a9abc6bce709e15b598d2c5.tar.bz2 |
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.cpp | 2 | ||||
-rw-r--r-- | src/gui/painting/qtransform.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/painting/qoutlinemapper.cpp b/src/gui/painting/qoutlinemapper.cpp index 401fad9..d294378 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 dcb8947..6a33928 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; } |