diff options
author | Gunnar Sletta <gunnar@trolltech.com> | 2009-03-04 13:43:58 (GMT) |
---|---|---|
committer | Gunnar Sletta <gunnar@trolltech.com> | 2009-04-01 14:36:51 (GMT) |
commit | 855aa89e0ba99f8a0f75d7b31930bab2cefb93f8 (patch) | |
tree | 9747726cc344e54508c22ac48dae151380f0843a | |
parent | 860498a1e63bff2b5a52accda92256c36ba5c23d (diff) | |
download | Qt-855aa89e0ba99f8a0f75d7b31930bab2cefb93f8.zip Qt-855aa89e0ba99f8a0f75d7b31930bab2cefb93f8.tar.gz Qt-855aa89e0ba99f8a0f75d7b31930bab2cefb93f8.tar.bz2 |
Fixes: make the toNormalizedFillRect function slightly faster
RevBy: sroedal
-rw-r--r-- | src/gui/painting/qpaintengine_raster.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 92a196c..3cf618c 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -1706,12 +1706,17 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen) static inline QRect toNormalizedFillRect(const QRectF &rect) { - const int x1 = qRound(rect.x() + aliasedCoordinateDelta); - const int y1 = qRound(rect.y() + aliasedCoordinateDelta); - const int x2 = qRound(rect.right() + aliasedCoordinateDelta); - const int y2 = qRound(rect.bottom() + aliasedCoordinateDelta); + int x1 = int(rect.x() + aliasedCoordinateDelta); + int y1 = int(rect.y() + aliasedCoordinateDelta); + int x2 = int(rect.right() + aliasedCoordinateDelta); + int y2 = int(rect.bottom() + aliasedCoordinateDelta); - return QRect(x1, y1, x2 - x1, y2 - y1).normalized(); + if (x2 < x1) + qSwap(x1, x2); + if (y2 < y1) + qSwap(y1, y2); + + return QRect(x1, y1, x2 - x1, y2 - y1); } /*! |