curs_border_set(3X) Library calls curs_border_set(3X)

border_set, wborder_set, box_set, hline_set, whline_set, mvhline_set, mvwhline_set, vline_set, wvline_set, mvvline_set, mvwvline_set - draw borders and lines in a curses window of wide characters

#include <curses.h>
int border_set(
   const cchar_t *ls, const cchar_t *rs,
   const cchar_t *ts, const cchar_t *bs,
   const cchar_t *tl, const cchar_t *tr,
   const cchar_t *bl, const cchar_t *br);
int wborder_set(
   WINDOW *win,
   const cchar_t *ls, const cchar_t *rs,
   const cchar_t *ts, const cchar_t *bs,
   const cchar_t *tl, const cchar_t *tr,
   const cchar_t *bl, const cchar_t *br);
int box_set(
   WINDOW *win,
   const cchar_t *verch,
   const cchar_t *horch);
int hline_set(
   const cchar_t *wch, int n);
int whline_set(
   WINDOW *win,
   const cchar_t *wch, int n);
int mvhline_set(
   int y, int x,
   const cchar_t *wch, int n);
int mvwhline_set(
   WINDOW *win,
   int y, int x,
   const cchar_t *wch, int n);
int vline_set(
   const cchar_t *wch, int n);
int wvline_set(
   WINDOW *win,
   const cchar_t *wch, int n);
int mvvline_set(
   int y, int x,
   const cchar_t *wch, int n);
int mvwvline_set(
   WINDOW *win,
   int y, int x,
   const cchar_t *wch, int n);

The border_set and wborder_set functions draw a border around the edges of the current or specified window. These functions do not change the cursor position, and do not wrap.

Other than the window, each argument is a complex character with attributes:

ls - left side,
rs - right side,
ts - top side,
bs - bottom side,
tl - top left-hand corner,
tr - top right-hand corner,
bl - bottom left-hand corner, and
br - bottom right-hand corner.

If any of these arguments is zero, then the corresponding default values (defined in curses.h) are used instead:

WACS_VLINE,
WACS_VLINE,
WACS_HLINE,
WACS_HLINE,
WACS_ULCORNER,
WACS_URCORNER,
WACS_LLCORNER, and
WACS_LRCORNER.

box_set(win, verch, horch); is a shorthand for the following call:

wborder_set(win, verch, verch,
horch, horch, NULL, NULL, NULL, NULL);

The *line_set functions use wch to draw a line starting at the current cursor position in the window. The line is at most n characters long or as many as fit into the window. The current cursor position is not changed.

The hline_set, mvhline_set, mvwhline_set, and whline_set functions draw a line proceeding toward the last column of the same line.

The vline_set, mvvline_set, mvwvline_set, and wvline_set functions draw a line proceeding toward the last line of the window.

Upon successful completion, these functions return OK. Otherwise, they return ERR.

Functions using a window parameter return an error if it is null.

Functions prefixed with “mv” first perform cursor movement and fail if the position (y, x) is outside the window boundaries.

Note that border_set, hline_set, mvhline_set, mvvline_set, mvwhline_set, mvwvline_set, and vline_set may be macros.

These functions are described in X/Open Curses, Issue 4.

curses(3X), curs_add_wch(3X), curs_border(3X), curs_outopts(3X)

2024-04-20 ncurses 6.5