diff options
author | Kai Pastor <dg0yt@darc.de> | 2015-06-12 06:08:45 +0200 |
---|---|---|
committer | Kai Pastor <dg0yt@darc.de> | 2015-06-12 07:28:46 +0000 |
commit | c2ea62dd342ced6da3a634768c4d92dc3067a3fa (patch) | |
tree | c13ee6dad6578102118b9854e0f092ada4077d2f /src/gui/image | |
parent | 56d62345ad34b8efb6a72a3c189542eb295ac2b9 (diff) |
QPicturePaintEngine: Avoid slow QPainter::clipRegion
QPainter::clipRegion() is expensive especially for certain clip paths.
QPainter::clipBoundingRect() does not promise to return an exact (tight)
bound but delivers the desired result quickly. In addition, this avoids
discretization.
Change-Id: Ib35406edc12fb8206ca978bc140a7c5e21279ca2
Task-number: QTBUG-46578
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qpaintengine_pic.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/image/qpaintengine_pic.cpp b/src/gui/image/qpaintengine_pic.cpp index b17fb73133..9ab1e2c30b 100644 --- a/src/gui/image/qpaintengine_pic.cpp +++ b/src/gui/image/qpaintengine_pic.cpp @@ -342,7 +342,7 @@ void QPicturePaintEngine::writeCmdLength(int pos, const QRectF &r, bool corr) } br = painter()->transform().mapRect(br); if (painter()->hasClipping()) { - QRect cr = painter()->clipRegion().boundingRect(); + QRectF cr = painter()->clipBoundingRect(); br &= cr; } |