diff options
author | jaseg <jaseg@jaseg.net> | 2014-01-03 02:21:15 +0100 |
---|---|---|
committer | jaseg <jaseg@jaseg.net> | 2014-01-03 02:21:15 +0100 |
commit | 4e6cc85ec4267934c77457332bef5f59352c1315 (patch) | |
tree | 4e86f5c763457ddbc19b6eafad098228a75387bc /host/matelight | |
parent | 2fcc915da9e1ca0788424511f359c74231fedcc7 (diff) | |
download | matelight-4e6cc85ec4267934c77457332bef5f59352c1315.tar.gz matelight-4e6cc85ec4267934c77457332bef5f59352c1315.tar.bz2 matelight-4e6cc85ec4267934c77457332bef5f59352c1315.zip |
Now with blink.
Diffstat (limited to 'host/matelight')
-rw-r--r-- | host/matelight/main.c | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/host/matelight/main.c b/host/matelight/main.c index 7633507..6a714a8 100644 --- a/host/matelight/main.c +++ b/host/matelight/main.c @@ -9,6 +9,7 @@ #include <wchar.h> #include <locale.h> #include <sys/timeb.h> +#include <unistd.h> /* CAUTION: REQUIRES INPUT TO BE \0-TERMINATED */ int console_render(char *s, glyph_t **glyph_table, unsigned int glyph_table_size){ @@ -121,7 +122,6 @@ int console_render(char *s, glyph_t **glyph_table, unsigned int glyph_table_size goto error; } for(int i=0; i<nelems; i++){ - printf("Processing escape sequence command code %d\n", elems[i]); switch(elems[i]){ case 0: // reset style style.fg = colortable[DEFAULT_FG_COLOR]; @@ -259,27 +259,12 @@ int console_render(char *s, glyph_t **glyph_table, unsigned int glyph_table_size color_t fg = inv ? style.fg : style.bg; color_t bg = inv ? style.bg : style.fg; - printf("Rendering glyph %lc: Strikethrough %d Underline %d Blink %d Inverted %d Bold %d Fraktur %d FG (%d, %d, %d) BG (%d, %d, %d)\n", - c, - style.strikethrough, - style.underline, - style.blink, - style.invert, - style.bold, - style.fraktur, - fg.r, - fg.g, - fg.b, - bg.r, - bg.g, - bg.b); glyph_t *g = glyph_table[c]; render_glyph(g, gbuf, gbufwidth, x, 0, fg, bg); if(style.strikethrough || style.underline){ int sty = gbufheight/2; // g->y usually is a negative index of the glyph's baseline measured from the glyph's bottom int uly = gbufheight + g->y; - printf("Generating strikethrough at y=%d, underline at y=%d\n", sty, uly); for(int i=0; i<g->width; i++){ if(style.strikethrough) *((color_t *)(gbuf + (sty*gbufwidth + x + i)*3)) = fg; @@ -290,16 +275,6 @@ int console_render(char *s, glyph_t **glyph_table, unsigned int glyph_table_size x += g->width; } - printf("Rendering buffer of size %d*%d\n", gbufwidth, gbufheight); - for(unsigned int y=0; y < gbufheight; y++){ - for(unsigned int x=0; x < gbufwidth; x++){ - color_t c = *((color_t *)(gbuf + (y*gbufwidth + x)*3)); - //printf("\033[0m%02x,%02x,%02x-%02x\033[38;5;%dm█", c.r, c.g, c.b, xterm_color_index(c), xterm_color_index(c)); - printf("\033[38;5;%dm█", xterm_color_index(c)); - } - printf("\n"); - } - return 0; color_t lastfg = {0, 0, 0}, lastbg = {0, 0, 0}; printf("\e[38;5;0;48;5;0m"); for(unsigned int y=0; y < gbufheight; y+=2){ @@ -358,12 +333,16 @@ int main(int argc, char **argv){ fprintf(stderr, "Error reading font file.\n"); return 1; } - for(unsigned int i=1; i<argc; i++){ - if(console_render(argv[i], glyph_table, BLP_SIZE)){ - fprintf(stderr, "Error rendering text.\n"); - return 1; + for(;;){ + printf("\033[2J"); + for(unsigned int i=1; i<argc; i++){ + if(console_render(argv[i], glyph_table, BLP_SIZE)){ + fprintf(stderr, "Error rendering text.\n"); + return 1; + } + printf("\n"); } - printf("\n"); + usleep(20000); } return 0; } |