iff2col.c - ff2txt - farbfeld image to plain text visualization Err bitreich.org 70 hgit clone git://bitreich.org/ff2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ff2txt URL:git://bitreich.org/ff2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ff2txt bitreich.org 70 1Log /scm/ff2txt/log.gph bitreich.org 70 1Files /scm/ff2txt/files.gph bitreich.org 70 1Refs /scm/ff2txt/refs.gph bitreich.org 70 1Tags /scm/ff2txt/tag bitreich.org 70 1README /scm/ff2txt/file/README.gph bitreich.org 70 i--- Err bitreich.org 70 iff2col.c (760B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #include Err bitreich.org 70 i 2 #include Err bitreich.org 70 i 3 #include Err bitreich.org 70 i 4 #include Err bitreich.org 70 i 5 Err bitreich.org 70 i 6 #include "util.h" Err bitreich.org 70 i 7 Err bitreich.org 70 i 8 void Err bitreich.org 70 i 9 print_2_rows(struct col *buf, uint32_t width, int height) Err bitreich.org 70 i 10 { Err bitreich.org 70 i 11 size_t w; Err bitreich.org 70 i 12 int up, dn; Err bitreich.org 70 i 13 char *map = " '.:"; Err bitreich.org 70 i 14 Err bitreich.org 70 i 15 for (w = 0; w < width; w++) { Err bitreich.org 70 i 16 up = height > 0 && col_is_bright(buf[w]) ? 0x1 : 0x0; Err bitreich.org 70 i 17 dn = height > 1 && col_is_bright(buf[w + width]) ? 0x2 : 0x0; Err bitreich.org 70 i 18 putchar(map[up | dn]); Err bitreich.org 70 i 19 } Err bitreich.org 70 i 20 putchar('\n'); Err bitreich.org 70 i 21 } Err bitreich.org 70 i 22 Err bitreich.org 70 i 23 int Err bitreich.org 70 i 24 main(void) Err bitreich.org 70 i 25 { Err bitreich.org 70 i 26 struct col buf[MAX_WIDTH * 2]; Err bitreich.org 70 i 27 uint32_t width, height, h, r; Err bitreich.org 70 i 28 Err bitreich.org 70 i 29 read_header(&width, &height); Err bitreich.org 70 i 30 Err bitreich.org 70 i 31 for (h = 0; h < height; h += 2) { Err bitreich.org 70 i 32 r = fread(buf, sizeof(*buf), width * 2, stdin); Err bitreich.org 70 i 33 if (r % width != 0) Err bitreich.org 70 i 34 err("invalid line width"); Err bitreich.org 70 i 35 if (ferror(stdin)) Err bitreich.org 70 i 36 err("fread stdin"); Err bitreich.org 70 i 37 print_2_rows(buf, width, r / width); Err bitreich.org 70 i 38 } Err bitreich.org 70 i 39 return 0; Err bitreich.org 70 i 40 } Err bitreich.org 70 .