名前 | 形式 | 機能説明 | 戻り値 | 属性 | 関連項目 | 注意事項
cc [ flag ... ] file ... -lcurses [ library .. ] #include <curses.h>WINDOW *newpad(int nlines, int ncols);
newpad() ルーチンは、nlines と ncols で指定された行数とカラム数からなるパッドデータ構造体を作成し、その構造体へのポインタを返します。パッドはウィンドウに似ていますが、ウィンドウとは異なり、画面のサイズにより制限されたり 画面上の特別な部分に対応したりしているとは限りません。パッドは大きなウィンドウが必要なときに使うことができ、同時にウィンドウの一部だけが画面上に表示されます。パッドに対しては (入力のスクロールやエコーなどからの) 自動 リフレッシュ処理は行われません。引数に pad を指定して wrefresh(3CURSES) を呼び出すことはできませんので、リフレッシュを行いたければ prefresh() または pnoutrefresh() ルーチンを呼び出してください。これらのルーチンに対しては、表示対象とするパッドの部分および 表示に用いる画面の位置を指定するパラメータを与える必要があります。
subpad() ルーチンは、nlines と ncols で指定された行数とカラム数からなるサブウィンドウをパッド内に作成し、そのサブウィンドウへのポインタを返します。 画面上の座標値を用いる subwin(3CURSES) とは異なり、ウィンドウはパッド上の (begin_x, begin_y) に作成されます。また新ウィンドウは元のウィンドウ orig 内に置かれるので、一方のウィンドウで行った修正は他方のウィンドウにも適用されます。本ルーチン使用時には、prefresh() を呼び出す前に orig 上で touchwin(3CURSES) または touchline(3CURSES) を呼び出す必要が生じる場合がよくあります。
prefresh() と pnoutrefresh() の両ルーチンは、wrefresh(3CURSES) と wnoutrefresh(3CURSES) の両ルーチンと同等機能ですが、ウィンドウではなくパッドを処理対象とする点が異なります。これらを呼び出す際、パッドおよび画面のどの部分を対象とするかを指定するパラメータが必要となります。pminrow と pmincol は、パッド中に表示する四角形の左上角の位置を指定します。sminrow、smincol、smaxrow、smaxcol の各引数は、画面に表示する四角形の各辺の位置を指定します。四角形の大きさは常に同じなので、パッド中の四角形右下角の位置は画面座標値から自動的に計算されます。この 2 つの四角形は、ともにそれぞれの構造体の中に完全に納まっていなければなりません。pminrow、pmincol、sminrow、smincol の各引数が負の値のときはゼロと見なされます。
pechochar() ルーチンは、機能的には addch(3CURSES) と refresh(3CURSES)、waddch(3CURSES) と wrefresh(3CURSES)、または waddch(3CURSES) と prefresh() を、それぞれ連続して呼び出すことと同等です。本ルーチンは 1 文字だけしか出力されないことがわかっていることを考慮したもので、さらに非制御文字の場合には、2 つのルーチンを連続して呼び出す場合と比較して パフォーマンスの大幅な向上が期待できます。pechochar() の場合、画面上のパッドの最新の位置が prefresh() への引数として再利用されます。
整数値を返すルーチンは、エラーが発生すれば整数 ERR を返し、正常に終了すれば ERR 以外の整数値を返します。
ポインタを返すルーチンは、エラーが発生すれば NULL を返します。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
MT レベル | Unsafe |
addch(3CURSES), curses(3CURSES), refresh(3CURSES), subwin(3CURSES), touchline(3CURSES), touchwin(3CURSES), waddch(3CURSES), wnoutrefresh(3CURSES), wrefresh(3CURSES), attributes(5)
ヘッダー <curses.h> は自動的に <stdio.h>、<unctrl.h>、および <widec.h> ヘッダーを含みます。
pechochar() はマクロにすることも可能です。