1 76193d7c 2003-09-30 devnull #include <u.h>
2 76193d7c 2003-09-30 devnull #include <libc.h>
3 76193d7c 2003-09-30 devnull #include <draw.h>
4 76193d7c 2003-09-30 devnull #include <bio.h>
6 76193d7c 2003-09-30 devnull static ulong
7 76193d7c 2003-09-30 devnull getval(char **p)
12 76193d7c 2003-09-30 devnull v = strtoul(*p, &q, 0);
13 76193d7c 2003-09-30 devnull v |= v<<8;
14 76193d7c 2003-09-30 devnull v |= v<<16;
16 76193d7c 2003-09-30 devnull return v;
20 76193d7c 2003-09-30 devnull readcolmap(Display *d, RGB *colmap)
23 76193d7c 2003-09-30 devnull char *p, *q;
24 76193d7c 2003-09-30 devnull Biobuf *b;
25 76193d7c 2003-09-30 devnull char buf[128];
27 76193d7c 2003-09-30 devnull USED(screen);
29 76193d7c 2003-09-30 devnull sprint(buf, "/dev/draw/%d/colormap", d->dirno);
30 76193d7c 2003-09-30 devnull b = Bopen(buf, OREAD);
31 76193d7c 2003-09-30 devnull if(b == 0)
32 76193d7c 2003-09-30 devnull drawerror(d, "rdcolmap: can't open colormap device");
34 76193d7c 2003-09-30 devnull for(;;) {
35 76193d7c 2003-09-30 devnull p = Brdline(b, '\n');
36 76193d7c 2003-09-30 devnull if(p == 0)
38 76193d7c 2003-09-30 devnull i = strtoul(p, &q, 0);
39 76193d7c 2003-09-30 devnull if(i < 0 || i > 255) {
40 76193d7c 2003-09-30 devnull fprint(2, "rdcolmap: bad index\n");
41 76193d7c 2003-09-30 devnull exits("bad");
44 76193d7c 2003-09-30 devnull colmap[255-i].red = getval(&p);
45 76193d7c 2003-09-30 devnull colmap[255-i].green = getval(&p);
46 76193d7c 2003-09-30 devnull colmap[255-i].blue = getval(&p);
48 76193d7c 2003-09-30 devnull Bterm(b);