// 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; }