Fixed windows race-condition when peeking messages. Added Mouse events.
This commit is contained in:
26
window.odin
26
window.odin
@@ -10,15 +10,15 @@ Window :: struct {
|
||||
|
||||
Event :: union {
|
||||
Event_Quit,
|
||||
Event_Key,
|
||||
Event_Input,
|
||||
Event_Resize,
|
||||
}
|
||||
|
||||
Event_Quit :: struct {}
|
||||
|
||||
Event_Key_State :: enum {
|
||||
Down,
|
||||
Event_Input_State :: enum {
|
||||
Up,
|
||||
Down,
|
||||
}
|
||||
Virtual_Key :: enum {
|
||||
Unknown,
|
||||
@@ -33,10 +33,26 @@ Virtual_Key :: enum {
|
||||
Shift, Control, Alt,
|
||||
Arrow_Up, Arrow_Down, Arrow_Left, Arrow_Right,
|
||||
}
|
||||
Event_Key :: struct {
|
||||
Event_Keyboard :: struct {
|
||||
virtual_key: Virtual_Key,
|
||||
state: Event_Key_State,
|
||||
state: Event_Input_State,
|
||||
}
|
||||
Event_Mouse :: union {
|
||||
Event_Mouse_Move,
|
||||
Event_Mouse_Button,
|
||||
}
|
||||
Event_Mouse_Move :: struct {
|
||||
x, y: u16,
|
||||
}
|
||||
Mouse_Button :: enum { Left, Middle, Right }
|
||||
Event_Mouse_Button :: struct { button: Mouse_Button, state: Event_Input_State }
|
||||
|
||||
Event_Input :: union {
|
||||
Event_Keyboard,
|
||||
Event_Mouse,
|
||||
// TODO: SS - Add 'Event_Gamepad'?
|
||||
}
|
||||
|
||||
Event_Resize :: struct {
|
||||
old_width, old_height: u16,
|
||||
new_width, new_height: u16,
|
||||
|
||||
Reference in New Issue
Block a user