curs_clear(3X) | curs_clear(3X) |
名称
erase, werase, clear, wclear, clrtobot, wclrtobot, clrtoeol, wclrtoeol - curses ウィンドウのすべてまたは一部をクリアする書式
# include <curses.h>解説
erase と werase ルーチンは、ウィンドウの各位置に空白をコピーして画面をクリアします。clear と wclear ルーチンは、 erase と werase に似ていますが、画面が、そのウィンドウのための wrefresh の次に呼び出しで完全にクリアされ、最初から再描画できるように、 clearok も呼び出します。
clrtobot と wclrtobot ルーチンは、カーソルから画面の終りまでを削除します。すなわち、ウィンドウ内のカーソルより下のすべての行を削除します。また、カーソルの右にある現在の行も含めて削除されます。
clrtoeol と wclrtoeol ルーチンは、現在の行の終りも含めてカーソルの右の現在の行を削除します。
削除によって作成された空白は、それらにマージされた ( wbkgdset によって設定されたように) 現在のバックグラウンド表現があります。
戻り値
すべてのルーチンは、成功すれば整数 OK を返し、失敗すれば ERR を返します。 SVr4.0 マニュアルには、"または、 immedok が設定されているなら、負でない整数"と書いていますが、これは、間違いと思われます。X/Open は、エラー条件を何も定義していません。この実装では、ウィンドウのポインタのパラメータを使用する関数は、それが NULL であるなら、エラーを返します。
注
erase, werase, clear, wclear, clrtobot と clrtoeol は、マクロであるかもしれないことに注意してください。移植性
これら関数は、XSI Curses standard, Issue 4 に記述されています。標準は、それらが失敗すれば ERR を返すことを明記していますが、エラー条件を明記していません。いくつかの歴史的な curses 実装は、文書化されていない機能として、 touchwin(stdscr) または clear(stdscr) によると、 clearok(..., 1) と等しいことを行う能力があります。これは、ncurses で動作しません。
この実装と他の Solaris のようなものは、 werase() と wclear() を通して削除した後に、現在の位置を 0,0 に設定します。その実際は、他の実装で文書化されていませんし、 SVr4 ソースに由来しない実装に関しても分かりません。
説明からは明白ではありませんが、ほとんどの実装は、サブウィンドウまたは派生しているウィンドウだとしても、 wclear の後に画面をクリアします。利用者が、次の wrefresh の間に画面をクリアしたくないなら、代わりに werase を使用します。