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)