]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_color.3x.html
ncurses 5.9 - patch 20150516
[ncurses.git] / doc / html / man / curs_color.3x.html
index 974a68f21e519642e8d3c17f259a0fea2aece841..5ff2f5f949488853b87ecf1b33158e8f1a69c265 100644 (file)
@@ -1,7 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2010,2015 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            *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.29 2009/01/24 23:10:02 tom Exp @
+  * @Id: curs_color.3x,v 1.37 2015/04/04 19:42:47 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 http://invisible-island.net/scripts/readme.html#others_scripts">
 <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>
+<H1 class="no-header">curs_color 3x</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                                           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 
 
 
 
 </PRE>
-<H2>NAME</H2><PRE>
+<H2><a name="h2-NAME">NAME</a></H2><PRE>
        <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>
+<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <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>
 
 
 </PRE>
-<H2>DESCRIPTION</H2><PRE>
-   <STRONG>Overview</STRONG>
+<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE>
+<H3><a name="h3-Overview">Overview</a></H3><PRE>
        <STRONG>curses</STRONG> support color attributes on terminals with that ca-
        pability.   To  use  these  routines  <STRONG>start_color</STRONG>  must be
        called, usually right after <STRONG>initscr</STRONG>.   Colors  are  always
        The  routine  <STRONG>pair_content</STRONG> allows a programmer to find out
        how a given color-pair is currently defined.
 
-   <STRONG>Routine</STRONG> <STRONG>Descriptions</STRONG>
+
+</PRE>
+<H3><a name="h3-Routine-Descriptions">Routine Descriptions</a></H3><PRE>
        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 <STRONG>initscr</STRONG>.
-       <STRONG>start_color</STRONG> initializes eight basic  colors  (black,  red,
-       green,  yellow,  blue,  magenta, cyan, and white), and two
-       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.
+       <STRONG>start_color</STRONG> does this:
+
+       <STRONG>o</STRONG>   It initializes two global variables, <STRONG>COLORS</STRONG>  and  <STRONG>COL-</STRONG>
+           <STRONG>OR_PAIRS</STRONG>  (respectively defining the maximum number of
+           colors and color-pairs the terminal can support).
+
+       <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the default
+           foreground  and  background  colors.   No  other color
+           pairs are initialized.
+
+       <STRONG>o</STRONG>   It restores the colors on the terminal to  the  values
+           they had when the terminal was just turned on.
+
+       <STRONG>o</STRONG>   If  the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>)
+           capability, <STRONG>start_color</STRONG> initializes its internal table
+           representing the red, green and blue components of the
+           color palette.
+
+           The components depend on whether the terminal uses CGA
+           (aka "ANSI") or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_sat-</STRONG>
+           <STRONG>uration</STRONG>) capability is set).  The table is initialized
+           first  for eight basic colors (black, red, green, yel-
+           low, blue, magenta, cyan, and white), and  after  that
+           (if  the terminal supports more than eight colors) the
+           components are initialized to <STRONG>1000</STRONG>.
+
+           <STRONG>start_color</STRONG> does not attempt  to  set  the  terminal's
+           color  palette to match its built-in table.  An appli-
+           cation may use <STRONG>init_color</STRONG> to alter the internal  table
+           along with the terminal's color.
+
+       These  limits apply to color values and color pairs.  Val-
+       ues outside these limits are not legal, and may result  in
+       a runtime error:
+
+       <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_col-</STRONG>
+           <STRONG>ors</STRONG> capability, which is typically a signed 16-bit in-
+           teger (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+       <STRONG>o</STRONG>   color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
+           <STRONG>ORS-1</STRONG>, inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+
+       <STRONG>o</STRONG>   a special color value <STRONG>-1</STRONG> is used in  certain  extended
+           functions  to  denote  the  <EM>default</EM> <EM>color</EM> (see <STRONG>use_de-</STRONG>
+           <STRONG>fault_colors</STRONG>).
+
+       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG> corresponds  to  the  terminal  database's
+           <STRONG>max_pairs</STRONG>  capability,  which  is  typically  a signed
+           16-bit integer (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+       <STRONG>o</STRONG>   legal color pair values are in the  range  <STRONG>1</STRONG>  to  <STRONG>COL-</STRONG>
+           <STRONG>OR_PAIRS-1</STRONG>, inclusive.
+
+       <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
+
+           Color  pair  <STRONG>0</STRONG> is assumed to be white on black, but is
+           actually whatever the terminal implements before color
+           is initialized.  It cannot be modified by the applica-
+           tion.
 
        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 <STRONG>1</STRONG> and
-            <STRONG>COLOR_PAIRS-1</STRONG>, except that if default colors are used
-            (see  <STRONG>use_default_colors</STRONG>) the upper limit is adjusted
-            to allow for extra pairs which use a default color in
-            foreground and/or background.
+       <STRONG>o</STRONG>   The  first  argument must be a legal color pair value.
+           If default colors are  used  (see  <STRONG>use_default_colors</STRONG>)
+           the  upper  limit is adjusted to allow for extra pairs
+           which use a default color in foreground  and/or  back-
+           ground.
 
-       -    The  value  of the second and third arguments must be
-            between 0 and <STRONG>COLORS</STRONG>.  Color pair 0 is assumed to  be
-            white on black, but is actually whatever the terminal
-            implements before color is initialized.  It cannot be
-            modified by the application.
+       <STRONG>o</STRONG>   The  second  and  third  arguments must be legal color
+           values.
 
-       If  the  color-pair was previously initialized, the screen
-       is refreshed and all occurrences of  that  color-pair  are
+       If the color-pair was previously initialized,  the  screen
+       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 <STRONG>assume_default_colors</STRONG> routine, or to  specify  the
-       use  of  default colors (color number <STRONG>-1</STRONG>) if you first in-
+       As an extension, ncurses allows you to set  color  pair  <STRONG>0</STRONG>
+       via  the  <STRONG>assume_default_colors</STRONG> routine, or to specify the
+       use of default colors (color number <STRONG>-1</STRONG>) if you  first  in-
        voke the <STRONG>use_default_colors</STRONG> routine.
 
-       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 <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
-       <STRONG>init_color</STRONG>  is  used, all occurrences of that color on the
-       screen immediately change to the new definition.
+       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 first argument must
+       be  a  legal  color  value; default colors are not allowed
+       here.  (See the section <STRONG>Colors</STRONG> for the default  color  in-
+       dex.)  Each of the last three arguments must be a value in
+       the range <STRONG>0</STRONG> through <STRONG>1000</STRONG>.  When <STRONG>init_color</STRONG>  is  used,  all
+       occurrences of that color on the screen immediately change
+       to the new definition.
 
        The <STRONG>has_colors</STRONG> routine requires no arguments.  It  returns
        <STRONG>TRUE</STRONG>  if the terminal can manipulate colors; otherwise, it
        in a color.  It requires four arguments: the color number,
        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 <STRONG>COLORS</STRONG>.  The values that are stored  at  the
-       addresses  pointed  to by the last three arguments are be-
-       tween 0 (no component) and 1000 (maximum amount of  compo-
-       nent).
+       the given color.  The first argument must be a legal color
+       value, i.e., <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>,  inclusive.   The  values
+       that  are  stored  at the addresses pointed to by the last
+       three arguments are in the range <STRONG>0</STRONG> (no component)  through
+       <STRONG>1000</STRONG> (maximum amount of component), inclusive.
 
        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 <STRONG>short</STRONG>s for storing the foreground  and  the  background
-       color  numbers.   The  value of the first argument must be
-       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 <STRONG>COLORS</STRONG>.
+       color  numbers.   The first argument must be a legal color
+       value, i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>,  inclu-
+       sive.  The values that are stored at the addresses pointed
+       to by the second and third arguments are in  the  range  <STRONG>0</STRONG>
+       through <STRONG>COLORS</STRONG>, inclusive.
 
-   <STRONG>Colors</STRONG>
+
+</PRE>
+<H3><a name="h3-Colors">Colors</a></H3><PRE>
        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>
+       the default colors.  <STRONG>curses</STRONG> also assumes that  <STRONG>COLOR_BLACK</STRONG>
        is the default background color for all terminals.
 
              <STRONG>COLOR_BLACK</STRONG>
 
 
 </PRE>
-<H2>RETURN VALUE</H2><PRE>
-       The routines <STRONG>can_change_color()</STRONG>  and  <STRONG>has_colors()</STRONG>  return
+<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       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 <STRONG>ERR</STRONG> upon failure and
-       an <STRONG>OK</STRONG> (SVr4 specifies only "an integer  value  other  than
+       an  <STRONG>OK</STRONG>  (SVr4  specifies only "an integer value other than
        <STRONG>ERR</STRONG>") upon successful completion.
 
-       X/Open  defines  no error conditions.  This implementation
-       will return <STRONG>ERR</STRONG> on attempts to use  color  values  outside
-       the range 0 to COLORS-1 (except for the default colors ex-
-       tension), or use color pairs outside the range 0  to  COL-
-       OR_PAIR-1.  Color values used in <STRONG>init_color</STRONG> must be in the
-       range 0 to 1000.  An error is returned from all  functions
-       if the terminal has not been initialized.  An error is re-
-       turned from  secondary  functions  such  as  <STRONG>init_pair</STRONG>  if
+       X/Open defines no error conditions.   This  implementation
+       will  return  <STRONG>ERR</STRONG>  on attempts to use color values outside
+       the range <STRONG>0</STRONG> to COLORS-1 (except for the default colors ex-
+       tension),  or  use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
+       <STRONG>OR_PAIRS-1</STRONG>.  Color values used in <STRONG>init_color</STRONG>  must  be  in
+       the  range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all func-
+       tions if the terminal has not been initialized.  An  error
+       is  returned from secondary functions such as <STRONG>init_pair</STRONG> if
        <STRONG>start_color</STRONG> was not called.
 
-              <STRONG>init_color</STRONG>
-                   returns an error if the terminal does not sup-
-                   port  this  feature,  e.g.,  if  the  <EM>initial-</EM>
-                   <EM>ize</EM><STRONG>_</STRONG><EM>color</EM> capability is absent from the termi-
-                   nal description.
+          <STRONG>init_color</STRONG>
+               returns an error if the terminal does not  support
+               this  feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
+               bility is absent from the terminal description.
 
-              <STRONG>start_color</STRONG>
-                   returns an error If the color table cannot  be
-                   allocated.
+          <STRONG>start_color</STRONG>
+               returns an error if the color table cannot be  al-
+               located.
 
 
 </PRE>
-<H2>NOTES</H2><PRE>
+<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        In  the  <EM>ncurses</EM> implementation, there is a separate color
        activation flag, color palette, color pairs table, and as-
        sociated  COLORS  and  COLOR_PAIRS counts for each screen;
        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 <STRONG>A_BOLD</STRONG> attribute.
+       <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To  get  yellow,  use
+           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,
-            and  even  some cards for which it mostly works (such
-            as the Paradise and compatibles) do the  wrong  thing
-            when you try to set a bright "yellow" background (you
-            get a blinking yellow foreground instead).
+       <STRONG>o</STRONG>   The A_BLINK attribute should in theory cause the back-
+           ground to go bright.  This often fails  to  work,  and
+           even some cards for which it mostly works (such as the
+           Paradise and compatibles) do the wrong thing when  you
+           try  to  set  a  bright "yellow" background (you get a
+           blinking yellow foreground instead).
 
-          Color RGB values are not settable.
+       <STRONG>o</STRONG>   Color RGB values are not settable.
 
 
 </PRE>
-<H2>PORTABILITY</H2><PRE>
+<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
        This implementation satisfies XSI Curses's  minimum  maxi-
        mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
 
 
 
 </PRE>
-<H2>SEE ALSO</H2><PRE>
-       <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>
+<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_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
+       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 
 
 
                                                          <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Overview">Overview</a></li>
+<li><a href="#h3-Routine-Descriptions">Routine Descriptions</a></li>
+<li><a href="#h3-Colors">Colors</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>