EN JA
curs_overlay(3X)
curs_overlay(3X) curs_overlay(3X)

名称

overlay, overwrite, copywin - オーバラップした curses ウィンドウのオーバレイと操作

書式

#include <curses.h>
 
int overlay(const WINDOW *srcwin, WINDOW *dstwin);
 
int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
 
int copywin(const WINDOW *srcwin, WINDOW *dstwin, int sminrow,
int smincol, int dminrow, int dmincol, int dmaxrow,
int dmaxcol, int overlay);

解説

overlayoverwrite ルーチンは、 dstwin の上端で srcwin をオーバレイします。 scrwindstwin は、同じサイズであることは要求されません。 2 つのウィンドウがオーバラップするテキストだけがコピーされます。違いは、 overlay が破壊的でない (空白は、コピーされません) のに対し、 overwrite は、破壊的です。

copywin ルーチンは、 overlayoverwrite ルーチンを越える細かい精度の制御を提供します。 prefresh ルーチンのように、長方形は、送り先のウィンドウ ( dminrow, dmincol) と ( dmaxrow, dmaxcol)、と送り元のウィンドウの左上のコーナー (角) の座標 ( sminrow, smincol) で指定されます。引数 overlaytrue であるなら、 overlay のようにコピーは、破壊的ではありません。

戻り値

整数を返すルーチンは、失敗すると ERR を返し、成功して終了すれば、 OK (SVr4 は、" ERR 以外の整数値"とだけ明記されています) を返します。

X/Open は、エラー条件を何も定義していません。この実装で、 copywin, overlayoverwrite は、ウィンドウのポインタのいずれかが NULL である、またはウィンドウのいくつかの部分が画面の外に位置するなら、エラーを返します。

overlayoverwrite は、マクロであるかもしれないことに注意してください。

移植性

XSI Curses standard, Issue 4 は、(const 修飾子を加えて) これらの関数を記述しています。さらに、(まだこの実装でサポートされていない) マルチバイト表現の文字が存在するところで、それらの振る舞いを明記しています。

関連項目

curses(3X), curs_pad(3X), curs_refresh(3X)