Fixed compiler warnings
[AXE.git] / src / color.h
1 /**************************************************************************
2 **  (c) Copyright 1998, Andromeda Technology & Automation
3 ***************************************************************************
4 ** MODULE INFORMATION *
5 ***********************
6 **      FILE NAME      : color.h
7 **      SYSTEM NAME    : AXE - Andromeda X-windows Encapsulation
8 **      VERSION NUMBER : $Revision: 1.1 $
9 **
10 **  DESCRIPTION      : Definition of color class 
11 **
12 **  EXPORTED OBJECTS : class color
13 **  LOCAL    OBJECTS : 
14 **  MODULES  USED    :
15 ***************************************************************************
16 **  ADMINISTRATIVE INFORMATION *
17 ********************************
18 **      ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
19 **      CREATION DATE   : Feb 24, 1998
20 **      LAST UPDATE     : Feb 24, 1998
21 **      MODIFICATIONS   : 
22 **************************************************************************/
23
24 /*****************************
25    $Log: color.h,v $
26    Revision 1.1  2002-07-25 08:01:26  arjen
27    First checkin, AXE release 0.2
28
29 *****************************/
30
31 /* static const char *RCSID = "$Id: color.h,v 1.1 2002-07-25 08:01:26 arjen Exp $"; */
32
33 #include <X11/Xlib.h>
34 #include "display.h"
35
36 /*
37 ///////////////////////////////////////////////////////////////////////////
38 //  NAME           : color
39 //  BASECLASS      :
40 //  MEMBERS        : XColor xcol;
41 //  OPERATORS      :
42 //  METHODS        :
43 //
44 //  DESCRIPTION    :
45 //
46 //  RELATIONS      :
47 //  SEE ALSO       :
48 //  LAST MODIFIED  : Feb 24, 1998
49 ///////////////////////////////////////////////////////////////////////////
50 */
51
52 class color
53 {
54    XColor xcol;
55
56 public:
57
58    color()
59    {
60       xcol.pixel = 0;
61    }
62
63    color(unsigned red, unsigned green, unsigned blue)
64    {
65       xcol.red    = red;
66       xcol.green  = green;
67       xcol.blue   = blue;
68       xcol.flags  = DoRed | DoGreen | DoBlue;
69
70       XAllocColor(stddpy, stddpy.ColMap(), &xcol);
71    }
72
73    color(const char colorname[])
74    {
75        XColor  exact;
76
77        XAllocNamedColor(stddpy, stddpy.ColMap(), colorname, &xcol, &exact);
78    }
79
80    void Alloc(unsigned red, unsigned green, unsigned blue)
81    {
82       xcol.red    = red;
83       xcol.green  = green;
84       xcol.blue   = blue;
85       xcol.flags  = DoRed | DoGreen | DoBlue;
86
87       XAllocColor(stddpy, stddpy.ColMap(), &xcol);
88    }
89
90    void Alloc(char *colorname)
91    {
92        XColor  exact;
93
94        XAllocNamedColor(stddpy, stddpy.ColMap(), colorname, &xcol, &exact);
95    }
96
97    operator unsigned long() const
98    {
99       return xcol.pixel;
100    }
101
102 };
103