fix not tracking input cursor positions

This commit is contained in:
Matthew 2025-09-10 03:41:38 +10:00
parent 2e51ce5f9b
commit 504219aefb

View File

@ -88,11 +88,13 @@ ResetInputs(Inputs* inputs)
} }
void void
Push(Inputs* inputs, Input input, bool pressed) Push(Inputs* inputs, Input input, i32 x, i32 y, bool pressed)
{ {
DNode!(InputEvent)* node = Alloc!(DNode!(InputEvent))(&inputs.arena); DNode!(InputEvent)* node = Alloc!(DNode!(InputEvent))(&inputs.arena);
node.value.key = input; node.value.key = input;
node.value.pressed = pressed; node.value.pressed = pressed;
node.value.x = x;
node.value.y = y;
DLLPushFront(&inputs.list, node, null); DLLPushFront(&inputs.list, node, null);
} }
@ -386,7 +388,7 @@ HandleEvents(PlatformWindow* window)
if (input != KBI.None) if (input != KBI.None)
{ {
Push(inputs, input, pressed); Push(inputs, input, keyboard_event.root_x, keyboard_event.root_y, pressed);
} }
} break; } break;
case XCB_BUTTON_PRESS: case XCB_BUTTON_PRESS:
@ -406,7 +408,7 @@ HandleEvents(PlatformWindow* window)
if (input != Input.None) if (input != Input.None)
{ {
Push(inputs, input, pressed); Push(inputs, input, mouse_event.root_x, mouse_event.root_y, pressed);
} }
} break; } break;
case XCB_MOTION_NOTIFY: case XCB_MOTION_NOTIFY: