Как сделать разрывы линий и обертывание линий с помощью SDL-TTF?
Я только начал использовать SDL2_ttf. Я понял, как получить текст на экране с помощью TTF_RenderText_Blended, но как я могу заставить его делать разрывы линий и автоматическую обертку?
- он, кажется, не поддерживает n; Он просто создает пространство, вместо того, чтобы идти вниз по линии. Есть ли способ добавить поддержку для этого? В частности, используя правильную высоту строки текста, а не несколькими вызовами RenderText в разных координатах Y.
- учитывая координату X, Y и ширина, как я могу автоматически перейти по линии, когда эта ширина достигнута (разрыв между словами)?
2 ответов
вместо TTF_RenderText_Blended используйте TTF_RenderText_Blended_Wrapped. Он принимает дополнительный параметр: ширина в пикселях, после чего текст будет разбит на следующую строку.
SDL_TTF не делает обертывание, вы должны написать свой собственный.
TTF_Font* ttf;
TTF_SizeText(ttf, "Hello World", &w, &h);
дает вам ширину и высоту строки.
