2 ****************************************************************************
3 * Copyright 2018-2019,2020 Thomas E. Dickey *
4 * Copyright 1998-2007,2010 Free Software Foundation, Inc. *
6 * Permission is hereby granted, free of charge, to any person obtaining a *
7 * copy of this software and associated documentation files (the *
8 * "Software"), to deal in the Software without restriction, including *
9 * without limitation the rights to use, copy, modify, merge, publish, *
10 * distribute, distribute with modifications, sublicense, and/or sell *
11 * copies of the Software, and to permit persons to whom the Software is *
12 * furnished to do so, subject to the following conditions: *
14 * The above copyright notice and this permission notice shall be included *
15 * in all copies or substantial portions of the Software. *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
20 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
21 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
22 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
23 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
25 * Except as contained in this notice, the name(s) of the above copyright *
26 * holders shall not be used in advertising or otherwise to promote the *
27 * sale, use or other dealings in this Software without prior written *
29 ****************************************************************************
30 * @Id: curs_border.3x,v 1.27 2020/10/18 00:33:06 tom Exp @
32 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
35 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
36 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
37 <TITLE>curs_border 3X</TITLE>
38 <link rel="author" href="mailto:bug-ncurses@gnu.org">
39 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
42 <H1 class="no-header">curs_border 3X</H1>
44 <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B> <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
49 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
50 <B>border</B>, <B>wborder</B>, <B>box</B>, <B>hline</B>, <B>whline</B>, <B>vline</B>, <B>wvline</B>, <B>mvhline</B>, <B>mvwhline</B>,
51 <B>mvvline</B>, <B>mvwvline</B> - create <B>curses</B> borders, horizontal and vertical
55 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
56 <B>#include</B> <B><curses.h></B>
58 <B>int</B> <B>border(chtype</B> <I>ls</I><B>,</B> <B>chtype</B> <I>rs</I><B>,</B> <B>chtype</B> <I>ts</I><B>,</B> <B>chtype</B> <I>bs</I><B>,</B>
59 <B>chtype</B> <I>tl</I><B>,</B> <B>chtype</B> <I>tr</I><B>,</B> <B>chtype</B> <I>bl</I><B>,</B> <B>chtype</B> <I>br</I><B>);</B>
60 <B>int</B> <B>wborder(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ls</I><B>,</B> <B>chtype</B> <I>rs</I><B>,</B>
61 <B>chtype</B> <I>ts</I><B>,</B> <B>chtype</B> <I>bs</I><B>,</B> <B>chtype</B> <I>tl</I><B>,</B> <B>chtype</B> <I>tr</I><B>,</B>
62 <B>chtype</B> <I>bl</I><B>,</B> <B>chtype</B> <I>br</I><B>);</B>
64 <B>int</B> <B>box(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>verch</I><B>,</B> <B>chtype</B> <I>horch</I><B>);</B>
66 <B>int</B> <B>hline(chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
67 <B>int</B> <B>whline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
68 <B>int</B> <B>vline(chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
69 <B>int</B> <B>wvline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
71 <B>int</B> <B>mvhline(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
72 <B>int</B> <B>mvwhline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
73 <B>int</B> <B>mvvline(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
74 <B>int</B> <B>mvwvline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
77 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
78 The <B>border</B>, <B>wborder</B> and <B>box</B> routines draw a box around the edges of a
79 window. Other than the window, each argument is a character with at-
82 <I>ls</I> - left side,
83 <I>rs</I> - right side,
85 <I>bs</I> - bottom side,
86 <I>tl</I> - top left-hand corner,
87 <I>tr</I> - top right-hand corner,
88 <I>bl</I> - bottom left-hand corner, and
89 <I>br</I> - bottom right-hand corner.
91 If any of these arguments is zero, then the corresponding default val-
92 ues (defined in <B>curses.h</B>) are used instead:
103 <B>box(</B><I>win</I><B>,</B> <I>verch</I><B>,</B> <I>horch</I><B>)</B> is a shorthand for the following call: <B>wbor-</B>
104 <B>der(</B><I>win</I><B>,</B> <I>verch</I><B>,</B> <I>verch</I><B>,</B> <I>horch</I><B>,</B> <I>horch</I><B>,</B> <B>0,</B> <B>0,</B> <B>0,</B> <B>0)</B>.
106 The <B>hline</B> and <B>whline</B> functions draw a horizontal (left to right) line
107 using <I>ch</I> starting at the current cursor position in the window. The
108 current cursor position is not changed. The line is at most <I>n</I> charac-
109 ters long, or as many as fit into the window.
111 The <B>vline</B> and <B>wvline</B> functions draw a vertical (top to bottom) line us-
112 ing <I>ch</I> starting at the current cursor position in the window. The cur-
113 rent cursor position is not changed. The line is at most <I>n</I> characters
114 long, or as many as fit into the window.
117 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
118 All routines return the integer <B>OK</B>. The SVr4.0 manual says "or a non-
119 negative integer if <B>immedok</B> is set", but this appears to be an error.
121 X/Open does not define any error conditions. This implementation re-
122 turns an error if the window pointer is null.
124 Functions with a "mv" prefix first perform a cursor movement using
125 <B>wmove</B>, and return an error if the position is outside the window, or if
126 the window pointer is null.
129 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
130 The borders generated by these functions are <I>inside</I> borders (this is
131 also true of SVr4 curses, though the fact is not documented).
133 Note that <B>border</B> and <B>box</B> may be macros.
136 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
137 These functions are described in the XSI Curses standard, Issue 4. The
138 standard specifies that they return <B>ERR</B> on failure, but specifies no
142 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
143 <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>.
147 <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
151 <li><a href="#h2-NAME">NAME</a></li>
152 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
153 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
154 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
155 <li><a href="#h2-NOTES">NOTES</a></li>
156 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
157 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>