getyx, getparyx, getbegyx, getmaxyx - get curses cursor
and window coordinates
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 coordinates of the subwindow relative to the
parent window into two integer variables y and x. Other-
wise, -1 is placed into y and x.
Like getyx, the getbegyx and getmaxyx macros store the
current beginning coordinates and size of the specified
The return values of these macros are undefined (i.e.,
they should not be used as the right-hand side of assign-
All of these interfaces are macros. A "&" is not neces-
sary 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, getb-
egy, getcurx, getcury, getmaxx, getmaxy, getparx and get-
pary for compatibility with older versions of curses.
Although X/Open Curses does not address this, many imple-
mentations provide members of the WINDOW structure con-
taining 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 differ-
ent 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
curses(3x), curs_legacy(3x), curs_opaque(3x)
Man(1) output converted with