Get rid of varargs.h.
[dragonfly.git] / gnu / lib / libdialog / colors.h
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_RED
122 #define TAG_KEY_BG                   COLOR_WHITE
123 #define TAG_KEY_HL                   TRUE
124
125 #define TAG_KEY_SELECTED_FG          COLOR_RED
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 /*
153  * Global variables
154  */
155
156 typedef struct {
157   unsigned char name[COLOR_NAME_LEN];
158   int  value;
159 } color_names_st;
160
161
162 #ifdef __DIALOG_MAIN__
163
164 /*
165  * For matching color names with color values
166  */
167 color_names_st color_names[] = {
168   {"BLACK",   COLOR_BLACK},
169   {"RED",     COLOR_RED},
170   {"GREEN",   COLOR_GREEN},
171   {"YELLOW",  COLOR_YELLOW},
172   {"BLUE",    COLOR_BLUE},
173   {"MAGENTA", COLOR_MAGENTA},
174   {"CYAN",    COLOR_CYAN},
175   {"WHITE",   COLOR_WHITE},
176 };    /* color names */
177
178
179 /*
180  * Table of color values
181  */
182 int color_table[][3] = {
183   {SCREEN_FG,               SCREEN_BG,               SCREEN_HL               },
184   {SHADOW_FG,               SHADOW_BG,               SHADOW_HL               },
185   {DIALOG_FG,               DIALOG_BG,               DIALOG_HL               },
186   {TITLE_FG,                TITLE_BG,                TITLE_HL                },
187   {BORDER_FG,               BORDER_BG,               BORDER_HL               },
188   {BUTTON_ACTIVE_FG,        BUTTON_ACTIVE_BG,        BUTTON_ACTIVE_HL        },
189   {BUTTON_INACTIVE_FG,      BUTTON_INACTIVE_BG,      BUTTON_INACTIVE_HL      },
190   {BUTTON_KEY_ACTIVE_FG,    BUTTON_KEY_ACTIVE_BG,    BUTTON_KEY_ACTIVE_HL    },
191   {BUTTON_KEY_INACTIVE_FG,  BUTTON_KEY_INACTIVE_BG,  BUTTON_KEY_INACTIVE_HL  },
192   {BUTTON_LABEL_ACTIVE_FG,  BUTTON_LABEL_ACTIVE_BG,  BUTTON_LABEL_ACTIVE_HL  },
193   {BUTTON_LABEL_INACTIVE_FG,BUTTON_LABEL_INACTIVE_BG,BUTTON_LABEL_INACTIVE_HL},
194   {INPUTBOX_FG,             INPUTBOX_BG,             INPUTBOX_HL             },
195   {INPUTBOX_BORDER_FG,      INPUTBOX_BORDER_BG,      INPUTBOX_BORDER_HL      },
196   {SEARCHBOX_FG,            SEARCHBOX_BG,            SEARCHBOX_HL            },
197   {SEARCHBOX_TITLE_FG,      SEARCHBOX_TITLE_BG,      SEARCHBOX_TITLE_HL      },
198   {SEARCHBOX_BORDER_FG,     SEARCHBOX_BORDER_BG,     SEARCHBOX_BORDER_HL     },
199   {POSITION_INDICATOR_FG,   POSITION_INDICATOR_BG,   POSITION_INDICATOR_HL   },
200   {MENUBOX_FG,              MENUBOX_BG,              MENUBOX_HL              },
201   {MENUBOX_BORDER_FG,       MENUBOX_BORDER_BG,       MENUBOX_BORDER_HL       },
202   {ITEM_FG,                 ITEM_BG,                 ITEM_HL                 },
203   {ITEM_SELECTED_FG,        ITEM_SELECTED_BG,        ITEM_SELECTED_HL        },
204   {TAG_FG,                  TAG_BG,                  TAG_HL                  },
205   {TAG_SELECTED_FG,         TAG_SELECTED_BG,         TAG_SELECTED_HL         },
206   {TAG_KEY_FG,              TAG_KEY_BG,              TAG_KEY_HL              },
207   {TAG_KEY_SELECTED_FG,     TAG_KEY_SELECTED_BG,     TAG_KEY_SELECTED_HL     },
208   {CHECK_FG,                CHECK_BG,                CHECK_HL                },
209   {CHECK_SELECTED_FG,       CHECK_SELECTED_BG,       CHECK_SELECTED_HL       },
210   {UARROW_FG,               UARROW_BG,               UARROW_HL               },
211   {DARROW_FG,               DARROW_BG,               DARROW_HL               },
212 };    /* color_table */
213
214 #else
215
216 extern color_names_st color_names[];
217 extern int color_table[][3];
218
219 #endif    /* __DIALOG_MAIN__ */