aboutsummaryrefslogtreecommitdiff
path: root/contrib/ncurses/test/firstlast.c
blob: f9515dcb5b38a8f183c572a9a099570413ad0bc2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
 * This test was written by Alexander V. Lukyanov to demonstrate difference
 * between ncurses 4.1 and SVR4 curses
 *
 * $Id: firstlast.c,v 1.2 1997/10/18 21:34:53 tom Exp $
 */

#include <test.priv.h>

static void fill(WINDOW *w,const char *str)
{
	const char *s;
	for(;;) {
		for(s=str; *s; s++) {
			if(waddch(w,*s)==ERR)
			{
				wmove(w,0,0);
				return;
			}
		}
	}
}

int main(
	int argc GCC_UNUSED,
	char *argv[] GCC_UNUSED)
{
	WINDOW *large,*small;
	initscr();
	noecho();
	
	large = newwin(20,60,2,10);
	small = newwin(10,30,7,25);
	
	/* test 1 - addch */
	fill(large,"LargeWindow");
	
	refresh();
	wrefresh(large);
	wrefresh(small);

	mvwaddstr(small,5,5,"   Test <place to change> String   ");
	wrefresh(small);
	getch();
	
	touchwin(large);
	wrefresh(large);
	
	mvwaddstr(small,5,5,"   Test <***************> String   ");
	wrefresh(small);

	/* DIFFERENCE! */
	getch();

	/* test 2: erase */
	erase();
	refresh();
	getch();
	
	/* test 3: clrtoeol */
	werase(small);
	wrefresh(small);
	touchwin(large);
	wrefresh(large);
	wmove(small,5,0);
	waddstr(small," clrtoeol>");
	wclrtoeol(small);
	wrefresh(small);

	/* DIFFERENCE! */;
	getch();

	/* test 4: clrtobot */
	werase(small);
	wrefresh(small);
	touchwin(large);
	wrefresh(large);
	wmove(small,5,3);
	waddstr(small," clrtobot>");
	wclrtobot(small);
	wrefresh(small);

	/* DIFFERENCE! */
	getch();

	endwin();

	return EXIT_SUCCESS;
}