ncurses 6.0 - patch 20170114
[ncurses.git] / doc / html / man / curs_color.3x.html
index 1ec2985902fd55f0d23e6225e1d703cb268e0c46..cf446d172566445aa7beaf97177a39f72f78abee 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
 <!-- 
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2016,2017 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            *
   *                                                                          *
   * 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.                                                           *
   ****************************************************************************
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.38 2015/05/23 21:36:35 tom Exp @
+  * @Id: curs_color.3x,v 1.46 2017/01/07 19:57:48 tom Exp @
+  * .br
+  * .br
+  * .br
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</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>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
+       <STRONG>can_change_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>,
+       <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
 
 
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <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>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>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>
 
        <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>
 
+       <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 
-</PRE>
-<H3><a name="h3-Overview">Overview</a></H3><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
        <STRONG>curses</STRONG> supports 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
        <STRONG>curses</STRONG> supports 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
@@ -79,8 +83,8 @@
        background color (for the blank field on which the charac-
        ters are displayed).  A programmer  initializes  a  color-
        pair  with  the routine <STRONG>init_pair</STRONG>.  After it has been ini-
        background color (for the blank field on which the charac-
        ters are displayed).  A programmer  initializes  a  color-
        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.
+       tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to convert the pair to
+       a video attribute.
 
        If  a  terminal  is capable of redefining colors, the pro-
        grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
 
        If  a  terminal  is capable of redefining colors, the pro-
        grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
@@ -94,8 +98,7 @@
        how a given color-pair is currently defined.
 
 
        how a given color-pair is currently defined.
 
 
-</PRE>
-<H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
+</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
        The <STRONG>curses</STRONG> library combines these inputs  to  produce  the
        actual  foreground  and  background  colors  shown  on the
        screen:
        The <STRONG>curses</STRONG> library combines these inputs  to  produce  the
        actual  foreground  and  background  colors  shown  on the
        screen:
        <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
 
        Per-character and window attributes are usually set  by  a
        <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
 
        Per-character and window attributes are usually set  by  a
-       parameter  containing  video  attributes  including a <STRONG>COL-</STRONG>
-       <STRONG>OR_PAIR</STRONG> value.  Some functions such  as  <STRONG>wattr_set</STRONG>  use  a
-       separate parameter which is the color pair number.
+       parameter  containing  video  attributes including a color
+       pair value.  Some functions such as <STRONG>wattr_set</STRONG> use a  sepa-
+       rate parameter which is the color pair number.
 
        The  background character is a special case: it includes a
        character value, just as if it were passed to <STRONG>waddch</STRONG>.
 
        The  background character is a special case: it includes a
        character value, just as if it were passed to <STRONG>waddch</STRONG>.
        background character.
 
 
        background character.
 
 
-</PRE>
-<H3><a name="h3-Routine-Descriptions">Routine Descriptions</a></H3><PRE>
+</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
        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
        to  by  the  second and third arguments are in the range <STRONG>0</STRONG>
        through <STRONG>COLORS</STRONG>, inclusive.
 
        to  by  the  second and third arguments are in the range <STRONG>0</STRONG>
        through <STRONG>COLORS</STRONG>, inclusive.
 
+       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from its <EM>attrs</EM>
+       parameter  and returns it as a color pair number.  Its in-
+       verse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an at-
+       tribute.   Attributes  can hold color pairs in the range 0
+       to 255.  If you need a color pair larger  than  that,  you
+       must  use functions such as <STRONG>attr_set</STRONG> (which pass the color
+       pair as a separate parameter) rather than the legacy func-
+       tions such as <STRONG>attrset</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-Colors">Colors</a></H3><PRE>
+
+</PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
        In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
        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.
+       the standard colors (ISO-6429).  <STRONG>curses</STRONG> also assumes  that
+       <STRONG>COLOR_BLACK</STRONG> is the default background color for all termi-
+       nals.
 
              <STRONG>COLOR_BLACK</STRONG>
              <STRONG>COLOR_RED</STRONG>
 
              <STRONG>COLOR_BLACK</STRONG>
              <STRONG>COLOR_RED</STRONG>
              <STRONG>COLOR_WHITE</STRONG>
 
 
              <STRONG>COLOR_WHITE</STRONG>
 
 
-</PRE>
-<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>.
+</PRE><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
 
        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>init_color</STRONG>
                returns  an error if the terminal does not support
 
           <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-
+               this feature, e.g., if the <STRONG>initialize_color</STRONG>  capa-
                bility is absent from the terminal description.
 
           <STRONG>start_color</STRONG>
                bility is absent from the terminal description.
 
           <STRONG>start_color</STRONG>
                located.
 
 
                located.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       In the <EM>ncurses</EM> implementation, there is a  separate  color
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       In the <STRONG>ncurses</STRONG> implementation, there is a  separate  color
        activation flag, color palette, color pairs table, and as-
        sociated COLORS and COLOR_PAIRS counts  for  each  screen;
        the  <STRONG>start_color</STRONG> function only affects the current screen.
        activation flag, color palette, color pairs table, and as-
        sociated COLORS and COLOR_PAIRS counts  for  each  screen;
        the  <STRONG>start_color</STRONG> function only affects the current screen.
        <STRONG>o</STRONG>   Color RGB values are not settable.
 
 
        <STRONG>o</STRONG>   Color RGB values are not settable.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+</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>.
 
        This  implementation  satisfies XSI Curses's minimum maxi-
        mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
 
        will treat those as optional parameters when null.
 
 
        will treat those as optional parameters when null.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</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_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="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>