X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_addch.3x.html;h=779d5ad51194a1f488085fa57e3302b421cf2c06;hp=af567118c69b4b6139f2f5dd17447fb565fae232;hb=d97989d1e0db7282c723cabb44b991b951790006;hpb=f86cbeb5f9bd96ab041d34039c35749a14965039 diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html index af567118..779d5ad5 100644 --- a/doc/html/man/curs_addch.3x.html +++ b/doc/html/man/curs_addch.3x.html @@ -1,8 +1,7 @@ - + + + curs_addch 3x - + -

curs_addch 3x

-
+

curs_addch 3x

-
-curs_addch(3x)                                           curs_addch(3x)
+curs_addch(3x)                                                  curs_addch(3x)
 
 
 
 
-
-

NAME

-       addch,  waddch,  mvaddch,  mvwaddch, echochar, wechochar -
-       add a character (with attributes) to a curses window, then
-       advance the cursor
+

NAME

+       addch, waddch, mvaddch, mvwaddch, echochar, wechochar - add a character
+       (with attributes) to a curses window, then advance the cursor
 
 
-
-

SYNOPSIS

+

SYNOPSIS

        #include <curses.h>
 
        int addch(const chtype ch);
@@ -65,156 +62,252 @@
        int wechochar(WINDOW *win, const chtype ch);
 
 
-
-

DESCRIPTION

-       The  addch,  waddch, mvaddch and mvwaddch routines put the
-       character ch into the given window at its  current  window
-       position,  which  is then advanced.  They are analogous to
-       putchar in stdio(3).  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  scrollok  is enabled, the scrolling region is
-       scrolled up one line.
-
-       If ch 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 clrtoeol, 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.   The  tab  interval
-       may be altered by setting the TABSIZE variable.
-
-       If ch is any control character other than tab, newline, or
-       backspace, it is drawn  in  ^X  notation.   Calling  winch
-       after adding a control character does not return the char-
-       acter itself, but instead returns the ^-representation  of
-       the control character.
-
-       Video attributes can be combined with a character argument
-       passed to addch or related functions by logical-ORing them
-       into  the  character.   (Thus, text, including attributes,
-       can be copied from one place to  another  using  inch  and
-       addch.)   See  the curs_attr(3x) page for values of prede-
-       fined video attribute constants that can be usefully OR'ed
-       into characters.
+

DESCRIPTION

 
-       The  echochar  and  wechochar routines are equivalent to a
-       call to addch followed by a call to refresh, or a call  to
-       waddch followed by a call to wrefresh.  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.
-
-   Line Graphics
-       The  following  variables  may be used to add line drawing
-       characters to the screen with routines of the  addch  fam-
-       ily.   The  default  character listed below is used if the
-       acsc  capability  does  not  define  a   terminal-specific
-       replacement  for  it.   The  names  are  taken  from VT100
-       nomenclature.
-
-
-       Name           Default   Description
-       --------------------------------------------------
-       ACS_BLOCK      #         solid square block
-       ACS_BOARD      #         board of squares
-       ACS_BTEE       +         bottom tee
-       ACS_BULLET     o         bullet
-       ACS_CKBOARD    :         checker board (stipple)
-       ACS_DARROW     v         arrow pointing down
-       ACS_DEGREE     '         degree symbol
-       ACS_DIAMOND    +         diamond
-       ACS_GEQUAL     >         greater-than-or-equal-to
-       ACS_HLINE      -         horizontal line
-       ACS_LANTERN    #         lantern symbol
-       ACS_LARROW     <         arrow pointing left
-       ACS_LEQUAL     <         less-than-or-equal-to
-       ACS_LLCORNER   +         lower left-hand corner
-       ACS_LRCORNER   +         lower right-hand corner
-       ACS_LTEE       +         left tee
-       ACS_NEQUAL     !         not-equal
-       ACS_PI         *         greek pi
-       ACS_PLMINUS    #         plus/minus
-       ACS_PLUS       +         plus
-       ACS_RARROW     >         arrow pointing right
-       ACS_RTEE       +         right tee
-       ACS_S1         -         scan line 1
-       ACS_S3         -         scan line 3
-       ACS_S7         -         scan line 7
-       ACS_S9         _         scan line 9
-       ACS_STERLING   f         pound-sterling symbol
-       ACS_TTEE       +         top tee
-       ACS_UARROW     ^         arrow pointing up
-       ACS_ULCORNER   +         upper left-hand corner
-       ACS_URCORNER   +         upper right-hand corner
-       ACS_VLINE      |         vertical line
+

Adding characters

+       The addch, waddch, mvaddch and mvwaddch routines put the  character  ch
+       into  the  given  window  at its current window position, which is then
+       advanced.  They are  analogous  to  putchar(3)  in  stdio(3).   If  the
+       advance is at the right margin:
 
+       o   The cursor automatically wraps to the beginning of the next line.
 
-
-

RETURN VALUE

-       All routines return the integer ERR upon failure and OK on
-       success  (the  SVr4 manuals specify only "an integer value
-       other than ERR") upon successful completion, unless other-
-       wise noted in the preceding routine descriptions.
+       o   At  the  bottom of the current scrolling region, and if scrollok is
+           enabled, the scrolling region is scrolled up one line.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using wmove, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       o   If scrollok 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 ch is a tab, newline, carriage return or backspace,  the  cursor  is
+       moved appropriately within the window:
 
-
-

NOTES

-       Note  that  addch,  mvaddch, mvwaddch, and echochar may be
-       macros.
+       o   Backspace  moves the cursor one character left; at the left edge of
+           a window it does nothing.
 
+       o   Carriage return moves the cursor to the window left margin  on  the
+           current line.
 
-
-

PORTABILITY

-       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.
+       o   Newline  does  a clrtoeol, then moves the cursor to the window left
+           margin on the next line, scrolling the window if on the last line.
 
-       X/Open Curses states that the ACS_  definitions  are  char
-       constants.   For  the  wide-character  implementation (see
-       curs_add_wch), there are analogous WACS_ definitions which
-       are cchar_t constants.
+       o   Tabs are considered to be at every eighth column.  The tab interval
+           may be altered by setting the TABSIZE variable.
 
-       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 acsc 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
-       ncurses(3x).
+       If  ch  is  any  other  control  character, it is drawn in ^X notation.
+       Calling winch after adding a control  character  does  not  return  the
+       character  itself, but instead returns the ^-representation of the con-
+       trol character.
 
-       The TABSIZE variable is implemented in  some  versions  of
-       curses, but is not part of X/Open curses.
+       Video attributes can be combined with a character  argument  passed  to
+       addch  or  related  functions by logical-ORing them into the character.
+       (Thus, text, including attributes, can be  copied  from  one  place  to
+       another using inch(3x) and addch.)  See the curs_attr(3x) page for val-
+       ues of predefined video attribute constants that can be usefully  OR'ed
+       into characters.
 
-       If  ch  is  a  carriage return, the cursor is moved to the
-       beginning of the current row of the window.  This is  true
-       of other implementations, but is not documented.
 
+

Echoing characters

+       The  echochar  and wechochar routines are equivalent to a call to addch
+       followed by a call to refresh(3x), or a call to waddch  followed  by  a
+       call  to wrefresh.  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.
+
+
+

Line Graphics

+       The following variables may be used to add line drawing  characters  to
+       the  screen  with  routines of the addch family.  The default character
+       listed below is used if the acsc 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.
+
+       ACS            ACS       acsc   Glyph
+       Name           Default   char   Name
+       ---------------------------------------------------------
+       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
+
+
+

RETURN VALUE

+       All routines return the integer ERR upon failure and OK on success (the
+       SVr4  manuals specify only "an integer value other than ERR") upon suc-
+       cessful completion, unless otherwise noted  in  the  preceding  routine
+       descriptions.
+
+       Functions  with  a  "mv"  prefix  first perform a cursor movement using
+       wmove, and return an error if the position is outside the window, or if
+       the window pointer is null.
+
+
+

NOTES

+       Note that addch, mvaddch, mvwaddch, and echochar may be macros.
+
+
+

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.
+
+
+

ACS Symbols

+       X/Open Curses states that the ACS_ definitions are char constants.  For
+       the wide-character implementation (see curs_add_wch), there are  analo-
+       gous  WACS_  definitions which are cchar_t constants.  Some implementa-
+       tions are problematic:
+
+       o   Some implementations define the ACS symbols to a constant (such  as
+           Solaris), while others define those to entries in an array.
+
+           This  implementation uses an array acs_map, as done in SVr4 curses.
+           NetBSD also uses an array, actually named _acs_char, with a #define
+           for compatibility.
+
+       o   HPUX curses equates some of the ACS_ symbols to the analogous WACS_
+           symbols as if the ACS_ symbols were wide  characters.   The  misde-
+           fined  symbols  are the arrows and other symbols which are not used
+           for line-drawing.
+
+       o   X/Open Curses (issues 2 through 7) has a  typographical  error  for
+           the ACS_LANTERN symbol, equating its "VT100+ Character" to I (capi-
+           tal I), while the header files for  SVr4  curses  and  the  various
+           implementations use i (lowercase).
+
+           None  of the terminal descriptions on Unix platforms use uppercase-
+           I, except for Solaris (i.e., screen's terminal description,  appar-
+           ently based on the X/Open documentation around 1995).  On the other
+           hand, the terminal description gs6300 (AT&T PC6300 with EMOTS  Ter-
+           minal Emulator) uses lowercase-i.
+
+       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 acsc
+       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 ncurses(3x).
+
+       The displayed values for the ACS_ and WACS_ constants depend on
+
+       o   the library configuration, i.e., ncurses versus ncursesw, where the
+           latter  is  capable  of displaying Unicode while the former is not,
+           and
+
+       o   whether the locale uses UTF-8 encoding.
+
+       In certain cases, the terminal is unable to display line-drawing  char-
+       acters except by using UTF-8 (see the discussion of NCURSES_NO_UTF8_ACS
+       in ncurses(3x)).
+
+
+

Character Set

+       X/Open Curses assumes that the parameter passed to  waddch  contains  a
+       single  character.   As  discussed in curs_attr(3x), that character may
+       have been more than eight bits in an SVr3 or SVr4  implementation,  but
+       in  the  X/Open Curses model, the details are not given.  The important
+       distinction between SVr4 curses and X/Open Curses is that the non-char-
+       acter information (attributes and color) was separated from the charac-
+       ter information which is packed in a chtype to pass to waddch.
 
-
-

SEE ALSO

-       curses(3x),  curs_attr(3x), curs_clear(3x), curs_inch(3x),
-       curs_outopts(3x),  curs_refresh(3x),   curs_variables(3x),
-       putc(3).
+       In this implementation,  chtype  holds  an  eight-bit  character.   But
+       ncurses  allows  multibyte  characters  to be passed in a succession of
+       calls to waddch.  The other implementations do not do this; a  call  to
+       waddch  passes  exactly  one  character which may be rendered as one or
+       more cells on the screen depending on whether it is printable.
+
+       Depending on the locale settings, ncurses will inspect the byte  passed
+       in  each  call  to waddch, and check if the latest call will continue a
+       multibyte sequence.  When a character is complete, ncurses displays the
+       character and moves to the next position in the screen.
+
+       If  the  calling  application  interrupts  the succession of bytes in a
+       multibyte character by moving the current location (e.g., using wmove),
+       ncurses discards the partially built character, starting over again.
+
+       For  portability to other implementations, do not rely upon this behav-
+       ior:
+
+       o   check if a character can be represented as a  single  byte  in  the
+           current locale before attempting call waddch, and
+
+       o   call wadd_wch for characters which cannot be handled by waddch.
+
+
+

TABSIZE

+       The  TABSIZE  variable  is  implemented  in  SVr4 and other versions of
+       curses, but is not part of X/Open curses  (see  curs_variables(3x)  for
+       more details).
+
+       If ch is a carriage return, the cursor is moved to the beginning of the
+       current row of the window.  This is true of other implementations,  but
+       is not documented.
+
+
+

SEE ALSO

+       curses(3x),  curs_attr(3x),  curs_clear(3x),  curs_inch(3x),  curs_out-
+       opts(3x), curs_refresh(3x), curs_variables(3x), putc(3).
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in curs_add_wch(3x).
+       Comparable functions  in  the  wide-character  (ncursesw)  library  are
+       described in curs_add_wch(3x).
 
 
 
-                                                         curs_addch(3x)
+                                                                curs_addch(3x)
 
-
-
-Man(1) output converted with -man2html -
+