.\"*************************************************************************** .\" Copyright (c) 2001-2006,2010 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_add_wch.3x,v 1.9 2010/09/18 20:18:34 tom Exp $ .TH curs_add_wch 3X "" .de bP .IP \(bu 4 .. .SH NAME \fBadd_wch\fP, \fBwadd_wch\fP, \fBmvadd_wch\fP, \fBmvwadd_wch\fP, \fBecho_wchar\fP, \fBwecho_wchar\fP \- add a complex character and rendition to a \fBcurses\fR window, then advance the cursor .SH SYNOPSIS .PP \fB#include \fP .sp .B "int add_wch( const cchar_t *\fIwch\fB );" .br .B "int wadd_wch( WINDOW *\fIwin\fP, const cchar_t *\fIwch\fB );" .br .B "int mvadd_wch( int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fB );" .br .B "int mvwadd_wch( WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fB );" .br .B "int echo_wchar( const cchar_t *\fIwch\fB );" .br .B "int wecho_wchar( WINDOW *\fIwin\fP, const cchar_t *\fIwch\fB );" .br .SH DESCRIPTION .PP The \fBadd_wch\fP, \fBwadd_wch\fP, \fBmvadd_wch\fP, and \fBmvwadd_wch\fP functions put the complex character \fIwch\fP into the given window at its current position, which is then advanced. These functions perform wrapping and special-character processing as follows: .bP If \fIwch\fP refers to a spacing character, then any previous character at that location is removed. A new character specified by \fIwch\fP is placed at that location with rendition specified by \fIwch\fP. The cursor then advances to the next spacing character on the screen. .bP If \fIwch\fP refers to a non-spacing character, all previous characters at that location are preserved. The non-spacing characters of \fIwch\fP are added to the spacing complex character, and the rendition specified by \fIwch\fP is ignored. .bP If the character part of \fIwch\fP is a tab, newline, backspace or other control character, the window is updated and the cursor moves as if \fBaddch\fR were called. .PP The \fBecho_wchar\fP function is functionally equivalent to a call to \fBadd_wch\fP followed by a call to \fBrefresh\fP. Similarly, the \fBwecho_wchar\fP is functionally equivalent to a call to \fBwadd_wch\fP followed by a call to \fBwrefresh\fP. 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 *\fBecho\fP* functions instead of their equivalents. .SH RETURN VALUES .PP All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success. .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 .PP Note that \fBadd_wch\fP, \fBmvadd_wch\fP, \fBmvwadd_wch\fP, and \fBecho_wchar\fP may be macros. .SH PORTABILITY .PP All these functions are described in the XSI Curses standard, Issue 4. The defaults specified for forms-drawing characters apply in the POSIX locale. .PP XSI documents constants beginning with \fBWACS_\fP which are used for line-drawing. Those are not currently implemented in \fBncurses\fP. .SH SEE ALSO .PP \fBcurses\fR(3X), \fBcurs_addch\fR(3X), \fBcurs_attr\fR(3X), \fBcurs_clear\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X), \fBputwc\fR(3) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: