curs_addch(3X) | curs_addch(3X) |
名称
addch, waddch, mvaddch, mvwaddch, echochar, wechochar - (属性を付けて) 文字を curses ウィンドウに追加して、カーソルを進める書式
#include <curses.h>int addch(const chtype ch);
int waddch(WINDOW *win, const chtype ch);
int mvaddch(int y, int x, const chtype ch);
int mvwaddch(WINDOW *win, int y, int x, const chtype ch);
int echochar(const chtype ch);
int wechochar(WINDOW *win, const chtype ch);
解説
addch, waddch, mvaddch と mvwaddch ルーチンは、現在のウィンドウ位置の与えられたウィンドウに文字 ch を置き、その位置を前進させます。これらは、 stdio(3) の putchar に類似しています。前進が右マージンであるなら、カーソルは、自動的に次の行の先頭に折り返します。現在のスクロール領域の下端で、 scrollok が有効であるなら、スクロール領域は、1 行だけ上にスクロールします。ch がタブ、改行、またはバックスペースであるなら、カーソルは、ウィンドウ内で適切に移動されます。バックスペースは、カーソルを 1 文字左に移動します。ウィンドウの左端なら、何も行いません。改行は、 clrtoeol を行い、次の行のウィンドウの左マージンにカーソルを移動し、最後の行であるなら、ウィンドウをスクロールします。タブは、8 カラムごとにあると見なされます。 TABSIZE 変数を設定することによってタブの間隔を変更することができます。
ch がタブ、改行またはバックスペース以外の制御文字であるなら、 ^X 表記で描画されます。制御文字を追加した後に winch を呼び出すと、文字そのものは返りませんが、代わりに制御文字の ^-表現が返されます。
ビデオ属性は、文字に論理和 (OR) することによって、 addch または関連する関数に渡された文字引数と組み合わすことができます。 (従って、属性を含むテキストを inch と addch を使用して、ある場所から別の場所にコピーすることができます。) 文字に論理和 (OR) して役立てることができる、事前に定義されたビデオ属性の定数の値については、 curs_attr(3X) のページを参照してください。
echochar と wechochar ルーチンは、 addch の呼び出しに続いて refresh の呼び出し、または waddch の呼び出しに続いて wrefresh の呼び出しと同等です。単一文字だけが出力されている知識が使用され、非制御文字については、それらの同等なものの代わりに、これらのルーチンを使用することによってかなりの性能向上が、見込まれるかもしれません。
行グラフィックス
addch ファミリのルーチンで、行描画文字を画面に追加するために次の変数を使用することができます。以下にリストされたデフォルトの文字は、 acsc ケーパビリティが端末特有の置換を定義していないなら、使用されます。名前は、VT100 用語から取られます。名前 | デフォルト | 説明 |
ACS_BLOCK | # | 無地の正方形のブロック |
ACS_BOARD | # | 正方形のボード |
ACS_BTEE | + | 下端の T 型 |
ACS_BULLET | o | 中黒 |
ACS_CKBOARD | : | チェッカボード (点描) |
ACS_DARROW | v | 下向き矢印 |
ACS_DEGREE | ' | 度数のシンボル |
ACS_DIAMOND | + | ダイアモンド |
ACS_GEQUAL | > | より大きいか等しい |
ACS_HLINE | - | 水平線 |
ACS_LANTERN | # | ランタンシンボル |
ACS_LARROW | < | 左向き矢印 |
ACS_LEQUAL | < | より小さいか等しい |
ACS_LLCORNER | + | 左下角 |
ACS_LRCORNER | + | 右下角 |
ACS_LTEE | + | 左の T 型 |
ACS_NEQUAL | ! | 不等号 |
ACS_PI | * | ギリシャ文字パイ |
ACS_PLMINUS | # | プラス/マイナス |
ACS_PLUS | + | プラス |
ACS_RARROW | > | 右向き矢印 |
ACS_RTEE | + | 右の T 型 |
ACS_S1 | - | 走査線 1 |
ACS_S3 | - | 走査線 3 |
ACS_S7 | - | 走査線 7 |
ACS_S9 | _ | 走査線 9 |
ACS_STERLING | f | ポンド通貨シンボル |
ACS_TTEE | + | 上端の T 型 |
ACS_UARROW | ^ | 上向き矢印 |
ACS_ULCORNER | + | 左上角 |
ACS_URCORNER | + | 右上角 |
ACS_VLINE | | | 垂直線 |
戻り値
すべてのルーチンは、失敗すると整数 ERR を返し、そうでなければ前のルーチンで説明されている注記を除いて、成功して終了すれば、 OK (SVr4 マニュアルは、" ERR 以外の整数値"とだけ明記されています) を返します。注
addch, mvaddch, mvwaddch と echochar は、マクロであるかもしれないことに注意してください。移植性
これらすべての関数は、XSI Curses standard, Issue 4 に記述されています。形状-描画文字のために指定されたデフォルトは、POSIX のロケールを適用します。いくつかの ACS シンボル (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI, ACS_NEQUAL, ACS_STERLING) は、公的にリリースされた System V で文書化されていません。しかしながら、多くの公的に利用できる terminfo は、キー文字 (pryz{|}) が組み込まれた acsc 文字列が含まれ、それらの文字の説明の中古のリストは、明らかになっています。 ACS- 接頭辞の名前は、 ncurses(3X) のために生み出されました。
TABSIZE 変数は、curses のいくつかのバージョンで実装されていますが、 X/Open curses の一部ではありません。
ch が復帰改行であるなら、カーソルは、ウィンドウの現在の行の始まりに移動されます。これは、他の実装についてもいえますが、文書化されていません。
関連項目
curses(3X), curs_attr(3X), curs_clear(3X), curs_inch(3X), curs_outopts(3X), curs_refresh(3X), putc(3).ワイド文字 (ncursesw) ライブラリの同等の関数は、 curs_add_wch(3X) に説明されています。