Skip to content

Commit e65b1e3

Browse files
committed
Added a -wrap option to showfont
1 parent f829625 commit e65b1e3

File tree

1 file changed

+50
-10
lines changed

1 file changed

+50
-10
lines changed

showfont.c

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
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

3939
typedef 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

Comments
 (0)