summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2009-08-03 12:31:10 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2009-08-03 12:43:53 (GMT)
commitc1c52b5cd22655999a9abc6bce709e15b598d2c5 (patch)
tree828b92eed8f2fd9ddd458556058eed643edab445 /src
parent463df7e4a6dc7c11716e27ca5de9ebeb61940990 (diff)
downloadQt-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')
-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 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;
}