curs_add_wch
Section: Miscellaneous Library Functions (3X)
Updated: 
Index
Return to Main Contents
 
NAME
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 cursor
 
SYNOPSIS
#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 );
 
DESCRIPTION
 
add_wch
The
add_wch,
wadd_wch,
mvadd_wch, and
mvwadd_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.
 
 
echo_wchar
The echo_wchar
function is functionally equivalent to a call to
add_wch
followed by a call to
refresh.
Similarly, the
wecho_wchar
is functionally 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 performance gain might be seen
by using the *echo* functions instead of their equivalents.
 
Line Graphics
Like 
addch(3X),
addch_wch accepts symbols which make it simple to draw lines and other
frequently used special characters.
These symbols correspond to the same VT100 line-drawing set as
addch(3X).
| The wide-character configuration of ncurses also defines symbols |  |  | 
  | 
  | 
  | 
  | 
  | 
| l l l l |  |  | 
  | 
| _ _ _ _ |      |  | 
  | 
  | 
  |     
  | 
| lw(1.5i) lw7 lw7 lw20.                          |  | 
  | 
  | 
  | 
  | 
| Name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Unicode | Default | Description
  | 
| WACS_T_ULCORNER                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 
| WACS_T_LLCORNER        | 0x2517 | 
| WACS_T_URCORNER                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 0x2513 | + | thick upper right corner
  | 
  | 
  | 
| WACS_T_LRCORNER                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 0x251b                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | + | thick lower right corner
  | 
  | 
  |     
  | 
  | 
  | 
  | 
| WACS_T_LTEE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 0x252b     | + | thick tee pointing right
  | 
  |     
  | 
| WACS_T_RTEE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 0x2523 | +     | thick tee pointing left
  |     
  | 
  | 
| WACS_T_BTEE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 0x253b | + | thick tee pointing up
  | 
| WACS_T_TTEE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 0x2533
  | +    
  | thick tee pointing down
  | 
  | 
  | 
| WACS_T_HLINE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 0x2501 | - | thick horizontal line    
  | 
  | 
  |     
  | 
  | 
| WACS_T_VLINE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 0x2503 | | | thick vertical line    
  | 
  | 
  |     
  | 
  | 
| WACS_T_PLUS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 
| WACS_D_ULCORNER                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 0x2554 | + | 
| WACS_D_LLCORNER | 0x255a | 
| WACS_D_URCORNER  | 0x2557     | 
| WACS_D_LRCORNER                                                                                                                                                                                                                                                              | 0x255d | 
| WACS_D_RTEE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 0x2563 | + | double tee pointing left
  | 
| WACS_D_LTEE                                                                                                                                                                                                                                                            | 0x2560 | 
| WACS_D_BTEE                        | 0x2569 | +
  | double tee pointing up    
  | 
  |      
  | 
| 0x2566 | + | double tee pointing down     | 
  |        
  | 
| WACS_D_HLINE                        | 0x2550 | -
  | double horizontal line    
  | 
  |            
  | 
                         | 0x2551 | |
  | double vertical line    
  | 
  |              
  | 
| WACS_D_PLUS    | 0x256c     | +
  | double large plus or crossover
  |     
  | 
  | 
 
RETURN VALUE
All routines return the integer ERR upon failure and OK on success.
Functions with a "mv" prefix first perform a cursor movement using
wmove, and return an error if the position is outside the window,
or if the window pointer is null.
 
NOTES
Note that
add_wch,
mvadd_wch,
mvwadd_wch, and
echo_wchar
may be macros.
 
PORTABILITY
All of these functions are described in the XSI Curses standard, Issue 4.
The defaults specified for line-drawing characters apply in the POSIX locale.
X/Open Curses makes it clear that the WACS_ symbols should be defined as
a pointer to cchar_t data, e.g., in the discussion of border_set.
A few implementations are problematic:
- *
 - 
NetBSD curses defines the symbols as a wchar_t within a cchar_t.
 - *
 - 
HPUX curses equates some of the ACS_ symbols
to the analogous WACS_ symbols as if the ACS_ symbols were
wide characters.
The misdefined symbols are the arrows
and other symbols which are not used for line-drawing.
 
X/Open Curses does not define symbols for thick- or double-lines.
SVr4 curses implementations defined their line-drawing symbols in
terms of intermediate symbols.
This implementation extends those symbols, providing new definitions
which are not in the SVr4 implementations.
 
SEE ALSO
curses(3X),
curs_addch(3X),
curs_attr(3X),
curs_clear(3X),
curs_outopts(3X),
curs_refresh(3X),
putwc(3)
 Index
- NAME
 - 
 - SYNOPSIS
 - 
 - DESCRIPTION
 - 
- add_wch
 - 
 - echo_wchar
 - 
 - Line Graphics
 - 
 
 - RETURN VALUE
 - 
 - NOTES
 - 
 - PORTABILITY
 - 
 - SEE ALSO
 -