diff options
| author | Simon <simon@hardwired.org.uk> | 2010-10-20 21:31:19 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2010-10-20 21:31:19 (GMT) |
| commit | 92b28b7879f55fdf1a496ba9a7c4001585a78cfe (patch) | |
| tree | 271245440bd10756e2fc4f74d87b4e2b372cb350 /src/graphics.c | |
| parent | af09f466d21baaef2db1d0a0889ee8c5eb9dfef4 (diff) | |
| download | powder-92b28b7879f55fdf1a496ba9a7c4001585a78cfe.zip powder-92b28b7879f55fdf1a496ba9a7c4001585a78cfe.tar.gz | |
New Open UI - Half Complete
Diffstat (limited to 'src/graphics.c')
| -rw-r--r-- | src/graphics.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/graphics.c b/src/graphics.c index c8e96bf..9f45526 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -844,6 +844,62 @@ int drawtext(pixel *vid, int x, int y, const char *s, int r, int g, int b, int a #endif return x; } +int drawtextwrap(pixel *vid, int x, int y, int w, const char *s, int r, int g, int b, int a) +{ +#ifdef OpenGL +#else + int sx = x; + int rh = 12; + int rw = 0; + int cw = x; + for(; *s; s++) + { + if(*s == '\n') + { + x = sx; + rw = 0; + y += FONT_H+2; + } + else if(*s == '\b') + { + switch(s[1]) + { + case 'w': + r = g = b = 255; + break; + case 'g': + r = g = b = 192; + break; + case 'o': + r = 255; + g = 216; + b = 32; + break; + case 'r': + r = 255; + g = b = 0; + break; + case 'b': + r = g = 0; + b = 255; + break; + } + s++; + } + else + { + if(x-cw>=w){ + x = sx; + rw = 0; + y+=FONT_H+2; + rh+=FONT_H+2; + } + x = drawchar(vid, x, y, *(unsigned char *)s, r, g, b, a); + } + } +#endif + return rh; +} void drawrect(pixel *vid, int x, int y, int w, int h, int r, int g, int b, int a) { |
