curs_getyx(3X) | curs_getyx(3X) |
名称
getyx, getparyx, getbegyx, getmaxyx - curses のカーソルとウィンドウの座標を取得する書式
#include <curses.h>解説
getyx マクロは、与えられたウィンドウの現在のカーソル位置を 2 の整数変数 y と x に入れます。win がサブウィンドウであるなら、 getparyx マクロは、親ウィンドウに関連するサブウィンドウの始まる座標を 2 の整数変数 y と x に入れます。そうでなければ、 -1 が y と x に入れられます。
getyx のように、 getbegyx と getmaxyx マクロは、指定されたウィンドウの現在の始まる座標とサイズを格納します。
戻り値
これらのマクロの返り値は、定義されていません (すなわち、それらは、代入文の右辺として使用すべきではありません)。注
これらのすべてのインタフェースは、マクロです。 " &"は、変数 y と x の前に必要ありません。移植性
getyx, getparyx, getbegyx と getmaxyx マクロは、XSI Curses standard, Issue 4 に記述されています。また、この実装は、curses の古いバージョンとの互換性のために、関数 getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx と getpary も提供しています。
X/Open Curses は、これを扱いませんが、多くの実装は、これらのマクロに対応する値を含む WINDOW 構造体のメンバを提供しています。最も良い移植性のために、いくつかの実装は、(メンバの直接の使用を許可しない) WINDOW を不透明 (サイズおよび形がわからない) にするので、WINDOW のデータを使用することを当てにしてはいけません。
不透明な構造の問題以外に、同様の名前が付けられたメンバに格納されるデータは、異なった実装では同様の値はありません。例えば、ncurses の WINDOW._maxx と WINDOW._maxy 値は、 (少なくともリリース 1.8.1 以来) ある他の実装のものと異なっています。違いは、マクロ getmaxyx を利用して隠されます。