]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libdraw/readcolmap.c
python: arm64 support
[plan9front.git] / sys / src / libdraw / readcolmap.c
1 #include <u.h>
2 #include <libc.h>
3 #include <draw.h>
4 #include <bio.h>
5
6 static ulong
7 getval(char **p)
8 {
9         ulong v;
10         char *q;
11
12         v = strtoul(*p, &q, 0);
13         v |= v<<8;
14         v |= v<<16;
15         *p = q;
16         return v;
17 }
18
19 void
20 readcolmap(Display *d, RGB *colmap)
21 {
22         int i;
23         char *p, *q;
24         Biobuf *b;
25         char buf[128];
26
27         USED(screen);
28
29         sprint(buf, "/dev/draw/%d/colormap", d->dirno);
30         b = Bopen(buf, OREAD);
31         if(b == 0)
32                 drawerror(d, "rdcolmap: can't open colormap device");
33
34         for(;;) {
35                 p = Brdline(b, '\n');
36                 if(p == 0)
37                         break;
38                 i = strtoul(p, &q, 0);
39                 if(i < 0 || i > 255) {
40                         fprint(2, "rdcolmap: bad index\n");
41                         exits("bad");
42                 }
43                 p = q;
44                 colmap[255-i].red = getval(&p);
45                 colmap[255-i].green = getval(&p);
46                 colmap[255-i].blue = getval(&p);
47         }
48         Bterm(b);
49 }