curs_border(3x) curs_border(3x)
border, wborder, box, hline, whline, vline, wvline,
mvhline, mvwhline, mvvline, mvwvline
- curses 文字を使った枠線・水平線・垂直線の作成
#include <curses.h>
int border(chtype ls, chtype rs, chtype ts, chtype bs,
chtype tl, chtype tr, chtype bl, chtype br);
int wborder(WINDOW *win, chtype ls, chtype rs,
chtype ts, chtype bs, chtype tl, chtype tr,
chtype bl, chtype br);
int box(WINDOW *win, chtype verch, chtype horch);
int hline(chtype ch, int n);
int whline(WINDOW *win, chtype ch, int n);
int vline(chtype ch, int n);
int wvline(WINDOW *win, chtype ch, int n);
int mvhline(int y, int x, chtype ch, int n);
int mvwhline(WINDOW *, int y, int x, chtype ch, int n);
int mvvline(int y, int x, chtype ch, int n);
int mvwvline(WINDOW *, int y, int x, chtype ch, int n);
border, wborder, box ルーチンは、ウインドウの縁に沿って
四角を描きます。
ウインドウ以外の各引数は、次の位置に来る文字です。
ls - 左側
rs - 右側
ts - 上側
bs - 下側
tl - 左上隅
tr - 右上隅
bl - 左下隅
br - 右下隅
これらの引数のどれかがゼロの場合、代わりに対応する
(curses.h で定義されている) 次のデフォルト値が使われます。
ACS_VLINE,
ACS_VLINE,
ACS_HLINE,
ACS_HLINE,
ACS_ULCORNER,
ACS_URCORNER,
ACS_LLCORNER,
ACS_LRCORNER.
訳注: これら罫線文字の定数は curs_addch(3x) 参照
box(win, verch, horch) は次の呼び出しの短縮形です。
wborder(win, verch, verch, horch, horch, 0, 0, 0, 0)
hline と whline 関数は、ウインドウ内のカーソルの現在位置から
ch を使って (左から右へ) 水平線を描きます。
カーソルの現在位置は変化しません。
線の長さは最大 n 文字、またはウインドウ内に収まるまでと
なります。
vline と wvline 関数は、ウインドウ内のカーソルの現在位置から
ch を使って (上から下へ) 垂直線を描きます。
カーソルの現在位置は変化しません。
線の長さは最大 n 文字、またはウインドウ内に収まるまでと
なります。
すべてのルーチンは整数 OK を返します。
SVr4.0 マニュアルには「または、immedok がセットされている
場合は、負でない整数」と書かれていますが、これは誤って
いるようです。
X/Open はエラーの条件を何も定義していません。
この実装では、ウインドウ・ポインタがヌルのときにエラーを
返します。
mv で始まる関数は、最初に wmove を使用してカーソルを移動し、
位置がウインドウの外だった場合、またはウインドウ・ポインタが
ヌルの場合にエラーを返します。
訳注: エラーとして何を返すかは書かれていません。
これらの関数が作成する枠線は、ウインドウの内枠です。
(これは SVr4 curses でも事実ですが、明記されていません。)
border と box はマクロであるかもしれないことに注意して
ください。
XSI Curses standard, Issue 4 はこれらの関数を記載しており、
失敗のとき ERR を返すと明記していますが、エラーの条件を何も
指定していません。
curses(3x), curs_outopts(3x).
訳注: 複合文字と表示属性を使う対応する関数群は
curs_border_set(3x) で説明しています。
curs_border(3x)