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);
}
Exemplo n.º 4
0
void TaikoIcon::animation2()
{
    setPixmap(QPixmap("./GameData/DefaultResources/images/TaikoSmall.png"));
    QTimer::singleShot(60 , this , SLOT(animation3()) );
}