コード例 #1
0
void KCard::animate( QPointF pos, qreal z, qreal rotation, bool faceUp, bool raised, int duration )
{
    stopAnimation();

    if ( duration > 0
         && ( qAbs( pos.x() - x() ) > 2
              || qAbs( pos.y() - y() ) > 2
              || qAbs( rotation - this->rotation() ) > 2
              || faceUp != d->faceUp ) )
    {
        if ( raised )
            raise();

        d->destZ = z;
        d->faceUp = faceUp;

        d->animation = new KCardAnimation( d, duration, pos, rotation, faceUp );
        connect( d->animation, SIGNAL(finished()), SLOT(stopAnimation()) );
        d->animation->start();
        emit animationStarted( this );
    }
    else
    {
        setPos( pos );
        setZValue( z );
        setRotation( rotation );
        setFaceUp( faceUp );
    }
}
コード例 #2
0
void CardAnimationLock::lock()
{
    if (m_aniEnabled && !m_demoStarted)
    {
	CardStack::lockUserInteration();
	emit animationStarted();
    }
}
コード例 #3
0
void Label::animationTact()
{
    // Animation tact

    if(getAnimation())
    {
        if(animationStarted())
        {
            if(animationTimer->finished())
            {
                // Tact
                animationValue += animationSpeed;

                if(!animationFinished())
                {
                    // Restart
                    animationTimer->restart();
                }
            }
        }
    }
}