summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-09-26 14:38:15 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-09-26 14:38:15 (GMT)
commit53d010a989aed878c21522cbaf0d75c7cf821b42 (patch)
treead236dfb3f01ef7e844b36358511f7afb0021659
parent23e03ee30dcd140a51073a0dd665bd871927d05e (diff)
parentbcb4dbebe2f6216842ce443bfc6d126943020a35 (diff)
downloadQt-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.cpp2
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp8
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);