3434#define HEIGHT 480
3535
3636#define TTF_SHOWFONT_USAGE \
37- "Usage: %s [-solid] [-shaded] [-blended] [-utf8|-unicode] [-b] [-i] [-u] [-s] [-outline size] [-hintlight|-hintmono|-hintnone] [-nokerning] [-fgcol r,g,b,a] [-bgcol r,g,b,a] <font>.ttf [ptsize] [text]\n"
37+ "Usage: %s [-solid] [-shaded] [-blended] [-wrapped] [- utf8|-unicode] [-b] [-i] [-u] [-s] [-outline size] [-hintlight|-hintmono|-hintnone] [-nokerning] [-wrap ] [-fgcol r,g,b,a] [-bgcol r,g,b,a] <font>.ttf [ptsize] [text]\n"
3838
3939typedef enum
4040{
@@ -88,6 +88,7 @@ int main(int argc, char *argv[])
8888 int outline ;
8989 int hinting ;
9090 int kerning ;
91+ int wrap ;
9192 int dump ;
9293 enum {
9394 RENDER_LATIN1 ,
@@ -154,6 +155,9 @@ int main(int argc, char *argv[])
154155 if (SDL_strcmp (argv [i ], "-nokerning" ) == 0 ) {
155156 kerning = 0 ;
156157 } else
158+ if (SDL_strcmp (argv [i ], "-wrap" ) == 0 ) {
159+ wrap = 1 ;
160+ } else
157161 if (SDL_strcmp (argv [i ], "-dump" ) == 0 ) {
158162 dump = 1 ;
159163 } else
@@ -275,27 +279,51 @@ int main(int argc, char *argv[])
275279 case RENDER_LATIN1 :
276280 switch (rendermethod ) {
277281 case TextRenderSolid :
278- text = TTF_RenderText_Solid (font , message , * forecol );
282+ if (wrap ) {
283+ text = TTF_RenderText_Solid_Wrapped (font , message , * forecol , 0 );
284+ } else {
285+ text = TTF_RenderText_Solid (font , message , * forecol );
286+ }
279287 break ;
280288 case TextRenderShaded :
281- text = TTF_RenderText_Shaded (font , message , * forecol , * backcol );
289+ if (wrap ) {
290+ text = TTF_RenderText_Shaded_Wrapped (font , message , * forecol , * backcol , 0 );
291+ } else {
292+ text = TTF_RenderText_Shaded (font , message , * forecol , * backcol );
293+ }
282294 break ;
283295 case TextRenderBlended :
284- text = TTF_RenderText_Blended (font , message , * forecol );
296+ if (wrap ) {
297+ text = TTF_RenderText_Blended_Wrapped (font , message , * forecol , 0 );
298+ } else {
299+ text = TTF_RenderText_Blended (font , message , * forecol );
300+ }
285301 break ;
286302 }
287303 break ;
288304
289305 case RENDER_UTF8 :
290306 switch (rendermethod ) {
291307 case TextRenderSolid :
292- text = TTF_RenderUTF8_Solid (font , message , * forecol );
308+ if (wrap ) {
309+ text = TTF_RenderUTF8_Solid_Wrapped (font , message , * forecol , 0 );
310+ } else {
311+ text = TTF_RenderUTF8_Solid (font , message , * forecol );
312+ }
293313 break ;
294314 case TextRenderShaded :
295- text = TTF_RenderUTF8_Shaded (font , message , * forecol , * backcol );
315+ if (wrap ) {
316+ text = TTF_RenderUTF8_Shaded_Wrapped (font , message , * forecol , * backcol , 0 );
317+ } else {
318+ text = TTF_RenderUTF8_Shaded (font , message , * forecol , * backcol );
319+ }
296320 break ;
297321 case TextRenderBlended :
298- text = TTF_RenderUTF8_Blended (font , message , * forecol );
322+ if (wrap ) {
323+ text = TTF_RenderUTF8_Blended_Wrapped (font , message , * forecol , 0 );
324+ } else {
325+ text = TTF_RenderUTF8_Blended (font , message , * forecol );
326+ }
299327 break ;
300328 }
301329 break ;
@@ -305,13 +333,25 @@ int main(int argc, char *argv[])
305333 Uint16 * unicode_text = SDL_iconv_utf8_ucs2 (message );
306334 switch (rendermethod ) {
307335 case TextRenderSolid :
308- text = TTF_RenderUNICODE_Solid (font , unicode_text , * forecol );
336+ if (wrap ) {
337+ text = TTF_RenderUNICODE_Solid_Wrapped (font , unicode_text , * forecol , 0 );
338+ } else {
339+ text = TTF_RenderUNICODE_Solid (font , unicode_text , * forecol );
340+ }
309341 break ;
310342 case TextRenderShaded :
311- text = TTF_RenderUNICODE_Shaded (font , unicode_text , * forecol , * backcol );
343+ if (wrap ) {
344+ text = TTF_RenderUNICODE_Shaded_Wrapped (font , unicode_text , * forecol , * backcol , 0 );
345+ } else {
346+ text = TTF_RenderUNICODE_Shaded (font , unicode_text , * forecol , * backcol );
347+ }
312348 break ;
313349 case TextRenderBlended :
314- text = TTF_RenderUNICODE_Blended (font , unicode_text , * forecol );
350+ if (wrap ) {
351+ text = TTF_RenderUNICODE_Blended_Wrapped (font , unicode_text , * forecol , 0 );
352+ } else {
353+ text = TTF_RenderUNICODE_Blended (font , unicode_text , * forecol );
354+ }
315355 break ;
316356 }
317357 SDL_free (unicode_text );
0 commit comments