# curs_getyx 3x 2025-02-01 ncurses 6.5 Library calls

    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.5                       2025-02-01                    curs_getyx(3x)