xref: /netbsd-src/lib/libpanel/panel_above.3 (revision c1ffcd2b5358be19be1b67fe38923d6d95044a2b)
1*c1ffcd2bSwiz.\"	$NetBSD: panel_above.3,v 1.8 2015/11/01 14:47:54 wiz Exp $
2fe186541Suwe.\"
3fe186541Suwe.\" Copyright (c) 2015 Valery Ushakov
4fe186541Suwe.\" All rights reserved.
5fe186541Suwe.\"
6fe186541Suwe.\" Redistribution and use in source and binary forms, with or without
7fe186541Suwe.\" modification, are permitted provided that the following conditions
8fe186541Suwe.\" are met:
9fe186541Suwe.\" 1. Redistributions of source code must retain the above copyright
10fe186541Suwe.\"    notice, this list of conditions and the following disclaimer.
11fe186541Suwe.\" 2. Redistributions in binary form must reproduce the above copyright
12fe186541Suwe.\"    notice, this list of conditions and the following disclaimer in the
13fe186541Suwe.\"    documentation and/or other materials provided with the distribution.
14fe186541Suwe.\"
15fe186541Suwe.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16fe186541Suwe.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17fe186541Suwe.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18fe186541Suwe.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19fe186541Suwe.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20fe186541Suwe.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21fe186541Suwe.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22fe186541Suwe.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23fe186541Suwe.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24fe186541Suwe.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25fe186541Suwe.\"
26fe186541Suwe.Dd October 28, 2015
27fe186541Suwe.Dt PANEL_ABOVE 3
28fe186541Suwe.Os
29fe186541Suwe.Sh NAME
30fe186541Suwe.Nm top_panel ,
31fe186541Suwe.Nm bottom_panel ,
32fe186541Suwe.Nm panel_above ,
33fe186541Suwe.Nm panel_below
34fe186541Suwe.Nd z-order of panels
35fe186541Suwe.Sh LIBRARY
36fe186541Suwe.Lb libpanel
37fe186541Suwe.Sh SYNOPSIS
38fe186541Suwe.In panel.h
39fe186541Suwe.\"
40fe186541Suwe.Ft int
41fe186541Suwe.Fn top_panel "PANEL *p"
42fe186541Suwe.\"
43fe186541Suwe.Ft int
44fe186541Suwe.Fn bottom_panel "PANEL *p"
45fe186541Suwe.\"
46fe186541Suwe.Ft PANEL *
47fe186541Suwe.Fn panel_above "PANEL *p"
48fe186541Suwe.\"
49fe186541Suwe.Ft PANEL *
50fe186541Suwe.Fn panel_below "PANEL *p"
51fe186541Suwe.\"
52fe186541Suwe.Sh DESCRIPTION
530c624ce4SuweNewly created panels are placed at the top of the deck.
54ed8dd388SwizThe z-order of a visible panel can be changed with the functions
550c624ce4Suwe.Fn top_panel
560c624ce4Suweand
570c624ce4Suwe.Fn bottom_panel
580c624ce4Suwethat move it to the top and bottom of the deck respectively.
590c624ce4Suwe.Pp
600c624ce4SuweFor a visible panel its neighbors in the deck can be obtained with
610c624ce4Suwe.Fn panel_above
620c624ce4Suweand
630c624ce4Suwe.Fn panel_below .
64*c1ffcd2bSwizThe bottom and top panels can be obtained by passing a
65411bbd24Suwe.Dv NULL
66180eabf5Swizargument to
67180eabf5Swiz.Fn panel_above
68180eabf5Swizand
69180eabf5Swiz.Fn panel_below ,
70180eabf5Swizrespectively.
710c624ce4Suwe.Sh IMPLEMENTATION NOTES
720c624ce4SuweThe
730c624ce4Suwe.Fn top_panel
740c624ce4Suwefunction will return an error if the panel is currently hidden.
750c624ce4SuweUse
760c624ce4Suwe.Xr show_panel 3
770c624ce4Suweto make a hidden panel visible again and put it at the top of the deck.
780c624ce4SuweThis is the behaviour specified by the original
790c624ce4Suwe.At V
800c624ce4Suwepanel library.
810c624ce4Suwe.Pp
820c624ce4SuweIn the ncurses implementation of the panel library
830c624ce4Suwe.Fn show_panel
840c624ce4Suweand
850c624ce4Suwe.Fn top_panel
860c624ce4Suweare identical and handle both visible and hidden panels.
870c624ce4SuweThis may be a source of bugs in programs tested only against ncurses.
880c624ce4Suwe.Sh RETURN VALUES
890c624ce4SuweFunctions returning pointers will return
900c624ce4Suwe.Dv NULL
910c624ce4Suweif an error is detected.
920c624ce4SuweThe functions that return an int will return one of the following
930c624ce4Suwevalues:
940c624ce4Suwe.Pp
950c624ce4Suwe.Bl -tag -width ".Dv ERR" -compact
960c624ce4Suwe.It Dv OK
970c624ce4SuweThe function completed successfully.
980c624ce4Suwe.It Dv ERR
990c624ce4SuweAn error occurred in the function.
1000c624ce4Suwe.El
101fe186541Suwe.Sh SEE ALSO
102fe186541Suwe.Xr panel 3
103