diff options
-rw-r--r-- | src/gameCommon.h | 1 | ||||
-rw-r--r-- | src/ui.c | 23 | ||||
-rw-r--r-- | src/ui.h | 25 |
3 files changed, 49 insertions, 0 deletions
diff --git a/src/gameCommon.h b/src/gameCommon.h index c46671c..ceca8b8 100644 --- a/src/gameCommon.h +++ b/src/gameCommon.h @@ -1,6 +1,7 @@ #include <stdio.h> #include <stdlib.h> #include <math.h> +#include <string.h> #include <raylib.h> #include <raymath.h> diff --git a/src/ui.c b/src/ui.c new file mode 100644 index 0000000..b1c00ce --- /dev/null +++ b/src/ui.c @@ -0,0 +1,23 @@ +#include "ui.h" +#include "game.h" + +TexturedButton createTexturedButton(Texture* texture, Rectangle rect, const char* message, + Color backgroundColor, Color foregroundColor) +{ + TexturedButton button; + button.texture = texture; + button.rect = rect; + strncpy((char*)button.message, message, UI_BUTTON_NAME_MAX); + button.backgroundColor = backgroundColor; + button.foregroundColor = foregroundColor; + button.isPressed = false; + + return button; +} + +bool updateTexturedButton(TexturedButton* button) +{ + // Draw the button. + + return button->isPressed; +} diff --git a/src/ui.h b/src/ui.h new file mode 100644 index 0000000..717435b --- /dev/null +++ b/src/ui.h @@ -0,0 +1,25 @@ +#include "gameCommon.h" + +#define UI_BUTTON_NAME_MAX 50 + +#ifndef UI_H +#define UI_H + +typedef struct TexturedButton { + Texture* texture; // Can be in a animation or assets. + Rectangle rect; + + char message[UI_BUTTON_NAME_MAX]; + + Color backgroundColor; + Color foregroundColor; + + bool isPressed; +} TexturedButton; + +// Buttons don't need to be freed from memory. The button doesn't handle the texture memory. +TexturedButton createTexturedButton(Texture* texture, Rectangle rect, const char* message, + Color backgroundColor, Color foregroundColor); +bool updateTexturedButton(TexturedButton* button); + +#endif |