From e261cda6beb9ca046176668c5c4822ea9d692de9 Mon Sep 17 00:00:00 2001 From: Klemen Plestenjak Date: Wed, 10 Jan 2024 19:16:13 +0100 Subject: [PATCH] Fix UI input interaction --- engine/breeze/ui/ui.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/engine/breeze/ui/ui.c b/engine/breeze/ui/ui.c index 01f7fea..aa802dc 100644 --- a/engine/breeze/ui/ui.c +++ b/engine/breeze/ui/ui.c @@ -404,7 +404,9 @@ static void updateNodeInteraction(BzUI *ui, BzUINode *node, Vector2 mouse) { BZ_ASSERT(node); bool hovered = CheckCollisionPointRec(mouse, getNodeRect(node)); - bool clicked = IsMouseButtonPressed(MOUSE_BUTTON_LEFT); + bool down = IsMouseButtonDown(MOUSE_BUTTON_LEFT); + bool pressed = IsMouseButtonPressed(MOUSE_BUTTON_LEFT); + bool clicked = IsMouseButtonReleased(MOUSE_BUTTON_LEFT); if (!ui->captureMouse) { hovered = false; clicked = false; @@ -421,8 +423,8 @@ static void updateNodeInteraction(BzUI *ui, BzUINode *node, Vector2 mouse) { } node->interaction = (BzUIInteraction) { - .pressed = hovered && clicked, - .down = hovered && clicked, + .pressed = hovered && pressed, + .down = hovered && down, .released = hovered && clicked, .clicked = hovered && clicked, .hovering = hovered