fixes a small bug on RotationStackedAnimation which uses a wrong delta for the back widget rotation animation angle. The back widget was rotating from 90 (0.25 * 360) degrees to 180 (0.5 * 360), but the correct rotation is from 270 (0.75 * 360) to 360 (1.00 * 360). This patch also fixes code indentation.
Patch by: Bruno Abinader <brunoabinader@gmail.com> svn path=/trunk/KDE/kdelibs/; revision=1078228
This commit is contained in:
parent
323d93a0b1
commit
eb8c97dcae
@ -133,26 +133,25 @@ void RotationStackedAnimation::updateState(
|
||||
if (oldState == Stopped && newState == Running) {
|
||||
m_frontRotation->setAngle(direction() == Forward ? m_frontStartAngle : m_frontEndAngle);
|
||||
m_backRotation->setAngle(direction() == Forward ? m_backStartAngle : m_backEndAngle);
|
||||
} else if(newState == Stopped) {
|
||||
} else if (newState == Stopped) {
|
||||
m_frontRotation->setAngle(direction() == Forward ? m_frontEndAngle : m_frontStartAngle);
|
||||
m_backRotation->setAngle(direction() == Forward ? m_backEndAngle : m_backStartAngle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void RotationStackedAnimation::updateCurrentTime(int currentTime)
|
||||
{
|
||||
QGraphicsWidget *w = targetWidget();
|
||||
if(w) {
|
||||
QGraphicsWidget *w = targetWidget();
|
||||
|
||||
if (w) {
|
||||
qreal delta;
|
||||
if (currentTime <= duration()/2) {
|
||||
delta = Animation::easingCurve().valueForProgress(
|
||||
(currentTime * 2) / qreal(duration()));
|
||||
delta = Animation::easingCurve().valueForProgress((currentTime * 2) / qreal(duration()));
|
||||
m_sLayout->setCurrentWidgetIndex(0);
|
||||
delta = m_frontEndAngle * delta;
|
||||
m_frontRotation->setAngle(delta);
|
||||
} else {
|
||||
delta = Animation::easingCurve().valueForProgress(
|
||||
(currentTime/2) / qreal(duration()));
|
||||
delta = 0.5 + Animation::easingCurve().valueForProgress((currentTime/2) / qreal(duration()));
|
||||
m_sLayout->setCurrentWidgetIndex(1);
|
||||
delta = m_backEndAngle * delta;
|
||||
m_backRotation->setAngle(delta);
|
||||
|
Loading…
Reference in New Issue
Block a user