ecore animator - adjust ecore loop time when animtor ticks to be exact

this adjusts ecore loop time very slightlye tp be the "Exact" timepoint
when then animator timer, if timer is used, should have gone off. this
should make animations more precise.

@feature
This commit is contained in:
Carsten Haitzler 2014-07-26 09:02:56 +09:00
parent 3c179cdb87
commit 8130b0ccb8
1 changed files with 9 additions and 1 deletions

View File

@ -680,11 +680,19 @@ _ecore_animator_run(void *data)
static Eina_Bool
_ecore_animator(void *data EINA_UNUSED)
{
double t;
Eina_Bool r;
_ecore_lock();
// set _ecore_time_loop_time to the EXACT time that the timer
// should have ticked off (even if it didn't)
// if you have a custom animator tick, you may need to adjust inside
// it before calling ecore_animator_custom_tick()
t = fmod(_ecore_time_loop_time, animators_frametime);
_ecore_time_loop_time -= t;
r = _do_tick();
_ecore_unlock();
return r;
}
#include "ecore_animator.eo.c"
#include "ecore_animator.eo.c"