summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengineex.cpp
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2010-05-11 10:46:46 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2010-05-12 12:59:34 (GMT)
commitc46688b8a88da02028405604ab633b27d3fefa68 (patch)
treeca595b07c4cdf82767c10a52bbeaba75490f42f9 /src/gui/painting/qpaintengineex.cpp
parent9b6041bf62cfd2b0be62134ff6ee0fd488ce5921 (diff)
downloadQt-c46688b8a88da02028405604ab633b27d3fefa68.zip
Qt-c46688b8a88da02028405604ab633b27d3fefa68.tar.gz
Qt-c46688b8a88da02028405604ab633b27d3fefa68.tar.bz2
Made curve tesselation be dynamically adjusted based on transform.
This lets us avoid having to use a very low curve threshold value for all scales, and thus avoids the performance regression from change c41dbbb5e6495e26cd32. Task-number: QTBUG-9218 Reviewed-by: Gunnar Sletta
Diffstat (limited to 'src/gui/painting/qpaintengineex.cpp')
-rw-r--r--src/gui/painting/qpaintengineex.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index fda937e..ff82d59 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -461,6 +461,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
// change the current transform. Normal transformed,
// non-cosmetic pens will be transformed as part of fill
// later, so they are also covered here..
+ d->activeStroker->setCurveThresholdFromTransform(state()->matrix);
d->activeStroker->begin(d->strokeHandler);
if (types) {
while (points < lastPoint) {
@@ -518,6 +519,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
QPainterPath painterPath = state()->matrix.map(path.convertToPainterPath());
d->activeStroker->strokePath(painterPath, d->strokeHandler, QTransform());
} else {
+ d->activeStroker->setCurveThresholdFromTransform(state()->matrix);
d->activeStroker->begin(d->strokeHandler);
if (types) {
while (points < lastPoint) {