Remove timeStep parameter from QAnimationDrive::advanceAnimation
Addresses ### Qt 6 comment, and documentation pointing out that the parameter value is ignored. It wasn't ignored in the code, but that's the kind of change we can make now. With this change, QUnifiedTimer::updateAnimationTimers is only called with -1 as the currentTick input parameter, also from Qt Declarative. Make it default, so that leaf modules can be fixed. Once that it done, the parameter can be removed completely. Change-Id: I80c57ff92f3b615b932dd73d711cf6397347efd8 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
This commit is contained in:
parent
21de5aa1ac
commit
f51b690e91
@ -248,7 +248,7 @@ QUnifiedTimer *QUnifiedTimer::instance()
|
||||
void QUnifiedTimer::maybeUpdateAnimationsToCurrentTime()
|
||||
{
|
||||
if (elapsed() - lastTick > 50)
|
||||
updateAnimationTimers(-1);
|
||||
updateAnimationTimers();
|
||||
}
|
||||
|
||||
qint64 QUnifiedTimer::elapsed() const
|
||||
@ -290,13 +290,13 @@ void QUnifiedTimer::stopAnimationDriver()
|
||||
driver->stop();
|
||||
}
|
||||
|
||||
void QUnifiedTimer::updateAnimationTimers(qint64 currentTick)
|
||||
void QUnifiedTimer::updateAnimationTimers(qint64)
|
||||
{
|
||||
//setCurrentTime can get this called again while we're the for loop. At least with pauseAnimations
|
||||
if(insideTick)
|
||||
return;
|
||||
|
||||
qint64 totalElapsed = currentTick > 0 ? currentTick : elapsed();
|
||||
const qint64 totalElapsed = elapsed();
|
||||
|
||||
// ignore consistentTiming in case the pause timer is active
|
||||
qint64 delta = (consistentTiming && !pauseTimer.isActive()) ?
|
||||
@ -423,7 +423,7 @@ void QUnifiedTimer::timerEvent(QTimerEvent *event)
|
||||
|
||||
if (event->timerId() == pauseTimer.timerId()) {
|
||||
// update current time on all timers
|
||||
updateAnimationTimers(-1);
|
||||
updateAnimationTimers();
|
||||
restart();
|
||||
}
|
||||
}
|
||||
@ -585,7 +585,7 @@ void QAnimationTimer::ensureTimerUpdate()
|
||||
QAnimationTimer *inst = QAnimationTimer::instance(false);
|
||||
QUnifiedTimer *instU = QUnifiedTimer::instance(false);
|
||||
if (instU && inst && inst->isPaused)
|
||||
instU->updateAnimationTimers(-1);
|
||||
instU->updateAnimationTimers();
|
||||
}
|
||||
|
||||
void QAnimationTimer::updateAnimationsTime(qint64 delta)
|
||||
@ -773,23 +773,19 @@ QAnimationDriver::~QAnimationDriver()
|
||||
}
|
||||
|
||||
/*!
|
||||
Advances the animation based to the specified \a timeStep. This function should
|
||||
be continuously called by the driver subclasses while the animation is running.
|
||||
Advances the animation. This function should be continuously called by
|
||||
the driver subclasses while the animation is running.
|
||||
|
||||
If \a timeStep is positive, it will be used as the current time in the
|
||||
calculations; otherwise, the current clock time will be used.
|
||||
|
||||
Since 5.4, the timeStep argument is ignored and elapsed() will be
|
||||
used instead in combination with the internal time offsets of the
|
||||
animation system.
|
||||
The calculation of the new current time will use elapsed() in combination
|
||||
with the internal time offsets of the animation system.
|
||||
*/
|
||||
|
||||
void QAnimationDriver::advanceAnimation(qint64 timeStep)
|
||||
void QAnimationDriver::advanceAnimation()
|
||||
{
|
||||
QUnifiedTimer *instance = QUnifiedTimer::instance();
|
||||
|
||||
// update current time on all top level animations
|
||||
instance->updateAnimationTimers(timeStep);
|
||||
instance->updateAnimationTimers();
|
||||
instance->restart();
|
||||
}
|
||||
|
||||
@ -802,7 +798,7 @@ void QAnimationDriver::advanceAnimation(qint64 timeStep)
|
||||
|
||||
void QAnimationDriver::advance()
|
||||
{
|
||||
advanceAnimation(-1);
|
||||
advanceAnimation();
|
||||
}
|
||||
|
||||
|
||||
|
@ -152,8 +152,7 @@ Q_SIGNALS:
|
||||
void stopped();
|
||||
|
||||
protected:
|
||||
// ### Qt6: Remove timestep argument
|
||||
void advanceAnimation(qint64 timeStep = -1);
|
||||
void advanceAnimation();
|
||||
virtual void start();
|
||||
virtual void stop();
|
||||
|
||||
|
@ -185,7 +185,7 @@ public:
|
||||
|
||||
void restart();
|
||||
void maybeUpdateAnimationsToCurrentTime();
|
||||
void updateAnimationTimers(qint64 currentTick);
|
||||
void updateAnimationTimers(qint64 = -1); // ### Qt 6 - remove parameter once qtdeclarative is fixed
|
||||
|
||||
//useful for profiling/debugging
|
||||
int runningAnimationCount();
|
||||
|
@ -115,10 +115,10 @@ public:
|
||||
static const int interval = 1000/60;
|
||||
qint64 until = m_elapsed + ms;
|
||||
while (m_elapsed < until) {
|
||||
advanceAnimation(m_elapsed);
|
||||
advanceAnimation();
|
||||
m_elapsed += interval;
|
||||
}
|
||||
advanceAnimation(m_elapsed);
|
||||
advanceAnimation();
|
||||
// This is to make sure that animations that were started with DeleteWhenStopped
|
||||
// will actually delete themselves within the test function.
|
||||
// Normally, they won't be deleted until the main event loop is processed.
|
||||
|
Loading…
Reference in New Issue
Block a user