# curs_border

## NAME



           **border** , **wborder** , **box** , **hline** , **whline** , **vline** , **wvline** , **mvhline** ,
           **mvwhline** , **mvvline** , **mvwvline** - create **curses** borders, horizontal
           and vertical lines
    


## SYNOPSIS



           **#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 ***_win_**, int** _y_**, int** _x_**, chtype** _ch_**, int** _n_**);**
           **int mvvline(int** _y_**, int** _x_**, chtype** _ch_**, int** _n_**);**
           **int mvwvline(WINDOW ***_win_**, int** _y_**, int** _x_**, chtype** _ch_**, int** _n_**);**
    


## 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  win‐
           dow.   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 win‐
           dow.  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 does not define any error conditions.  This  implementation
           returns an error if the window pointer is null.
    
           Functions with a “mv” prefix first perform a cursor movement using
           **wmove** ,  and return an error if the position is outside the window,
           or if the window pointer is null.
    


## 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 the XSI Curses standard, Issue 4.
           The standard specifies that they return **ERR** on failure, but speci‐
           fies no error conditions.
    


* * *