-</PRE><H3><a name="h3-Adding-characters">Adding characters</a></H3><PRE>
- 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 <STRONG>putchar(3)</STRONG> in <STRONG>stdio(3)</STRONG>. If the
- advance is at the right margin:
-
- <STRONG>o</STRONG> The cursor automatically wraps to the beginning of the next line.
-
- <STRONG>o</STRONG> At the bottom of the current scrolling region, and if <STRONG>scrollok</STRONG> is
- enabled, the scrolling region is scrolled up one line.
-
- <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
- margin succeeds. However, an error is returned because it is not
- possible to wrap to a new line
-
- If <EM>ch</EM> is a tab, newline, carriage return or backspace, the cursor is
- moved appropriately within the window:
-
- <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left edge of
- a window it does nothing.
-
- <STRONG>o</STRONG> Carriage return moves the cursor to the window left margin on the
- current line.
-
- <STRONG>o</STRONG> 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.
-
- <STRONG>o</STRONG> Tabs are considered to be at every eighth column. The tab interval
- may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
-
- If <EM>ch</EM> is any other control character, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation.
- Calling <STRONG>winch</STRONG> after adding a control character does not return the
- character itself, but instead returns the ^-representation of the con-
- trol character.
-
- Video attributes can be combined with a character argument 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><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for val-
- ues of predefined video attribute constants that can be usefully OR'ed
- into characters.
-
-
-</PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
- The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG>
- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></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 perfor-
- mance gain may be seen by using these routines instead of their equiva-
- lents.
-
-
-</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- The following variables may be used to add line drawing characters to
- the screen with routines of the <STRONG>addch</STRONG> family. The default character
- listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
- specific replacement for it, or if the terminal and locale configura-
- tion requires Unicode but the library is unable to use Unicode.
-
- The names are taken from VT100 nomenclature.
-
- <STRONG>ACS</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
- <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
- ---------------------------------------------------------
- ACS_BLOCK # 0 solid square block
- ACS_BOARD # h board of squares
- ACS_BTEE + v bottom tee
- ACS_BULLET o ~ bullet
- ACS_CKBOARD : a checker board (stipple)
- ACS_DARROW v . arrow pointing down
- ACS_DEGREE ' f degree symbol
- ACS_DIAMOND + ` diamond
- ACS_GEQUAL > > greater-than-or-equal-to
- ACS_HLINE - q horizontal line
- ACS_LANTERN # i lantern symbol
- ACS_LARROW < , arrow pointing left
- ACS_LEQUAL < y less-than-or-equal-to
- ACS_LLCORNER + m lower left-hand corner
- ACS_LRCORNER + j lower right-hand corner
- ACS_LTEE + t left tee
- ACS_NEQUAL ! | not-equal
- ACS_PI * { greek pi
- ACS_PLMINUS # g plus/minus
- ACS_PLUS + n plus
- ACS_RARROW > + arrow pointing right
- ACS_RTEE + u right tee
- ACS_S1 - o scan line 1
- ACS_S3 - p scan line 3
- ACS_S7 - r scan line 7
- ACS_S9 _ s scan line 9
- ACS_STERLING f } pound-sterling symbol
- ACS_TTEE + w top tee
- ACS_UARROW ^ - arrow pointing up
- ACS_ULCORNER + l upper left-hand corner
- ACS_URCORNER + k upper right-hand corner
- ACS_VLINE | x vertical line
+</PRE><H3><a name="h3-Adding-Characters">Adding Characters</a></H3><PRE>
+ <STRONG>waddch</STRONG> puts the character <EM>ch</EM> at the cursor position of window <EM>win</EM>, then
+ advances the cursor position, analogously to the standard C library's
+ <STRONG>putchar(3)</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+ If advancement occurs at the right margin,
+
+ <STRONG>o</STRONG> the cursor automatically wraps to the beginning of the next line;
+ and
+
+ <STRONG>o</STRONG> at the bottom of the current scrolling region, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>
+ is enabled for <EM>win</EM>, the scrolling region scrolls up one line.
+
+ If <EM>ch</EM> is a backspace, carriage return, line feed, or tab, the cursor
+ moves appropriately within the window.
+
+ <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin
+ of a window, it does nothing.
+
+ <STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the current
+ line of the window.
+
+ <STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then moves the cursor to the left
+ margin on the next line of the window, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is
+ enabled for <EM>win</EM>, scrolls the window if the cursor was already on
+ the last line.
+
+ <STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next
+ line); these are placed at every eighth column by default. Alter
+ the tab interval with the <STRONG>TABSIZE</STRONG> extension; see
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+
+ If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
+ form, using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>.
+
+ Calling <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> on the location of a nonprintable character does not
+ return the character itself, but its <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> representation.
+
+ <EM>ch</EM> may contain rendering and/or color attributes, and others can be
+ combined with the parameter by logically "or"ing with it. (A character
+ with its attributes can be copied from place to place using <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG>
+ and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined video
+ attribute constants that can be usefully "or"ed with characters.
+
+
+</PRE><H3><a name="h3-Echoing-Characters">Echoing Characters</a></H3><PRE>
+ <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>addch</STRONG> followed by
+ (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>. <EM>curses</EM> interprets these functions as a hint that only a
+ single character is being output; for non-control characters, a
+ considerable performance gain may be enjoyed by employing them.
+
+
+</PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE>
+ <EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used with <STRONG>waddch</STRONG>
+ to write line-drawing and other special characters to the screen.
+ <EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed
+ below is used if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not
+ define a terminal-specific replacement for it, or if the terminal and
+ locale configuration requires Unicode to access these characters but
+ the library is unable to use Unicode. The "acsc char" column
+ corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG> string
+ capability, and the characters in it may appear on the screen if the
+ terminal's database entry incorrectly advertises ACS support. The name
+ "ACS" originates in the Alternate Character Set feature of the DEC
+ VT100 terminal.
+
+ <STRONG>ACS</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ <STRONG>ACS_BLOCK</STRONG> # 0 solid square block
+ <STRONG>ACS_BOARD</STRONG> # h board of squares
+ <STRONG>ACS_BTEE</STRONG> + v bottom tee
+ <STRONG>ACS_BULLET</STRONG> o ~ bullet
+ <STRONG>ACS_CKBOARD</STRONG> : a checker board (stipple)
+ <STRONG>ACS_DARROW</STRONG> v . arrow pointing down
+ <STRONG>ACS_DEGREE</STRONG> ' f degree symbol
+ <STRONG>ACS_DIAMOND</STRONG> + ` diamond
+ <STRONG>ACS_GEQUAL</STRONG> > > greater-than-or-equal-to
+ <STRONG>ACS_HLINE</STRONG> - q horizontal line
+ <STRONG>ACS_LANTERN</STRONG> # i lantern symbol
+ <STRONG>ACS_LARROW</STRONG> < , arrow pointing left
+ <STRONG>ACS_LEQUAL</STRONG> < y less-than-or-equal-to
+ <STRONG>ACS_LLCORNER</STRONG> + m lower left-hand corner
+ <STRONG>ACS_LRCORNER</STRONG> + j lower right-hand corner
+ <STRONG>ACS_LTEE</STRONG> + t left tee
+ <STRONG>ACS_NEQUAL</STRONG> ! | not-equal
+ <STRONG>ACS_PI</STRONG> * { greek pi
+ <STRONG>ACS_PLMINUS</STRONG> # g plus/minus
+ <STRONG>ACS_PLUS</STRONG> + n plus
+ <STRONG>ACS_RARROW</STRONG> > + arrow pointing right
+ <STRONG>ACS_RTEE</STRONG> + u right tee
+ <STRONG>ACS_S1</STRONG> - o scan line 1
+ <STRONG>ACS_S3</STRONG> - p scan line 3
+ <STRONG>ACS_S7</STRONG> - r scan line 7
+ <STRONG>ACS_S9</STRONG> _ s scan line 9
+ <STRONG>ACS_STERLING</STRONG> f } pound-sterling symbol
+ <STRONG>ACS_TTEE</STRONG> + w top tee
+ <STRONG>ACS_UARROW</STRONG> ^ - arrow pointing up
+ <STRONG>ACS_ULCORNER</STRONG> + l upper left-hand corner
+ <STRONG>ACS_URCORNER</STRONG> + k upper right-hand corner
+ <STRONG>ACS_VLINE</STRONG> | x vertical line