EN JA
curs_getyx(3X)
curs_getyx(3X) curs_getyx(3X)

名称

getyx, getparyx, getbegyx, getmaxyx - 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);
 

解説

getyx マクロは、与えられたウィンドウの現在のカーソル位置を 2 の整数変数 yx に入れます。

win がサブウィンドウであるなら、 getparyx マクロは、親ウィンドウに関連するサブウィンドウの始まる座標を 2 の整数変数 yx に入れます。そうでなければ、 -1yx に入れられます。

getyx のように、 getbegyxgetmaxyx マクロは、指定されたウィンドウの現在の始まる座標とサイズを格納します。

戻り値

これらのマクロの返り値は、定義されていません (すなわち、それらは、代入文の右辺として使用すべきではありません)。

これらのすべてのインタフェースは、マクロです。 " &"は、変数 yx の前に必要ありません。

移植性

getyx, getparyx, getbegyxgetmaxyx マクロは、XSI Curses standard, Issue 4 に記述されています。

また、この実装は、curses の古いバージョンとの互換性のために、関数 getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparxgetpary も提供しています。

X/Open Curses は、これを扱いませんが、多くの実装は、これらのマクロに対応する値を含む WINDOW 構造体のメンバを提供しています。最も良い移植性のために、いくつかの実装は、(メンバの直接の使用を許可しない) WINDOW を不透明 (サイズおよび形がわからない) にするので、WINDOW のデータを使用することを当てにしてはいけません。

不透明な構造の問題以外に、同様の名前が付けられたメンバに格納されるデータは、異なった実装では同様の値はありません。例えば、ncurses の WINDOW._maxx と WINDOW._maxy 値は、 (少なくともリリース 1.8.1 以来) ある他の実装のものと異なっています。違いは、マクロ getmaxyx を利用して隠されます。

関連項目

curses(3X), curs_legacy(3X), curs_opaque(3X)