1 /*
2 color.c
3
4 Bill Kendrick & Mike Hufnagel
5 Last modified: 11/18/95 (combined color.c with colormap.c)
6 */
7
8 #include <X11/Xlib.h>
9 #include <X11/Xutil.h>
10 #include "color.h"
11
AllocNamedColor(Display * display,Colormap colormap,char * colorname,unsigned long default_color)12 unsigned long AllocNamedColor(Display *display, Colormap colormap,
13 char* colorname, unsigned long default_color)
14 {
15 XColor hardwarecolor,exactcolor;
16 unsigned long color;
17 int status;
18
19 status = XAllocNamedColor(display,colormap,colorname,&hardwarecolor,
20 &exactcolor);
21 if (status != 0)
22 color = hardwarecolor.pixel;
23 else
24 color = default_color;
25
26 return(color);
27 }
28
SetUpColormap(Display * display,int screen,Window window,Visual * visual,Colormap * colormap)29 int SetUpColormap(Display *display, int screen, Window window, Visual *visual,
30 Colormap *colormap)
31 {
32 int status = False;
33
34 if (visual == DefaultVisual(display,screen))
35 {
36 *colormap = DefaultColormap(display,screen);
37 status = True;
38 }
39 else
40 {
41 *colormap = XCreateColormap(display,window,visual,AllocNone);
42 if (*colormap != None)
43 {
44 XSetWindowColormap(display,window,*colormap);
45 status = True;
46 }
47 else
48 *colormap = DefaultColormap(display,screen);
49 }
50
51 return(status);
52 }
53
54