curs_getyx(3X)                   Library calls                  curs_getyx(3X)

NAME

     getyx, getparyx, getbegyx, getmaxyx - get curses cursor and window
     coordinates

SYNOPSIS

     #include <curses.h>

     void getyx(WINDOW *win, int y, int x);
     void getbegyx(WINDOW *win, int y, int x);
     void getmaxyx(WINDOW *win, int y, int x);

     void getparyx(WINDOW *win, int y, int x);

DESCRIPTION

     These macros obtain the cursor position and bounds information of a
     curses window win.  getyx stores win's cursor position in the variables y
     and x.  getmaxyx stores win's maximum valid line and column numbers in y
     and x, respectively.  getbegyx similarly stores the position of win's
     origin relative to that of the screen (for stdscr, these coordinates are
     always 0).

     If win is a subwindow (see subwin(3X)), the getparyx macro places the
     coordinates of its origin relative to its parent window into y and x, and
     -1 into both if it is not.

RETURN VALUE

     No return values are defined for macros.  Do not use them as the right-
     hand side of assignment statements.

NOTES

     All of these interfaces are implemented as macros.  An "&" operator is
     not necessary before the variables y and x.

PORTABILITY

     These macros are described in X/Open Curses Issue 4.

     ncurses also provides functions getbegy, getbegx, getcury, getcurx,
     getmaxy, getmaxx, getpary, and getparx for compatibility with System V
     curses that were not standardized; see curs_legacy(3X).

     Although X/Open Curses does not address the issue, many implementations
     expose members of the WINDOW structure containing values corresponding to
     these macros.  Do not rely on their availability; some implementations
     make WINDOW opaque (that is, they do not allow direct access to its
     members).

     Besides the problem of opaque structures, the data stored in like-named
     members may not have values of the same meaning across different
     implementations.  For example, the values of WINDOW._maxx and
     WINDOW._maxy in ncurses have long differed by one from some other
     implementations.  The getmaxyx macro hides this difference.

HISTORY

     4BSD (1980) introduced getyx.

     SVr3 (1987) added getbegyx and getmaxyx.  SVr3.1 later that year supplied
     getparyx.

SEE ALSO

     curses(3X), curs_legacy(3X), curs_opaque(3X)

ncurses 6.6                       2025-02-01                    curs_getyx(3X)