ref: e712b341a4b7ba5d7f9e6a52e8ef43d2e2c60bed
parent: aa515b1b5b5071884815b1e22bb01ade901d8c03
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Oct 1 13:10:52 EDT 2024
expecting r8g8b8a8, make it more clear
--- a/tocursor.c
+++ b/tocursor.c
@@ -4,37 +4,37 @@
void
main(int argc, char **argv)
{
- u32int b[1084/4];
- uchar clr[2*16], set[2*16];
+ u32int b[5*12/4+16*16];
+ uchar clr[16*16/8], set[16*16/8];
int i;
- if (argc < 3) {
+ if(argc < 3){
fprint(2, "usage: png -9t <cursor.png | %s OFFSETX OFFSETY >/dev/snarf\n", argv[0]);
exits("usage");
}
- if (readn(0, b, sizeof(b)) != sizeof(b))
- sysfatal("%r");
+ if((i = readn(0, b, sizeof(b))) != sizeof(b))
+ sysfatal("short read: %d < %d (not r8g8b8a8?)", i, sizeof(b));
memset(clr, 0, sizeof(clr));
memset(set, 0, sizeof(set));
print("Cursor lol = {\n");
print("\t{%s, %s},\n", argv[1], argv[2]);
- for (i = 0; i < nelem(b); i++) {
- if (b[15+i] == 0x000000ff)
+ for(i = 0; i < 16*16; i++){
+ if(b[15+i] == 0x000000ff)
set[i/8] |= 1<<(7-i&7);
- else if (b[15+i] == 0xffffffff)
+ else if(b[15+i] == 0xffffffff)
clr[i/8] |= 1<<(7-i&7);
}
print("\t{");
- for (i = 0; i < sizeof(clr); i++) {
- if (i > 0 && !(i % 8))
+ for(i = 0; i < sizeof(clr); i++){
+ if(i > 0 && !(i % 8))
print("\n\t ");
print(" 0x%02x,", clr[i]);
}
print("\n\t},\n\t{");
- for (i = 0; i < sizeof(set); i++) {
- if (i > 0 && !(i % 8))
+ for(i = 0; i < sizeof(set); i++){
+ if(i > 0 && !(i % 8))
print("\n\t ");
print(" 0x%02x,", set[i]);
}