[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/libs/plasma
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2008-09-20 1:02:21
Message-ID: 1221872541.717079.6857.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 862832 by aseigo:

fix up the rest of the math here, now anims are appropriately smooth according to the \
AnimationDriver settings


 M  +6 -7      animator.cpp  


--- trunk/KDE/kdebase/workspace/libs/plasma/animator.cpp #862831:862832
@@ -290,8 +290,8 @@
     //TODO: variance in times based on the value of animation
     state->frames = frames / 3;
     state->currentFrame = 0;
-    state->interval = d->driver->animationDuration(animation) / state->frames;
-    state->interval = (state->interval / MIN_TICK_RATE) * MIN_TICK_RATE;
+    state->interval = d->driver->animationDuration(animation) / \
qreal(state->frames); +    state->interval = qMax(MIN_TICK_RATE_INT, state->interval \
- (state->interval % MIN_TICK_RATE_INT));  state->currentInterval = state->interval;
     state->qobj = dynamic_cast<QObject*>(item);
 
@@ -339,7 +339,7 @@
      int duration = d->driver->movementAnimationDuration(movement);
      state->frames = (duration / 1000.0) * frames;
      state->currentFrame = 0;
-     state->interval = duration / state->frames;
+     state->interval = duration / qreal(state->frames);
      state->interval = qMax(MIN_TICK_RATE_INT, state->interval - (state->interval % \
MIN_TICK_RATE_INT));  //     state->interval = (state->interval / MIN_TICK_RATE) * \
MIN_TICK_RATE;  //     kDebug() << "interval of" << state->interval << state->frames \
<< duration << frames; @@ -375,8 +375,7 @@
     state->currentFrame = 0;
     state->curve = curve;
     state->interval = duration / qreal(state->frames);
-    state->interval = qMax( 1, state->interval );
-    state->interval = (state->interval / MIN_TICK_RATE) * MIN_TICK_RATE;
+    state->interval = qMax(MIN_TICK_RATE_INT, state->interval - (state->interval % \
MIN_TICK_RATE_INT));  state->currentInterval = state->interval;
     state->receiver = receiver;
     state->slot = qstrdup(slot);
@@ -449,8 +448,8 @@
     //TODO: variance in times based on the value of animation
     state->frames = d->driver->elementAnimationFps(animation) / 5;
     state->currentFrame = 0;
-    state->interval = d->driver->elementAnimationDuration(animation) / \
                state->frames;
-    state->interval = (state->interval / MIN_TICK_RATE) * MIN_TICK_RATE;
+    state->interval = d->driver->elementAnimationDuration(animation) / \
qreal(state->frames); +    state->interval = qMax(MIN_TICK_RATE_INT, state->interval \
- (state->interval % MIN_TICK_RATE_INT));  state->currentInterval = state->interval;
     state->id = ++d->animId;
     state->qobj = dynamic_cast<QObject*>(item);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic