Reorganise luacurses
[project/luci.git] / contrib / luacurses / src / luacurses.h
1
2 #include <curses.h>
3
4 #define MKLUALIB_META_CURSES_SCREEN "SCREEN*"
5
6 SCREEN* luacurses_toscreen(lua_State* L, int index);
7 SCREEN** luacurses_newscreen(lua_State* L);
8 void luacurses_regscreen(lua_State* L, const char* name, SCREEN* userdata);
9
10 #define MKLUALIB_META_CURSES_WINDOW "WINDOW*"
11
12 WINDOW* luacurses_towindow(lua_State* L, int index);
13 WINDOW** luacurses_newwindow(lua_State* L);
14 void luacurses_regwindow(lua_State* L, const char* name, WINDOW* userdata);
15
16 #define MKLUALIB_META_CURSES_FILE "FILE*"
17
18 FILE* tofile(lua_State* L, int index);
19 FILE** newfile(lua_State* L);
20 void luacurses_regfile(lua_State* L, const char* name, FILE* f);
21
22 char* luacurses_wgetnstr(WINDOW* w, int n);
23 char* luacurses_wgetstr(WINDOW* w);
24
25 #define luacurses_mvwgetnstr(w, y, x, n) (wmove(w, y, x) == ERR ? 0 : luacurses_wgetnstr(w, n))
26 #define luacurses_getnstr(n) luacurses_wgetnstr(stdscr, n)
27 #define luacurses_mvgetnstr(y, x, n) luacurses_mvwgetnstr(stdscr, y, x, n)
28
29 char* luacurses_window_tostring(WINDOW* w);
30 char* luacurses_screen_tostring(SCREEN* s);
31
32 #define luacurses_window_free(w) {delwin(w); w = 0;}
33 #define luacurses_screen_free(s) {delscreen(s); s = 0;}
34
35 bool luacurses_getmouse(short* id, int* x, int* y, int* z, mmask_t* bstate);
36 bool luacurses_ungetmouse (short id, int x, int y, int z, mmask_t bstate);
37 mmask_t luacurses_addmousemask(mmask_t m);
38