1 /*
2  *  colors.h -- color attribute definitions
3  *
4  *  AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
5  *
6  *  This program is free software; you can redistribute it and/or
7  *  modify it under the terms of the GNU General Public License
8  *  as published by the Free Software Foundation; either version 2
9  *  of the License, or (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  */
20 
21 
22 /*
23  *   Default color definitions
24  *
25  *   *_FG = foreground
26  *   *_BG = background
27  *   *_HL = highlight?
28  */
29 #define SCREEN_FG                    COLOR_CYAN
30 #define SCREEN_BG                    COLOR_BLUE
31 #define SCREEN_HL                    TRUE
32 
33 #define SHADOW_FG                    COLOR_BLACK
34 #define SHADOW_BG                    COLOR_BLACK
35 #define SHADOW_HL                    TRUE
36 
37 #define DIALOG_FG                    COLOR_BLACK
38 #define DIALOG_BG                    COLOR_WHITE
39 #define DIALOG_HL                    FALSE
40 
41 #define TITLE_FG                     COLOR_YELLOW
42 #define TITLE_BG                     COLOR_WHITE
43 #define TITLE_HL                     TRUE
44 
45 #define BORDER_FG                    COLOR_WHITE
46 #define BORDER_BG                    COLOR_WHITE
47 #define BORDER_HL                    TRUE
48 
49 #define BUTTON_ACTIVE_FG             COLOR_WHITE
50 #define BUTTON_ACTIVE_BG             COLOR_BLUE
51 #define BUTTON_ACTIVE_HL             TRUE
52 
53 #define BUTTON_INACTIVE_FG           COLOR_BLACK
54 #define BUTTON_INACTIVE_BG           COLOR_WHITE
55 #define BUTTON_INACTIVE_HL           FALSE
56 
57 #define BUTTON_KEY_ACTIVE_FG         COLOR_WHITE
58 #define BUTTON_KEY_ACTIVE_BG         COLOR_BLUE
59 #define BUTTON_KEY_ACTIVE_HL         TRUE
60 
61 #define BUTTON_KEY_INACTIVE_FG       COLOR_RED
62 #define BUTTON_KEY_INACTIVE_BG       COLOR_WHITE
63 #define BUTTON_KEY_INACTIVE_HL       FALSE
64 
65 #define BUTTON_LABEL_ACTIVE_FG       COLOR_YELLOW
66 #define BUTTON_LABEL_ACTIVE_BG       COLOR_BLUE
67 #define BUTTON_LABEL_ACTIVE_HL       TRUE
68 
69 #define BUTTON_LABEL_INACTIVE_FG     COLOR_BLACK
70 #define BUTTON_LABEL_INACTIVE_BG     COLOR_WHITE
71 #define BUTTON_LABEL_INACTIVE_HL     TRUE
72 
73 #define INPUTBOX_FG                  COLOR_BLACK
74 #define INPUTBOX_BG                  COLOR_WHITE
75 #define INPUTBOX_HL                  FALSE
76 
77 #define INPUTBOX_BORDER_FG           COLOR_BLACK
78 #define INPUTBOX_BORDER_BG           COLOR_WHITE
79 #define INPUTBOX_BORDER_HL           FALSE
80 
81 #define SEARCHBOX_FG                 COLOR_BLACK
82 #define SEARCHBOX_BG                 COLOR_WHITE
83 #define SEARCHBOX_HL                 FALSE
84 
85 #define SEARCHBOX_TITLE_FG           COLOR_YELLOW
86 #define SEARCHBOX_TITLE_BG           COLOR_WHITE
87 #define SEARCHBOX_TITLE_HL           TRUE
88 
89 #define SEARCHBOX_BORDER_FG          COLOR_WHITE
90 #define SEARCHBOX_BORDER_BG          COLOR_WHITE
91 #define SEARCHBOX_BORDER_HL          TRUE
92 
93 #define POSITION_INDICATOR_FG        COLOR_YELLOW
94 #define POSITION_INDICATOR_BG        COLOR_WHITE
95 #define POSITION_INDICATOR_HL        TRUE
96 
97 #define MENUBOX_FG                   COLOR_BLACK
98 #define MENUBOX_BG                   COLOR_WHITE
99 #define MENUBOX_HL                   FALSE
100 
101 #define MENUBOX_BORDER_FG            COLOR_WHITE
102 #define MENUBOX_BORDER_BG            COLOR_WHITE
103 #define MENUBOX_BORDER_HL            TRUE
104 
105 #define ITEM_FG                      COLOR_BLACK
106 #define ITEM_BG                      COLOR_WHITE
107 #define ITEM_HL                      FALSE
108 
109 #define ITEM_SELECTED_FG             COLOR_WHITE
110 #define ITEM_SELECTED_BG             COLOR_BLUE
111 #define ITEM_SELECTED_HL             TRUE
112 
113 #define TAG_FG                       COLOR_YELLOW
114 #define TAG_BG                       COLOR_WHITE
115 #define TAG_HL                       TRUE
116 
117 #define TAG_SELECTED_FG              COLOR_YELLOW
118 #define TAG_SELECTED_BG              COLOR_BLUE
119 #define TAG_SELECTED_HL              TRUE
120 
121 #define TAG_KEY_FG                   COLOR_YELLOW
122 #define TAG_KEY_BG                   COLOR_WHITE
123 #define TAG_KEY_HL                   TRUE
124 
125 #define TAG_KEY_SELECTED_FG          COLOR_YELLOW
126 #define TAG_KEY_SELECTED_BG          COLOR_BLUE
127 #define TAG_KEY_SELECTED_HL          TRUE
128 
129 #define CHECK_FG                     COLOR_BLACK
130 #define CHECK_BG                     COLOR_WHITE
131 #define CHECK_HL                     FALSE
132 
133 #define CHECK_SELECTED_FG            COLOR_WHITE
134 #define CHECK_SELECTED_BG            COLOR_BLUE
135 #define CHECK_SELECTED_HL            TRUE
136 
137 #define UARROW_FG                    COLOR_GREEN
138 #define UARROW_BG                    COLOR_WHITE
139 #define UARROW_HL                    TRUE
140 
141 #define DARROW_FG                    COLOR_GREEN
142 #define DARROW_BG                    COLOR_WHITE
143 #define DARROW_HL                    TRUE
144 
145 /* End of default color definitions */
146 
147 #define C_ATTR(x,y)                  ((x ? A_BOLD : 0) | COLOR_PAIR((y)))
148 #define COLOR_NAME_LEN               10
149 #define COLOR_COUNT                  8
150 
151 /*
152  * Global variables
153  */
154 
155 typedef struct {
156     char name[COLOR_NAME_LEN];
157     int value;
158 } color_names_st;
159 
160 extern color_names_st color_names[];
161 extern int color_table[][3];
162