summaryrefslogtreecommitdiffstats
path: root/languages/cpp/app_templates/cppcurseshello/main.cpp
blob: 3e23a5df241834dfa16f08f961b628118ae1db38 (plain)
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
%{CPP_TEMPLATE}

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <ncurses.h>

void create_box(int y, int x, int w, int h)
{
	mvaddch(y, x, '+');
	mvaddch(y, x + w, '+');
	mvaddch(y + h, x, '+');
	mvaddch(y + h, x + w, '+');
	mvhline(y, x + 1, '-', w - 1);
	mvhline(y + h, x + 1, '-', w - 1);
	mvvline(y + 1, x, '|', h - 1);
	mvvline(y + 1, x + w, '|', h - 1);
}

int main()
{
	int startx, starty, height, width;
	
	initscr();
	start_color();
	cbreak();
	keypad(stdscr, TRUE);
	noecho();

	init_pair(1, COLOR_BLACK, COLOR_CYAN);
	
	height = 2;
	width = 30;
	starty = (LINES - height)/2;
	startx = (COLS - width)/2;

	attron(COLOR_PAIR(1));
	
	create_box(starty, startx, width, height);
	mvprintw(starty, startx + 3, " Hello World! " );
	mvprintw(starty+1,startx+1," Type any char to exit       ");
	mvprintw(0,0,"");
	refresh();
	getch();
	
	endwin();
	return 0;
}