188 lines
7.8 KiB
Plaintext
188 lines
7.8 KiB
Plaintext
'\" t
|
|
.\"***************************************************************************
|
|
.\" Copyright (c) 1998-2010,2011 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_addch.3x,v 1.32 2011/01/15 14:15:10 tom Exp $
|
|
.TH curs_addch 3X ""
|
|
.SH NAME
|
|
\fBaddch\fR,
|
|
\fBwaddch\fR,
|
|
\fBmvaddch\fR,
|
|
\fBmvwaddch\fR,
|
|
\fBechochar\fR,
|
|
\fBwechochar\fR \- add a character (with attributes) to a \fBcurses\fR window, then advance the cursor
|
|
.SH SYNOPSIS
|
|
\fB#include <curses.h>\fR
|
|
.PP
|
|
\fBint addch(const chtype ch);\fR
|
|
.br
|
|
\fBint waddch(WINDOW *win, const chtype ch);\fR
|
|
.br
|
|
\fBint mvaddch(int y, int x, const chtype ch);\fR
|
|
.br
|
|
\fBint mvwaddch(WINDOW *win, int y, int x, const chtype ch);\fR
|
|
.br
|
|
\fBint echochar(const chtype ch);\fR
|
|
.br
|
|
\fBint wechochar(WINDOW *win, const chtype ch);\fR
|
|
.br
|
|
.SH DESCRIPTION
|
|
The \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR and \fBmvwaddch\fR routines put
|
|
the character \fIch\fR into the given window at its current window position,
|
|
which is then advanced. They are analogous to \fBputchar\fR in \fBstdio\fR(3).
|
|
If the advance is at the right margin, the cursor automatically wraps to the
|
|
beginning of the next line. At the bottom of the current scrolling region, if
|
|
\fBscrollok\fR is enabled, the scrolling region is scrolled up one line.
|
|
.PP
|
|
If \fIch\fR is a tab, newline, or backspace,
|
|
the cursor is moved appropriately within the window.
|
|
Backspace moves the cursor one character left; at the left
|
|
edge of a window it does nothing.
|
|
Newline does a \fBclrtoeol\fR,
|
|
then moves the cursor to the window left margin on the next line,
|
|
scrolling the window if on the last line.
|
|
Tabs are considered to be at every eighth column.
|
|
The tab interval may be altered by setting the \fBTABSIZE\fR variable.
|
|
.PP
|
|
If \fIch\fR is any control character other than tab, newline, or backspace, it
|
|
is drawn in \fB^\fR\fIX\fR notation. Calling \fBwinch\fR after adding a
|
|
control character does not return the character itself, but instead returns
|
|
the ^-representation of the control character.
|
|
.PP
|
|
Video attributes can be combined with a character argument passed to
|
|
\fBaddch\fR or related functions by logical-ORing them into the character.
|
|
(Thus, text, including attributes, can be copied from one place to another
|
|
using \fBinch\fR and \fBaddch\fR.) See the \fBcurs_attr\fR(3X) page for
|
|
values of predefined video attribute constants that can be usefully OR'ed
|
|
into characters.
|
|
.PP
|
|
The \fBechochar\fR and \fBwechochar\fR routines are equivalent to a call to
|
|
\fBaddch\fR followed by a call to \fBrefresh\fR, or a call to \fBwaddch\fR
|
|
followed by a call to \fBwrefresh\fR. The knowledge that only a single
|
|
character is being output is used and, for non-control characters, a
|
|
considerable performance gain may be seen by using these routines instead of
|
|
their equivalents.
|
|
.SS Line Graphics
|
|
The following variables may be used to add line drawing characters to the
|
|
screen with routines of the \fBaddch\fR family. The default character listed
|
|
below is used if the \fBacsc\fR capability does not define a terminal-specific
|
|
replacement for it.
|
|
The names are taken from VT100 nomenclature.
|
|
.PP
|
|
.TS
|
|
l l l
|
|
_ _ _
|
|
l l l.
|
|
\fIName\fR \fIDefault\fR \fIDescription\fR
|
|
ACS_BLOCK # solid square block
|
|
ACS_BOARD # board of squares
|
|
ACS_BTEE + bottom tee
|
|
ACS_BULLET o bullet
|
|
ACS_CKBOARD : checker board (stipple)
|
|
ACS_DARROW v arrow pointing down
|
|
ACS_DEGREE ' degree symbol
|
|
ACS_DIAMOND + diamond
|
|
ACS_GEQUAL > greater-than-or-equal-to
|
|
ACS_HLINE \- horizontal line
|
|
ACS_LANTERN # lantern symbol
|
|
ACS_LARROW < arrow pointing left
|
|
ACS_LEQUAL < less-than-or-equal-to
|
|
ACS_LLCORNER + lower left-hand corner
|
|
ACS_LRCORNER + lower right-hand corner
|
|
ACS_LTEE + left tee
|
|
ACS_NEQUAL ! not-equal
|
|
ACS_PI * greek pi
|
|
ACS_PLMINUS # plus/minus
|
|
ACS_PLUS + plus
|
|
ACS_RARROW > arrow pointing right
|
|
ACS_RTEE + right tee
|
|
ACS_S1 \- scan line 1
|
|
ACS_S3 \- scan line 3
|
|
ACS_S7 \- scan line 7
|
|
ACS_S9 \&_ scan line 9
|
|
ACS_STERLING f pound-sterling symbol
|
|
ACS_TTEE + top tee
|
|
ACS_UARROW ^ arrow pointing up
|
|
ACS_ULCORNER + upper left-hand corner
|
|
ACS_URCORNER + upper right-hand corner
|
|
ACS_VLINE | vertical line
|
|
.TE
|
|
.SH RETURN VALUE
|
|
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
|
|
(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
|
|
successful completion, unless otherwise noted in the preceding routine
|
|
descriptions.
|
|
.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
|
|
Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and
|
|
\fBechochar\fR may be macros.
|
|
.SH PORTABILITY
|
|
All these functions are described in the XSI Curses standard, Issue 4.
|
|
The defaults specified for forms-drawing characters apply in the POSIX locale.
|
|
.LP
|
|
X/Open Curses states that the \fIACS_\fP definitions are \fBchar\fP constants.
|
|
For the wide-character implementation (see \fBcurs_add_wch\fP),
|
|
there are analogous \fIWACS_\fP definitions which are \fBcchar_t\fP constants.
|
|
.LP
|
|
Some ACS symbols
|
|
(ACS_S3,
|
|
ACS_S7,
|
|
ACS_LEQUAL,
|
|
ACS_GEQUAL,
|
|
ACS_PI,
|
|
ACS_NEQUAL,
|
|
ACS_STERLING)
|
|
were not documented in
|
|
any publicly released System V. However, many publicly available terminfos
|
|
include \fBacsc\fR strings in which their key characters (pryz{|}) are
|
|
embedded, and a second-hand list of their character descriptions has come
|
|
to light. The ACS-prefixed names for them were invented for \fBncurses\fR(3X).
|
|
.LP
|
|
The \fBTABSIZE\fR variable is implemented in some versions of curses,
|
|
but is not part of X/Open curses.
|
|
.LP
|
|
If \fIch\fR is a carriage return,
|
|
the cursor is moved to the beginning of the current row of the window.
|
|
This is true of other implementations, but is not documented.
|
|
.SH SEE ALSO
|
|
\fBcurses\fR(3X),
|
|
\fBcurs_attr\fR(3X),
|
|
\fBcurs_clear\fR(3X),
|
|
\fBcurs_inch\fR(3X),
|
|
\fBcurs_outopts\fR(3X),
|
|
\fBcurs_refresh\fR(3X),
|
|
\fBcurs_variables\fR(3X),
|
|
\fBputc\fR(3).
|
|
.PP
|
|
Comparable functions in the wide-character (ncursesw) library are
|
|
described in
|
|
\fBcurs_add_wch\fR(3X).
|