Как сделать разрывы линий и обертывание линий с помощью 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);
дает вам ширину и высоту строки.