]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_color.3x.html
ncurses 5.3
[ncurses.git] / doc / html / man / curs_color.3x.html
index 296d8e9e5db52acc5f13d71ce014e1d67dfc80fd..2165cebf4ff82d394fffb78f366a3dc639835454 100644 (file)
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: curs_color.3x,v 1.19 2002/02/16 22:38:32 tom Exp @
+-->
 <HTML>
+<HEAD>
+<TITLE>curs_color 3x</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
 <BODY>
+<H1>curs_color 3x</H1>
+<HR>
 <PRE>
 <!-- Manpage converted by man2html 3.0.1 -->
 
 </PRE>
 <H2>NAME</H2><PRE>
-       <B>start_color</B>,     <B>init_pair</B>,     <B>init_color</B>,    <B>has_colors</B>,
-       <B>can_change_color</B>, <B>color_content</B>, <B>pair_content</B>,  <B>COLOR_PAIR</B>
-       - <B>curses</B> color manipulation routines
+       <STRONG>start_color</STRONG>,     <STRONG>init_pair</STRONG>,     <STRONG>init_color</STRONG>,    <STRONG>has_colors</STRONG>,
+       <STRONG>can_change_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>,  <STRONG>COLOR_PAIR</STRONG>
+       - <STRONG>curses</STRONG> color manipulation routines
 
 
 </PRE>
 <H2>SYNOPSIS</H2><PRE>
-       <B>#</B> <B>include</B> <B>&lt;curses.h&gt;</B>
-       <B>int</B> <B>start_color(void);</B>
-       <B>int</B> <B>init_pair(short</B> <B>pair,</B> <B>short</B> <B>f,</B> <B>short</B> <B>b);</B>
-       <B>int</B> <B>init_color(short</B> <B>color,</B> <B>short</B> <B>r,</B> <B>short</B> <B>g,</B> <B>short</B> <B>b);</B>
-       <B>bool</B> <B>has_colors(void);</B>
-       <B>bool</B> <B>can_change_color(void);</B>
-       <B>int</B>  <B>color_content(short</B>  <B>color,</B> <B>short</B> <B>*r,</B> <B>short</B> <B>*g,</B> <B>short</B>
-       <B>*b);</B>
-       <B>int</B> <B>pair_content(short</B> <B>pair,</B> <B>short</B> <B>*f,</B> <B>short</B> <B>*b);</B>
+       <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+       <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
+       <STRONG>int</STRONG>  <STRONG>color_content(short</STRONG>  <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG>
+       <STRONG>*b);</STRONG>
+       <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
 
 
 </PRE>
 <H2>DESCRIPTION</H2><PRE>
-   <B>Overview</B>
-       <B>curses</B> support color attributes  on  terminals  with  that
-       capability.   To  use  these  routines <B>start_color</B> must be
-       called, usually right after <B>initscr</B>.   Colors  are  always
+   <STRONG>Overview</STRONG>
+       <STRONG>curses</STRONG> support color attributes  on  terminals  with  that
+       capability.   To  use  these  routines <STRONG>start_color</STRONG> must be
+       called, usually right after <STRONG>initscr</STRONG>.   Colors  are  always
        used  in pairs (referred to as color-pairs).  A color-pair
        consists of a foreground  color  (for  characters)  and  a
        background color (for the blank field on which the charac-
        ters are displayed).  A programmer  initializes  a  color-
-       pair  with  the routine <B>init_pair</B>.  After it has been ini-
-       tialized, <B>COLOR_PAIR</B>(<I>n</I>), a macro  defined  in  <B>&lt;curses.h&gt;</B>,
+       pair  with  the routine <STRONG>init_pair</STRONG>.  After it has been ini-
+       tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>), a macro  defined  in  <STRONG>&lt;curses.h&gt;</STRONG>,
        can be used as a new video attribute.
 
        If  a  terminal  is capable of redefining colors, the pro-
-       grammer can use the routine <B>init_color</B> to change the defi-
-       nition   of   a   color.    The  routines  <B>has_colors</B>  and
-       <B>can_change_color</B>  return  <B>TRUE</B>  or  <B>FALSE</B>,  depending   on
+       grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
+       nition   of   a   color.    The  routines  <STRONG>has_colors</STRONG>  and
+       <STRONG>can_change_color</STRONG>  return  <STRONG>TRUE</STRONG>  or  <STRONG>FALSE</STRONG>,  depending   on
        whether  the  terminal  has color capabilities and whether
        the  programmer  can  change  the  colors.   The   routine
-       <B>color_content</B>  allows  a programmer to extract the amounts
+       <STRONG>color_content</STRONG>  allows  a programmer to extract the amounts
        of red, green,  and  blue  components  in  an  initialized
-       color.   The  routine  <B>pair_content</B> allows a programmer to
+       color.   The  routine  <STRONG>pair_content</STRONG> allows a programmer to
        find out how a given color-pair is currently defined.
 
-   <B>Routine</B> <B>Descriptions</B>
-       The <B>start_color</B> routine requires no arguments.  It must be
+   <STRONG>Routine</STRONG> <STRONG>Descriptions</STRONG>
+       The <STRONG>start_color</STRONG> routine requires no arguments.  It must be
        called  if  the programmer wants to use colors, and before
        any other color manipulation routine  is  called.   It  is
-       good  practice  to  call this routine right after <B>initscr</B>.
-       <B>start_color</B> initializes eight basic  colors  (black,  red,
+       good  practice  to  call this routine right after <STRONG>initscr</STRONG>.
+       <STRONG>start_color</STRONG> initializes eight basic  colors  (black,  red,
        green,  yellow,  blue,  magenta, cyan, and white), and two
-       global variables,  <B>COLORS</B>  and  <B>COLOR_PAIRS</B>  (respectively
+       global variables,  <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG>  (respectively
        defining  the maximum number of colors and color-pairs the
        terminal can support).  It also restores the colors on the
        terminal to the values they had when the terminal was just
        turned on.
 
-       The <B>init_pair</B> routine changes the definition of  a  color-
+       The <STRONG>init_pair</STRONG> routine changes the definition of  a  color-
        pair.   It takes three arguments: the number of the color-
        pair to be changed, the foreground color number,  and  the
        background color number.  For portable applications:
 
-       -    The value of the first argument must be between <B>1</B> and
-            <B>COLOR_PAIRS-1</B>.
+       -    The value of the first argument must be between <STRONG>1</STRONG> and
+            <STRONG>COLOR_PAIRS-1</STRONG>.
 
        -    The value of the second and third arguments  must  be
-            between  0  and  <B>COLORS</B> (the 0 color pair is wired to
+            between  0  and  <STRONG>COLORS</STRONG> (the 0 color pair is wired to
             white on black and cannot be changed).
 
        If the color-pair was previously initialized,  the  screen
-       is  refreshed  and  all  occurrences of that color-pair is
+       is  refreshed  and  all occurrences of that color-pair are
        changed to the new definition.
 
        As an extension, ncurses allows you to set  color  pair  0
-       via  the  <B>assume_default_colors</B> routine, or to specify the
-       use of default colors  (color  number  <B>-1</B>)  if  you  first
-       invoke the <B>use_default_colors</B> routine.
+       via  the  <STRONG>assume_default_colors</STRONG> routine, or to specify the
+       use of default colors  (color  number  <STRONG>-1</STRONG>)  if  you  first
+       invoke the <STRONG>use_default_colors</STRONG> routine.
 
-       The  <B>init_color</B> routine changes the definition of a color.
+       The  <STRONG>init_color</STRONG> routine changes the definition of a color.
        It takes four arguments: the number of  the  color  to  be
        changed  followed  by three RGB values (for the amounts of
        red, green, and blue components).  The value of the  first
-       argument  must  be between <B>0</B> and <B>COLORS</B>.  (See the section
-       <B>Colors</B> for the default color index.)   Each  of  the  last
+       argument  must  be between <STRONG>0</STRONG> and <STRONG>COLORS</STRONG>.  (See the section
+       <STRONG>Colors</STRONG> for the default color index.)   Each  of  the  last
        three  arguments must be a value between 0 and 1000.  When
-       <B>init_color</B> is used, all occurrences of that color  on  the
+       <STRONG>init_color</STRONG> is used, all occurrences of that color  on  the
        screen immediately change to the new definition.
 
-       The  <B>has_colors</B> routine requires no arguments.  It returns
-       <B>TRUE</B> if the terminal can manipulate colors; otherwise,  it
-       returns <B>FALSE</B>.  This routine facilitates writing terminal-
+       The  <STRONG>has_colors</STRONG> routine requires no arguments.  It returns
+       <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise,  it
+       returns <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-
        independent programs.  For example, a programmer  can  use
        it  to  decide  whether  to  use color or some other video
        attribute.
 
-       The <B>can_change_color</B> routine requires  no  arguments.   It
-       returns  <B>TRUE</B>  if  the  terminal  supports  colors and can
-       change their definitions; other, it returns  <B>FALSE</B>.   This
+       The <STRONG>can_change_color</STRONG> routine requires  no  arguments.   It
+       returns  <STRONG>TRUE</STRONG>  if  the  terminal  supports  colors and can
+       change their definitions; other, it returns  <STRONG>FALSE</STRONG>.   This
        routine facilitates writing terminal-independent programs.
 
-       The <B>color_content</B> routine gives programmers a way to  find
+       The <STRONG>color_content</STRONG> routine gives programmers a way to  find
        the intensity of the red, green, and blue (RGB) components
        in a color.  It requires four arguments: the color number,
-       and  three addresses of <B>short</B>s for storing the information
+       and  three addresses of <STRONG>short</STRONG>s for storing the information
        about the amounts of red, green, and  blue  components  in
        the  given color.  The value of the first argument must be
-       between 0 and <B>COLORS</B>.  The values that are stored  at  the
+       between 0 and <STRONG>COLORS</STRONG>.  The values that are stored  at  the
        addresses  pointed  to  by  the  last  three arguments are
        between 0 (no component) and 1000 (maximum amount of  com-
        ponent).
 
-       The  <B>pair_content</B>  routine  allows programmers to find out
+       The  <STRONG>pair_content</STRONG>  routine  allows programmers to find out
        what colors a given color-pair consists of.   It  requires
        three  arguments: the color-pair number, and two addresses
-       of <B>short</B>s for storing the foreground  and  the  background
+       of <STRONG>short</STRONG>s for storing the foreground  and  the  background
        color  numbers.   The  value of the first argument must be
-       between 1 and <B>COLOR_PAIRS-1</B>.  The values that  are  stored
+       between 1 and <STRONG>COLOR_PAIRS-1</STRONG>.  The values that  are  stored
        at  the addresses pointed to by the second and third argu-
-       ments are between 0 and <B>COLORS</B>.
+       ments are between 0 and <STRONG>COLORS</STRONG>.
 
-   <B>Colors</B>
-       In <B>&lt;curses.h&gt;</B> the following macros are defined.  These are
-       the  default colors.  <B>curses</B> also assumes that <B>COLOR_BLACK</B>
+   <STRONG>Colors</STRONG>
+       In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
+       the  default colors.  <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG>
        is the default background color for all terminals.
 
-             <B>COLOR_BLACK</B>
-             <B>COLOR_RED</B>
-             <B>COLOR_GREEN</B>
-             <B>COLOR_YELLOW</B>
-             <B>COLOR_BLUE</B>
-             <B>COLOR_MAGENTA</B>
-             <B>COLOR_CYAN</B>
-             <B>COLOR_WHITE</B>
+             <STRONG>COLOR_BLACK</STRONG>
+             <STRONG>COLOR_RED</STRONG>
+             <STRONG>COLOR_GREEN</STRONG>
+             <STRONG>COLOR_YELLOW</STRONG>
+             <STRONG>COLOR_BLUE</STRONG>
+             <STRONG>COLOR_MAGENTA</STRONG>
+             <STRONG>COLOR_CYAN</STRONG>
+             <STRONG>COLOR_WHITE</STRONG>
 
 
 </PRE>
 <H2>RETURN VALUE</H2><PRE>
-       The routines <B>can_change_color()</B>  and  <B>has_colors()</B>  return
-       <B>TRUE</B> or <B>FALSE</B>.
+       The routines <STRONG>can_change_color()</STRONG>  and  <STRONG>has_colors()</STRONG>  return
+       <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
-       All other routines return the integer <B>ERR</B> upon failure and
-       an <B>OK</B> (SVr4 specifies only "an integer  value  other  than
-       <B>ERR</B>") upon successful completion.
+       All other routines return the integer <STRONG>ERR</STRONG> upon failure and
+       an <STRONG>OK</STRONG> (SVr4 specifies only "an integer  value  other  than
+       <STRONG>ERR</STRONG>") upon successful completion.
 
 
 </PRE>
 <H2>NOTES</H2><PRE>
-       In  the  <I>ncurses</I> implementation, there is a separate color
+       In  the  <EM>ncurses</EM> implementation, there is a separate color
        activation flag, color palette,  color  pairs  table,  and
        associated  COLORS and COLOR_PAIRS counts for each screen;
-       the <B>start_color</B> function only affects the current  screen.
+       the <STRONG>start_color</STRONG> function only affects the current  screen.
        The SVr4/XSI interface is not really designed with this in
        mind, and historical  implementations  may  use  a  single
        shared color palette.
        pair affects only character cells that a  character  write
        operation  explicitly  touches.   To change the background
        color used when parts of a window are blanked  by  erasing
-       or scrolling operations, see <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>.
+       or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
 
        Several  caveats  apply  on 386 and 486 machines with VGA-
        compatible graphics:
 
        -    COLOR_YELLOW is actually brown.  To get  yellow,  use
-            COLOR_YELLOW combined with the <B>A_BOLD</B> attribute.
+            COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
 
        -    The  A_BLINK  attribute  should  in  theory cause the
             background to go bright.  This often fails  to  work,
 </PRE>
 <H2>PORTABILITY</H2><PRE>
        This implementation satisfies XSI Curses's  minimum  maxi-
-       mums for <B>COLORS</B> and <B>COLOR_PAIRS</B>.
+       mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
 
-       The  <B>init_pair</B>  routine  accepts  negative values of fore-
+       The  <STRONG>init_pair</STRONG>  routine  accepts  negative values of fore-
        ground   and   background    color    to    support    the
-       <B>use_default_colors</B> extension, but only if that routine has
+       <STRONG>use_default_colors</STRONG> extension, but only if that routine has
        been first invoked.
 
-       The assumption that <B>COLOR_BLACK</B> is the default  background
+       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default  background
        color   for  all  terminals  can  be  modified  using  the
-       <B>assume_default_colors</B> extension,
+       <STRONG>assume_default_colors</STRONG> extension,
+
 
 
 </PRE>
 <H2>SEE ALSO</H2><PRE>
-       <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>, <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>, <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>
-
-
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG>default_col-</STRONG>
+       <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>