DESCRIPTION

Theadd_wch,wadd_wch,mvadd_wch, andmvwadd_wch
functions put the complex character wch into the given
window at its current position,
which is then advanced.
These functions perform
wrapping and special-character processing as follows:

-

If wch refers to a spacing character,
then any previous character at that location is removed.
A new character specified by wch is
placed at that location with rendition specified by wch.
The cursor then advances to
the next spacing character on the screen.

-

If wch refers to a non-spacing character,
all previous characters at that location are preserved.
The non-spacing characters of wch
are added to the spacing complex character,
and the rendition specified by wch is ignored.

-

If the character part of wch is
a tab, newline, backspace or other control character,
the window is updated and the cursor moves as if addch were called.

The echo_wchar
function is functionally equivalent to a call toadd_wch
followed by a call torefresh.
Similarly, thewecho_wchar
is functionally equivalent to a call towadd_wch
followed by a call towrefresh.
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 the *echo* functions instead of their equivalents.

RETURN VALUES

All routines return the integer ERR upon failure and OK on success.

NOTES

Note thatadd_wch,mvadd_wch,mvwadd_wch, andecho_wchar
may be macros.

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.

XSI documents constants beginning with WACS_ which are used for
line-drawing.
Those are not currently implemented in ncurses.