1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
.\" %Id: curs_addch.3,v 1.6 1997/02/22 15:07:39 peter Exp %
.\"
.\" $FreeBSD$
.\"
.TH curs_addch 3 ""
.SH 名称
\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
\fBechochar\fR,
\fBwechochar\fR - 文字を (属性とともに) \fBncurses\fR ウィンドウに追加してから、カーソルを進める
.SH 書式
\fB#include <ncurses.h>\fR
\fBaddch(chtype ch);\fR
.br
\fBwaddch(WINDOW *win, chtype ch);\fR
.br
\fBmvaddch(int y, int x, chtype ch);\fR
.br
\fBmvwaddch(WINDOW *win, int y, int x, chtype ch);\fR
.br
\fBechochar(chtype ch);\fR
.br
\fBwechochar(WINDOW *win, chtype ch);\fR
.br
.SH 解説
\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR
および \fBmvwaddch\fR の各ルーチンは、
指定のウィンドウの現在のウィンドウ位置に文字 \fIch\fR を設定し、
その位置を進行します。
これらは \fBstdio\fR(3) の \fBputchar\fR に類似しています。
進行が右端余白の場合、カーソルは自動的に次の行の先頭にラップします。
\fBscrollok\fR が有効な場合、スクロール領域の下端では、
スクロール領域が 1 行だけ上にスクロールします。
\fIch\fR がタブ、改行、またはバックスペースの場合、
カーソルはウィンドウ内部で適切に移動させられます。
改行は \fBclrtoeol\fR を行ってから移動します。
タブは、8 カラムごとにあると見なされます。
\fIch\fR がタブ、改行、バックスペース以外の制御文字の場合、
それは \fB^\fR\fIX\fR 表記で描かれます。
制御文字を追加した後に \fBwinch\fR を呼び出しても、
制御文字は戻らず、代わりに制御文字の表現が返されます
(制御文字を文字どおり送るには、\fBechochar\fRを使用します)。
ビデオ属性は 1 つの文字と論理和 (OR) を取ることによって、
結合されてパラメータに入れることができます。
この結果、これらの属性も設定されることになります
(ここで意図することは、属性を含めてテキストが、
\fBinch\fR と \fBaddch\fR を使用して、
ある場所から別の場所にコピーできるということです)。
[ curs_attr(3) ページの、定義済みビデオ属性定数である
\fBstandout\fR を参照してください]。
\fBechochar\fR ルーチンと \fBwechochar\fR ルーチンは、
\fBaddch\fR の呼び出しの後に
\fBrefresh\fR の呼び出しが続いたもの、
または \fBwaddch\fR の呼び出しの後に
\fBwrefresh\fR の呼び出しが続いたものと機能的に同等です。
1 つの文字だけが出力されていることを考慮に入れ、
制御文字でない文字の場合は、これらのルーチンを、
同等のものの代わりに使用すると、性能が大幅に向上することがあります。
.SS ライングラフィックス
以降の変数を使用して、\fBaddch\fR ファミリのルーチンで、
ライン描画文字を画面に追加できます。
以下にリストしたデフォルト文字が使用されるのは、
\fBacsc\fR 機能がターミナル固有の代わりのものを定義しない場合です。
名前は VT100 命名法から取ってあります。
.TS
l l l
_ _ _
l l l.
\fl名称\fR \fIデフォルト\fR \fI記述\fR
ACS_ULCORNER + 左上コーナー
ACS_LLCORNER + 左下コーナー
ACS_URCORNER + 右上コーナー
ACS_LRCORNER + 右下コーナー
ACS_RTEE + 右ツリー
ACS_LTEE + 左ツリー
ACS_BTEE + 下端ツリー
ACS_TTEE + 上端ツリー
ACS_HLINE - 水平線
ACS_VLINE | 垂直線
ACS_PLUS + プラス
ACS_S1 - 走査線 1
ACS_S9 \&_ 走査線 9
ACS_DIAMOND + ダイアモンド
ACS_CKBOARD : チェッカーボード (点描)
ACS_DEGREE ' 度のシンボル
ACS_PLMINUS # プラス / マイナス
ACS_BULLET o ブレット
ACS_LARROW < 左向き矢印
ACS_RARROW > 右向き矢印
ACS_DARROW v 下向き矢印
ACS_UARROW ^ 上向き矢印
ACS_BOARD # 正方形のボード
ACS_LANTERN # ランタンのシンボル
ACS_BLOCK # 埋められた正方形のブロック
.TE
.SH 戻り値
ルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。
処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。
ただし、これまでのルーチンの説明で異なるように注記した場合は別です。
.SH バグ
.SH 注釈
\fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR
および \fBechochar\fR はマクロである可能性があります。
386 と 486 のコンソールでは、
\fBwechochar\fR に上位ビットを設定した引数を指定すると、
対応する高さが半分の ASCIIZ グラフィックが生成されます
(SVr4 curses にもこの特徴がありますが、
ドキュメントに記載はされていません)。
しかし、制御文字引数は通常、対応するグラフィックを作成しないものです。
CR, NL, FF および TAB のような文字は、
通常、コンソールドライバ自体によって解釈され、
ESC は制御シーケンスの先頭と解釈されます。
.SH 関連項目
\fBncurses\fR(3),
\fBcurs_attr\fR(3),
\fBcurs_clear\fR(3),
\fBcurs_inch\fR(3),
\fBcurs_outopts\fR(3),
\fBcurs_refresh\fR(3),
\fBputc\fR(3).
|