getyx, getparyx, getbegyx, getmaxyx - get curses cursor and window
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);
The getyx macro places the current cursor position of the given window
in the two integer variables y and x.
If win is a subwindow, the getparyx macro places the beginning coordi‐
nates 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 begin‐
ning coordinates and size of the specified window.
The return values of these macros are undefined (i.e., they should not
be used as the right-hand side of assignment statements).
All of these interfaces are macros. A "&" is not necessary before the
variables y and x.
The getyx, getparyx, getbegyx and getmaxyx macros are described in the
XSI Curses standard, Issue 4.
This implementation also provides functions getbegx, getbegy, getcurx,
getcury, getmaxx, getmaxy, getparx and getpary for compatibility with
older versions of curses.
Although X/Open Curses does not address this, many implementations pro‐
vide 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 implementa‐
tions. The difference is hidden by means of the macro getmaxyx.
SEE ALSOcurses(3X), curs_legacy(3X), curs_opaque(3X)curs_getyx(3X)