tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
changeset 22 79de32ba3296
parent 19 fcece45ef507
child 30 5dc02b23752f
equal deleted inserted replaced
19:fcece45ef507 22:79de32ba3296
  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);