module iota.controls.mouse;

public import iota.controls.types;

version (Windows) {
	import core.sys.windows.windows;
	import core.sys.windows.wtypes;
}
/** 
 * Defines mouse button codes.
 *
 * Others might exist, but not necessarily supported by API. Their numbers should go incrementally.
 */
public enum MouseButtons : ubyte {
	Left	=	1,
	Right	=	2,
	Middle	=	3,
	Prev	=	4,
	Next	=	5
}
/** 
 * Defines mouse button flags.
 *
 * Others might exist, but not necessarily supported by API. Their flags should go incrementally.
 */
public enum MouseButtonFlags {
	Left	=	1<<0,
	Right	=	1<<1,
	Middle	=	1<<2,
	Prev	=	1<<3,
	Next	=	1<<4
}
public class Mouse : InputDevice {

	package this() nothrow {
		_type = InputDeviceType.Mouse;
		status |= StatusFlags.IsConnected;
	}
	override public int poll(ref InputEvent output) @nogc nothrow {
		return 0;
	}
}