Make physic based animation also work with "high" animation durations.

Use of addTime() instead of setProgress().
Only set curve shape once.

svn path=/trunk/KDE/kdebase/workspace/; revision=799466
This commit is contained in:
Martin Gräßlin 2008-04-21 16:09:11 +00:00
parent 4e04b678af
commit 89458622c7

View file

@ -58,6 +58,8 @@ CoverSwitchEffect::CoverSwitchEffect()
animateStart = conf.readEntry( "AnimateStart", true );
animateStop = conf.readEntry( "AnimateStop", true );
reflection = conf.readEntry( "Reflection", true );
timeLine.setCurveShape( TimeLine::EaseInOutCurve );
timeLine.setDuration( animationDuration );
}
CoverSwitchEffect::~CoverSwitchEffect()
@ -71,9 +73,7 @@ void CoverSwitchEffect::prePaintScreen( ScreenPrePaintData& data, int time )
data.mask |= Effect::PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS;
if( animation || start || stop )
{
double progress = qMin( 1.0, timeLine.value() + time / double( animationDuration ));
timeLine.setProgress(progress);
timeLine.setCurveShape(TimeLine::EaseInOutCurve);
timeLine.addTime( (double)time );
}
}
effects->prePaintScreen(data, time);