void tst_QPauseAnimationJob::sequentialPauseGroup() { QSequentialAnimationGroupJob group; TestablePauseAnimation animation1(200); group.appendAnimation(&animation1); TestablePauseAnimation animation2(200); group.appendAnimation(&animation2); TestablePauseAnimation animation3(200); group.appendAnimation(&animation3); group.start(); QCOMPARE(animation1.m_updateCurrentTimeCount, 1); QCOMPARE(animation2.m_updateCurrentTimeCount, 0); QCOMPARE(animation3.m_updateCurrentTimeCount, 0); QVERIFY(group.state() == QAbstractAnimationJob::Running); QVERIFY(animation1.state() == QAbstractAnimationJob::Running); QVERIFY(animation2.state() == QAbstractAnimationJob::Stopped); QVERIFY(animation3.state() == QAbstractAnimationJob::Stopped); group.setCurrentTime(250); QCOMPARE(animation1.m_updateCurrentTimeCount, 2); QCOMPARE(animation2.m_updateCurrentTimeCount, 1); QCOMPARE(animation3.m_updateCurrentTimeCount, 0); QVERIFY(group.state() == QAbstractAnimationJob::Running); QVERIFY(animation1.state() == QAbstractAnimationJob::Stopped); QCOMPARE((QAbstractAnimationJob*)&animation2, group.currentAnimation()); QVERIFY(animation2.state() == QAbstractAnimationJob::Running); QVERIFY(animation3.state() == QAbstractAnimationJob::Stopped); group.setCurrentTime(500); QCOMPARE(animation1.m_updateCurrentTimeCount, 2); QCOMPARE(animation2.m_updateCurrentTimeCount, 2); QCOMPARE(animation3.m_updateCurrentTimeCount, 1); QVERIFY(group.state() == QAbstractAnimationJob::Running); QVERIFY(animation1.state() == QAbstractAnimationJob::Stopped); QVERIFY(animation2.state() == QAbstractAnimationJob::Stopped); QCOMPARE((QAbstractAnimationJob*)&animation3, group.currentAnimation()); QVERIFY(animation3.state() == QAbstractAnimationJob::Running); group.setCurrentTime(750); QVERIFY(group.state() == QAbstractAnimationJob::Stopped); QVERIFY(animation1.state() == QAbstractAnimationJob::Stopped); QVERIFY(animation2.state() == QAbstractAnimationJob::Stopped); QVERIFY(animation3.state() == QAbstractAnimationJob::Stopped); QCOMPARE(animation1.m_updateCurrentTimeCount, 2); QCOMPARE(animation2.m_updateCurrentTimeCount, 2); QCOMPARE(animation3.m_updateCurrentTimeCount, 2); }
void StartMenu::generateButtons() { Animation animation("StartResume.PNG", 80, 1, 64, 192); updateButtons(); mButtons.push_back(animation); Animation animation2("StartNewGame.PNG", 80, 1, 64, 192); updateButtons(); mButtons.push_back(animation2); Animation animation3("StartHowtoPlay.PNG", 80, 1, 64, 192); updateButtons(); mButtons.push_back(animation3); //Animation animation4("StartAudio.png", 80, 1, 64, 192); //updateButtons(); //mButtons.push_back(animation4); Animation animation5("StartQuit.PNG", 80, 1, 64, 192); updateButtons(); mButtons.push_back(animation5); }
void tst_QPauseAnimationJob::multipleSequentialGroups() { EnableConsistentTiming enabled; QParallelAnimationGroupJob group; group.setLoopCount(2); QSequentialAnimationGroupJob subgroup1; group.appendAnimation(&subgroup1); TestableGenericAnimation animation(300); subgroup1.appendAnimation(&animation); TestablePauseAnimation pause(200); subgroup1.appendAnimation(&pause); QSequentialAnimationGroupJob subgroup2; group.appendAnimation(&subgroup2); TestableGenericAnimation animation2(200); subgroup2.appendAnimation(&animation2); TestablePauseAnimation pause2(250); subgroup2.appendAnimation(&pause2); QSequentialAnimationGroupJob subgroup3; group.appendAnimation(&subgroup3); TestablePauseAnimation pause3(400); subgroup3.appendAnimation(&pause3); TestableGenericAnimation animation3(200); subgroup3.appendAnimation(&animation3); QSequentialAnimationGroupJob subgroup4; group.appendAnimation(&subgroup4); TestablePauseAnimation pause4(310); subgroup4.appendAnimation(&pause4); TestablePauseAnimation pause5(60); subgroup4.appendAnimation(&pause5); group.start(); QVERIFY(group.state() == QAbstractAnimationJob::Running); QVERIFY(subgroup1.state() == QAbstractAnimationJob::Running); QVERIFY(subgroup2.state() == QAbstractAnimationJob::Running); QVERIFY(subgroup3.state() == QAbstractAnimationJob::Running); QVERIFY(subgroup4.state() == QAbstractAnimationJob::Running); // This is a pretty long animation so it tends to get rather out of sync // when using the consistent timer, so run for an extra half second for good // measure... QTest::qWait(group.totalDuration() + 500); #ifdef Q_OS_WIN if (group.state() != QAbstractAnimationJob::Stopped) QEXPECT_FAIL("", winTimerError, Abort); #endif QTRY_VERIFY(group.state() == QAbstractAnimationJob::Stopped); #ifdef Q_OS_WIN if (subgroup1.state() != QAbstractAnimationJob::Stopped) QEXPECT_FAIL("", winTimerError, Abort); #endif QVERIFY(subgroup1.state() == QAbstractAnimationJob::Stopped); #ifdef Q_OS_WIN if (subgroup2.state() != QAbstractAnimationJob::Stopped) QEXPECT_FAIL("", winTimerError, Abort); #endif QVERIFY(subgroup2.state() == QAbstractAnimationJob::Stopped); #ifdef Q_OS_WIN if (subgroup3.state() != QAbstractAnimationJob::Stopped) QEXPECT_FAIL("", winTimerError, Abort); #endif QVERIFY(subgroup3.state() == QAbstractAnimationJob::Stopped); #ifdef Q_OS_WIN if (subgroup4.state() != QAbstractAnimationJob::Stopped) QEXPECT_FAIL("", winTimerError, Abort); #endif QVERIFY(subgroup4.state() == QAbstractAnimationJob::Stopped); #ifdef Q_OS_WIN if (pause5.m_updateCurrentTimeCount != 4) QEXPECT_FAIL("", winTimerError, Abort); #endif QCOMPARE(pause5.m_updateCurrentTimeCount, 4); }
void TaikoIcon::animation2() { setPixmap(QPixmap("./GameData/DefaultResources/images/TaikoSmall.png")); QTimer::singleShot(60 , this , SLOT(animation3()) ); }