]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_getyx.3x
ncurses 6.3 - patch 20220709
[ncurses.git] / man / curs_getyx.3x
index 8fe53dc7197275b289a0544f461ebe476a6a0b1f..94ceeb3a78088619594e437710b702d4932bcd80 100644 (file)
@@ -1,5 +1,6 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc.              *
+.\" Copyright 2020-2021,2022 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getyx.3x,v 1.13 2006/05/27 20:28:05 tom Exp $
+.\" $Id: curs_getyx.3x,v 1.23 2022/02/12 20:07:29 tom Exp $
 .TH curs_getyx 3X ""
 .SH NAME
-\fBgetyx\fR,
-\fBgetparyx\fR,
-\fBgetbegyx\fR,
-\fBgetmaxyx\fR - get \fBcurses\fR cursor and window coordinates
+\fBgetyx\fP,
+\fBgetparyx\fP,
+\fBgetbegyx\fP,
+\fBgetmaxyx\fP \- get \fBcurses\fP cursor and window coordinates
 .SH SYNOPSIS
-\fB#include <curses.h>\fR
+\fB#include <curses.h>\fP
 .sp
-\fBvoid getyx(WINDOW *win, int y, int x);\fR
+\fBvoid getyx(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB);\fR
 .br
-\fBvoid getparyx(WINDOW *win, int y, int x);\fR
+\fBvoid getparyx(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB);\fR
 .br
-\fBvoid getbegyx(WINDOW *win, int y, int x);\fR
+\fBvoid getbegyx(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB);\fR
 .br
-\fBvoid getmaxyx(WINDOW *win, int y, int x);\fR
+\fBvoid getmaxyx(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB);\fR
 .br
 .SH DESCRIPTION
-The \fBgetyx\fR macro places the current cursor position of the given window in
-the two integer variables \fIy\fR and \fIx\fR.
+The \fBgetyx\fP macro places the current cursor position of the given window in
+the two integer variables \fIy\fP and \fIx\fP.
 .PP
-If \fIwin\fR is a subwindow, the \fBgetparyx\fR macro places the beginning
+If \fIwin\fP is a subwindow, the \fBgetparyx\fP macro places the beginning
 coordinates of the subwindow relative to the parent window into two integer
-variables \fIy\fR and \fIx\fR.
-Otherwise, \fB-1\fR is placed into \fIy\fR and \fIx\fR.
+variables \fIy\fP and \fIx\fP.
+Otherwise, \fB\-1\fP is placed into \fIy\fP and \fIx\fP.
 .PP
-Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
+Like \fBgetyx\fP, the \fBgetbegyx\fP and \fBgetmaxyx\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 "\fB&\fR" is not necessary before the variables \fIy\fR and \fIx\fR.
+A "\fB&\fP" is not necessary before the variables \fIy\fP and \fIx\fP.
 .SH PORTABILITY
 The
-\fBgetyx\fR,
-\fBgetparyx\fR,
-\fBgetbegyx\fR and
-\fBgetmaxyx\fR
+\fBgetyx\fP,
+\fBgetparyx\fP,
+\fBgetbegyx\fP and
+\fBgetmaxyx\fP
 macros are described in the XSI Curses standard, Issue 4.
 .PP
-This implementation also provides
-\fBgetbegx\fR,
-\fBgetbegy\fR,
-\fBgetcurx\fR,
-\fBgetcury\fR,
-\fBgetmaxx\fR,
-\fBgetmaxy\fR,
-\fBgetparx\fR and
-\fBgetpary\fR
+This implementation also provides functions
+\fBgetbegx\fP,
+\fBgetbegy\fP,
+\fBgetcurx\fP,
+\fBgetcury\fP,
+\fBgetmaxx\fP,
+\fBgetmaxy\fP,
+\fBgetparx\fP and
+\fBgetpary\fP
 for compatibility with older versions of curses.
-X/Open does not define a corresponding \fBgetcuryx\fP function,
-though that would be needed to make references to the WINDOW structure opaque.
+.PP
+Although X/Open Curses does not address this,
+many implementations provide members of the WINDOW structure
+containing 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).
+.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 WINDOW._maxx and WINDOW._maxy values in ncurses
+have (at least since release 1.8.1) differed by one from some
+other implementations.
+The difference is hidden by means of the macro \fBgetmaxyx\fP.
 .SH SEE ALSO
-\fBcurses\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fP(3X),
+\fBcurs_legacy\fP(3X),
+\fBcurs_opaque\fP(3X)