libpayload: Add PDCurses and ncurses' libform/libmenu
[coreboot.git] / payloads / libpayload / include / panel.h
1 /* Public Domain Curses */
2
3 /* $Id: panel.h,v 1.19 2008/07/13 16:08:16 wmcbrine Exp $ */
4
5 /*----------------------------------------------------------------------*
6  *                         Panels for PDCurses                          *
7  *----------------------------------------------------------------------*/
8
9 #ifndef __PDCURSES_PANEL_H__
10 #define __PDCURSES_PANEL_H__ 1
11
12 #include <curses.h>
13
14 #if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
15 extern "C"
16 {
17 #endif
18
19 typedef struct panelobs
20 {
21     struct panelobs *above;
22     struct panel *pan;
23 } PANELOBS;
24
25 typedef struct panel
26 {
27     WINDOW *win;
28     int wstarty;
29     int wendy;
30     int wstartx;
31     int wendx;
32     struct panel *below;
33     struct panel *above;
34     const void *user;
35     struct panelobs *obscure;
36 } PANEL;
37
38 int     bottom_panel(PANEL *pan);
39 int     del_panel(PANEL *pan);
40 int     hide_panel(PANEL *pan);
41 int     move_panel(PANEL *pan, int starty, int startx);
42 PANEL  *new_panel(WINDOW *win);
43 PANEL  *panel_above(const PANEL *pan);
44 PANEL  *panel_below(const PANEL *pan);
45 int     panel_hidden(const PANEL *pan);
46 const void *panel_userptr(const PANEL *pan);
47 WINDOW *panel_window(const PANEL *pan);
48 int     replace_panel(PANEL *pan, WINDOW *win);
49 int     set_panel_userptr(PANEL *pan, const void *uptr);
50 int     show_panel(PANEL *pan);
51 int     top_panel(PANEL *pan);
52 void    update_panels(void);
53
54 #if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
55 }
56 #endif
57
58 #endif /* __PDCURSES_PANEL_H__ */