


curs_addch(3X)                                     curs_addch(3X)


NNAAMMEE
       ccuurrss__aaddddcchh:  aaddddcchh,  wwaaddddcchh,  mmvvaaddddcchh, mmvvwwaaddddcchh, eecchhoocchhaarr,
       wweecchhoocchhaarr - add a character (with attributes) to a  ccuurrsseess
       window, then advance the cursor

SSYYNNOOPPSSIISS
       ##iinncclluuddee <<ccuurrsseess..hh>>

       iinntt aaddddcchh((cchhttyyppee cchh));;
       iinntt wwaaddddcchh((WWIINNDDOOWW **wwiinn,, cchhttyyppee cchh));;
       iinntt mmvvaaddddcchh((iinntt yy,, iinntt xx,, cchhttyyppee cchh));;
       iinntt mmvvwwaaddddcchh((WWIINNDDOOWW **wwiinn,, iinntt yy,, iinntt xx,, cchhttyyppee cchh));;
       iinntt eecchhoocchhaarr((cchhttyyppee cchh));;
       iinntt wweecchhoocchhaarr((WWIINNDDOOWW **wwiinn,, cchhttyyppee cchh));;

DDEESSCCRRIIPPTTIIOONN
       The  aaddddcchh,  wwaaddddcchh, mmvvaaddddcchh and mmvvwwaaddddcchh routines put the
       character _c_h into the given window at its  current  window
       position,  which  is then advanced.  They are analogous to
       ppuuttcchhaarr in ssttddiioo(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 scrolling region,  if
       ssccrroollllookk  is  enabled, the scrolling region is scrolled up
       one line.

       If _c_h 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 ccllrrttooeeooll, 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.

       If _c_h is any control character other than tab, newline, or
       backspace,  it  is  drawn  in  ^^_X notation.  Calling wwiinncchh
       after adding a control character does not return the  con-
       trol  character, but instead returns the representation of
       the control character.  (To emit control characters liter-
       ally, use eecchhoocchhaarr.)

       Video  attributes  can be combined with a character by OR-
       ing them  into  the  parameter.   This  results  in  these
       attributes also being set.  (The intent here is that text,
       including attributes, can be  copied  from  one  place  to
       another  using iinncchh and aaddddcchh.)  [see ssttaannddoouutt, predefined
       video attribute constants, on the curs_attr(3X) page].

       The  eecchhoocchhaarr  and  wweecchhoocchhaarr  routines  are  functionally
       equivalent  to  a  call  to  aaddddcchh  followed  by a call to
       rreeffrreesshh, or a call to wwaaddddcchh followed by a  call  to  wwrree--
       ffrreesshh.   The  knowledge  that  only  a single character is
       being output is taken into  consideration  and,  for  non-
       control  characters, a considerable performance gain might
       be  seen  by  using  these  routines  instead   of   their



                                                                1





curs_addch(3X)                                     curs_addch(3X)


       equivalents.

   LLiinnee GGrraapphhiiccss
       The  following  variables  may be used to add line drawing
       characters to the screen with routines of the  aaddddcchh  fam-
       ily.   The  default  character listed below is used if the
       aaccsscc  capability  doesn't   define   a   terminal-specific
       replacement for it (but see the EXTENSIONS section below).
       The names are taken from the the VT100 nomenclature.

       _N_a_m_e           _D_e_f_a_u_l_t   _D_e_s_c_r_i_p_t_i_o_n
       -------------------------------------------------
       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


RREETTUURRNN VVAALLUUEE
       All routines return the integer EERRRR upon failure and OOKK on
       success  (the  SVr4 manuals specify only "an integer value
       other than EERRRR") upon successful completion, unless other-
       wise noted in the preceding routine descriptions.

NNOOTTEESS
       Note  that  aaddddcchh,  mmvvaaddddcchh, mmvvwwaaddddcchh, and eecchhoocchhaarr may be
       macros.

EEXXTTEENNSSIIOONNSS
       The following extended ccuurrsseess features are available  only
       on PC-clone consoles and compatible terminals (and are not
       part of XSI curses).




                                                                2





curs_addch(3X)                                     curs_addch(3X)


       There is a new attribute A_PCCHARSET which forces  literal
       display  of  PC  ROM  characters.  Your console driver may
       still capture or translate a few (such as  ESC)  but  this
       feature  should  give  you access to the card-suit charac-
       ters, up and down-arrow, and  most  others  in  the  range
       0-32.

       Giving  wweecchhoocchhaarr  an  argument with its high bit set will
       produce the corresponding high-half ASCIIZ  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.

PPOORRTTAABBIILLIITTYY
       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.

SSEEEE AALLSSOO
       ccuurrsseess(3X), ccuurrss__aattttrr(3X), ccuurrss__cclleeaarr(3X),  ccuurrss__iinncchh(3X),
       ccuurrss__oouuttooppttss(3X), ccuurrss__rreeffrreesshh(3X), ppuuttcc(3S).

































                                                                3


