Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curs_border(3X) 		  Library calls 		 curs_border(3X)

NAME
     border,  wborder,	box,  hline,  whline,  vline, wvline, mvhline, mvwhline,
     mvvline, mvwvline - draw borders and lines in a curses window of characters

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 mvhline(int y, int x, chtype ch, int n);
     int mvwhline(WINDOW *win, int y, int x, chtype ch, int n);

     int vline(chtype ch, int n);
     int wvline(WINDOW *win, 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
     wborder and border draw a box at the  edges  of  the  specified  window  or
     stdscr, respectively.  Each chtype argument corresponds to a geometric com-
     ponent of the border as follows:
	    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 chtype argument is 0, then curses uses forms-drawing characters (see
     addch(3X)) in the following correspondence:
	    ACS_VLINE,
	    ACS_VLINE,
	    ACS_HLINE,
	    ACS_HLINE,
	    ACS_ULCORNER,
	    ACS_URCORNER,
	    ACS_LLCORNER, and
	    ACS_LRCORNER.

     box(win,  verch, horch) is shorthand for "wborder(win, verch, verch, horch,
     horch, 0, 0, 0, 0)".

     whline draws a horizontal line of ch from left to right, and wvline a  ver-
     tical one from top to bottom, stopping once n characters have been drawn or
     upon  reaching the boundary of win.  These functions do not update the cur-
     sor  position  (beyond  any  motion  directed  by	their  "mv"   variants).
     ncurses(3X) describes the variants of these functions.

RETURN VALUE
     These functions return OK on success and ERR on failure.

     In ncurses,

     *	 these functions fail if the screen is not initialized; and

     *	 functions  taking  a  WINDOW  pointer	argument  fail	if win is a null
	 pointer.

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

NOTES
     Unusually,  there is no wbox function; box behaves as one would expect wbox
     to, accepting a WINDOW pointer argument.

     border, box, hline, mvhline, mvwhline, vline, mvvline, and mvwvline may  be
     implemented as macros.

     Borders drawn by these functions are interior borders.

PORTABILITY
     These  functions  are  described in X/Open Curses Issue 4.  It specifies no
     error conditions for them.

     SVr4 documentation says that these functions return OK "or  a  non-negative
     integer  if immedok() is set", referring to the return value from wrefresh,
     which in SVr4 returns a count of characters written to the  window  if  its
     immedok property is set; in ncurses, it does not.

     BSD  curses  drew	boxes  with horch in every character cell of the top and
     bottom lines of the window, whereas SVr3.1 and later  curses,  because  its
     box wrapped wborder, used the default corner characters.

HISTORY
     4BSD (1980) introduced box, defining it as a function.

     SVr3.1 (1987) added whline and wvline and their variants, as well as border
     and wborder, redefining box as a macro wrapping the latter.

SEE ALSO
     curses(3X), curs_outopts(3X)

ncurses 6.6			   2025-10-20			 curs_border(3X)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curs_border&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help