diff --git a/CMakeLists.txt b/CMakeLists.txt index ba38075..88fd469 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,6 @@ set(SRC # add the executable add_executable(FLOPPE_FION ${SRC}) -target_link_libraries(FLOPPE_FION SDL2 SDL_image) +target_link_libraries(FLOPPE_FION SDL2 SDL_image SDL_ttf) set_property(TARGET FLOPPE_FION PROPERTY C_STANDARD 23) diff --git a/src/renderer.h b/src/renderer.h index 12a2fdb..2374a39 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -11,7 +11,7 @@ typedef struct MonitorSize { int width, height; } MonitorSize_t; -RenderItem_t renderer_renderObject(RenderObject_t *); +RenderItem_t renderer_renderObject(RenderObject_t); void renderer_removeObject(RenderItem_t); MonitorSize_t renderer_getMonitorSize(); diff --git a/src/text.c b/src/text.c new file mode 100644 index 0000000..a6ad2a2 --- /dev/null +++ b/src/text.c @@ -0,0 +1,24 @@ +#include "text.h" + +RenderObject_t text_renderText(Position position, SDL_Color color, TTF_Font* font, char* format, ...){ + + char text[100]; + va_list args; + + memset(&text, '\0', sizeof(text)); + + va_start(args, format); + vsprintf(text, format, args); + va_end(args); + + + RenderObject_t renderObject; + SDL_Surface* surface = TTF_RenderText_Blended(font, text, color); + + + renderObject.x = position.x; + renderObject.y = position.y; + renderObject.z = position.z; + renderObject.surface = surface; + return renderObject; +} diff --git a/src/text.h b/src/text.h new file mode 100644 index 0000000..3efb714 --- /dev/null +++ b/src/text.h @@ -0,0 +1,13 @@ +#include +#include "renderer.h" + + + +typedef struct { + int x; + int y; + int z; +} Position; + + +RenderObject_t text_renderText(Position position, SDL_Color color, TTF_Font* font, char* format, ...);