164 lines
6.3 KiB
Plaintext
164 lines
6.3 KiB
Plaintext
.\"***************************************************************************
|
|
.\" Copyright 2018-2019,2020 Thomas E. Dickey *
|
|
.\" Copyright 1998-2007,2010 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 *
|
|
.\" "Software"), to deal in the Software without restriction, including *
|
|
.\" without limitation the rights to use, copy, modify, merge, publish, *
|
|
.\" distribute, distribute with modifications, sublicense, and/or sell *
|
|
.\" copies of the Software, and to permit persons to whom the Software is *
|
|
.\" furnished to do so, subject to the following conditions: *
|
|
.\" *
|
|
.\" The above copyright notice and this permission notice shall be included *
|
|
.\" in all copies or substantial portions of the Software. *
|
|
.\" *
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
|
|
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
|
|
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
|
|
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
|
|
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
|
|
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
|
|
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
|
.\" *
|
|
.\" Except as contained in this notice, the name(s) of the above copyright *
|
|
.\" holders shall not be used in advertising or otherwise to promote the *
|
|
.\" sale, use or other dealings in this Software without prior written *
|
|
.\" authorization. *
|
|
.\"***************************************************************************
|
|
.\"
|
|
.\" $Id: curs_border.3x,v 1.27 2020/10/18 00:33:06 tom Exp $
|
|
.TH curs_border 3X ""
|
|
.ie \n(.g .ds `` \(lq
|
|
.el .ds `` ``
|
|
.ie \n(.g .ds '' \(rq
|
|
.el .ds '' ''
|
|
.na
|
|
.hy 0
|
|
.SH NAME
|
|
\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
|
|
.sp
|
|
\fBint border(chtype \fP\fIls\fP\fB, chtype \fP\fIrs\fP\fB, chtype \fP\fIts\fP\fB, chtype \fP\fIbs\fP\fB,\fR
|
|
\fBchtype \fP\fItl\fP\fB, chtype \fP\fItr\fP\fB, chtype \fP\fIbl\fP\fB, chtype \fP\fIbr\fP\fB);\fR
|
|
.br
|
|
\fBint wborder(WINDOW *\fP\fIwin\fP\fB, chtype \fP\fIls\fP\fB, chtype \fP\fIrs\fP\fB,\fR
|
|
\fBchtype \fP\fIts\fP\fB, chtype \fP\fIbs\fP\fB, chtype \fP\fItl\fP\fB, chtype \fP\fItr\fP\fB,\fR
|
|
\fBchtype \fP\fIbl\fP\fB, chtype \fP\fIbr\fP\fB);\fR
|
|
.sp
|
|
\fBint box(WINDOW *\fP\fIwin\fP\fB, chtype \fP\fIverch\fP\fB, chtype \fP\fIhorch\fP\fB);\fR
|
|
.sp
|
|
\fBint hline(chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
\fBint whline(WINDOW *\fP\fIwin\fP\fB, chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
\fBint vline(chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
\fBint wvline(WINDOW *\fP\fIwin\fP\fB, chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.sp
|
|
\fBint mvhline(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
\fBint mvwhline(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
\fBint mvvline(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
\fBint mvwvline(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, chtype \fP\fIch\fP\fB, int \fP\fIn\fP\fB);\fR
|
|
.br
|
|
.SH DESCRIPTION
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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).
|