# curs_border_set 3x 2025-10-20 ncurses 6.6 Library calls

    curs_border_set(3x)              Library calls             curs_border_set(3x)

## NAME

           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

## SYNOPSIS

           #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);

## DESCRIPTION

           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.

## RETURN VALUE

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

           Functions using a window parameter return ERR if it is null.

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

## NOTES

           border_set,   hline_set,   mvhline_set,   mvvline_set,    mvwhline_set,
           mvwvline_set, and vline_set may be implemented as macros.

## PORTABILITY

           X/Open Curses Issue 4 describes these functions.  It specifies no error
           conditions for them.

## HISTORY

           X/Open Curses Issue 4 (1995) initially specified these functions.

## SEE ALSO

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

    ncurses 6.6                       2025-10-20               curs_border_set(3x)