xref: /freebsd/contrib/ncurses/man/curs_opaque.3x (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
***************************************************************************
Copyright 2020-2023,2024 Thomas E. Dickey *
Copyright 2007-2014,2015 Free Software Foundation, Inc. *
*
Permission is hereby granted, free of charge, to any person obtaining a *
copy of this software and associated documentation files (the *
"Software"), to deal in the Software without restriction, including *
without limitation the rights to use, copy, modify, merge, publish, *
distribute, distribute with modifications, sublicense, and/or sell *
copies of the Software, and to permit persons to whom the Software is *
furnished to do so, subject to the following conditions: *
*
The above copyright notice and this permission notice shall be included *
in all copies or substantial portions of the Software. *
*
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
*
Except as contained in this notice, the name(s) of the above copyright *
holders shall not be used in advertising or otherwise to promote the *
sale, use or other dealings in this Software without prior written *
authorization. *
***************************************************************************

$Id: curs_opaque.3x,v 1.43 2024/03/16 15:35:01 tom Exp $
curs_opaque 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.\} .\}
NAME
\%is_cleared, \%is_idlok, \%is_idcok, \%is_immedok, \%is_keypad, \%is_leaveok, \%is_nodelay, \%is_notimeout, \%is_pad, \%is_scrollok, \%is_subwin, \%is_syncok, \%wgetdelay, \%wgetparent, \%wgetscrreg - obtain curses window properties
SYNOPSIS
#include <curses.h>

bool is_cleared(const WINDOW *win); bool is_idcok(const WINDOW *win); bool is_idlok(const WINDOW *win); bool is_immedok(const WINDOW *win); bool is_keypad(const WINDOW *win); bool is_leaveok(const WINDOW *win); bool is_nodelay(const WINDOW *win); bool is_notimeout(const WINDOW *win); bool is_pad(const WINDOW *win); bool is_scrollok(const WINDOW *win); bool is_subwin(const WINDOW *win); bool is_syncok(const WINDOW *win);

WINDOW * wgetparent(const WINDOW *win); int wgetdelay(const WINDOW *win); int wgetscrreg(const WINDOW *win, int *top, int *bottom);

DESCRIPTION
\%ncurses provides functions returning properties of a \%WINDOW structure, allowing it to be \*(``opaque\*('' if the application defines the \%NCURSES_OPAQUE preprocessor symbol. Opacity in this sense means that the members of struct data types are not directly accessible (for instance, through \*(``.\*('' or \*(``->\*('' operators), but instead must be queried and/or set via library functions. Advantages of opacity include greater abstraction and improved management of concurrent accesses to data structures, keeping object states coherent.

is_cleared returns the value set by \%clearok(3X).

is_idcok returns the value set by \%idcok(3X).

is_idlok returns the value set by \%idlok(3X).

is_immedok returns the value set by \%immedok(3X).

is_keypad returns the value set by \%keypad(3X).

is_leaveok returns the value set by \%leaveok(3X).

is_nodelay returns the value set by \%nodelay(3X).

is_notimeout returns the value set by \%notimeout(3X).

is_pad returns TRUE if the window is a pad; that is, it was created by \%newpad(3X).

is_scrollok returns the value set by \%scrollok(3X).

is_subwin returns TRUE if the window is a subwindow, that is, it was created by \%subwin(3X) or \%derwin(3X).

is_syncok returns the value set by \%syncok(3X).

wgetdelay returns the delay timeout set by \%wtimeout(3X).

wgetparent returns the parent \%WINDOW pointer for subwindows, or NULL for windows having no parent.

wgetscrreg stores the the top and bottom rows for the scrolling margin set by \%wsetscrreg(3X) in the corresponding arguments, returning ERR upon failure and OK upon successful completion.

RETURN VALUE
These functions return TRUE or FALSE except as noted.
NOTES
\%ncurses provides both a C function and a preprocessor macro for each function documented in this page.
PORTABILITY
These routines are specific to \%ncurses. They were not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on \%ncurses extensions be conditioned using \%NCURSES_VERSION.
SEE ALSO
\%curses(3X), \%curs_inopts(3X), \%curs_outopts(3X), \%curs_threads(3X), \%curs_window(3X)