Вот минимальный пример того, как я отображаю свой текст SDL: < /p> [code]#include
void runttf() { constexpr auto SCREEN_WIDTH{300}; constexpr auto SCREEN_HEIGHT{300}; constexpr auto font_path = "/usr/share/fonts/truetype/fonts-beng-extra/MuktiNarrow.ttf"; //any font on your system constexpr SDL_Rect destination = {10,10,200,80}; constexpr SDL_Color text_color={0,0,0};
SDL_Init( SDL_INIT_VIDEO ); TTF_Init();
auto window = SDL_CreateWindow( "SDL TTF demo", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); auto renderer = SDL_CreateRenderer( window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC ); auto font = TTF_OpenFont( font_path, 28 ); auto textSurface = TTF_RenderText_Solid( font, "I wish I this would not stretch", text_color ); auto textTexture = SDL_CreateTextureFromSurface(renderer, textSurface);
SDL_Event e; auto run = true; while(run) { SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF); SDL_RenderClear(renderer); SDL_RenderCopy(renderer, textTexture, NULL, &destination); SDL_RenderPresent(renderer); while (SDL_PollEvent(&e) != 0) if (e.type == SDL_QUIT) run = false; }