Initial check-in. Mostly sort of works. Ish.
2 * $Id: window.c,v 1.5 2004/12/30 09:07:47 ali Exp $
3 * Copyright (C) 2007 J. Ali Harlow
4 * Min Hack may be freely redistributed. See license for details.
15 int minhack_create_nhwindow(int type)
18 for(window=0;window<no_windows;window++)
19 if (!windows[window].in_use)
21 if (window==no_windows)
22 windows=realloc(windows,++no_windows*sizeof(*windows));
23 windows[window].in_use=nhproxy_true;
24 windows[window].type=type;
25 windows[window].menu=NULL;
28 case NHPROXY_EXT_NHW_MESSAGE:
29 windows[window].win=newwin(1,0,0,0);
33 case NHPROXY_EXT_NHW_STATUS:
34 windows[window].win=newwin(2,0,LINES-2,0);
36 case NHPROXY_EXT_NHW_MAP:
40 case NHPROXY_EXT_NHW_MENU:
41 case NHPROXY_EXT_NHW_TEXT:
42 windows[window].win=NULL;
48 void minhack_clear_nhwindow(int window, int rows, int cols, int layers)
50 if (windows[window].type==NHPROXY_EXT_NHW_MAP)
52 if (windows[window].win)
53 delwin(windows[window].win);
54 windows[window].win=newwin(rows,cols,1,0);
57 werase(windows[window].win);
60 void minhack_display_nhwindow(int window, nhproxy_bool_t blocking)
62 wrefresh(windows[window].win);
65 void minhack_destroy_nhwindow(int window)
67 minhack_free_menu(window);
68 if (windows[window].win)
70 delwin(windows[window].win);
71 windows[window].win=NULL;
73 if (window==message_win)
75 else if (window==map_win)
77 windows[window].in_use=nhproxy_false;