Rework how animationsystem interoperate with an animation driver.
authorGunnar Sletta <gunnar.sletta@jollamobile.com>
Wed, 20 Aug 2014 09:44:57 +0000 (11:44 +0200)
committerGunnar Sletta <gunnar.sletta@jollamobile.com>
Wed, 20 Aug 2014 16:53:09 +0000 (18:53 +0200)
commitdfc8f8b5d4a02f33c7f9063c2a28450902a9d863
tree095f3071c064c535b1577e821b1e1cd7ff3e67c5
parent28add98e24f4f7a29037b145088f30a0f3d89d5c
Rework how animationsystem interoperate with an animation driver.

We need to keep track of both wall time which are used for pauses
and actual animation driver time which is used for actual animations.
When switching between these, we need to also maintain the temporal
drift potentially introduced by the driver and also the time
that has passed in wall-time from when a pause has started until
an action animation takes over.

This change introduces a well defined elapsed() function in
QUnifiedTimer which will return the right value based on which
mode we are currently in. It also introduces start/stopAnimationDriver
functions which helps us maintain the temporal drift and pause-delta.

Change-Id: I5b5100432a6db444a413d1bca4f2d5f800e8cf3e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
src/corelib/animation/qabstractanimation.cpp
src/corelib/animation/qabstractanimation.h
src/corelib/animation/qabstractanimation_p.h