use super::{
Ticks,
};
pub enum Event{
Process(ProcessEvent),
Window(WindowEvent),
}
#[derive(Debug)]
pub enum ProcessEvent{
EventLoopStart,
Update(Ticks),
Quit,
EventLoopBreak,
}
#[derive(Debug)]
pub enum WindowEvent{
MouseMove([u16;2]),
MousePress{
cursor_position:[u16;2],
button:MouseButton,
},
MouseRelease{
cursor_position:[u16;2],
button:MouseButton,
},
MouseScroll(i16),
KeyPress(VirtualKeyCode),
KeyRelease(VirtualKeyCode),
CharacterInput(char),
}
#[derive(Debug,Clone,Copy)]
pub enum MouseButton{
Left,
Middle,
Right,
Button4,
Button5,
}
#[derive(Debug,Clone,Copy)]
pub enum VirtualKeyCode{
Null,
LBUTTON,
RBUTTON,
CANCEL,
MBUTTON,
XBUTTON1,
XBUTTON2,
Undefined0x07,
BACK,
TAB,
Reserved0x0A,
Reserved0x0B,
CLEAR,
RETURN,
Undefined0x0E,
Undefined0x0F,
SHIFT,
CONTROL,
MENU,
PAUSE,
CAPITAL,
KANA,
IME_ON,
JUNJA,
FINAL,
HANJA,
IME_OFF,
ESCAPE,
CONVERT,
NONCONVERT,
ACCEPT,
MODECHANGE,
SPACE,
PRIOR,
NEXT,
END,
HOME,
LEFT,
UP,
RIGHT,
DOWN,
SELECT,
PRINT,
EXECUTE,
SNAPSHOT,
INSERT,
DELETE,
HELP,
Zero,
One,
Two,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Undefined0x3A,
Undefined0x3B,
Undefined0x3C,
Undefined0x3D,
Undefined0x3E,
Undefined0x3F,
Undefined0x40,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
LWIN,
RWIN,
APPS,
Reserved0x5E,
SLEEP,
NUMPAD0,
NUMPAD1,
NUMPAD2,
NUMPAD3,
NUMPAD4,
NUMPAD5,
NUMPAD6,
NUMPAD7,
NUMPAD8,
NUMPAD9,
MULTIPLY,
ADD,
SEPARATOR,
SUBTRACT,
DECIMAL,
DIVIDE,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
Unassigned0x88,
Unassigned0x89,
Unassigned0x8A,
Unassigned0x8B,
Unassigned0x8C,
Unassigned0x8D,
Unassigned0x8E,
Unassigned0x8F,
NUMLOCK,
SCROLL,
OEM_Specific0x92,
OEM_Specific0x93,
OEM_Specific0x94,
OEM_Specific0x95,
OEM_Specific0x96,
Unassigned0x97,
Unassigned0x98,
Unassigned0x99,
Unassigned0x9A,
Unassigned0x9B,
Unassigned0x9C,
Unassigned0x9D,
Unassigned0x9E,
Unassigned0x9F,
LSHIFT,
RSHIFT,
LCONTROL,
RCONTROL,
LMENU,
RMENU,
BROWSER_BACK,
BROWSER_FORWARD,
BROWSER_REFRESH,
BROWSER_STOP,
BROWSER_SEARCH,
BROWSER_FAVORITES,
BROWSER_HOME,
VOLUME_MUTE,
VOLUME_DOWN,
VOLUME_UP,
MEDIA_NEXT_TRACK,
MEDIA_PREV_TRACK,
MEDIA_STOP,
MEDIA_PLAY_PAUSE,
LAUNCH_MAIL,
LAUNCH_MEDIA_SELECT,
LAUNCH_APP1,
LAUNCH_APP2,
ReservedB8,
ReservedB9,
OEM_1,
OEM_PLUS,
OEM_COMMA,
OEM_MINUS,
OEM_PERIOD,
OEM_2,
OEM_3,
Reserved0xC1,
Reserved0xC2,
Reserved0xC3,
Reserved0xC4,
Reserved0xC5,
Reserved0xC6,
Reserved0xC7,
Reserved0xC8,
Reserved0xC9,
Reserved0xCA,
Reserved0xCB,
Reserved0xCC,
Reserved0xCD,
Reserved0xCE,
Reserved0xCF,
Reserved0xD0,
Reserved0xD1,
Reserved0xD2,
Reserved0xD3,
Reserved0xD4,
Reserved0xD5,
Reserved0xD6,
Reserved0xD7,
Unassigned0xD8,
Unassigned0xD9,
Unassigned0xDA,
OEM_4,
OEM_5,
OEM_6,
OEM_7,
OEM_8,
Reserved0xE0,
OEM_Specific0xE1,
OEM_102,
OEM_Specific0xE3,
OEM_Specific0xE4,
PROCESSKEY,
OEM_Specific0xE6,
PACKET,
Unassigned0xE8,
OEM_Specific0xE9,
OEM_Specific0xEA,
OEM_Specific0xEB,
OEM_Specific0xEC,
OEM_Specific0xED,
OEM_Specific0xEE,
OEM_Specific0xEF,
OEM_Specific0xF0,
OEM_Specific0xF1,
OEM_Specific0xF2,
OEM_Specific0xF3,
OEM_Specific0xF4,
OEM_Specific0xF5,
ATTN,
CRSEL,
EXSEL, EREOF,
PLAY,
ZOOM,
NONAME,
PA1,
OEM_CLEAR,
}