How to do line-breaks and line-wrapping with SDL-TTF?

mpen picture mpen · Jul 25, 2013 · Viewed 9.3k times · Source

I just started using SDL2_ttf. I've figured out how to get some text on the screen with TTF_RenderText_Blended, but how do can I get it to do line-breaks and automatic wrapping?

  1. It doesn't seem to support \n; it just creates a space instead of going down a line. Is there a way to add support for this? Specifically, using the proper line-height of the text, not by multiple calls to RenderText at different Y coordinates.
  2. Given an X, Y coordinate and a width, how can I have it automatically go down a line whenever that width is reached (breaking between words)?

Answer

Mars picture Mars · Aug 24, 2013

Instead of using TTF_RenderText_Blended, use TTF_RenderText_Blended_Wrapped. It takes additional parameter: width in pixels after which the text will break into next line.