.\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border.3x,v 1.11 1999/01/30 23:11:47 tom Exp $
+.\" $Id: curs_border.3x,v 1.23 2018/07/28 21:34:06 tom Exp $
.TH curs_border 3X ""
+.na
+.hy 0
.SH NAME
-\fBborder\fR, \fBwborder\fR, \fBbox\fR,
-\fBhline\fR, \fBwhline\fR, \fBvline\fR, \fBwvline\fR - create
-\fBcurses\fR borders, horizontal and vertical lines
+\fBborder\fR,
+\fBwborder\fR,
+\fBbox\fR,
+\fBhline\fR,
+\fBwhline\fR,
+\fBvline\fR,
+\fBwvline\fR,
+\fBmvhline\fR,
+\fBmvwhline\fR,
+\fBmvvline\fR,
+\fBmvwvline\fR \- create \fBcurses\fR borders, horizontal and vertical lines
+.ad
+.hy
.SH SYNOPSIS
\fB#include <curses.h>\fR
.br
.br
\fBint wvline(WINDOW *win, chtype ch, int n);\fR
.br
-\fBmvhline(int y, int x, chtype ch, int n);\fR
+\fBint mvhline(int y, int x, chtype ch, int n);\fR
.br
-\fBmvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR
+\fBint mvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR
.br
\fBint mvvline(int y, int x, chtype ch, int n);\fR
.br
\fBint mvwvline(WINDOW *, int y, int x, chtype ch, int n);\fR
.br
.SH DESCRIPTION
-The \fBborder\fR, \fBwborder\fR and \fBbox\fR routines draw a box around the
-edges of a window. The argument \fIls\fR is a character and attributes used
-for the left side of the border, \fIrs\fR - right side, \fIts\fR - top side,
-\fIbs\fR - bottom side, \fItl\fR - top left-hand corner, \fItr\fR - top
-right-hand corner, \fIbl\fR - bottom left-hand corner, and \fIbr\fR - bottom
-right-hand corner. If any of these arguments is zero, then the following
-default values (defined in \fBcurses.h\fR) are used instead: \fBACS_VLINE\fR,
-\fBACS_VLINE\fR, \fBACS_HLINE\fR, \fBACS_HLINE\fR, \fB\fBACS_ULCORNER\fR,
-\fBACS_URCORNER\fR, \fBACS_LLCORNER\fR, \fBACS_LRCORNER\fR.
-
+The \fBborder\fR, \fBwborder\fR and \fBbox\fR routines
+draw a box around the edges of a window.
+Other than the window, each argument is a character with attributes:
+.sp
+.RS
+\fIls\fR \- left side,
+.br
+\fIrs\fR \- right side,
+.br
+\fIts\fR \- top side,
+.br
+\fIbs\fR \- bottom side,
+.br
+\fItl\fR \- top left-hand corner,
+.br
+\fItr\fR \- top right-hand corner,
+.br
+\fIbl\fR \- bottom left-hand corner, and
+.br
+\fIbr\fR \- bottom right-hand corner.
+.RE
+.PP
+If any of these arguments is zero, then the corresponding
+default values (defined in \fBcurses.h\fR) are used instead:
+.sp
+.RS
+\fBACS_VLINE\fR,
+.br
+\fBACS_VLINE\fR,
+.br
+\fBACS_HLINE\fR,
+.br
+\fBACS_HLINE\fR,
+.br
+\fBACS_ULCORNER\fR,
+.br
+\fBACS_URCORNER\fR,
+.br
+\fBACS_LLCORNER\fR,
+.br
+\fBACS_LRCORNER\fR.
+.RE
+.PP
\fBbox(\fR\fIwin\fR\fB, \fR\fIverch\fR\fB, \fR\fIhorch\fR\fB)\fR is a shorthand
for the following call: \fBwborder(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB,\fR
\fIverch\fR\fB,\fR \fIhorch\fR\fB,\fR \fIhorch\fR\fB, 0, 0, 0, 0)\fR.
-
+.PP
The \fBhline\fR and \fBwhline\fR functions draw a horizontal (left to right)
-line using \fIch\fR starting at the current cursor position in the window. The
-current cursor position is not changed. The line is at most \fIn\fR characters
+line using \fIch\fR starting at the current cursor position in the window.
+The
+current cursor position is not changed.
+The line is at most \fIn\fR characters
long, or as many as fit into the window.
-
+.PP
The \fBvline\fR and \fBwvline\fR functions draw a vertical (top to bottom) line
-using \fIch\fR starting at the current cursor position in the window. The
-current cursor position is not changed. The line is at most \fIn\fR characters
+using \fIch\fR starting at the current cursor position in the window.
+The
+current cursor position is not changed.
+The line is at most \fIn\fR characters
long, or as many as fit into the window.
.SH RETURN VALUE
-All routines return the integer \fBOK\fR. The SVr4.0 manual says "or a
+All routines return the integer \fBOK\fR.
+The SVr4.0 manual says "or a
non-negative integer if \fBimmedok\fR is set", but this appears to be an error.
+.PP
+X/Open does not define any error conditions.
+This implementation returns an error
+if the window pointer is null.
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH NOTES
The borders generated by these functions are \fIinside\fR borders (this
is also true of SVr4 curses, though the fact is not documented).
-
+.PP
Note that \fBborder\fR and \fBbox\fR may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4. Additional
-functions \fBmvhline\fR, \fBmvvline\fR, \fBmvwhline\fR, and \fBmvwvline\fR are
-described there which this implementation does not yet support. The standard
-specifies that they return \fBERR\fR on failure, but specifies no error
-conditions.
+These functions are described in the XSI Curses standard, Issue 4.
+The standard specifies that they return \fBERR\fR on failure,
+but specifies no error conditions.
.SH SEE ALSO
\fBcurses\fR(3X), \fBcurs_outopts\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End: