Exemplo n.º 1
0
TEST_F(BitmapImageTest, maybeAnimated) {
    loadImage("/LayoutTests/fast/images/resources/gif-loop-count.gif");
    for (size_t i = 0; i < frameCount(); ++i) {
        EXPECT_TRUE(m_image->maybeAnimated());
        advanceAnimation();
    }
    EXPECT_FALSE(m_image->maybeAnimated());
}
Exemplo n.º 2
0
void ViewController::playViewTransition()
{
	Eigen::Vector3f target(Eigen::Vector3f::Identity());
	if(mCurrentView) 
		target = mCurrentView->getPosition();

	// no need to animate, we're not going anywhere (probably goToNextGamelist() or goToPrevGamelist() when there's only 1 system)
	if(target == -mCamera.translation() && !isAnimationPlaying(0))
		return;

	if(Settings::getInstance()->getString("TransitionStyle") == "fade")
	{
		// fade
		// stop whatever's currently playing, leaving mFadeOpacity wherever it is
		cancelAnimation(0);

		auto fadeFunc = [this](float t) {
			mFadeOpacity = lerp<float>(0, 1, t);
		};

		const static int FADE_DURATION = 240; // fade in/out time
		const static int FADE_WAIT = 320; // time to wait between in/out
		setAnimation(new LambdaAnimation(fadeFunc, FADE_DURATION), 0, [this, fadeFunc, target] {
			this->mCamera.translation() = -target;
			updateHelpPrompts();
			setAnimation(new LambdaAnimation(fadeFunc, FADE_DURATION), FADE_WAIT, nullptr, true);
		});

		// fast-forward animation if we're partway faded
		if(target == -mCamera.translation())
		{
			// not changing screens, so cancel the first half entirely
			advanceAnimation(0, FADE_DURATION);
			advanceAnimation(0, FADE_WAIT);
			advanceAnimation(0, FADE_DURATION - (int)(mFadeOpacity * FADE_DURATION));
		}else{
			advanceAnimation(0, (int)(mFadeOpacity * FADE_DURATION));
		}
	}else{
		// slide
		setAnimation(new MoveCameraAnimation(mCamera, target));
		updateHelpPrompts(); // update help prompts immediately
	}
}
Exemplo n.º 3
0
TEST_F(BitmapImageTest, animationRepetitions) {
    loadImage("/LayoutTests/fast/images/resources/full2loop.gif");
    int expectedRepetitionCount = 2;
    EXPECT_EQ(expectedRepetitionCount, repetitionCount());

    // We actually loop once more than stored repetition count.
    for (int repeat = 0; repeat < expectedRepetitionCount + 1; ++repeat) {
        for (size_t i = 0; i < frameCount(); ++i) {
            EXPECT_FALSE(animationFinished());
            advanceAnimation();
        }
    }
    EXPECT_TRUE(animationFinished());
}
Exemplo n.º 4
0
void KasBar::addTestItems()
{
   KasItem *i = new KasItem( this );
   insert( 0, i );
   i->setText( "Animated" );
   i->setIcon( KGlobal::iconLoader()->loadIcon( "icons", KIconLoader::NoGroup, KIconLoader::SizeMedium ) );
   i->setAnimation( resources()->startupAnimation() );
   QTimer *aniTimer = new QTimer( i );
   connect( aniTimer, SIGNAL( timeout() ), i, SLOT( advanceAnimation() ) );
   aniTimer->start( 100 );
   i->setShowAnimation( true );

   updateLayout();
}
Exemplo n.º 5
0
void QAnimationDriver::advance()
{
    advanceAnimation(-1);
}