+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--
+ * t
+ ****************************************************************************
+ * Copyright (c) 1998-2000,2002 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_addch.3x,v 1.20 2002/08/10 22:12:36 tom Exp @
+-->
<HTML>
+<HEAD>
+<TITLE>curs_addch 3x</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
<BODY>
+<H1>curs_addch 3x</H1>
+<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
</PRE>
<H2>NAME</H2><PRE>
- <B>addch</B>, <B>waddch</B>, <B>mvaddch</B>, <B>mvwaddch</B>, <B>echochar</B>, <B>wechochar</B> -
- add a character (with attributes) to a <B>curses</B> window, then
+ <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> -
+ add a character (with attributes) to a <STRONG>curses</STRONG> window, then
advance the cursor
</PRE>
<H2>SYNOPSIS</H2><PRE>
- <B>#include</B> <B><curses.h></B>
+ <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <B>int</B> <B>addch(chtype</B> <B>ch);</B>
- <B>int</B> <B>waddch(WINDOW</B> <B>*win,</B> <B>chtype</B> <B>ch);</B>
- <B>int</B> <B>mvaddch(int</B> <B>y,</B> <B>int</B> <B>x,</B> <B>chtype</B> <B>ch);</B>
- <B>int</B> <B>mvwaddch(WINDOW</B> <B>*win,</B> <B>int</B> <B>y,</B> <B>int</B> <B>x,</B> <B>chtype</B> <B>ch);</B>
- <B>int</B> <B>echochar(chtype</B> <B>ch);</B>
- <B>int</B> <B>wechochar(WINDOW</B> <B>*win,</B> <B>chtype</B> <B>ch);</B>
+ <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwaddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
</PRE>
<H2>DESCRIPTION</H2><PRE>
- The <B>addch</B>, <B>waddch</B>, <B>mvaddch</B> and <B>mvwaddch</B> routines put the
- character <I>ch</I> into the given window at its current window
+ The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the
+ character <EM>ch</EM> into the given window at its current window
position, which is then advanced. They are analogous to
- <B>putchar</B> in <B><A HREF="stdio.3.html">stdio(3)</A></B>. If the advance is at the right mar-
+ <STRONG>putchar</STRONG> in <STRONG><A HREF="stdio.3.html">stdio(3)</A></STRONG>. If the advance is at the right mar-
gin, the cursor automatically wraps to the beginning of
the next line. At the bottom of the current scrolling
- region, if <B>scrollok</B> is enabled, the scrolling region is
+ region, if <STRONG>scrollok</STRONG> is enabled, the scrolling region is
scrolled up one line.
- If <I>ch</I> is a tab, newline, or backspace, the cursor is moved
+ If <EM>ch</EM> is a tab, newline, or backspace, the cursor is moved
appropriately within the window. Backspace moves the cur-
sor one character left; at the left edge of a window it
- does nothing. Newline does a <B>clrtoeol</B>, then moves the
+ does nothing. Newline does a <STRONG>clrtoeol</STRONG>, then moves the
cursor to the window left margin on the next line,
scrolling the window if on the last line). Tabs are con-
- sidered to be at every eighth column.
+ sidered to be at every eighth column. The tab interval
+ may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
- If <I>ch</I> is any control character other than tab, newline, or
- backspace, it is drawn in <B>^</B><I>X</I> notation. Calling <B>winch</B>
+ If <EM>ch</EM> is any control character other than tab, newline, or
+ backspace, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>winch</STRONG>
after adding a control character does not return the char-
- acter itself, but instead returns the ^-representation of
+ acter itself, but instead returns the ^-representation of
the control character.
Video attributes can be combined with a character argument
- passed to <B>addch</B> or related functions by logical-ORing them
- into the character. (Thus, text, including attributes,
- can be copied from one place to another using <B>inch</B> and
- <B>addch</B>.). See the <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B> page for values of prede-
+ passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
+ into the character. (Thus, text, including attributes,
+ can be copied from one place to another using <STRONG>inch</STRONG> and
+ <STRONG>addch</STRONG>.). See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
fined video attribute constants that can be usefully OR'ed
into characters.
- The <B>echochar</B> and <B>wechochar</B> routines are equivalent to a
- call to <B>addch</B> followed by a call to <B>refresh</B>, or a call to
- <B>waddch</B> followed by a call to <B>wrefresh</B>. The knowledge that
- only a single character is being output is used and, for
- non-control characters, a considerable performance gain
- may be seen by using these routines instead of their
+ The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a
+ call to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, or a call to
+ <STRONG>waddch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>. The knowledge that
+ only a single character is being output is used and, for
+ non-control characters, a considerable performance gain
+ may be seen by using these routines instead of their
equivalents.
- <B>Line</B> <B>Graphics</B>
- The following variables may be used to add line drawing
- characters to the screen with routines of the <B>addch</B> fam-
- ily. The default character listed below is used if the
- <B>acsc</B> capability doesn't define a terminal-specific
+ <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
+ The following variables may be used to add line drawing
+ characters to the screen with routines of the <STRONG>addch</STRONG> fam-
+ ily. The default character listed below is used if the
+ <STRONG>acsc</STRONG> capability doesn't define a terminal-specific
replacement for it (but see the EXTENSIONS section below).
The names are taken from VT100 nomenclature.
- <I>Name</I> <I>Default</I> <I>Description</I>
+ <EM>Name</EM> <EM>Default</EM> <EM>Description</EM>
--------------------------------------------------
ACS_BLOCK # solid square block
ACS_BOARD # board of squares
</PRE>
<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <B>ERR</B> upon failure and <B>OK</B> on
- success (the SVr4 manuals specify only "an integer value
- other than <B>ERR</B>") upon successful completion, unless other-
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+ success (the SVr4 manuals specify only "an integer value
+ other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
wise noted in the preceding routine descriptions.
</PRE>
<H2>NOTES</H2><PRE>
- Note that <B>addch</B>, <B>mvaddch</B>, <B>mvwaddch</B>, and <B>echochar</B> may be
+ Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be
macros.
</PRE>
<H2>PORTABILITY</H2><PRE>
- All these functions are described in the XSI Curses stan-
- dard, Issue 4. The defaults specified for forms-drawing
+ All these functions are described in the XSI Curses stan-
+ dard, Issue 4. The defaults specified for forms-drawing
characters apply in the POSIX locale.
- Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL,
- ACS_PI, ACS_NEQUAL, ACS_STERLING) were not documented in
- any publicly released System V. However, many publicly
- available terminfos include <B>acsc</B> strings in which their
- key characters (pryz{|}) are embedded, and a second-hand
- list of their character descriptions has come to light.
- The ACS-prefixed names for them were invented for
- <B><A HREF="ncurses.3x.html">ncurses(3x)</A></B>.
+ Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL,
+ ACS_PI, ACS_NEQUAL, ACS_STERLING) were not documented in
+ any publicly released System V. However, many publicly
+ available terminfos include <STRONG>acsc</STRONG> strings in which their
+ key characters (pryz{|}) are embedded, and a second-hand
+ list of their character descriptions has come to light.
+ The ACS-prefixed names for them were invented for
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ The <STRONG>TABSIZE</STRONG> variable is implemented in some versions of
+ curses, but is not part of X/Open curses.
</PRE>
<H2>SEE ALSO</H2><PRE>
- <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>, <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>, <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>,
- <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>, <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>, <B><A HREF="putc.3S.html">putc(3S)</A></B>.
-
-
-
-
-
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="putc.3S.html">putc(3S)</A></STRONG>.