| .\"*************************************************************************** |
| .\" Copyright 2019-2021,2022 Thomas E. Dickey * |
| .\" Copyright 2002-2011,2012 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_set.3x,v 1.16 2022/02/12 20:06:41 tom Exp $ |
| .TH curs_border_set 3X "" |
| .ie \n(.g .ds `` \(lq |
| .el .ds `` `` |
| .ie \n(.g .ds '' \(rq |
| .el .ds '' '' |
| .na |
| .hy 0 |
| .SH NAME |
| \fBborder_set\fP, |
| \fBwborder_set\fP, |
| \fBbox_set\fP, |
| \fBhline_set\fP, |
| \fBwhline_set\fP, |
| \fBmvhline_set\fP, |
| \fBmvwhline_set\fP, |
| \fBvline_set\fP, |
| \fBwvline_set\fP, |
| \fBmvvline_set\fP, |
| \fBmvwvline_set\fP \- create \fBcurses\fP borders or lines using complex characters and renditions |
| .ad |
| .hy |
| .SH SYNOPSIS |
| .PP |
| \fB#include <curses.h>\fP |
| .sp |
| \fBint border_set(\fP |
| \fBconst cchar_t *\fIls\fR, \fBconst cchar_t *\fIrs\fR, |
| \fBconst cchar_t *\fIts\fR, \fBconst cchar_t *\fIbs\fR, |
| \fBconst cchar_t *\fItl\fR, \fBconst cchar_t *\fItr\fR, |
| \fBconst cchar_t *\fIbl\fR, \fBconst cchar_t *\fIbr\fR |
| \fB);\fP |
| .br |
| \fBint wborder_set(\fP |
| \fBWINDOW *win\fP, |
| \fBconst cchar_t *\fIls\fR, \fBconst cchar_t *\fIrs\fR, |
| \fBconst cchar_t *\fIts\fR, \fBconst cchar_t *\fIbs\fR, |
| \fBconst cchar_t *\fItl\fR, \fBconst cchar_t *\fItr\fR, |
| \fBconst cchar_t *\fIbl\fR, \fBconst cchar_t *\fIbr\fB);\fR |
| .br |
| \fBint box_set(\fP |
| \fBWINDOW *win\fP, |
| \fBconst cchar_t *\fIverch\fR, |
| \fBconst cchar_t *\fIhorch\fB);\fR |
| .br |
| \fBint hline_set(\fP |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint whline_set(\fP |
| \fBWINDOW *\fIwin\fR, |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint mvhline_set(\fP |
| \fBint \fIy\fR, \fBint \fIx\fR, |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint mvwhline_set(\fP |
| \fBWINDOW *\fIwin\fR, |
| \fBint \fIy\fR, \fBint \fIx\fR, |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint vline_set(\fP |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint wvline_set(\fP |
| \fBWINDOW *\fIwin\fR, |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint mvvline_set(\fP |
| \fBint \fIy\fR, \fBint \fIx\fR, |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| \fBint mvwvline_set(\fP |
| \fBWINDOW *\fIwin\fR, |
| \fBint \fIy\fR, \fBint \fIx\fR, |
| \fBconst cchar_t *\fIwch\fR, \fBint \fIn\fB);\fR |
| .br |
| .SH DESCRIPTION |
| .PP |
| The |
| \fBborder_set\fP |
| and |
| \fBwborder_set\fP |
| functions draw a border around the edges of the current or specified window. |
| These functions do not change the cursor position, and do not wrap. |
| .PP |
| Other than the window, each argument is a complex character with attributes: |
| .RS |
| \fIls\fP \- left side, |
| .br |
| \fIrs\fP \- right side, |
| .br |
| \fIts\fP \- top side, |
| .br |
| \fIbs\fP \- bottom side, |
| .br |
| \fItl\fP \- top left-hand corner, |
| .br |
| \fItr\fP \- top right-hand corner, |
| .br |
| \fIbl\fP \- bottom left-hand corner, and |
| .br |
| \fIbr\fP \- bottom right-hand corner. |
| .RE |
| .PP |
| If any of these arguments is zero, then the corresponding |
| default values (defined in \fBcurses.h\fP) are used instead: |
| .RS |
| \fBWACS_VLINE\fP, |
| .br |
| \fBWACS_VLINE\fP, |
| .br |
| \fBWACS_HLINE\fP, |
| .br |
| \fBWACS_HLINE\fP, |
| .br |
| \fBWACS_ULCORNER\fP, |
| .br |
| \fBWACS_URCORNER\fP, |
| .br |
| \fBWACS_LLCORNER\fP, and |
| .br |
| \fBWACS_LRCORNER\fP. |
| .RE |
| .PP |
| \fBbox_set(\fIwin\fR, \fIverch\fB, \fIhorch\fB);\fR |
| is a shorthand for the following call: |
| .PP |
| \fBwborder_set(\fIwin\fB, \fIverch\fB, \fIverch\fB,\fR |
| \fIhorch\fB, \fIhorch\fB, NULL, NULL, NULL, NULL);\fR |
| .PP |
| The |
| \fB*line_set\fP |
| functions use |
| \fIwch\fP |
| to draw a line starting at the current cursor position in the window. |
| The line is at most \fIn\fP characters long or as many as fit into the window. |
| The current cursor position is not changed. |
| .PP |
| The |
| \fBhline_set\fP, |
| \fBmvhline_set\fP, |
| \fBmvwhline_set\fP, and |
| \fBwhline_set\fP |
| functions draw a line proceeding toward the last column of the same line. |
| .PP |
| The |
| \fBvline_set\fP, |
| \fBmvvline_set\fP, |
| \fBmvwvline_set\fP, and |
| \fBwvline_set\fP |
| functions draw a line proceeding toward the last line of the window. |
| .br |
| .SH NOTES |
| .PP |
| Note that |
| \fBborder_set\fP, |
| \fBhline_set\fP, |
| \fBmvhline_set\fP, |
| \fBmvvline_set\fP, |
| \fBmvwhline_set\fP, |
| \fBmvwvline_set\fP, and |
| \fBvline_set\fP |
| may be macros. |
| .br |
| .SH RETURN VALUE |
| .PP |
| Upon successful completion, these functions return |
| \fBOK\fP. |
| Otherwise, they return |
| \fBERR\fP. |
| .PP |
| Functions using a window parameter return an error if it 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 SEE ALSO |
| \fBncurses\fP(3X), |
| \fBcurs_add_wch\fP(3X), |
| \fBcurs_border\fP(3X), |
| \fBcurs_outopts\fP(3X) |