EN JA
curs_clear(3X)
curs_clear(3X) curs_clear(3X)

名称

erase, werase, clear, wclear, clrtobot, wclrtobot, clrtoeol, wclrtoeol - curses ウィンドウのすべてまたは一部をクリアする

書式

# include <curses.h>
 
int erase(void);
 
int werase(WINDOW *win);
 
int clear(void);
 
int wclear(WINDOW *win);
 
int clrtobot(void);
 
int wclrtobot(WINDOW *win);
 
int clrtoeol(void);
 
int wclrtoeol(WINDOW *win);
 

解説

erasewerase ルーチンは、ウィンドウの各位置に空白をコピーして画面をクリアします。

clearwclear ルーチンは、 erasewerase に似ていますが、画面が、そのウィンドウのための wrefresh の次に呼び出しで完全にクリアされ、最初から再描画できるように、 clearok も呼び出します。

clrtobotwclrtobot ルーチンは、カーソルから画面の終りまでを削除します。すなわち、ウィンドウ内のカーソルより下のすべての行を削除します。また、カーソルの右にある現在の行も含めて削除されます。

clrtoeolwclrtoeol ルーチンは、現在の行の終りも含めてカーソルの右の現在の行を削除します。

削除によって作成された空白は、それらにマージされた ( wbkgdset によって設定されたように) 現在のバックグラウンド表現があります。

戻り値

すべてのルーチンは、成功すれば整数 OK を返し、失敗すれば ERR を返します。 SVr4.0 マニュアルには、"または、 immedok が設定されているなら、負でない整数"と書いていますが、これは、間違いと思われます。

X/Open は、エラー条件を何も定義していません。この実装では、ウィンドウのポインタのパラメータを使用する関数は、それが NULL であるなら、エラーを返します。

erase, werase, clear, wclear, clrtobotclrtoeol は、マクロであるかもしれないことに注意してください。

移植性

これら関数は、XSI Curses standard, Issue 4 に記述されています。標準は、それらが失敗すれば ERR を返すことを明記していますが、エラー条件を明記していません。

いくつかの歴史的な curses 実装は、文書化されていない機能として、 touchwin(stdscr) または clear(stdscr) によると、 clearok(..., 1) と等しいことを行う能力があります。これは、ncurses で動作しません。

この実装と他の Solaris のようなものは、 werase()wclear() を通して削除した後に、現在の位置を 0,0 に設定します。その実際は、他の実装で文書化されていませんし、 SVr4 ソースに由来しない実装に関しても分かりません。

説明からは明白ではありませんが、ほとんどの実装は、サブウィンドウまたは派生しているウィンドウだとしても、 wclear の後に画面をクリアします。利用者が、次の wrefresh の間に画面をクリアしたくないなら、代わりに werase を使用します。

関連項目

curses(3X), curs_outopts(3X), curs_refresh(3X)