Fixed windows race-condition when peeking messages. Added Mouse events.

This commit is contained in:
2025-11-15 12:54:53 +01:00
parent f03f8b909e
commit 0748bd7a7a
2 changed files with 76 additions and 7 deletions

View File

@@ -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,