CURS_ADDWCH(3CURSES) Curses Library Functions CURS_ADDWCH(3CURSES)
NAME
curs_addwch, addwch, waddwch, mvaddwch, mvwaddwch, echowchar,
wechowchar - add a wchar_t character (with attributes) to a curses
window and advance cursor
SYNOPSIS
cc [
flag]...
file...
-lcurses [
library]...
#include <curses.h>
int addwch(
chtype wch);
int waddwch(
WINDOW *win,
chtype wch);
int mvaddwch(
int y,
int x,
chtype wch);
int mvwaddwch(
WINDOW *win,
int y,
int x,
chtype wch);
int echowchar(
chtype wch);
int wechowchar(
WINDOW *win,
chtype wch);
DESCRIPTION
The
addwch(),
waddwch(),
mvaddwch(), and
mvwaddwch() routines put the
character
wch, holding a
wchar_t character, into the window at the
current cursor position of the window and advance the position of the
window cursor. Their function is similar to that of
putwchar(3C) in
the C multibyte library. At the right margin, an automatic newline is
performed. At the bottom of the scrolling region, if
scrollok is
enabled, the scrolling region is scrolled up one line.
If
wch is a tab, newline, or backspace, the cursor is moved
appropriately within the window. A newline also does a
clrtoeol(3CURSES) before moving. Tabs are considered to be at every
eighth column. If
wch is another control character, it is drawn in
the
^X notation. Calling
winwch(3CURSES) after adding a control
character does not return the control character, but instead returns
the representation of the control character.
Video attributes can be combined with a
wchar_t character by OR-ing
them into the parameter. This results in these attributes also being
set. (The intent here is that text, including attributes, can be
copied from one place to another using
inwch() and
addwch().) See
standout(3CURSES), predefined video attribute constants.
The
echowchar() and
wechowchar() routines are functionally equivalent
to a call to
addwch() followed by a call to
refresh(3CURSES), or a
call to
waddwch() followed by a call to
wrefresh(3CURSES). The
knowledge that only a single character is being output is taken into
consideration and, for non-control characters, a considerable
performance gain might be seen by using these routines instead of
their equivalents.
Line Graphics
The following variables may be used to add line drawing characters to
the screen with routines of the
addwch() family. When variables are
defined for the terminal, the
A_ALTCHARSET bit is turned on. (See
curs_attr(3CURSES)). Otherwise, the default character listed below is
stored in the variable. The names chosen are consistent with the
VT100 nomenclature.
+-------------+---------+-------------------------+
| Name | Default | Glyph Description |
+-------------+---------+-------------------------+
|ACS_ULCORNER | + | upper left-hand corner |
+-------------+---------+-------------------------+
|ACS_LLCORNER | + | lower left-hand corner |
+-------------+---------+-------------------------+
|ACS_URCORNER | + | upper right-hand corner |
+-------------+---------+-------------------------+
|ACS_LRCORNER | + | lower right-hand corner |
+-------------+---------+-------------------------+
|ACS_RTEE | + | right tee |
+-------------+---------+-------------------------+
|ACS_LTEE | + | left tee |
+-------------+---------+-------------------------+
|ACS_BTEE | + | bottom tee |
+-------------+---------+-------------------------+
|ACS_TTEE | + | top tee |
+-------------+---------+-------------------------+
|ACS_HLINE | - | horizontal line |
+-------------+---------+-------------------------+
|ACS_VLINE | | | vertical line |
+-------------+---------+-------------------------+
|ACS_PLUS | + | plus |
+-------------+---------+-------------------------+
|ACS_S1 | - | scan line 1 |
+-------------+---------+-------------------------+
|ACS_S9 | - | scan line 9 |
+-------------+---------+-------------------------+
|ACS_DIAMOND | + | diamond |
+-------------+---------+-------------------------+
|ACS_CKBOARD | : | checker board (stipple) |
+-------------+---------+-------------------------+
|ACS_DEGREE | ' | degree symbol |
+-------------+---------+-------------------------+
|ACS_PLMINUS | # | plus/minus |
+-------------+---------+-------------------------+
|ACS_BULLET | o | bullet |
+-------------+---------+-------------------------+
|ACS_LARROW | < | arrow pointing left |
+-------------+---------+-------------------------+
|ACS_RARRROW | > | arrow pointing right |
+-------------+---------+-------------------------+
|ACS_DARROW | v | arrow pointing down |
+-------------+---------+-------------------------+
|ACS_UARROW | ^ | arrow pointing up |
+-------------+---------+-------------------------+
|ACS_BOARD | # | board of squares |
+-------------+---------+-------------------------+
|ACS_LANTERN | # | lantern symbol |
+-------------+---------+-------------------------+
|ACS_BLOCK | # | solid square block |
+-------------+---------+-------------------------+
RETURN VALUE
All routines return the integer
ERR upon failure and an integer value
other than
ERR upon successful completion, unless otherwise noted in
the preceding routine descriptions.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | Unsafe |
+---------------+-----------------+
SEE ALSO
putwchar(3C),
clrtoeol(3CURSES),
curs_attr(3CURSES),
curs_inwch(3CURSES),
curs_outopts(3CURSES),
curses(3CURSES),
refresh(3CURSES),
standout(3CURSES),
winwch(3CURSES),
wrefresh(3CURSES),
attributes(7)NOTES
The header file <
curses.h> automatically includes the header files
<
stdio.h>, <
unctrl.h> and <
widec.h>.
Note that
addwch(),
mvaddwch(),
mvwaddwch(), and
echowchar() may be
macros.
None of these routines can use the color attribute in
chtype.
June 18, 2021 CURS_ADDWCH(3CURSES)