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)