From 5e3f81237aae96181c9315b8e7c6c5368629a000 Mon Sep 17 00:00:00 2001 From: Andreas Aardal Hanssen Date: Wed, 11 Nov 2009 07:09:07 +0100 Subject: Revert "Always set a clip on the painter in QGraphicsView." This reverts commit 4bf7f90a27377f439e86d6175e5e3cdebd131be0. The change is already reverted in kinetic-declarativeui. Reviewed-by: Warwick Allison Reviewed-by: bnilsen --- src/gui/graphicsview/qgraphicsview.cpp | 3 -- tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 72 -------------------------- 2 files changed, 75 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp index 27fd09e..3ef311c 100644 --- a/src/gui/graphicsview/qgraphicsview.cpp +++ b/src/gui/graphicsview/qgraphicsview.cpp @@ -3275,13 +3275,10 @@ void QGraphicsView::paintEvent(QPaintEvent *event) // Determine the exposed region d->exposedRegion = event->region(); - if (d->exposedRegion.isEmpty()) - d->exposedRegion = viewport()->rect(); QRectF exposedSceneRect = mapToScene(d->exposedRegion.boundingRect()).boundingRect(); // Set up the painter QPainter painter(viewport()); - painter.setClipRect(event->rect(), Qt::IntersectClip); #ifndef QT_NO_RUBBERBAND if (d->rubberBanding && !d->rubberBandRect.isEmpty()) painter.save(); diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 9c6aa39..f07453c 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -217,7 +217,6 @@ private slots: void update(); void inputMethodSensitivity(); void inputContextReset(); - void defaultClipIntersectToView(); // task specific tests below me void task172231_untransformableItems(); @@ -3693,77 +3692,6 @@ void tst_QGraphicsView::inputContextReset() QCOMPARE(inputContext.resets, 0); } -class ViewClipTester : public QGraphicsView -{ -public: - ViewClipTester(QGraphicsScene *scene = 0) - : QGraphicsView(scene) - { } - QRegion clipRegion; - -protected: - void drawBackground(QPainter *painter, const QRectF &rect) - { - clipRegion = painter->clipRegion(); - } -}; - -class ItemClipTester : public QGraphicsRectItem -{ -public: - ItemClipTester() : QGraphicsRectItem(0, 0, 20, 20) - { - setBrush(Qt::blue); - } - QRegion clipRegion; - - void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) - { - clipRegion = painter->clipRegion(); - QGraphicsRectItem::paint(painter, option, widget); - } -}; - -void tst_QGraphicsView::defaultClipIntersectToView() -{ - QGraphicsScene scene; - ItemClipTester *tester = new ItemClipTester; - scene.addItem(tester); - - ViewClipTester view(&scene); - view.setAlignment(Qt::AlignTop | Qt::AlignLeft); - view.setFrameStyle(0); - view.resize(200, 200); - view.show(); - QTRY_COMPARE(QApplication::activeWindow(), (QWidget *)&view); - - QRect viewRect(0, 0, 200, 200); - QCOMPARE(view.clipRegion, QRegion(viewRect)); - QCOMPARE(tester->clipRegion, QRegion(viewRect)); - - view.viewport()->update(0, 0, 5, 5); - view.viewport()->update(10, 10, 5, 5); - qApp->processEvents(); - viewRect = QRect(0, 0, 15, 15); - QCOMPARE(view.clipRegion, QRegion(viewRect)); - QCOMPARE(tester->clipRegion, QRegion(viewRect)); - - view.scale(2, 2); - qApp->processEvents(); - - viewRect.moveTop(-viewRect.height()); - viewRect = QRect(0, 0, 100, 100); - QCOMPARE(view.clipRegion, QRegion(viewRect)); - QCOMPARE(tester->clipRegion, QRegion(viewRect)); - - view.viewport()->update(0, 0, 5, 5); - view.viewport()->update(10, 10, 5, 5); - qApp->processEvents(); - viewRect = QRect(0, 0, 8, 8); - QCOMPARE(view.clipRegion, QRegion(viewRect)); - QCOMPARE(tester->clipRegion, QRegion(viewRect)); -} - void tst_QGraphicsView::task253415_reconnectUpdateSceneOnSceneChanged() { QGraphicsView view; -- cgit v0.12