curs_windowのヘルプ・マニュアル
日本語 英語
curs_window --help
man curs_window
curs_window(3X) curs_window(3X)
名前
newwin, delwin, mvwin, subwin, derwin, mvderwin, dupwin, wsyncup, syn-
cok, wcursyncup, wsyncdown - curses ウィンドウを生成。
書式
#include
WINDOW *newwin(int nlines, int ncols, int begin_y, int begin_x);
int delwin(WINDOW *win);
int mvwin(WINDOW *win, int y, int x);
WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begin_y, int
begin_x);
WINDOW *derwin(WINDOW *orig, int nlines, int ncols, int begin_y, int
begin_x);
int mvderwin(WINDOW *win, int par_y, int par_x);
WINDOW *dupwin(WINDOW *win);
void wsyncup(WINDOW *win);
int syncok(WINDOW *win, bool bf);
void wcursyncup(WINDOW *win);
void wsyncdown(WINDOW *win);
説明
newwin関数を呼ぶと、与えられた列数と行数を持つ新規ウィンドウを生成し 、
そ のポインタを返す。ウィンドウの左上の行が begin_y, 列が begin_xである
。もし、nlines 又は ncols のどちらかがゼロならば、デフォ ル ト と し て
LINES - begin_y 及び COLS -begin_x
が 設定される。新規のフルスクリーンウィンドウはnewwin(0,0,0,0)を呼ぶこ
とで生成される。
delwin関数は既存のウィンドウを削除し、関連づけられているすべてのメモ リ
を 開放する。メインウィンドウの削除前にサブウィンドウが削除されねばなら
ない。
mvwin関数はウィンドウを動かし、その結果左上が (x, y)となる。もしウィ ン
ド ウを動かすことでスクリーンからはみだしてしまうならばエラーとなり、ウ
ィンドウは動かされない。サブウィンドウを動かす事は許されてはいるが、 避
けるべきである。
subwin関数は与えられた行数 nlines、列数 ncols
の 新 規ウィンドウを生成し、そのポインタを返す。ウィンドウはスクリーン
上(begin_y, begin_x)にある。 (この位置はスクリーンに対して相対的なも の
で 、 orig ウィンドウに対してではない。) サブウィンドウは orig ウィンド
ウの中心で生成され、一方のウィンドウへの変更は双方のウィンドウに対し て
影 響を及ぼす。サブウィンドウは orig ウィンドウとメモリを共有する。この
関数を使用する際には、サブウィンドウ上で wrefresh を呼ぶ前に
orig上で touchwin 又は touchline を呼ぶ必要がある。
derwin関数は subwin を呼ぶのと同様であり、begin_y と
begin_x がスクリーンではなく orig
ウィンドウに相対的である点を除いては、サブウィンドウとの違いはない。
mvderwin関数は親ウィンドウ内部で得られるウィンドウ(あるいはサブウィンド
ウ)を動かす。スクリーンに対して相対的であるウィンドウの引数は変更されな
い。この関数はスクリーン上で物理的に同じ位置にある親ウィンドウとの差 異
点を描画するのに使用される。
dupwin関数は win ウィンドウの正確な複製を生成する。
wsyncup関数は win で変更がなされた win の祖先のあらゆる位置情報を更新す
る。もし syncok が第二引数として TRUE とともに呼び出されたらならば、 ウ
ィンドウに変更があるときはいつでも wsyncup が自動的に呼ばれる。
wsyncdown 関数は祖先のウィンドウの変更点を win へと反映する。この関数は
wrefresh により呼び出され、手動で呼び出す必要はないはずだ。
wcursyncup関数はウィンドウのカーソル位置を反映するために、全ての祖先 の
ウィンドウのカーソル位置を更新する。
返り値
整数を返す関数は整数値 ERR を失敗時点で返し、OK (SVr4 では
"ERR以外の整数値"と明記。)を成功時に返す。
注意
ウ ィンドウへ多くの些細な変更がなされた場合、wsyncup オプションはパフォ
ーマンスの低下をもたらす。
syncok がマクロかも知れないことに注意。
バグ
サブウィンド ウ 関 数(subwin, derwin, mvderwin, wsyncup, wsyncdown,
wcursyncup, syncok)は不完全な実装であり、充分にテストがなされていない。
System V curses 文書は wsyncup 及び wsyncdown
の実際の振る舞いについて非常に不明瞭である。これらは単に祖先の変更によ
り 影響を受ける行を更新することになっているようである。ここでの言語、お
よび curses の実装の振る舞いは XPG4 curses 標準に準拠している。 XPG4 仕
様は遅々としながらも更新されるかもしれない。
移植性
XSI Curses 準拠、第4章でこれらの関数について既述がある。
関連項目
curses(3X), curs_refresh(3X), curs_touch(3X)
curs_window(3X)