curs_getyx(3x) curs_getyx(3x)
getyx, getparyx, getbegyx, getmaxyx - get curses cursor and window coordinates - curses カーソルとウインドウの座標を取得するマクロ
#include <curses.h> void getyx(WINDOW *win, int y, int x); void getparyx(WINDOW *win, int y, int x); void getbegyx(WINDOW *win, int y, int x); void getmaxyx(WINDOW *win, int y, int x);
The getyx macro places the current cursor position of the given window in the two integer variables y and x. マクロ getyx は指定のウインドウの現在のカーソル位置を 2 つの整数変数 y と x の中に格納します。 If win is a subwindow, the getparyx macro places the beginning coordinates of the subwindow relative to the parent window into two integer variables y and x. Other- wise, -1 is placed into y and x. マクロ getparyx は、win が子ウインドウの場合、親ウインドウに 相対的な子ウインドウの開始位置の座標を 2 つの整数変数 y と x の 中に格納します。 そうでない場合、y と x に -1 を格納します。 Like getyx, the getbegyx and getmaxyx macros store the current beginning coordinates and size of the specified window. マクロ getbegyx と getmaxyx はそれぞれ指定のウインドウの 現在の開始位置の座標とサイズを getyx のように格納します。
The return values of these macros are undefined (i.e., they should not be used as the right-hand side of assign- ment statements). これらのマクロの戻り値は未定義です。 (ですから代入文の右辺値として使ってはいけません。)
All of these interfaces are macros. A "&" is not neces- sary before the variables y and x. これらのインターフェイスはすべてマクロです。 変数 y と x の前に "&" は必要ありません。
The getyx, getparyx, getbegyx and getmaxyx macros are described in the XSI Curses standard, Issue 4. マクロ getyx, getparyx, getbegyx, getmaxyx は XSI Curses standard, Issue 4 に記載されています。 This implementation also provides functions getbegx, getb- egy, getcurx, getcury, getmaxx, getmaxy, getparx and get- pary for compatibility with older versions of curses. この実装はさらに、curses の古いバージョンとの互換性のために 関数 getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx, getpary を提供しています。 Although X/Open Curses does not address this, many imple- mentations provide members of the WINDOW structure con- taining 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). X/Open Curses はこれに対処していませんが、多くの実装は これらのマクロに対応する値を含む WINDOW 構造体のメンバを 提供しています。 移植性のために最善なのは、WINDOW 中のデータを使うことに 頼らないことです。いくつかの実装は WINDOW を不透明としている からです (メンバを直接使うことを許していない)。 Besides the problem of opaque structures, the data stored in like-named members may not have like-values in differ- ent 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 implementa- tions. The difference is hidden by means of the macro getmaxyx. 不透明な構造体の問題だけでなく、異なる実装では、同じような 名前のメンバが同じような値を持っていないかもしれません。 たとえば、ncurses における WINDOW._maxx と WINDOW._maxy の 値は (少なくとも release 1.8.1 からは) 他のいくつかの実装の それと異なっています。 この違いはマクロ getmaxyx によって隠されているのです。
curses(3x), curs_legacy(3x), curs_opaque(3x) curs_getyx(3x)