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