diff --git a/~/SDL/Example Text/text_ttf.c b/~/SDL/Example Text/text_ttf.c new file mode 100644 index 0000000..cdb06bc --- /dev/null +++ b/~/SDL/Example Text/text_ttf.c @@ -0,0 +1,53 @@ +// gcc -lSDL2 -lSDL2_ttf -o ttf text_ttf.c + +#include + +#include +#include + +int main(int argc, char ** argv) { + bool quit = false; + SDL_Event event; + + SDL_Init(SDL_INIT_VIDEO); + TTF_Init(); + + SDL_Window * window = SDL_CreateWindow("SDL_ttf in SDL2", + SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 320, 192, 0); + SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0); + + TTF_Font * font = TTF_OpenFont("../assets/monogram-extended.ttf", 24); + const char * error = TTF_GetError(); + SDL_Color color = { 255, 255, 255 }; + SDL_Surface * surface = TTF_RenderUTF8_Solid(font, "Привет :)", color); + SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, surface); + + int texW = 0; + int texH = 0; + SDL_QueryTexture(texture, NULL, NULL, &texW, &texH); + SDL_Rect dstrect = { 320 / 2 - (texW / 2), 192 / 2 - (texH), texW, texH }; + + while (!quit) { + SDL_WaitEvent(&event); + + switch (event.type) { + case SDL_QUIT: + quit = true; + break; + } + + SDL_RenderCopy(renderer, texture, NULL, &dstrect); + SDL_RenderPresent(renderer); + } + + SDL_DestroyTexture(texture); + SDL_FreeSurface(surface); + TTF_CloseFont(font); + + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + TTF_Quit(); + SDL_Quit(); + + return 0; +} diff --git a/~/SDL/assets/monogram-extended.ttf b/~/SDL/assets/monogram-extended.ttf new file mode 100644 index 0000000..4d4a390 Binary files /dev/null and b/~/SDL/assets/monogram-extended.ttf differ