From 8130b0ccb81dd6220cb163d234ebae89dd89872b Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 26 Jul 2014 09:02:56 +0900 Subject: [PATCH] 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 892359f2ab..3d73f301b3 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"