summaryrefslogtreecommitdiff
path: root/lib/libcurses/curs_addch.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcurses/curs_addch.3')
-rw-r--r--lib/libcurses/curs_addch.3146
1 files changed, 146 insertions, 0 deletions
diff --git a/lib/libcurses/curs_addch.3 b/lib/libcurses/curs_addch.3
new file mode 100644
index 00000000000..e32eba1ef1b
--- /dev/null
+++ b/lib/libcurses/curs_addch.3
@@ -0,0 +1,146 @@
+'\" t
+.TH curs_addch 3X ""
+.SH NAME
+\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
+\fBechochar\fR, \fBwechochar\fR - add a character (with attributes) to a
+\fBcurses\fR window, then advance the cursor
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+
+\fBint addch(chtype ch);\fR
+.br
+\fBint waddch(WINDOW *win, chtype ch);\fR
+.br
+\fBint mvaddch(int y, int x, chtype ch);\fR
+.br
+\fBint mvwaddch(WINDOW *win, int y, int x, chtype ch);\fR
+.br
+\fBint echochar(chtype ch);\fR
+.br
+\fBint wechochar(WINDOW *win, chtype ch);\fR
+.br
+.SH DESCRIPTION
+The \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR and \fBmvwaddch\fR routines put
+the character \fIch\fR into the given window at its current window position,
+which is then advanced. They are analogous to \fBputchar\fR in \fBstdio\fR(3).
+If the advance is at the right margin, the cursor automatically wraps to the
+beginning of the next line. At the bottom of the current scrolling region, if
+\fBscrollok\fR is enabled, the scrolling region is scrolled up one line.
+
+If \fIch\fR is a tab, newline, or backspace, the cursor is moved appropriately
+within the window. Backspace moves the cursor one character left; at the left
+edge of a window it does nothing. Newline does a \fBclrtoeol\fR, then moves
+the cursor to the window left margin on the next line, scrolling the window if
+on the last line). Tabs are considered to be at every eighth column.
+
+If \fIch\fR is any control character other than tab, newline, or backspace, it
+is drawn in \fB^\fR\fIX\fR notation. Calling \fBwinch\fR after adding a
+control character does not return the character itself, but instead returns
+the ^-representation of the control character. (To emit control characters
+literally, use \fBechochar\fR.)
+
+Video attributes can be combined with a character argument passed to
+\fBaddch\fR or related functions by logical-ORing them into the character.
+(Thus, text, including attributes, can be copied from one place to another
+using \fBinch\fR and \fBaddch\fR.). See the \fBcurs_attr\fR(3X) page for
+values of predefined video attribute constants that can be usefully ORed
+into characters.
+
+The \fBechochar\fR and \fBwechochar\fR routines are equivalent to a call to
+\fBaddch\fR followed by a call to \fBrefresh\fR, or a call to \fBwaddch\fR
+followed by a call to \fBwrefresh\fR. 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.
+.SS Line Graphics
+The following variables may be used to add line drawing characters to the
+screen with routines of the \fBaddch\fR family. The default character listed
+below is used if the \fBacsc\fR capability doesn't define a terminal-specific
+replacement for it (but see the EXTENSIONS section below). The names are
+taken from VT100 nomenclature.
+
+.TS
+l l l
+_ _ _
+l l l.
+\fIName\fR \fIDefault\fR \fIDescription\fR
+ACS_ULCORNER + upper left-hand corner
+ACS_LLCORNER + lower left-hand corner
+ACS_URCORNER + upper right-hand corner
+ACS_LRCORNER + lower right-hand corner
+ACS_RTEE + right tee
+ACS_LTEE + left tee
+ACS_BTEE + bottom tee
+ACS_TTEE + top tee
+ACS_HLINE - horizontal line
+ACS_VLINE | vertical line
+ACS_PLUS + plus
+ACS_S1 - scan line 1
+ACS_S9 \&_ scan line 9
+ACS_DIAMOND + diamond
+ACS_CKBOARD : checker board (stipple)
+ACS_DEGREE ' degree symbol
+ACS_PLMINUS # plus/minus
+ACS_BULLET o bullet
+ACS_LARROW < arrow pointing left
+ACS_RARROW > arrow pointing right
+ACS_DARROW v arrow pointing down
+ACS_UARROW ^ arrow pointing up
+ACS_BOARD # board of squares
+ACS_LANTERN # lantern symbol
+ACS_BLOCK # solid square block
+ACS_S3 - scan line 3
+ACS_S7 - scan line 7
+ACS_LEQUAL < less-than-or-equal-to
+ACS_GEQUAL > greater-than-or-equal-to
+ACS_PI * greek pi
+ACS_NEQUAL ! not-equal
+ACS_STERLING f pound-sterling symbol
+.TE
+
+.SH RETURN VALUE
+All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
+(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
+successful completion, unless otherwise noted in the preceding routine
+descriptions.
+.SH NOTES
+Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and
+\fBechochar\fR may be macros.
+.SH EXTENSIONS
+The following extended \fBcurses\fR features are available only on PC-clone
+consoles and compatible terminals obeying the ANSI.SYS de-facto standard for
+terminal control sequences. They are not part of XSI curses.
+
+The attribute A_ALTCHARSET actually forces literal display of PC ROM characters
+including the high-half graphics. Your console driver may still capture or
+translate a few (such as ESC) but this feature should give you access to the
+card-suit characters, up and down-arrow, and most others in the range 0-32.
+(In a terminfo entry designed for use with \fBncurses\fR, the high-half
+characters are obtained using this attribute with an \fBacsc\fR string in
+which the second of each pair is a high-half character.)
+
+Giving \fBwechochar\fR an argument with its high bit set will produce the
+corresponding high-half ASCII graphic (SVr4 curses also has this feature but
+does not document it). A control-character argument, however, will not
+typically produce the corresponding graphic; characters such as CR, NL, FF and
+TAB are typically interpreted by the console driver itself, and ESC will be
+interpreted as the leader of a control sequence.
+.SH PORTABILITY
+All these functions are described in the XSI Curses standard, Issue 4.
+The defaults specified for forms-drawing characters apply in the POSIX locale.
+
+The seven ACS symbols starting with \fBACS_S3\fR were not documented in
+any publicly released System V. However, many publicly available terminfos
+include \fBacsc\fR 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 \fBncurses\fR(3X).
+.SH SEE ALSO
+\fBcurses\fR(3X), \fBcurs_attr\fR(3X), \fBcurs_clear\fR(3X),
+\fBcurs_inch\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X),
+\fBputc\fR(3S).
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End: