| .\"*************************************************************************** |
| .\" Copyright 2020-2023,2024 Thomas E. Dickey * |
| .\" Copyright 1998-2007,2010 Free Software Foundation, Inc. * |
| .\" * |
| .\" Permission is hereby granted, free of charge, to any person obtaining a * |
| .\" copy of this software and associated documentation files (the * |
| .\" "Software"), to deal in the Software without restriction, including * |
| .\" without limitation the rights to use, copy, modify, merge, publish, * |
| .\" distribute, distribute with modifications, sublicense, and/or sell * |
| .\" copies of the Software, and to permit persons to whom the Software is * |
| .\" furnished to do so, subject to the following conditions: * |
| .\" * |
| .\" The above copyright notice and this permission notice shall be included * |
| .\" in all copies or substantial portions of the Software. * |
| .\" * |
| .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| .\" * |
| .\" Except as contained in this notice, the name(s) of the above copyright * |
| .\" holders shall not be used in advertising or otherwise to promote the * |
| .\" sale, use or other dealings in this Software without prior written * |
| .\" authorization. * |
| .\"*************************************************************************** |
| .\" |
| .\" $Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp $ |
| .TH curs_getyx 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls" |
| .ie \n(.g \{\ |
| .ds `` \(lq |
| .ds '' \(rq |
| .\} |
| .el \{\ |
| .ie t .ds `` `` |
| .el .ds `` "" |
| .ie t .ds '' '' |
| .el .ds '' "" |
| .\} |
| . |
| .SH NAME |
| \fB\%getyx\fP, |
| \fB\%getparyx\fP, |
| \fB\%getbegyx\fP, |
| \fB\%getmaxyx\fP \- |
| get \fIcurses\fR cursor and window coordinates |
| .SH SYNOPSIS |
| .nf |
| \fB#include <curses.h> |
| .PP |
| \fBvoid getyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP); |
| \fBvoid getparyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP); |
| \fBvoid getbegyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP); |
| \fBvoid getmaxyx(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP); |
| .fi |
| .SH DESCRIPTION |
| The \fB\%getyx\fP macro places the current cursor position |
| of the given window in the two integer variables \fIy\fP and \fIx\fP. |
| .PP |
| If \fIwin\fP is a subwindow, the \fB\%getparyx\fP macro places the beginning |
| coordinates of the subwindow relative to the parent window into two integer |
| variables \fIy\fP and \fIx\fP. |
| Otherwise, \fB\-1\fP is placed into \fIy\fP and \fIx\fP. |
| .PP |
| Like \fB\%getyx\fP, the \fB\%getbegyx\fP and \fB\%getmaxyx\fP macros store |
| the current beginning coordinates and size of the specified window. |
| .SH RETURN VALUE |
| The return values of these macros are undefined (i.e., |
| they should not be used as the right-hand side of assignment statements). |
| .SH NOTES |
| All of these interfaces are macros. |
| A \*(``&\*('' is not necessary before the variables \fIy\fP and \fIx\fP. |
| .SH PORTABILITY |
| The |
| \fB\%getyx\fP, |
| \fB\%getparyx\fP, |
| \fB\%getbegyx\fP and |
| \fB\%getmaxyx\fP |
| macros are described in X/Open Curses, Issue 4. |
| .PP |
| This implementation also provides functions |
| \fB\%getbegx\fP, |
| \fB\%getbegy\fP, |
| \fB\%getcurx\fP, |
| \fB\%getcury\fP, |
| \fB\%getmaxx\fP, |
| \fB\%getmaxy\fP, |
| \fB\%getparx\fP and |
| \fB\%getpary\fP |
| for compatibility with older versions of \fIcurses\fP; |
| see \fB\%curs_legacy\fP(3X). |
| .PP |
| Although X/Open Curses does not address this, |
| many implementations provide members of the \fB\%WINDOW\fP structure |
| containing values corresponding to these macros. |
| For best portability, do not rely on using the data in \fB\%WINDOW\fP, |
| since some implementations make \fB\%WINDOW\fP opaque (do not allow |
| direct use of its members). |
| .PP |
| Besides the problem of opaque structures, |
| the data stored in like-named members may not have like-values in |
| different implementations. |
| For example, the \fB\%WINDOW._maxx\fP and \fB\%WINDOW._maxy\fP values |
| in \fI\%ncurses\fP have |
| (at least since release 1.8.1) |
| differed by one from some other implementations. |
| The difference is hidden by means of the macro \fB\%getmaxyx\fP. |
| .SH SEE ALSO |
| \fB\%curses\fP(3X), |
| \fB\%curs_legacy\fP(3X), |
| \fB\%curs_opaque\fP(3X) |