ncurses 4.2
[ncurses.git] / test / testaddch.c
1 /*
2  * This is an example written by Alexander V. Lukyanov <lav@yars.free.net>,
3  * to demonstrate an inconsistency between ncurses and SVr4 curses.
4  *
5  * $Id: testaddch.c,v 1.3 1997/10/18 21:35:15 tom Exp $
6  */
7 #include <test.priv.h>
8
9 static void attr_addstr(const char *s, chtype a)
10 {
11         while(*s)
12                 addch(((unsigned char)(*s++))|a);
13 }
14
15 int
16 main(
17         int argc GCC_UNUSED,
18         char *argv[] GCC_UNUSED)
19 {
20         unsigned i;
21         chtype back,set,attr;
22         
23         initscr();
24         start_color();
25         init_pair(1,COLOR_WHITE,COLOR_BLUE);
26         init_pair(2,COLOR_WHITE,COLOR_RED);
27         init_pair(3,COLOR_BLACK,COLOR_MAGENTA);
28         init_pair(4,COLOR_BLACK,COLOR_GREEN);
29         init_pair(5,COLOR_BLACK,COLOR_CYAN);
30         init_pair(6,COLOR_BLACK,COLOR_YELLOW);
31         init_pair(7,COLOR_BLACK,COLOR_WHITE);
32
33         for(i=0; i<8; i++)
34         {
35                 back = (i&1) ? A_BOLD|'B' : ' ';
36                 set = (i&2) ? A_REVERSE : 0;
37                 attr = (i&4) ? COLOR_PAIR(4) : 0;
38
39                 bkgdset(back);
40                 attrset(set);
41                 
42                 attr_addstr("Test string with spaces ->   <-\n",attr);
43         }
44         addch('\n');
45         for(i=0; i<8; i++)
46         {
47                 back = (i&1) ? A_BOLD|'B'|COLOR_PAIR(1) : ' ';
48                 set = (i&2) ? A_REVERSE|COLOR_PAIR(2) : 0;
49                 attr = (i&4) ? COLOR_PAIR(4) : 0;
50
51                 bkgdset(back);
52                 attrset(set);
53                 
54                 attr_addstr("Test string with spaces ->   <-\n",attr);
55         }
56
57         getch();
58         endwin();
59         return EXIT_SUCCESS;
60 }