総合手引 | セクション 3 | English | オプション |
int clearok(WINDOW *win, bool bf);
int idlok(WINDOW *win, bool bf);
void idcok(WINDOW *win, bool bf);
void immedok(WINDOW *win, bool bf);
int leaveok(WINDOW *win, bool bf);
int setscrreg(int top, int bot);
int wsetscrreg(WINDOW *win, int top, int bot);
int scrollok(WINDOW *win, bool bf);
int nl(void);
int nonl(void);
clearok ルーチンを有効にすると (bf を TRUE にすると ) 、次にこの ウィンドウで wrefresh を呼び出した場合、画面は完全にクリアされ、画面全体が 最初から再描画されます。画面の内容が不確実であるか、より良い視覚効果を出す 場合に便利です。 clearok の引数 win がグローバル変数 curscr である場合、次に任意のウィンドウで wrefresh を呼び出すと、画面がクリアされて最初から再描画されます。
idlok ルーチンを有効にすると (bf を TRUE にすると ) 、 ncurses は、 端末の行挿入 / 削除機能を備わっているものとして使用します。無効にすると (bf を FALSE にすると ) 、 ncurses はこの機能をほとんど使用しません。 ( 文字の挿入 / 削除機能は常に考慮されます。 ) たとえば画面エディタなど、行の挿入 / 削除が 必要なアプリケーションのみで、このオプションを有効にしてください。行の挿入 / 削除が本当に必要でないアプリケーションでは、行の挿入 / 削除が見た目を害する 傾向にあるので、デフォルトでは無効になっています。行の挿入 / 削除機能が 使用できない場合、 ncurses は、すべての行の変更された部分を再描画します。
idcok ルーチンを有効にすると (bf を TRUE にすると ) 、 ncurses は、端末のキャラクタ挿入 / 削除機能を備わっているものとして使用します。デフォルト では有効になっています。
immedok ルーチンを有効にすると (bf を TRUE にすると ) 、 waddch 、 wclrtobot 、 wscrl などでウィンドウのイメージが変更された場合、 wrefresh が 自動的に呼び出されます。 wrefresh が繰り返し呼び出されるので、パフォーマンス は大幅に低下します。デフォルトでは無効になっています。
通常の場合、ハードウェアカーソルは、リフレッシュされた ウィンドウカーソルの場所に残ります。 leaveok オプションでは、更新したときの 場所にカーソルを残せます。カーソルの移動が必要なくなるため、カーソルを 使用しないアプリケーションで便利です。このオプションを有効にすると、可能な 場合はカーソルを非表示にできます。
setscrreg ルーチンと wsetscrreg ルーチンを使用すると、 アプリケーションプログラマは、ウィンドウでソフトウェアスクローリング領域を 設定できます。 top と bot は、スクローリング領域の上下マージンの行番号です。 ( ウィンドウの最初の行は 0 です。 ) このオプションと scrollok を有効にした 場合は、下マージンの行の先へ移動しようとすると、 スクローリング領域のすべての行は 1 行上にスクロールされます。スクロール されるのは、ウィンドウのテキストのみです。 (VT100 のような、端末の物理的な スクローリング領域機能の使用とは関係ないことに注意してください。 idlok を有効にすると、端末にスクローリング領域機能か行の挿入 / 削除機能がある場合は、 出力ルーチンでこれらの機能が使用されることがあります。 )
scrollok オプションは、最終行での改行アクション、または最終行での 最終キャラクタの入力により、ウィンドウのカーソルがウィンドウか スクローリング領域の端を越えた場合の対処法を制御します。無効にすると (bf を FALSE にすると ) 、カーソルは最終行に残ります。有効にすると (bf を TRUE にすると ) 、 wrefresh がウィンドウで呼び出され、物理的な端末とウィンドウは 1 行上にスクロールされます。 [ 端末で物理的なスクロール効果を出すには、 idlok も呼び出す必要があることに注意してください。 ]
nl ルーチンと nonl ルーチンは、出力時に改行をキャリッジリターンと ラインフィードに変換するかどうか、および入力時にリターンを改行に 変換するかどうかを制御します。最初は変換が行なわれます。 nonl で変換を無効にすると、 ncurses はラインフィード機能をより良く使用できるようになり、 カーソルの動きが速くなります。
immedok ルーチンは、端末エミュレータとして使用するウィンドウで 便利です。
curs_outopts (3) |
総合手引 | セクション 3 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Unix is the answer, but only if you phrase the question very carefully. | ” |
— Belinda Asbell |