40 lines
905 B
Haxe
40 lines
905 B
Haxe
|
package eval.luv;
|
||
|
|
||
|
/**
|
||
|
Timers.
|
||
|
|
||
|
@see https://aantron.github.io/luv/luv/Luv/Timer
|
||
|
**/
|
||
|
@:using(eval.luv.Handle)
|
||
|
@:coreType abstract Timer to Handle {
|
||
|
/** The timer repeat interval. */
|
||
|
public var repeat(get,set):Int;
|
||
|
function get_repeat():Int;
|
||
|
function set_repeat(v:Int):Int;
|
||
|
|
||
|
/** Evaluates to the time until the timer expires, or zero if it has already expired. */
|
||
|
public var dueIn(get,never):Int;
|
||
|
function get_dueIn():Int;
|
||
|
|
||
|
/**
|
||
|
Allocate and initialize an idle handle.
|
||
|
|
||
|
The handle should be cleaned up with `eval.luv.Handle.close` when no longer needed.
|
||
|
**/
|
||
|
static public function init(loop:Loop):Result<Timer>;
|
||
|
|
||
|
/**
|
||
|
Starts a timer.
|
||
|
**/
|
||
|
public function start(callback:()->Void, timeoutMs:Int, ?repeatMs:Int):Result<Result.NoData>;
|
||
|
|
||
|
/**
|
||
|
Stops a timer.
|
||
|
**/
|
||
|
public function stop():Result<Result.NoData>;
|
||
|
|
||
|
/**
|
||
|
Restarts a timer.
|
||
|
**/
|
||
|
public function again():Result<Result.NoData>;
|
||
|
}
|