2 * Copyright (C) 2009 Diego Hernan Borghetti.
15 static E_List timer_list
= { NULL
, NULL
};
18 static double timer_time
= 0.0;
20 int e_timer_list(void)
27 void e_timer_exec(void)
32 if (timer_time
== 0.0) {
33 timer_time
= e_time_get();
38 delta
= nt
- timer_time
;
40 t
= (E_Timer
*)timer_list
.first
;
45 if (t
->ctime
>= t
->time
) {
47 (*t
->exec
)(t
->id
, t
->data
);
54 void e_timer_add(int id
, double time
, void (*fn
)(int, void *), void *data
)
58 t
= (E_Timer
*)malloc(sizeof(E_Timer
));
66 E_LIST_ADD(&timer_list
, t
);
69 void e_timer_rem(int id
)
73 t
= (E_Timer
*)timer_list
.first
;
81 E_LIST_REM(&timer_list
, t
);