https://invisible-island.net/ncurses/man/


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)