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