From 44188694fbd785763fa01d1e6c59e1e0896cfd7a Mon Sep 17 00:00:00 2001 From: Mylloon Date: Tue, 15 Nov 2022 13:49:40 +0100 Subject: [PATCH] text related --- includes/text.h | 21 +++++++++++++++++++++ src/main.c | 8 +++++++- src/text.c | 18 ++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 includes/text.h create mode 100644 src/text.c diff --git a/includes/text.h b/includes/text.h new file mode 100644 index 0000000..cb54cf5 --- /dev/null +++ b/includes/text.h @@ -0,0 +1,21 @@ +#ifndef OTHELLO_TEXT_H +#define OTHELLO_TEXT_H 1 + +#include + +#include "plateau.h" + +TTF_Font *font = NULL; +SDL_Surface *surface = NULL; +SDL_Texture *texture = NULL; + +// Charge la police d'écriture +void load_font(int size_font); + +// Ecrit du texte à une certaine position +void write_text(Pos origin, char *text); + +// Décharge la police +void unload_font(void); + +#endif diff --git a/src/main.c b/src/main.c index a2dcfd6..91a641a 100644 --- a/src/main.c +++ b/src/main.c @@ -13,16 +13,22 @@ int main(int argc, char *argv[]) { void init(void) { gl4dpInitScreen(); + load_font(25); int padding_title = 80; + write_text((Pos){0, 0}, "salut"); + table = generate_table(gl4dpGetWidth(), gl4dpGetHeight() - padding_title, (Pos){0, 0}, RGB(255, 255, 255)); atexit(quit); } -void quit(void) { free_table(table); } +void quit(void) { + free_table(table); + unload_font(); +} void draw(void) { gl4dpClearScreenWith(RGB(0, 0, 0)); diff --git a/src/text.c b/src/text.c new file mode 100644 index 0000000..5aa1355 --- /dev/null +++ b/src/text.c @@ -0,0 +1,18 @@ +#include "../includes/text.h" + +void load_font(int size_font) { + if (TTF_Init() == -1) { + fprintf(stderr, "TTF_Init: %s\n", TTF_GetError()); + exit(EXIT_FAILURE); + } + + font = TTF_OpenFont("fonts/Hubot-Sans-Regular.ttf", size_font); +} + +void write_text(Pos origin, char *text) { + printf("at %d,%d: %s\n", origin.x, origin.y, text); + + surface = TTF_RenderText_Solid(font, text, (SDL_Color){255, 255, 255, 255}); +} + +void unload_font(void) { TTF_CloseFont(font); }