summaryrefslogtreecommitdiff
path: root/src/graphics.c
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2010-10-20 21:31:19 (GMT)
committer Simon <simon@hardwired.org.uk>2010-10-20 21:31:19 (GMT)
commit92b28b7879f55fdf1a496ba9a7c4001585a78cfe (patch)
tree271245440bd10756e2fc4f74d87b4e2b372cb350 /src/graphics.c
parentaf09f466d21baaef2db1d0a0889ee8c5eb9dfef4 (diff)
downloadpowder-92b28b7879f55fdf1a496ba9a7c4001585a78cfe.zip
powder-92b28b7879f55fdf1a496ba9a7c4001585a78cfe.tar.gz
New Open UI - Half Complete
Diffstat (limited to 'src/graphics.c')
-rw-r--r--src/graphics.c56
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)
{