]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_bkgrnd.3x.html
ncurses 6.4 - patch 20231217
[ncurses.git] / doc / html / man / curs_bkgrnd.3x.html
index 60ea015b8a48378dac5d576a93479c2527d8bf8b..604fe92ddcdeea5b177b5c20de2ca600865d4b52 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgrnd.3x,v 1.34 2023/12/02 21:30:00 tom Exp @
+  * @Id: curs_bkgrnd.3x,v 1.35 2023/12/16 23:00:21 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgrnd 3x 2023-12-02 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgrnd 3x 2023-12-16 ncurses 6.4 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_bkgrnd 3x 2023-12-02 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2023-12-16 ncurses 6.4 Library calls</H1>
 <PRE>
 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <EM>background</EM>  of  a  <EM>curses</EM>  window   (in   the   library's   "wide"
+       configuration)  is  a  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  combining  a  set  of  attributes  (see
+       <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with a complex character called the <EM>blank</EM> <EM>character.</EM>
 
-</PRE><H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
-       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the background of  the
-       named  window.   The  window  background is a <STRONG>cchar_t</STRONG> consisting of any
-       combination of attributes (i.e., rendition) and a complex character.
+       The blank character is a spacing character that  populates  a  window's
+       character  cells  when  their  contents are erased without replacement.
+       The background's attributes are combined with all non-blank  characters
+       written  to  the  window,  as  with  the  <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> and <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG>
+       families of functions.
 
-       <STRONG>o</STRONG>   The attribute part of the background is combined (OR'ed)  with  all
-           non-blank characters that are written into the window with <STRONG>waddch</STRONG>.
+       The blank character and  attributes  of  the  background  combine  with
+       characters  written  to  the window as described below.  The background
+       becomes a property of the character  and  moves  with  it  through  any
+       scrolling and insert/delete line/character operations.
 
-       <STRONG>o</STRONG>   Both  the  character  and  attribute  parts  of  the background are
-           combined with the blank characters.
+       To  the  extent possible on a given terminal, the attribute part of the
+       background is displayed as the graphic rendition of the  character  put
+       on the screen.
 
-       The background becomes a property of the character and moves  with  the
-       character   through  any  scrolling  and  insert/delete  line/character
-       operations.
 
-       To the extent possible on a particular terminal, the attribute part  of
-       the  background  is displayed as the graphic rendition of the character
-       put on the screen.
+</PRE><H3><a name="h3-bkgrnd_-wbkgrnd">bkgrnd, wbkgrnd</a></H3><PRE>
+       <STRONG>bkgrnd</STRONG>  and  <STRONG>wbkgrnd</STRONG>  set  the  background  property  of  <STRONG>stdscr</STRONG> or the
+       specified window and then apply this setting to every character cell in
+       that window.
 
+       <STRONG>o</STRONG>   The  rendition  of every character in the window changes to the new
+           background rendition.
 
-</PRE><H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
-       The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the  background  property  of  the
-       current  or  specified  window  and  then  apply  this setting to every
-       character position in that window:
+       <STRONG>o</STRONG>   Wherever the former background character appears, it changes to the
+           new background character.
 
-       <STRONG>o</STRONG>   The rendition of every character on the screen is  changed  to  the
-           new background rendition.
+       <EM>ncurses</EM>  updates  the rendition of each character cell by comparing the
+       character, non-color attributes, and colors.  The  library  applies  to
+       following  procedure  to  each cell in the window, whether or not it is
+       blank.
 
-       <STRONG>o</STRONG>   Wherever  the former background character appears, it is changed to
-           the new background character.
+       <STRONG>o</STRONG>   <EM>ncurses</EM> first compares  the  cell's  character  to  the  previously
+           specified  blank  character;  if they match, <EM>ncurses</EM> writes the new
+           blank character to the cell.
 
+       <STRONG>o</STRONG>   <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair
+           value  is  nonzero.   If not, it simply replaces the attributes and
+           color  pair  in  the  cell  with  those  from  the  new  background
+           character.
 
-</PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
-       The <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> functions obtain the  given  or  specified
-       window's  current  background character and attribute pair and store it
-       via the <EM>wch</EM> pointer.
+       <STRONG>o</STRONG>   If  the  cell  uses color, and its background color matches that of
+           the current window background, <EM>ncurses</EM> removes attributes that  may
+           have  come  from the current background and adds those from the new
+           background.  It finishes by setting the cell's  background  to  use
+           the new window background color.
+
+       <STRONG>o</STRONG>   If  the  cell  uses  color, and its background color does not match
+           that of the current window background,  <EM>ncurses</EM>  updates  only  the
+           non-color  attributes, first removing those that may have come from
+           the current background, and then adding  attributes  from  the  new
+           background.
+
+       <EM>ncurses</EM>  treats  a  background  character  value of zero (0) as a blank
+       character.
+
+       If the terminal does not support  color,  or  if  color  has  not  been
+       initialized  with  <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>,  <EM>ncurses</EM> ignores the new background
+       character's color attribute.
+
+
+</PRE><H3><a name="h3-bkgrndset_-wbkgrndset">bkgrndset, wbkgrndset</a></H3><PRE>
+       <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> manipulate the background  of  the  applicable
+       window,  without updating the character cells as <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> do;
+       only future writes reflect the updated background.
+
+
+</PRE><H3><a name="h3-getbkgrnd_-wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></H3><PRE>
+       The <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> functions obtain the background  character
+       and  attribute  pair of <STRONG>stdscr</STRONG> or the specified window and store it via
+       the <EM>wch</EM> pointer.
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value.
+       <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> do not return a value.
 
-       Upon successful completion, the other functions return <STRONG>OK</STRONG>.   Otherwise,
-       they return <STRONG>ERR</STRONG>:
+       The other functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>  upon  success.   In
+       <EM>ncurses,</EM> failure occurs if
 
-       <STRONG>o</STRONG>   A null <EM>WINDOW</EM> pointer is treated as an error.
+       <STRONG>o</STRONG>   a <EM>WINDOW</EM> pointer <EM>win</EM> is null, or
 
-       <STRONG>o</STRONG>   A null <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> pointer is treated as an error.
+       <STRONG>o</STRONG>   a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> pointer <EM>wch</EM> is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be available as macros.
 
-       X/Open Curses does not provide details on how the rendition is changed.
-       This implementation follows the approach used in SVr4 curses, which  is
-       explained in the manual page for <STRONG>wbkgd</STRONG>.
+       Unlike  their  counterparts in the non-"wide" configuration of <EM>ncurses,</EM>
+       <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and  attribute
+       in a modifiable <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> parameter, not as the return value.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses standard, Issue 4.
+       X/Open  Curses,  Issue  4,  describes these functions.  It specifies no
+       error conditions for them.
+
+       X/Open Curses does not provide details of how the rendition is updated.
+       This implementation follows the approach used in SVr4 <EM>curses.</EM>
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>  describes  the corresponding functions in the non-"wide"
+       configuration of <EM>ncurses.</EM>
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 
 
 
-ncurses 6.4                       2023-12-02                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.4                       2023-12-16                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -140,9 +185,9 @@ ncurses 6.4                       2023-12-02                   <STRONG><A HREF="
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-bkgrndset">bkgrndset</a></li>
-<li><a href="#h3-bkgrnd">bkgrnd</a></li>
-<li><a href="#h3-getbkgrnd">getbkgrnd</a></li>
+<li><a href="#h3-bkgrnd_-wbkgrnd">bkgrnd, wbkgrnd</a></li>
+<li><a href="#h3-bkgrndset_-wbkgrndset">bkgrndset, wbkgrndset</a></li>
+<li><a href="#h3-getbkgrnd_-wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>