Man page - curs_window(3)
Manual
curs_window
名 前書 式
説 明
返 り 値
注 意
バ グ
移 植 性
関 連 項 目
名 前
newwin , delwin , mvwin , subwin , derwin , mvderwin , dupwin , wsyncup , syncok , wcursyncup , wsyncdown - curses ウ ィ ン ド ウ を 生 成 。
書 式
#include <curses.h>
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)