diff options
| author | Arslaan Pathan <[email protected]> | 2026-04-26 17:24:42 +1200 |
|---|---|---|
| committer | Arslaan Pathan <[email protected]> | 2026-04-26 17:24:42 +1200 |
| commit | 15086bff2e32bf67f9a093b35b53b81a6b4851e0 (patch) | |
| tree | c26ded4d7893ea86eda4ba081fda0cd7295a09fa /src/saffron_text.c | |
| parent | 4fbf7e5b7b5325828099456c347183ba92864862 (diff) | |
| download | saffron-15086bff2e32bf67f9a093b35b53b81a6b4851e0.tar.xz saffron-15086bff2e32bf67f9a093b35b53b81a6b4851e0.zip | |
QoL stuff and get a bit more of stuff implemented
Diffstat (limited to 'src/saffron_text.c')
| -rw-r--r-- | src/saffron_text.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/saffron_text.c b/src/saffron_text.c index 8a093ea..e2ac850 100644 --- a/src/saffron_text.c +++ b/src/saffron_text.c @@ -3,6 +3,11 @@ #include <SDL3/SDL.h> #include <SDL3_ttf/SDL_ttf.h> #include <stdlib.h> +#include <string.h> + +static void saffron_text_free(SaffronWidget* self) { + free(((SaffronText*)self)->text); +} static void saffron_text_draw(SaffronWidget* widget, SDL_Renderer* renderer) { SaffronText* text = (SaffronText*)widget; @@ -25,7 +30,16 @@ SaffronText* saffron_text_new(const char* text, int font_size, SDL_Color color) saffron_widget_init((SaffronWidget*)text_widget); - // todo actually do stuff - // and return something - // im tired ill do this later + ((SaffronWidget*)text_widget)->type = SAFFRON_WIDGET_TEXT; + ((SaffronWidget*)text_widget)->draw = saffron_text_draw; + ((SaffronWidget*)text_widget)->free = saffron_text_free; + + text_widget->text = malloc(strlen(text) + 1); + if (text_widget->text) { + strcpy(text_widget->text, text); + } + text_widget->font = NULL; // TODO initialize a font here + text_widget->color = color; + + return text_widget; } |
