blob: fa623eea1e9609b18c10177458c319803d7d6003 [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301.\"***************************************************************************
micky3879b9f5e72025-07-08 18:04:53 -04002.\" Copyright 2020-2023,2024 Thomas E. Dickey *
3.\" Copyright 2007-2014,2015 Free Software Foundation, Inc. *
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304.\" *
5.\" Permission is hereby granted, free of charge, to any person obtaining a *
6.\" copy of this software and associated documentation files (the *
7.\" "Software"), to deal in the Software without restriction, including *
8.\" without limitation the rights to use, copy, modify, merge, publish, *
9.\" distribute, distribute with modifications, sublicense, and/or sell *
10.\" copies of the Software, and to permit persons to whom the Software is *
11.\" furnished to do so, subject to the following conditions: *
12.\" *
13.\" The above copyright notice and this permission notice shall be included *
14.\" in all copies or substantial portions of the Software. *
15.\" *
16.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
17.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
18.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
19.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
20.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
21.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
22.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23.\" *
24.\" Except as contained in this notice, the name(s) of the above copyright *
25.\" holders shall not be used in advertising or otherwise to promote the *
26.\" sale, use or other dealings in this Software without prior written *
27.\" authorization. *
28.\"***************************************************************************
29.\"
micky3879b9f5e72025-07-08 18:04:53 -040030.\" $Id: curs_opaque.3x,v 1.43 2024/03/16 15:35:01 tom Exp $
31.TH curs_opaque 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
32.ie \n(.g \{\
33.ds `` \(lq
34.ds '' \(rq
35.\}
36.el \{\
37.ie t .ds `` ``
38.el .ds `` ""
39.ie t .ds '' ''
40.el .ds '' ""
41.\}
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053042.SH NAME
micky3879b9f5e72025-07-08 18:04:53 -040043\fB\%is_cleared\fP,
44\fB\%is_idlok\fP,
45\fB\%is_idcok\fP,
46\fB\%is_immedok\fP,
47\fB\%is_keypad\fP,
48\fB\%is_leaveok\fP,
49\fB\%is_nodelay\fP,
50\fB\%is_notimeout\fP,
51\fB\%is_pad\fP,
52\fB\%is_scrollok\fP,
53\fB\%is_subwin\fP,
54\fB\%is_syncok\fP,
55\fB\%wgetdelay\fP,
56\fB\%wgetparent\fP,
57\fB\%wgetscrreg\fP \-
58obtain \fIcurses\fR window properties
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053059.SH SYNOPSIS
micky3879b9f5e72025-07-08 18:04:53 -040060.nf
61\fB#include <curses.h>
62.PP
63\fBbool is_cleared(const WINDOW *\fIwin\fP);
64\fBbool is_idcok(const WINDOW *\fIwin\fP);
65\fBbool is_idlok(const WINDOW *\fIwin\fP);
66\fBbool is_immedok(const WINDOW *\fIwin\fP);
67\fBbool is_keypad(const WINDOW *\fIwin\fP);
68\fBbool is_leaveok(const WINDOW *\fIwin\fP);
69\fBbool is_nodelay(const WINDOW *\fIwin\fP);
70\fBbool is_notimeout(const WINDOW *\fIwin\fP);
71\fBbool is_pad(const WINDOW *\fIwin\fP);
72\fBbool is_scrollok(const WINDOW *\fIwin\fP);
73\fBbool is_subwin(const WINDOW *\fIwin\fP);
74\fBbool is_syncok(const WINDOW *\fIwin\fP);
75.PP
76\fBWINDOW * wgetparent(const WINDOW *\fIwin\fP);
77\fBint wgetdelay(const WINDOW *\fIwin\fP);
78\fBint wgetscrreg(const WINDOW *\fIwin\fP, int *\fItop\fP, int *\fIbottom\fP);
79.fi
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053080.SH DESCRIPTION
micky3879b9f5e72025-07-08 18:04:53 -040081\fI\%ncurses\fP provides functions returning properties of a
82\fI\%WINDOW\fP structure,
83allowing it to be \*(``opaque\*('' if
84the application defines the \fB\%NCURSES_OPAQUE\fP preprocessor symbol.
85\fIOpacity\fP in this sense means that the members of \fIstruct\fP data
86types are not directly accessible
87(for instance,
88through \*(``.\*('' or \*(``\->\*('' operators),
89but instead must be queried and/or set via library functions.
90Advantages of opacity include greater abstraction and improved
91management of concurrent accesses to data structures,
92keeping object states coherent.
93.TP
94\fBis_cleared\fP
95returns the value set by \fB\%clearok\fP(3X).
96.TP
97\fBis_idcok\fP
98returns the value set by \fB\%idcok\fP(3X).
99.TP
100\fBis_idlok\fP
101returns the value set by \fB\%idlok\fP(3X).
102.TP
103\fBis_immedok\fP
104returns the value set by \fB\%immedok\fP(3X).
105.TP
106\fBis_keypad\fP
107returns the value set by \fB\%keypad\fP(3X).
108.TP
109\fBis_leaveok\fP
110returns the value set by \fB\%leaveok\fP(3X).
111.TP
112\fBis_nodelay\fP
113returns the value set by \fB\%nodelay\fP(3X).
114.TP
115\fBis_notimeout\fP
116returns the value set by \fB\%notimeout\fP(3X).
117.TP
118\fBis_pad\fP
119returns \fBTRUE\fP if the window is a pad;
120that is,
121it was created by \fB\%newpad\fP(3X).
122.TP
123\fBis_scrollok\fP
124returns the value set by \fB\%scrollok\fP(3X).
125.TP
126\fBis_subwin\fP
Steve Kondikae271bc2015-11-15 02:50:53 +0100127returns \fBTRUE\fP if the window is a subwindow,
micky3879b9f5e72025-07-08 18:04:53 -0400128that is,
129it was created by \fB\%subwin\fP(3X) or \fB\%derwin\fP(3X).
130.TP
131\fBis_syncok\fP
132returns the value set by \fB\%syncok\fP(3X).
133.TP
134\fBwgetdelay\fP
135returns the delay timeout set by \fB\%wtimeout\fP(3X).
136.TP
137\fBwgetparent\fP
138returns the parent \fI\%WINDOW\fP pointer for subwindows,
139or \fBNULL\fP for windows having no parent.
140.TP
141\fBwgetscrreg\fP
142stores the the top and bottom rows for the scrolling margin set by
143\fB\%wsetscrreg\fP(3X) in the corresponding arguments,
144returning \fBERR\fP upon failure and \fBOK\fP upon successful
145completion.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530146.SH RETURN VALUE
micky3879b9f5e72025-07-08 18:04:53 -0400147These functions return \fBTRUE\fP or \fBFALSE\fP except as noted.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530148.SH NOTES
micky3879b9f5e72025-07-08 18:04:53 -0400149\fI\%ncurses\fP provides both a C function and a preprocessor macro for
150each function documented in this page.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530151.SH PORTABILITY
micky3879b9f5e72025-07-08 18:04:53 -0400152These routines are specific to \fI\%ncurses\fP.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530153They were not supported on Version 7, BSD or System V implementations.
micky3879b9f5e72025-07-08 18:04:53 -0400154It is recommended that any code depending on \fI\%ncurses\fP extensions
155be conditioned using \fB\%NCURSES_VERSION\fP.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530156.SH SEE ALSO
micky3879b9f5e72025-07-08 18:04:53 -0400157\fB\%curses\fP(3X),
158\fB\%curs_inopts\fP(3X),
159\fB\%curs_outopts\fP(3X),
160\fB\%curs_threads\fP(3X),
161\fB\%curs_window\fP(3X)