8d8d4b090cdebf8a2b0f3bc7afa280b17387b6b7
[ncurses.git] / test / color_set.c
1 /****************************************************************************
2  * Copyright (c) 2003-2004,2006 Free Software Foundation, Inc.              *
3  *                                                                          *
4  * Permission is hereby granted, free of charge, to any person obtaining a  *
5  * copy of this software and associated documentation files (the            *
6  * "Software"), to deal in the Software without restriction, including      *
7  * without limitation the rights to use, copy, modify, merge, publish,      *
8  * distribute, distribute with modifications, sublicense, and/or sell       *
9  * copies of the Software, and to permit persons to whom the Software is    *
10  * furnished to do so, subject to the following conditions:                 *
11  *                                                                          *
12  * The above copyright notice and this permission notice shall be included  *
13  * in all copies or substantial portions of the Software.                   *
14  *                                                                          *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
16  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
17  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
18  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
19  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
20  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
21  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
22  *                                                                          *
23  * Except as contained in this notice, the name(s) of the above copyright   *
24  * holders shall not be used in advertising or otherwise to promote the     *
25  * sale, use or other dealings in this Software without prior written       *
26  * authorization.                                                           *
27  ****************************************************************************/
28 /*
29  * $Id: color_set.c,v 1.5 2006/06/03 16:40:10 tom Exp $
30  */
31
32 #include <test.priv.h>
33
34 #ifdef HAVE_COLOR_SET
35
36 #define SHOW(n) ((n) == ERR ? "ERR" : "OK")
37
38 int
39 main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
40 {
41     short f, b;
42     int i;
43
44     initscr();
45     cbreak();
46     noecho();
47
48     if (has_colors()) {
49         start_color();
50
51         pair_content(0, &f, &b);
52         printw("pair 0 contains (%d,%d)\n", f, b);
53         getch();
54
55         printw("Initializing pair 1 to red/black\n");
56         init_pair(1, COLOR_RED, COLOR_BLACK);
57         i = color_set(1, NULL);
58         printw("RED/BLACK (%s)\n", SHOW(i));
59         getch();
60
61         printw("Initializing pair 2 to white/blue\n");
62         init_pair(2, COLOR_WHITE, COLOR_BLUE);
63         i = color_set(2, NULL);
64         printw("WHITE/BLUE (%s)\n", SHOW(i));
65         getch();
66
67         printw("Resetting colors to pair 0\n");
68         i = color_set(0, NULL);
69         printw("Default Colors (%s)\n", SHOW(i));
70         getch();
71
72         printw("Resetting colors to pair 1\n");
73         i = color_set(1, NULL);
74         printw("RED/BLACK (%s)\n", SHOW(i));
75         getch();
76
77     } else {
78         printw("This demo requires a color terminal");
79         getch();
80     }
81     endwin();
82
83     ExitProgram(EXIT_SUCCESS);
84 }
85 #else
86 int
87 main(void)
88 {
89     printf("This program requires the curses color_set function\n");
90     ExitProgram(EXIT_FAILURE);
91 }
92 #endif