xref: /openbsd-src/lib/libpanel/panel.h (revision 62a742911104f98b9185b2c6b6007d9b1c36396c)
1 /*	$OpenBSD: panel.h,v 1.4 1998/07/24 17:08:23 millert Exp $	*/
2 
3 /****************************************************************************
4  * Copyright (c) 1998 Free Software Foundation, Inc.                        *
5  *                                                                          *
6  * Permission is hereby granted, free of charge, to any person obtaining a  *
7  * copy of this software and associated documentation files (the            *
8  * "Software"), to deal in the Software without restriction, including      *
9  * without limitation the rights to use, copy, modify, merge, publish,      *
10  * distribute, distribute with modifications, sublicense, and/or sell       *
11  * copies of the Software, and to permit persons to whom the Software is    *
12  * furnished to do so, subject to the following conditions:                 *
13  *                                                                          *
14  * The above copyright notice and this permission notice shall be included  *
15  * in all copies or substantial portions of the Software.                   *
16  *                                                                          *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
20  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
21  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
22  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
23  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
24  *                                                                          *
25  * Except as contained in this notice, the name(s) of the above copyright   *
26  * holders shall not be used in advertising or otherwise to promote the     *
27  * sale, use or other dealings in this Software without prior written       *
28  * authorization.                                                           *
29  ****************************************************************************/
30 
31 /****************************************************************************
32  *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995                    *
33  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
34  ****************************************************************************/
35 
36 /* panel.h -- interface file for panels library */
37 
38 #ifndef _PANEL_H
39 #define _PANEL_H
40 
41 #include <curses.h>
42 
43 typedef struct panel
44 {
45 	WINDOW *win;
46 	int wstarty;
47 	int wendy;
48 	int wstartx;
49 	int wendx;
50 	struct panel *below;
51 	struct panel *above;
52 	NCURSES_CONST void *user;
53 	struct panelcons *obscure;
54 }
55 PANEL;
56 
57 #if	defined(__cplusplus)
58 extern "C" {
59 #endif
60 
61 extern  WINDOW *panel_window(const PANEL *);
62 extern  void update_panels(void);
63 extern  int hide_panel(PANEL *);
64 extern  int show_panel(PANEL *);
65 extern  int del_panel(PANEL *);
66 extern  int top_panel(PANEL *);
67 extern  int bottom_panel(PANEL *);
68 extern  PANEL *new_panel(WINDOW *);
69 extern  PANEL *panel_above(const PANEL *);
70 extern  PANEL *panel_below(const PANEL *);
71 extern  int set_panel_userptr(PANEL *, NCURSES_CONST void *);
72 extern  NCURSES_CONST void* panel_userptr(const PANEL *);
73 extern  int move_panel(PANEL *, int, int);
74 extern  int replace_panel(PANEL *,WINDOW *);
75 extern	int panel_hidden(const PANEL *);
76 
77 #if	defined(__cplusplus)
78 }
79 #endif
80 
81 #endif /* _PANEL_H */
82 
83 /* end of panel.h */
84