Copyright 2020-2023,2024 Thomas E. Dickey *
Copyright 1998-2007,2010 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_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp $
#include <curses.h>void getyx(WINDOW *win, int y, int x); void getparyx(WINDOW *win, int y, int x); void getbegyx(WINDOW *win, int y, int x); void getmaxyx(WINDOW *win, int y, int x);
If win is a subwindow, the \%getparyx macro places the beginning coordinates of the subwindow relative to the parent window into two integer variables y and x. Otherwise, -1 is placed into y and x.
Like \%getyx, the \%getbegyx and \%getmaxyx macros store the current beginning coordinates and size of the specified window.
This implementation also provides functions \%getbegx, \%getbegy, \%getcurx, \%getcury, \%getmaxx, \%getmaxy, \%getparx and \%getpary for compatibility with older versions of curses; see \%curs_legacy(3X).
Although X/Open Curses does not address this, many implementations provide members of the \%WINDOW structure containing values corresponding to these macros. For best portability, do not rely on using the data in \%WINDOW, since some implementations make \%WINDOW opaque (do not allow direct use of its members).
Besides the problem of opaque structures, the data stored in like-named members may not have like-values in different implementations. For example, the \%WINDOW._maxx and \%WINDOW._maxy values in \%ncurses have (at least since release 1.8.1) differed by one from some other implementations. The difference is hidden by means of the macro \%getmaxyx.