]> git.llucax.com Git - z.facultad/75.06/emufs.git/blob - ejemplos/ej_2.c
* Agrego ejemplos de ncurses
[z.facultad/75.06/emufs.git] / ejemplos / ej_2.c
1
2 #include <curses.h>
3 #include <signal.h>
4 #include <panel.h>
5
6 static void finish(int sig);
7
8 int main(int argc, char *argv[])
9 {
10         /* initialize your non-curses data structures here */
11         WINDOW *mainwin, *otra;
12
13         signal(SIGINT, finish);      /* arrange interrupts to terminate */
14         mainwin = initscr();      /* initialize the curses library */
15         keypad(stdscr, TRUE);  /* enable keyboard mapping */
16         nonl();         /* tell curses not to do NL->CR/NL on output */
17         cbreak();       /* take input chars one at a time, no wait for \n */
18         noecho();       /* don't echo input */
19
20         if (has_colors()) {
21                 start_color();
22                 /* Simple color assignment, often all we need. */
23                 init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
24                 init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
25                 init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
26                 init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
27                 init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK);
28                 init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
29                 init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
30                 init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
31         }
32
33         /* Ventana, caracter para linea vertical, caracter para linea horizontal*/
34         box(mainwin, ACS_VLINE, ACS_HLINE);
35         /* Ventana, Y, X, Texto */
36         mvwaddstr(mainwin, 3, 10, "Segundo Ejemplo!");  
37         mvwaddstr(mainwin, 4, 10, "Ventana Principal, Ocupa todo el terminal");
38         
39         /* Creo una subventana! */
40         otra = subwin(mainwin, 10, 10, 8, 20);
41         mvwaddstr(otra, 1, 1, "Esto es otra ventana (sin borde)");      
42
43         refresh();
44
45         getch();
46
47         delwin(otra);
48         delwin(mainwin);
49         endwin();
50         return 0;
51 }
52
53 static void finish(int sig)
54 {
55         endwin();
56
57         /* do your non-curses wrapup here */
58
59         exit(0);
60 }
61