Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curs_bkgd(3X)			 Library calls			 curs_bkgd(3X)

NAME
       bkgdset,	 wbkgdset,  bkgd,  wbkgd, getbkgd - manipulate background of a
       curses window of	characters

SYNOPSIS
       #include	<curses.h>

       int bkgd(chtype ch);
       int wbkgd(WINDOW	*win, chtype ch);

       void bkgdset(chtype ch);
       void wbkgdset(WINDOW *win, chtype ch);

       chtype getbkgd(WINDOW *win);

DESCRIPTION
       The background of a curses window (in the library's non-"wide" configu-
       ration) is a chtype combining a set of attributes  (see	curs_attr(3X))
       with a character	called the blank 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 waddch(3X) and  winsch(3X)  families
       of functions.

       The blank character and attributes of the background combine with char-
       acters  written	to  the	window as described below.  The	background be-
       comes a property	of  the	 character  and	 moves	with  it  through  any
       scrolling and insert/delete line/character operations.

       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.

   bkgd, wbkgd
       bkgd  and  wbkgd	set the	background property of stdscr or the specified
       window and then apply this setting to every character cell in that win-
       dow.

          The rendition of every character in the window changes to  the  new
	   background rendition.

          Wherever the	former background character appears, it	changes	to the
	   new background character.

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

          ncurses first compares the cell's character to the previously spec-
	   ified blank character; if they match, ncurses writes	the new	 blank
	   character to	the cell.

          ncurses 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  charac-
	   ter.

          If  the  cell  uses color, and its background color matches that of
	   the current window background, ncurses 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.

          If  the  cell  uses	color, and its background color	does not match
	   that	of the current window background,  ncurses  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.

       ncurses	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  ini-
       tialized	with start_color(3X), ncurses ignores the new background char-
       acter's color attribute.

   bkgdset, wbkgdset
       bkgdset	and  wbkgdset manipulate the background	of the applicable win-
       dow, without updating the character cells as bkgd and  wbkgd  do;  only
       future writes reflect the updated background.

   getbkgd
       getbkgd	obtains	 the given window's background character and attribute
       combination.

RETURN VALUE
       Functions returning an int return OK on success.	 bkgd returns  ERR  if
       the  library has	not been initialized.  wbkgd and getbkgd return	ERR if
       a WINDOW	pointer	argument is null.

       bkgdset and wbkgdset do not return a value.

       getbkgd returns a window's background character and attribute  combina-
       tion.

NOTES
       Unusually,  there is no wgetbkgd	function; getbkgd behaves as one would
       expect wgetbkgd to, accepting a WINDOW pointer argument.

       bkgd and	bkgdset	may be implemented as macros.

       X/Open Curses mentions that the character part of the  background  must
       be  a  single-byte  value.  ncurses, like SVr4 curses, checks to	ensure
       that, and will reuse the	old background character if the	check fails.

PORTABILITY
       X/Open Curses, Issue 4 describes	these functions.   It  specifies  that
       bkgd,  wbkgd,  and  getbkgd  return  ERR	on failure (in the case	of the
       last, this value	is cast	to chtype), but	describes  no  failure	condi-
       tions.

       The SVr4.0 manual says that bkgd	and wbkgd may return OK	"or a non-neg-
       ative integer if	immedok	is set", which refers to the return value from
       wrefresh(3X),   used  to	 implement  the	 immediate  repainting.	  SVr4
       curses's	wrefresh returns the  number  of  characters  written  to  the
       screen during the refresh.  ncurses does	not do that.

       Neither	X/Open	Curses nor the SVr4 manual pages detail	how the	rendi-
       tion of characters on the screen	updates	when bkgd or wbkgd changes the
       background character.  ncurses, like SVr4  curses,  does	 not  (in  its
       non-"wide"  configuration)  store  the  background and window attribute
       contributions to	each character cell separately.

SEE ALSO
       curs_bkgrnd(3X) describes the corresponding  functions  in  the	"wide"
       configuration of	ncurses.

       curses(3X), curs_addch(3X), curs_attr(3X)

ncurses	6.5			  2024-04-20			 curs_bkgd(3X)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | NOTES | PORTABILITY | SEE ALSO

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curs_bkgd&sektion=3&manpath=FreeBSD+14.2-RELEASE+and+Ports>

home | help