curs_add_wch(3X)                                              curs_add_wch(3X)

       add_wch, wadd_wch, mvadd_wch, mvwadd_wch, echo_wchar, wecho_wchar - add
       a complex character and rendition to a curses window, then advance  the

       #include <curses.h>

       int add_wch( const cchar_t *wch );
       int wadd_wch( WINDOW *win, const cchar_t *wch );
       int mvadd_wch( int y, int x, const cchar_t *wch );
       int mvwadd_wch( WINDOW *win, int y, int x, const cchar_t *wch );
       int echo_wchar( const cchar_t *wch );
       int wecho_wchar( WINDOW *win, const cchar_t *wch );

       The add_wch, wadd_wch, mvadd_wch, and mvwadd_wch functions put the com-
       plex character wch into the given window at its current position, which
       is then advanced.  These functions perform wrapping and special-charac-
       ter 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 cur-
            sor 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(3X) were called.

       The echo_wchar function is functionally equivalent to a call to add_wch
       followed by a call to refresh.  Similarly, the wecho_wchar is function-
       ally equivalent to a call to wadd_wch followed by a call  to  wrefresh.
       The  knowledge  that  only  a single character is being output is taken
       into consideration and, for non-control characters, a considerable per-
       formance  gain  might  be seen by using the *echo* functions instead of
       their equivalents.

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

       Note that add_wch, mvadd_wch, mvwadd_wch, and echo_wchar may be macros.

       All  these functions are described in the XSI Curses standard, Issue 4.
       The defaults specified for forms-drawing characters apply in the  POSIX

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

       curses(3X),   curs_attr_get(3X),   curs_clear(3X),    curs_outopts(3X),
       curs_refresh(3X), putwc(3)