名称
newpad, pnoutrefresh, prefresh ― パッド管理関数
構文
#include <curses.h>
WINDOW *newpad(int nlines, int ncols);
int pnoutrefresh(WINDOW *pad, int pminrow, int pmincol, int sminrow,
int smincol, int smaxrow, int smaxcol);
int prefresh(WINDOW *pad, int pminrow, int pmincol, int sminrow,
int smincol, int smaxrow, int smaxcol);
説明
newpad() 関数は、nlines 行 ncols 桁のパッドを表現する特化された WINDOW データ構造を作成します。パッドはウィンドウに類似しています。ただし、パッドは必ずしもスクリーンの目で見える部分との関連性を持ちません。パッドの自動リフレッシュは行われません。
prefresh() と pnoutrefresh() の両関数は、ウィンドウではなくてパッドに関連しているという点を除けば、 wrefresh() と wnoutrefresh() の両関数に類似しています。付け加えられる引き数は、パッドとスクリーンのどの部分が関係しているかを示しています。pminrow と pmincol の両引き数は、パッド内に表示する長方形の原点を指定します。sminrow、smincol、smaxrow、および smaxcol の引き数は、スクリーン上に表示する長方形の頂点を指定します。長方形は同じ大きさにしなければならないので、パッド内に表示する長方形の右下隅の点は、スクリーン座標を元にして計算します。パッド内に表示する長方形は、パッド内に収まっていなければなりません。スクリーン上に表示する長方形は、スクリーン内に収まっていなければなりません。pminrow、pmincol、sminrow、または smincol に負の値を指定すると、ゼロとして取り扱われます。
戻り値
正常に終了すると、 newpad() 関数はパッドデータ構造へのポインターを返します。そうでなければヌルポインターを返します。
正常に終了すると、 pnoutrefresh() と prefresh() は
OK を返します。 そうでなければ ERR を返します。
アプリケーション使用法
パッドをリフレッシュするには、 wrefresh() ではなくて prefresh() または pnoutrefresh() を呼び出します。
パッドを使うため WINDOWS からコードを移植するときは、これらの関数は、さらに別の引き数によって、表示するパッドの部分と表示に使用するスクリーン上の位置を指定する必要があることを忘れないでください。
サブウィンドウとその親パッドは、親パッド内の文字を表現するメモリ領域を共有している場合がありますが、必ずしもパッド内で発生した変化に関するステータス情報を共有しているわけではありません。ですから、パッド内でサブウィンドウを変更した後は、 prefresh() を呼び出す前に
パッド上で touchwin() または touchline() を呼び出す必要がある場合があります。
変更履歴
X/Open Curses 第 2 版にて新規リリース
X/Open
Curses 第 4 版
pnoutrefresh() および prefresh() の両関数は、このエントリーに併合されました。以前の版では、 prefresh() のエントリーに含まれていました。