# curs_border.3x - Man Page

draw borders and lines in a curses window of characters

## Synopsis

#include <curses.h> int border(chtypels, chtypers, chtypets, chtypebs, chtypetl, chtypetr, chtypebl, chtypebr); int wborder(WINDOW *win, chtypels, chtypers, chtypets, chtypebs, chtypetl, chtypetr, chtypebl, chtypebr); int box(WINDOW *win, chtypeverch, chtypehorch); int hline(chtypech, intn); int whline(WINDOW *win, chtypech, intn); int vline(chtypech, intn); int wvline(WINDOW *win, chtypech, intn); int mvhline(inty, intx, chtypech, intn); int mvwhline(WINDOW *win, inty, intx, chtypech, intn); int mvvline(inty, intx, chtypech, intn); int mvwvline(WINDOW *win, inty, intx, chtypech, intn);

## Description

The **border**, **wborder** and **box** routines draw a box around the edges of a window. Other than the window, each argument is a 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:

**ACS_VLINE**,**ACS_VLINE**,**ACS_HLINE**,**ACS_HLINE**,**ACS_ULCORNER**,**ACS_URCORNER**,**ACS_LLCORNER**,**ACS_LRCORNER**.

**box(***win***,** *verch***,** *horch***)** is a shorthand for the following call: **wborder(***win***,** *verch***,** *verch***,** *horch***,** *horch***, 0, 0, 0, 0)**.

The **hline** and **whline** functions draw a horizontal (left to right) line using *ch* starting at the current cursor position in the window. The current cursor position is not changed. The line is at most *n* characters long, or as many as fit into the window.

The **vline** and **wvline** functions draw a vertical (top to bottom) line using *ch* starting at the current cursor position in the window. The current cursor position is not changed. The line is at most *n* characters long, or as many as fit into the window.

## Return Value

All routines return the integer **OK**. The SVr4.0 manual says “or a non-negative integer if **immedok** is set”, but this appears to be an error.

X/Open Curses does not specify any error conditions. This implementation returns **ERR** if the window pointer is null.

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

## Notes

The borders generated by these functions are *inside* borders (this is also true of SVr4 curses, though the fact is not documented).

Note that **border** and **box** may be macros.

## Portability

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

## See Also

**curses**(3X), **curs_outopts**(3X)

## Referenced By

The man pages border.3x(3), box.3x(3), hline.3x(3), mvhline.3x(3), mvvline.3x(3), mvwhline.3x(3), mvwvline.3x(3), vline.3x(3), wborder.3x(3), whline.3x(3) and wvline.3x(3) are aliases of curs_border.3x(3).