ncurses 4.1
[ncurses.git] / panel / panel.h
1
2 /***************************************************************************
3 *                            COPYRIGHT NOTICE                              *
4 ****************************************************************************
5 *                     panels is copyright (C) 1995                         *
6 *                          Zeyd M. Ben-Halim                               *
7 *                          zmbenhal@netcom.com                             *
8 *                          Eric S. Raymond                                 *
9 *                          esr@snark.thyrsus.com                           *
10 *                                                                          *
11 *             All praise to the original author, Warren Tucker.            *
12 *                                                                          *
13 *        Permission is hereby granted to reproduce and distribute panels   *
14 *        by any means and for any fee, whether alone or as part of a       *
15 *        larger distribution, in source or in binary form, PROVIDED        *
16 *        this notice is included with any such distribution, and is not    *
17 *        removed from any of its header files. Mention of panels in any    *
18 *        applications linked with it is highly appreciated.                *
19 *                                                                          *
20 *        panels comes AS IS with no warranty, implied or expressed.        *
21 *                                                                          *
22 ***************************************************************************/
23
24 /* panel.h -- interface file for panels library */
25
26 #ifndef _PANEL_H
27 #define _PANEL_H
28
29 #include <curses.h>
30
31 typedef struct panel
32 {
33         WINDOW *win;
34         int wstarty;
35         int wendy;
36         int wstartx;
37         int wendx;
38         struct panel *below;
39         struct panel *above;
40         const void *user;
41         struct panelcons *obscure;
42 }
43 PANEL;
44
45 #if     defined(__cplusplus)
46 extern "C" {
47 #endif
48
49 extern  WINDOW *panel_window(const PANEL *);
50 extern  void update_panels(void);
51 extern  int hide_panel(PANEL *);
52 extern  int show_panel(PANEL *);
53 extern  int del_panel(PANEL *);
54 extern  int top_panel(PANEL *);
55 extern  int bottom_panel(PANEL *);
56 extern  PANEL *new_panel(WINDOW *);
57 extern  PANEL *panel_above(const PANEL *);
58 extern  PANEL *panel_below(const PANEL *);
59 extern  int set_panel_userptr(PANEL *,const void *);
60 extern  const void* panel_userptr(const PANEL *);
61 extern  int move_panel(PANEL *, int, int);
62 extern  int replace_panel(PANEL *,WINDOW *);
63 extern  int panel_hidden(const PANEL *);
64
65 #if     defined(__cplusplus)
66 }
67 #endif
68
69 #endif /* _PANEL_H */
70
71 /* end of panel.h */