xref: /illumos-gate/usr/src/man/man3xcurses/add_wch.3xcurses (revision 45818ee124adeaaf947698996b4f4c722afc6d1f)
te
Copyright (c) 1990, 1995 by Mortice Kern Systems Inc. All Rights Reserved Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
ADD_WCH 3XCURSES "Jun 5, 2002"
NAME
add_wch, mvadd_wch, mvwadd_wch, wadd_wch - add a complex character (with rendition) to a window
SYNOPSIS

cc [ flag... ] file... -I /usr/xpg4/include  -L  /usr/xpg4/lib \e
 -R  /usr/xpg4/lib  -lcurses  [ library... ]

c89 [ flag... ] file... -lcurses [ library ... ]

#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);
DESCRIPTION

The add_wch() function writes a complex character to the stdscr window at the current cursor position. The mvadd_wch() and mvwadd_wch() functions write the character to the position indicated by the x (column) and y (row) parameters. The mvadd_wch() function writes the character to the stdscr window, while mvwadd_wch() writes the character to the window specified by win. The wadd_wch() function is identical to add_wch(), but writes the character to the window specified by win. These functions advance the cursor after writing the character.

If wch is a spacing complex character, X/Open Curses replaces any previous character at the specified location with wch (and its rendition). If wch is a non-spacing complex character, X/Open Curses preserves all existing characters at the specified location and adds the non-spacing characters of wch to the spacing complex character. It ignores the rendition associated with wch.

Characters that do not fit on the end of the current line are wrapped to the beginning of the next line unless the current line is the last line of the window and scrolling is disabled. In that situation, X/Open Curses discards characters which extend beyond the end of the line.

When wch is a backspace, carriage return, newline, or tab, X/Open Curses moves the cursor appropriately as described in the curses(3XCURSES) man page. Each tab character moves the cursor to the next tab stop. By default, tab stops occur every eight columns. When wch is a control character other than a backspace, carriage return, newline, or tab, it is written using ^x notation, where x is a printable character. When X/Open Curses writes wch to the last character position on a line, it automatically generates a newline. When wch is written to the last character position of a scrolling region and scrollok() is enabled, X/Open Curses scrolls the scrolling region up one line (see clearok(3XCURSES)).

PARAMETERS
wch

Is the character/attribute pair (rendition) to be written to the window.

win

Is a pointer to the window in which the character is to be written.

y

Is the y (row) coordinate of the character's position in the window.

x

Is the x (column) coordinate of the character's position in the window.

RETURN VALUES

On success, these functions return OK. Otherwise, they return ERR.

ERRORS

None.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard
MT-Level Unsafe
SEE ALSO

attr_off(3XCURSES), bkgrndset(3XCURSES), curses(3XCURSES), doupdate(3XCURSES), in_wch(3XCURSES), ins_wch(3XCURSES), libcurses(3XCURSES), nl(3XCURSES), printw(3XCURSES), scrollok(3XCURSES), scrl(3XCURSES), setscrreg(3XCURSES), terminfo(4), attributes(5), standards(5)