From 6c63c3d327cf3b494309db82bdd4489b59d3d247 Mon Sep 17 00:00:00 2001 From: nathansmith117 Date: Tue, 20 Feb 2024 19:57:18 -0700 Subject: Button thingy working --- src/ui.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/ui.c') diff --git a/src/ui.c b/src/ui.c index d0e9aa3..7166add 100644 --- a/src/ui.c +++ b/src/ui.c @@ -7,9 +7,13 @@ TexturedButton createTexturedButton(Texture* texture, Rectangle rect, const char TexturedButton button; button.texture = texture; button.rect = rect; + strncpy((char*)button.message, message, UI_BUTTON_NAME_MAX); + button.messageLength = strnlen(button.message, UI_BUTTON_NAME_MAX); + button.backgroundColor = backgroundColor; button.foregroundColor = foregroundColor; + button.fontSize = UI_BUTTON_DEFAULT_FONT_SIZE; button.isPressed = false; return button; @@ -27,5 +31,32 @@ bool updateTexturedButton(TexturedButton* button) button->backgroundColor ); + + // Draw outline thingy. + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) + { + DrawRectangleLinesEx(button->rect, 2, button->foregroundColor); + } + + // Draw text centered in button. + DrawText( + button->message, + button->rect.x + (button->rect.width / 2.0 - (button->messageLength * button->fontSize / 4.0)), + button->rect.y + (button->rect.height / 2.0 - button->fontSize / 2.0), + button->fontSize, + button->foregroundColor + ); + + button->isPressed = false; + + // Check if the button is clicked. + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) + { + if (CheckCollisionPointRec(GetMousePosition(), button->rect)) + { + button->isPressed = true; + } + } + return button->isPressed; } -- cgit v1.2.3