diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2010-05-11 10:46:46 (GMT) |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2010-05-12 12:59:34 (GMT) |
commit | c46688b8a88da02028405604ab633b27d3fefa68 (patch) | |
tree | ca595b07c4cdf82767c10a52bbeaba75490f42f9 /src/gui/painting/qpaintengineex.cpp | |
parent | 9b6041bf62cfd2b0be62134ff6ee0fd488ce5921 (diff) | |
download | Qt-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.cpp | 2 |
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) { |