1 038e9089 2004-03-21 devnull /* Copyright (c) 2004 Russ Cox, see README for licence details */
2 038e9089 2004-03-21 devnull #include <stdio.h>
3 038e9089 2004-03-21 devnull #include <signal.h>
4 038e9089 2004-03-21 devnull #include <X11/X.h>
5 038e9089 2004-03-21 devnull #include <X11/Xlib.h>
6 038e9089 2004-03-21 devnull #include <X11/Xutil.h>
7 038e9089 2004-03-21 devnull #include "dat.h"
8 038e9089 2004-03-21 devnull #include "fns.h"
10 038e9089 2004-03-21 devnull unsigned long
11 7934b1c6 2004-04-05 devnull colorpixel(Display *dpy, ScreenInfo *s, int depth, unsigned long rgb, unsigned long def)
13 038e9089 2004-03-21 devnull int r, g, b;
15 038e9089 2004-03-21 devnull r = rgb>>16;
16 038e9089 2004-03-21 devnull g = (rgb>>8)&0xFF;
17 038e9089 2004-03-21 devnull b = rgb&0xFF;
19 038e9089 2004-03-21 devnull switch(depth){
25 038e9089 2004-03-21 devnull /* not going to waste color map entries */
26 1cb3fa80 2004-03-29 devnull return def;
31 038e9089 2004-03-21 devnull return (r<<10) | (g<<5) | b;
36 038e9089 2004-03-21 devnull return (r<<11) | (g<<5) | b;
39 7934b1c6 2004-04-05 devnull /* try to find byte order */
40 ac33a34a 2005-07-13 devnull if(s->vis->red_mask & 0xff)
41 7934b1c6 2004-04-05 devnull return (r) | (g<<8) | (b<<16); /* OK on Sun */
42 038e9089 2004-03-21 devnull return rgb;