efl/src/lib/ecore/ecore_timer.eo

68 lines
2.3 KiB
Plaintext

class Ecore_Timer (Eo_Base)
{
/*@ Timers are objects that will call a given callback at some point
* in the future. They may also optionall repeat themselves if the
* timer callback returns true. If it does not they will be
* automatically deleted and never called again. Timers require the
* ecore mainloop to be running and functioning properly. They do not
* guarantee exact timing, but try to work on a "best effort basis.
*/
eo_prefix: ecore_obj_timer;
constructors {
loop_constructor {
/*@ Create a timer to call in a given time from now */
params {
@in double in; /*@ The time, in seconds, from now when to go off */
@in Ecore_Task_Cb func; /*@ The callback function to call when the timer goes off */
@in const(void)* data; /*@ A pointer to pass to the callback function as its data pointer */
}
}
constructor {
/*@ Create a timer to call in a given time from when the mainloop woke up from sleep */
params {
@in double in; /*@ The time, in seconds, from when the main loop woke up, to go off */
@in Ecore_Task_Cb func; /*@ The callback function to call when the timer goes off */
@in const(void)* data; /*@ A pointer to pass to the callback function as its data pointer */
}
}
}
properties {
interval {
set {
/*@ Change the interval the timer ticks off. */
}
get {
/*@ Get the interval the timer ticks on. */
}
values {
double in; /*@ The new interval in seconds */
}
}
pending {
get {
/*@ Get the pending time regarding a timer. */
return double;
}
}
}
methods {
reset {
/*@ Reset a timer to its full interval. This effectively makes
* the timer start ticking off from zero now. */
}
delay {
/*@ Add some delay for the next occurrence of a timer. */
params {
@in double add; /*@ The amount of time to delay the timer by in seconds */
}
}
}
implements {
Eo_Base.constructor;
Eo_Base.destructor;
Eo_Base.event_freeze;
Eo_Base.event_freeze_count.get;
Eo_Base.event_thaw;
}
}