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>;
 | 
						|
} |