diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-09-26 14:38:15 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-09-26 14:38:15 (GMT) |
commit | 53d010a989aed878c21522cbaf0d75c7cf821b42 (patch) | |
tree | ad236dfb3f01ef7e844b36358511f7afb0021659 | |
parent | 23e03ee30dcd140a51073a0dd665bd871927d05e (diff) | |
parent | bcb4dbebe2f6216842ce443bfc6d126943020a35 (diff) | |
download | Qt-53d010a989aed878c21522cbaf0d75c7cf821b42.zip Qt-53d010a989aed878c21522cbaf0d75c7cf821b42.tar.gz Qt-53d010a989aed878c21522cbaf0d75c7cf821b42.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Fix QPainter::clipBoundingRect() for QRectF clip.
-rw-r--r-- | src/gui/painting/qpainter.cpp | 2 | ||||
-rw-r--r-- | tests/auto/qpainter/tst_qpainter.cpp | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 8f54a2e..35a74c9 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -2737,6 +2737,8 @@ QRectF QPainter::clipBoundingRect() const if (info.clipType == QPainterClipInfo::RectClip) r = info.rect; + else if (info.clipType == QPainterClipInfo::RectFClip) + r = info.rectf; else if (info.clipType == QPainterClipInfo::RegionClip) r = info.region.boundingRect(); else diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp index 9b8444c..ae97285 100644 --- a/tests/auto/qpainter/tst_qpainter.cpp +++ b/tests/auto/qpainter/tst_qpainter.cpp @@ -4543,6 +4543,14 @@ void tst_QPainter::clipBoundingRect() QVERIFY(p.clipBoundingRect().contains(QRect(120, 120, 20, 20))); QVERIFY(!p.clipBoundingRect().contains(QRectF(100, 100, 200, 100))); + // Test a basic float rectangle + p.setClipRect(QRectF(100, 100, 200, 100)); + QVERIFY(p.clipBoundingRect().contains(QRectF(100, 100, 200, 100))); + QVERIFY(!p.clipBoundingRect().contains(QRectF(50, 50, 300, 200))); + p.setClipRect(QRectF(120, 120, 20, 20), Qt::IntersectClip); + QVERIFY(p.clipBoundingRect().contains(QRect(120, 120, 20, 20))); + QVERIFY(!p.clipBoundingRect().contains(QRectF(100, 100, 200, 100))); + // Test a basic path + region QPainterPath path; path.addRect(100, 100, 200, 100); |