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"

-- 


Reply via email to