raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8130b0ccb81dd6220cb163d234ebae89dd89872b
commit 8130b0ccb81dd6220cb163d234ebae89dd89872b Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Sat Jul 26 09:02:56 2014 +0900 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 --- src/lib/ecore/ecore_anim.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c index 892359f..3d73f30 100644 --- a/src/lib/ecore/ecore_anim.c +++ b/src/lib/ecore/ecore_anim.c @@ -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" \ No newline at end of file +#include "ecore_animator.eo.c" --
