newpad, subpad, prefresh, pnoutrefresh, pechochar - create and display ncurses pads |
#include <ncurses.h> WINDOW *newpad(int nlines, int ncols); |
newpad ルーチンは、指定された数の行 nlines と列 ncols がある新しいパッ ドデータ構造を指すポインタを作成し返します。パッドはウィンドウに類似 し て いますが、画面サイズによって制限されない点、画面の特定の部分に必ずし も対応していない点は異なります。パッドが使用できるのは、大きなウィン ド ウ が必要であり、一度にウィンドウの一部だけが画面に表示されるときです。 パッドの自動的なリフレッシュ ( たとえば、スクロールまたは入力のエコーか ら ) は発生しません。 pad を引数として wrefresh を呼び出すのは正しくあ りません。代わりに、ルーチン prefresh またはルーチン pnoutrefresh を 呼 び 出す必要があります。表示されるパッドの一部、および表示に使用される画 面上の位置を指定する追加のパラメータがこれらのルーチンには必要である こ とに注意してください。 subpad ルーチンは、パッド内の指定数の行 nlines と列 ncols があるパッド 内のサブウィンドウを指すポインタを作成し返します。画面座標を使 用 す る subwin と異なり、ウィンドウはパッド上の位置 (begin_x, begin_y) にありま す。ウィンドウはウィンドウ orig の中央に作成されるので、 1 つのウィンド ウ について行われた変更は両方のウィンドウに影響を及ぼします。このルーチ ンの使用の間、 prefresh を呼び出す前に orig 上 で touchwin ま た は touchline を呼び出すことがしばしば必要になります。 prefresh ルー チ ン お よび pnoutrefresh ルーチンは、 wrefresh および wnoutrefresh と類似していますが、ウィンドウではなくパッドに関連している 点 は異なります。パッドと画面のどの部分が関連しているのかを示すために、 追加のパラメータが必要です。 pminrow と pmincol はパッド内で表示され る 長 方 形 の 左上コーナーを指定します。 sminrow 、 smincol 、 smaxrow 、 smaxcol は、画面に表示される長方形のエッジを指定します。パッド内に表 示 さ れる長方形の右下コーナーは、画面座標から計算されます。長方形は同じサ イズでなければならないからです。両方の長方形が、それぞれの構造の内部 に 完全に入れられる必要があります。 pminrow 、 pmincol 、 minrow 、 smincol の値が負の場合は、ゼロであるか のように処理されます。 pechochar ルーチンは、 addch の呼び出しの後の refresh の 呼 び 出 し、 waddch の呼び出しの後の wrefresh の呼び出し、または waddch の呼び出しの 後の prefresh の呼び出しと機能的に同等です。 1 文字しか出力されないとい う 知識を考慮に入れ、制御文字でないキャラクタについては、同等のルーチン ではなくこれらのルーチンを使用することによって、相当な性能の向上が見 ら れ 可 能性があります。 pechochar の場合、画面上のパッドの最後の位置が、 prefresh への引数として再使用されます。 |
整数を返すルーチンは、処理失敗すると ERR を返してきます。処理が正常に完 了した場合は、 ERR 以外の整数値を返します。 ポインタを返すルーチンはエラーがあった場合は NULL を返してきます。 |
pechochar はマクロである可能性があることに注意してください。 |
ncurses(3), curs_refresh(3), curs_touch(3), curs_addch(3) |