Showing the changes to tocursor.c (1 of 4 files). Show all
Unified · Split
| @@ -0,0 +1,44 @@ | |||
| 1 | #include <u.h> | ||
| 2 | #include <libc.h> | ||
| 3 | |||
| 4 | void | ||
| 5 | main(int argc, char **argv) | ||
| 6 | { | ||
| 7 | u32int b[1084/4]; | ||
| 8 | uchar clr[2*16], set[2*16]; | ||
| 9 | int i; | ||
| 10 | |||
| 11 | if (argc < 3) { | ||
| 12 | fprint(2, "usage: png -9t <cursor.png | %s OFFSETX OFFSETY >/dev/snarf\n", argv[0]); | ||
| 13 | exits("usage"); | ||
| 14 | } | ||
| 15 | |||
| 16 | if (readn(0, b, sizeof(b)) != sizeof(b)) | ||
| 17 | sysfatal("%r"); | ||
| 18 | |||
| 19 | memset(clr, 0, sizeof(clr)); | ||
| 20 | memset(set, 0, sizeof(set)); | ||
| 21 | print("Cursor lol = {\n"); | ||
| 22 | print("\t{%s, %s},\n", argv[1], argv[2]); | ||
| 23 | for (i = 0; i < nelem(b); i++) { | ||
| 24 | if (b[15+i] == 0x000000ff) | ||
| 25 | set[i/8] |= 1<<(7-i&7); | ||
| 26 | else if (b[15+i] == 0xffffffff) | ||
| 27 | clr[i/8] |= 1<<(7-i&7); | ||
| 28 | } | ||
| 29 | print("\t{"); | ||
| 30 | for (i = 0; i < sizeof(clr); i++) { | ||
| 31 | if (i > 0 && !(i % 8)) | ||
| 32 | print("\n\t "); | ||
| 33 | print(" 0x%02x,", clr[i]); | ||
| 34 | } | ||
| 35 | print("\n\t},\n\t{"); | ||
| 36 | for (i = 0; i < sizeof(set); i++) { | ||
| 37 | if (i > 0 && !(i % 8)) | ||
| 38 | print("\n\t "); | ||
| 39 | print(" 0x%02x,", set[i]); | ||
| 40 | } | ||
| 41 | print("\n\t},\n};\n"); | ||
| 42 | |||
| 43 | exits(nil); | ||
| 44 | } | ||