#ifndef MGL_TEXT_H #define MGL_TEXT_H #include "../system/vec.h" #include "color.h" typedef struct mgl_font mgl_font; typedef struct mgl_context mgl_context; typedef struct { mgl_font *font; const char *text; mgl_color color; mgl_vec2f position; } mgl_text; /* Note: keeps a reference to |text|. |text| needs to be valid as long as |self| is used. */ int mgl_text_init(mgl_text *self, mgl_font *font, const char *text, float x, float y); void mgl_text_deinit(mgl_text *self); /* Note: keeps a reference to |text|. |text| needs to be valid as long as |self| is used. */ void mgl_text_set_string(mgl_text *self, const char *str); void mgl_text_set_position(mgl_text *self, mgl_vec2f position); void mgl_text_set_color(mgl_text *self, mgl_color color); void mgl_text_draw(mgl_context *context, mgl_text *text); #endif /* MGL_TEXT_H */