6821 tester->rotate(22); |
6821 tester->rotate(22); |
6822 testerChild->rotate(22); |
6822 testerChild->rotate(22); |
6823 testerChild2->rotate(22); |
6823 testerChild2->rotate(22); |
6824 QTest::qWait(25); |
6824 QTest::qWait(25); |
6825 QTRY_COMPARE(tester->repaints, 4); |
6825 QTRY_COMPARE(tester->repaints, 4); |
6826 QCOMPARE(testerChild->repaints, 4); |
6826 QTRY_COMPARE(testerChild->repaints, 4); |
6827 QCOMPARE(testerChild2->repaints, 3); |
6827 QTRY_COMPARE(testerChild2->repaints, 3); |
6828 tester->resetTransform(); |
6828 tester->resetTransform(); |
6829 testerChild->resetTransform(); |
6829 testerChild->resetTransform(); |
6830 testerChild2->resetTransform(); |
6830 testerChild2->resetTransform(); |
6831 |
6831 |
6832 // Explicit update causes a repaint. |
6832 // Explicit update causes a repaint. |
6900 // Moving the middle item should case a repaint even if it's a move, |
6900 // Moving the middle item should case a repaint even if it's a move, |
6901 // because the parent is rotated with a perspective. |
6901 // because the parent is rotated with a perspective. |
6902 testerChild->setPos(1, 1); |
6902 testerChild->setPos(1, 1); |
6903 QTest::qWait(25); |
6903 QTest::qWait(25); |
6904 QTRY_COMPARE(tester->repaints, 11); |
6904 QTRY_COMPARE(tester->repaints, 11); |
6905 QCOMPARE(testerChild->repaints, 10); |
6905 QTRY_COMPARE(testerChild->repaints, 10); |
6906 QCOMPARE(testerChild2->repaints, 5); |
6906 QTRY_COMPARE(testerChild2->repaints, 5); |
6907 tester->resetTransform(); |
6907 tester->resetTransform(); |
6908 |
6908 |
6909 // Make a huge item |
6909 // Make a huge item |
6910 tester->setGeometry(QRectF(-4000, -4000, 8000, 8000)); |
6910 tester->setGeometry(QRectF(-4000, -4000, 8000, 8000)); |
6911 QTest::qWait(25); |
|
6912 QTRY_COMPARE(tester->repaints, 12); |
6911 QTRY_COMPARE(tester->repaints, 12); |
6913 QCOMPARE(testerChild->repaints, 11); |
6912 QTRY_COMPARE(testerChild->repaints, 11); |
6914 QCOMPARE(testerChild2->repaints, 5); |
6913 QTRY_COMPARE(testerChild2->repaints, 5); |
6915 |
6914 |
6916 // Move the large item - will cause a repaint as the |
6915 // Move the large item - will cause a repaint as the |
6917 // cache is clipped. |
6916 // cache is clipped. |
6918 tester->setPos(5, 0); |
6917 tester->setPos(5, 0); |
6919 QTest::qWait(25); |
|
6920 QTRY_COMPARE(tester->repaints, 13); |
6918 QTRY_COMPARE(tester->repaints, 13); |
6921 QCOMPARE(testerChild->repaints, 11); |
6919 QTRY_COMPARE(testerChild->repaints, 11); |
6922 QCOMPARE(testerChild2->repaints, 5); |
6920 QTRY_COMPARE(testerChild2->repaints, 5); |
6923 |
6921 |
6924 // Hiding and showing should invalidate the cache |
6922 // Hiding and showing should invalidate the cache |
6925 tester->hide(); |
6923 tester->hide(); |
6926 QTest::qWait(25); |
6924 QTest::qWait(25); |
6927 tester->show(); |
6925 tester->show(); |
6928 QTest::qWait(25); |
|
6929 QTRY_COMPARE(tester->repaints, 14); |
6926 QTRY_COMPARE(tester->repaints, 14); |
6930 QCOMPARE(testerChild->repaints, 12); |
6927 QTRY_COMPARE(testerChild->repaints, 12); |
6931 QCOMPARE(testerChild2->repaints, 6); |
6928 QTRY_COMPARE(testerChild2->repaints, 6); |
6932 } |
6929 } |
6933 |
6930 |
6934 void tst_QGraphicsItem::cacheMode2() |
6931 void tst_QGraphicsItem::cacheMode2() |
6935 { |
6932 { |
6936 QGraphicsScene scene(0, 0, 100, 100); |
6933 QGraphicsScene scene(0, 0, 100, 100); |