]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_color.3x.html
ncurses 6.2 - patch 20210619
[ncurses.git] / doc / html / man / curs_color.3x.html
index bab33b328c15d3f8d2d0aa4c86ba319188932f52..28e8d17f8ead7ef3c4e5448f8490a28ead3335f3 100644 (file)
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc.              *
+  * Copyright 2018-2020,2021 Thomas E. Dickey                                *
+  * Copyright 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            *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.50 2017/04/01 19:57:19 tom Exp @
+  * @Id: curs_color.3x,v 1.64 2021/06/17 21:30:22 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 name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_color 3X</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_color 3x</H1>
+<H1 class="no-header">curs_color 3X</H1>
 <PRE>
-<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                                           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+<B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>                                                  <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>,
-       <STRONG>init_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>,
-       <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
+       <B>start_color</B>, <B>has_colors</B>, <B>can_change_color</B>, <B>init_pair</B>, <B>init_color</B>,
+       <B>init_extended_pair</B>, <B>init_extended_color</B>, <B>color_content</B>, <B>pair_content</B>,
+       <B>extended_color_content</B>, <B>extended_pair_content</B>, <B>reset_color_pairs</B>,
+       <B>COLOR_PAIR</B>, <B>PAIR_NUMBER</B> - <B>curses</B> color manipulation routines
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+       <B>#include</B> <B>&lt;curses.h&gt;</B>
 
-       <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
+       <B>int</B> <B>start_color(void);</B>
 
-       <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
+       <B>bool</B> <B>has_colors(void);</B>
+       <B>bool</B> <B>can_change_color(void);</B>
 
-       <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>
+       <B>int</B> <B>init_pair(short</B> <I>pair</I><B>,</B> <B>short</B> <I>f</I><B>,</B> <B>short</B> <I>b</I><B>);</B>
+       <B>int</B> <B>init_color(short</B> <I>color</I><B>,</B> <B>short</B> <I>r</I><B>,</B> <B>short</B> <I>g</I><B>,</B> <B>short</B> <I>b</I><B>);</B>
        /* extensions */
-       <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>f,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
-       <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>r,</STRONG> <STRONG>int</STRONG> <STRONG>g,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
+       <B>int</B> <B>init_extended_pair(int</B> <I>pair</I><B>,</B> <B>int</B> <I>f</I><B>,</B> <B>int</B> <I>b</I><B>);</B>
+       <B>int</B> <B>init_extended_color(int</B> <I>color</I><B>,</B> <B>int</B> <I>r</I><B>,</B> <B>int</B> <I>g</I><B>,</B> <B>int</B> <I>b</I><B>);</B>
 
-       <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>
+       <B>int</B> <B>color_content(short</B> <I>color</I><B>,</B> <B>short</B> <B>*</B><I>r</I><B>,</B> <B>short</B> <B>*</B><I>g</I><B>,</B> <B>short</B> <B>*</B><I>b</I><B>);</B>
+       <B>int</B> <B>pair_content(short</B> <I>pair</I><B>,</B> <B>short</B> <B>*</B><I>f</I><B>,</B> <B>short</B> <B>*</B><I>b</I><B>);</B>
        /* extensions */
-       <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>*r,</STRONG> <STRONG>int</STRONG> <STRONG>*g,</STRONG>  <STRONG>int</STRONG>
-       <STRONG>*b);</STRONG>
-       <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>*f,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
+       <B>int</B> <B>extended_color_content(int</B> <I>color</I><B>,</B> <B>int</B> <B>*</B><I>r</I><B>,</B> <B>int</B> <B>*</B><I>g</I><B>,</B> <B>int</B> <B>*</B><I>b</I><B>);</B>
+       <B>int</B> <B>extended_pair_content(int</B> <I>pair</I><B>,</B> <B>int</B> <B>*</B><I>f</I><B>,</B> <B>int</B> <B>*</B><I>b</I><B>);</B>
 
-       <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
+       /* extensions */
+       <B>void</B> <B>reset_color_pairs(void);</B>
+
+       <B>int</B> <B>COLOR_PAIR(int</B> <I>n</I><B>);</B>
+       <B>PAIR_NUMBER(</B><I>attrs</I><B>);</B>
 
 
 </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
-       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 <STRONG>init_pair</STRONG>.  After it has  been  ini-
-       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-
-       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 <STRONG>col-</STRONG>
-       <STRONG>or_content</STRONG> allows a programmer to extract the  amounts  of
-       red,  green,  and blue components in an initialized color.
-       The routine <STRONG>pair_content</STRONG> allows a programmer to  find  out
-       how a given color-pair is currently defined.
+       <B>curses</B> supports 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 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 characters are  dis-
+       played).   A  programmer  initializes  a  color-pair  with  the routine
+       <B>init_pair</B>.  After it has been initialized, <B>COLOR_PAIR</B>(<I>n</I>) can be used to
+       convert the pair to a video attribute.
+
+       If  a  terminal is capable of redefining colors, the programmer can use
+       the routine <B>init_color</B> to change the definition of a color.   The  rou-
+       tines  <B>has_colors</B>  and <B>can_change_color</B> return <B>TRUE</B> or <B>FALSE</B>, depending
+       on whether the terminal has color capabilities and whether the program-
+       mer can change the colors.  The routine <B>color_content</B> allows a program-
+       mer to extract the amounts of red, green, and  blue  components  in  an
+       initialized  color.   The  routine  <B>pair_content</B> allows a programmer to
+       find out how a given color-pair is currently defined.
 
 
 </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 <B>curses</B> library combines these inputs to produce  the  actual  fore-
+       ground and background colors shown on the screen:
 
-       <STRONG>o</STRONG>   per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+       <B>o</B>   per-character video attributes (e.g., via <B>waddch</B>),
 
-       <STRONG>o</STRONG>   the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+       <B>o</B>   the window attribute (e.g., by <B>wattrset</B>), and
 
-       <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
+       <B>o</B>   the background character (e.g., <B>wbkgdset</B>).
 
-       Per-character  and  window attributes are usually set by a
-       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.
+       Per-character and window attributes are usually set by a parameter con-
+       taining video attributes including a color pair value.  Some  functions
+       such as <B>wattr_set</B> use a separate parameter which is the color pair num-
+       ber.
 
-       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 <B>waddch</B>.
 
-       The <STRONG>curses</STRONG> library does the actual work of combining these
-       color pairs in an internal function called from <STRONG>waddch</STRONG>:
+       The  <B>curses</B> library does the actual work of combining these color pairs
+       in an internal function called from <B>waddch</B>:
 
-       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it us-
-           es the special color pair 0,
+       <B>o</B>   If the parameter passed to <B>waddch</B> is <I>blank</I>, and it uses the special
+           color pair 0,
 
-           <STRONG>o</STRONG>   <STRONG>curses</STRONG> next checks the window attribute.
+           <B>o</B>   <B>curses</B> next checks the window attribute.
 
-           <STRONG>o</STRONG>   If the window attribute does not use color pair 0,
-               <STRONG>curses</STRONG> uses the color pair  from  the  window  at-
-               tribute.
+           <B>o</B>   If  the window attribute does not use color pair 0, <B>curses</B> uses
+               the color pair from the window attribute.
 
-           <STRONG>o</STRONG>   Otherwise, <STRONG>curses</STRONG> uses the background character.
+           <B>o</B>   Otherwise, <B>curses</B> uses the background character.
 
-       <STRONG>o</STRONG>   If  the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it
-           does not use the special color pair 0, <STRONG>curses</STRONG>  prefers
-           the  color  pair from the parameter, if it is nonzero.
-           Otherwise, it tries the window attribute next, and fi-
-           nally the background character.
+       <B>o</B>   If the parameter passed to <B>waddch</B> is <I>not</I> <I>blank</I>, or it does not  use
+           the  special  color  pair 0, <B>curses</B> prefers the color pair from the
+           parameter, if it is nonzero.  Otherwise, it tries the window attri-
+           bute next, and finally the background character.
 
-       Some  <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>.  Those
-       do not combine its parameter with a  color  pair.   Conse-
-       quently  those  calls use only the window attribute or the
-       background character.
+       Some  <B>curses</B>  functions such as <B>wprintw</B> call <B>waddch</B>.  Those do not com-
+       bine its parameter with a color pair.  Consequently those calls use on-
+       ly the window attribute or the background character.
 
 
 </PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
-       In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
-       the  standard colors (ISO-6429).  <STRONG>curses</STRONG> also assumes that
-       <STRONG>COLOR_BLACK</STRONG> is the default background color for all termi-
-       nals.
+       In <B>&lt;curses.h&gt;</B> the following macros are defined.  These are the standard
+       colors (ISO-6429).  <B>curses</B> also assumes that <B>COLOR_BLACK</B> is the default
+       background color for all terminals.
 
-             <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>
+             <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>
 
-       Some terminals support more than the eight (8) "ANSI" col-
-       ors.  There are no standard  names  for  those  additional
-       colors.
+       Some  terminals  support  more than the eight (8) "ANSI" colors.  There
+       are no standard names for those additional colors.
 
 
 </PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
 
 </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
-       is  initialized  by  <STRONG>start_color</STRONG>  to the maximum number of
-       colors the terminal can support.
+       is initialized by <B>start_color</B> to the maximum number of colors the  ter-
+       minal can support.
 
 
 </PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
-       is initialized by <STRONG>start_color</STRONG> to  the  maximum  number  of
-       color pairs the terminal can support.
+       is  initialized by <B>start_color</B> to the maximum number of color pairs the
+       terminal can support.
 
 
 </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
 
 </PRE><H3><a name="h3-start_color">start_color</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> does this:
+       The <B>start_color</B> routine requires no arguments.  It must  be  called  if
+       the  programmer wants to use colors, and before any other color manipu-
+       lation routine is called.  It is good practice  to  call  this  routine
+       right after <B>initscr</B>.  <B>start_color</B> 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).
+       <B>o</B>   It  initializes  two  global variables, <B>COLORS</B> and <B>COLOR_PAIRS</B> (re-
+           spectively 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.
+       <B>o</B>   It  initializes  the special color pair <B>0</B> 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.
+       <B>o</B>   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.
+       <B>o</B>   If  the  terminal supports the <B>initc</B> (<B>initialize_color</B>) capability,
+           <B>start_color</B> 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>.
+           The components depend on whether the terminal uses CGA (aka "ANSI")
+           or HLS (i.e.,  the  <B>hls</B>  (<B>hue_lightness_saturation</B>)  capability  is
+           set).   The  table  is  initialized  first  for  eight basic colors
+           (black, red, green, yellow, blue, magenta, cyan, and white),  using
+           weights that depend upon the CGA/HLS choice.  For "ANSI" colors the
+           weights are <B>680</B> or <B>0</B> depending on whether  the  corresponding  red,
+           green,  or  blue component is used or not.  That permits using <B>1000</B>
+           to represent bold/bright colors.  After the  initial  eight  colors
+           (if  the  terminal  supports more than eight colors) the components
+           are initialized using the same pattern, but with weights  of  <B>1000</B>.
+           SVr4 uses a similar scheme, but uses <B>1000</B> for the components of the
+           initial eight colors.
 
-           <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.
+           <B>start_color</B> does not attempt to set the terminal's color palette to
+           match its built-in table.  An application may use <B>init_color</B> to al-
+           ter 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:
+       These limits apply to color values and  color  pairs.   Values  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, (see <STRONG><A HREF="max_colterminfo.5.html">terminfo(5)</A></STRONG>).
+       <B>o</B>   <B>COLORS</B>  corresponds to the terminal database's <B>max_colors</B> capabili-
+           ty, (see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>).
 
-       <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>).
+       <B>o</B>   color values are expected to be in the range <B>0</B> to <B>COLORS-1</B>,  inclu-
+           sive (including <B>0</B> and <B>COLORS-1</B>).
 
-       <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>).
+       <B>o</B>   a  special  color value <B>-1</B> is used in certain extended functions to
+           denote the <I>default</I> <I>color</I> (see <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B>).
 
-       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG> corresponds  to  the  terminal  database's
-           <STRONG>max_pairs</STRONG> capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+       <B>o</B>   <B>COLOR_PAIRS</B> corresponds to the terminal database's <B>max_pairs</B>  capa-
+           bility, (see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>).
 
-       <STRONG>o</STRONG>   legal  color  pair  values  are in the range <STRONG>1</STRONG> to <STRONG>COL-</STRONG>
-           <STRONG>OR_PAIRS-1</STRONG>, inclusive.
+       <B>o</B>   legal color pair values are in the range <B>1</B> to <B>COLOR_PAIRS-1</B>, inclu-
+           sive.
 
-       <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
+       <B>o</B>   color pair <B>0</B> 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.
+           Color pair <B>0</B> is assumed to be white on black, but is actually what-
+           ever  the terminal implements before color is initialized.  It can-
+           not be modified by the application.
 
 
 </PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
-       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 at-
-       tribute.
+       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 rou-
+       tine facilitates writing terminal-independent programs.  For example, a
+       programmer  can  use  it  to  decide whether to use color or some other
+       video attribute.
 
 
 </PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
-       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>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 routine facilitates  writing  terminal-indepen-
+       dent programs.
 
 
 </PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
-       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 <B>init_pair</B> routine changes the definition of a color-pair.  It takes
+       three arguments: the number of the color-pair to be changed, the  fore-
+       ground color number, and the background color number.  For portable ap-
+       plications:
+
+       <B>o</B>   The first argument must be a legal color pair  value.   If  default
+           colors are used (see <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B>) the upper limit is ad-
+           justed to allow for extra pairs which use a default color in  fore-
+           ground 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.
+       <B>o</B>   The second and third arguments must be legal color values.
 
-       <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 changed to the  new  defini-
+       tion.
 
-       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 <B>0</B> via the <B>as-</B>
+       <B><A HREF="assume_default_colors.3X.html">sume_default_colors(3X)</A></B> routine, or to specify the use of default  col-
+       ors  (color  number  <B>-1</B>) if you first invoke the <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B>
+       routine.
 
-       As  an  extension,  ncurses allows you to set color pair <STRONG>0</STRONG>
-       via the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> routine, or  to  specify
-       the  use  of default colors (color number <STRONG>-1</STRONG>) if you first
-       invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> routine.
+
+</PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE>
+       Because <B>init_pair</B> uses signed <B>short</B>s for its  parameters,  that  limits
+       color-pairs  and  color-values to 32767 on modern hardware.  The exten-
+       sion <B>init_extended_pair</B> uses <B>int</B>s for the color-pair  and  color-value,
+       allowing a larger number of colors to be supported.
 
 
 </PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
-       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  <B>init_color</B>  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).
+
+       <B>o</B>   The  first argument must be a legal color value; default colors are
+           not allowed here.  (See the section <B>Colors</B> for  the  default  color
+           index.)
 
-       <STRONG>o</STRONG>   The  first  argument  must be a legal color value; de-
-           fault colors are not allowed here.  (See  the  section
-           <STRONG>Colors</STRONG> for the default color index.)
+       <B>o</B>   Each  of  the  last  three arguments must be a value in the range <B>0</B>
+           through <B>1000</B>.
 
-       <STRONG>o</STRONG>   Each  of  the  last three arguments must be a value in
-           the range <STRONG>0</STRONG> through <STRONG>1000</STRONG>.
+       When <B>init_color</B> is used, all occurrences of that color  on  the  screen
+       immediately change to the new definition.
 
-       When <STRONG>init_color</STRONG> is used, all occurrences of that color  on
-       the screen immediately change to the new definition.
+
+</PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE>
+       Because  <B>init_color</B>  uses signed <B>short</B>s for its parameters, that limits
+       color-values and their red, green, and blue components to 32767 on mod-
+       ern hardware.  The extension <B>init_extended_color</B> uses <B>int</B>s for the col-
+       or value and for setting the red, green, and blue components,  allowing
+       a larger number of colors to be supported.
 
 
 </PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
-       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 <STRONG>short</STRONG>s for storing the  information
-       about  the  amounts  of red, green, and blue components in
-       the given color.
+       The <B>color_content</B> 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 about the amounts of red, green, and blue  com-
+       ponents in the given color.
+
+       <B>o</B>   The  first  argument  must  be a legal color value, i.e., <B>0</B> through
+           <B>COLORS-1</B>, inclusive.
+
+       <B>o</B>   The values that are stored at the addresses pointed to by the  last
+           three  arguments  are  in  the  range <B>0</B> (no component) through <B>1000</B>
+           (maximum amount of component), inclusive.
 
-       <STRONG>o</STRONG>   The first argument must be a legal color value,  i.e.,
-           <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>, inclusive.
 
-       <STRONG>o</STRONG>   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.
+</PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE>
+       Because <B>color_content</B> uses signed <B>short</B>s for its parameters, that  lim-
+       its  color-values and their red, green, and blue components to 32767 on
+       modern hardware.  The extension <B>extended_color_content</B>  uses  <B>int</B>s  for
+       the  color value and for returning the red, green, and blue components,
+       allowing a larger number of colors to be supported.
 
 
 </PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
-       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 <B>pair_content</B> 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 color numbers.
+
+       <B>o</B>   The  first argument must be a legal color value, i.e., in the range
+           <B>1</B> through <B>COLOR_PAIRS-1</B>, inclusive.
+
+       <B>o</B>   The values that are stored at the addresses pointed to by the  sec-
+           ond  and  third arguments are in the range <B>0</B> through <B>COLORS</B>, inclu-
+           sive.
 
-       <STRONG>o</STRONG>   The first argument must be a legal color value,  i.e.,
-           in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
 
-       <STRONG>o</STRONG>   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.
+</PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE>
+       Because <B>pair_content</B> uses signed <B>short</B>s for its parameters, that limits
+       color-pair and color-values to 32767 on modern hardware.  The extension
+       <B>extended_pair_content</B> uses <B>int</B>s for the color pair  and  for  returning
+       the  foreground and background colors, allowing a larger number of col-
+       ors to be supported.
+
+
+</PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE>
+       The extension <B>reset_color_pairs</B> tells ncurses to  discard  all  of  the
+       color-pair  information  which was set with <B>init_pair</B>.  It also touches
+       the current- and standard-screens, allowing an  application  to  switch
+       color palettes rapidly.
 
 
 </PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
-       <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.
+       <B>PAIR_NUMBER(</B><I>attrs</I>)  extracts  the  color value from its <I>attrs</I> parameter
+       and returns it as a color pair number.
 
 
 </PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
-       Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number  to
-       an  attribute.   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 functions such as <STRONG>attrset</STRONG>.
+       Its inverse <B>COLOR_PAIR(</B><I>n</I><B>)</B> converts a color pair number to an attribute.
+       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  <B>attr_set</B>
+       (which  pass  the  color  pair as a separate parameter) rather than the
+       legacy functions such as <B>attrset</B>.
 
 
 </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>.
+       The routines <B>can_change_color</B> and <B>has_colors</B> return <B>TRUE</B> or <B>FALSE</B>.
+
+       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 com-
+       pletion.
+
+       X/Open defines no error conditions.  SVr4 does document some error con-
+       ditions which apply in general:
+
+       <B>o</B>   This implementation will return <B>ERR</B> on attempts to use color values
+           outside the range <B>0</B> to <B>COLORS</B>-1 (except for the default colors  ex-
+           tension), or use color pairs outside the range <B>0</B> to <B>COLOR_PAIRS-1</B>.
 
-       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.
+           Color values used in <B>init_color</B> must be in the range <B>0</B> to <B>1000</B>.
 
-       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 <STRONG>COLORS</STRONG>-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.
+           An  error  is  returned  from all functions if the terminal has not
+           been initialized.
 
-          <STRONG>init_color</STRONG>
-               returns an error if the terminal does not  support
-               this  feature, e.g., if the <STRONG>initialize_color</STRONG> capa-
-               bility is absent from the terminal description.
+           An error is returned from secondary functions such as <B>init_pair</B>  if
+           <B>start_color</B> was not called.
 
-          <STRONG>start_color</STRONG>
-               returns an error if the color table cannot be  al-
-               located.
+       <B>o</B>   SVr4  does much the same, except that it returns <B>ERR</B> from <B>pair_con-</B>
+           <B>tent</B> if the pair was not initialized using <B>init_pairs</B>  and  it  re-
+           turns  <B>ERR</B>  from  <B>color_content</B>  if  the  terminal does not support
+           changing colors.
+
+           This implementation does not return <B>ERR</B> for either case.
+
+       Specific functions make additional checks:
+
+          <B>init_color</B>
+               returns an error if the terminal does not support this feature,
+               e.g.,  if  the  <B>initialize_color</B>  capability is absent from the
+               terminal description.
+
+          <B>start_color</B>
+               returns an error if the color table cannot be allocated.
 
 
 </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  <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG> counts for each 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.
-
-       Setting  an implicit background color via a color pair af-
-       fects only character cells that a character  write  opera-
-       tion  explicitly  touches.  To change the background color
-       used when parts of a window  are  blanked  by  erasing  or
-       scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
-
-       Several  caveats  apply on older x86 machines (e.g., i386,
-       i486) with VGA-compatible graphics:
-
-       <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To  get  yellow,  use
-           COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
-
-       <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
+       In the <B>ncurses</B> implementation, there is  a  separate  color  activation
+       flag,  color palette, color pairs table, and associated <B>COLORS</B> and <B>COL-</B>
+       <B>OR_PAIRS</B> counts for each screen; the <B>start_color</B> 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.
+
+       Setting  an  implicit  background  color  via a color 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>.
+
+       Several caveats apply on older x86 machines  (e.g.,  i386,  i486)  with
+       VGA-compatible graphics:
+
+       <B>o</B>   COLOR_YELLOW  is  actually  brown.  To get yellow, use COLOR_YELLOW
+           combined with the <B>A_BOLD</B> attribute.
+
+       <B>o</B>   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>   Color RGB values are not settable.
+       <B>o</B>   Color RGB values are not settable.
 
 
 </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 maximums for  <B>COLORS</B>
+       and <B>COLOR_PAIRS</B>.
+
+       The  <B>init_pair</B>  routine accepts negative values of foreground and back-
+       ground color to support the <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B> extension, but  only
+       if that routine has been first invoked.
 
-       The  <STRONG>init_pair</STRONG>  routine  accepts  negative values of fore-
-       ground  and  background  color  to  support  the   <STRONG>use_de-</STRONG>
-       <STRONG><A HREF="use_default_colors.3x.html">fault_colors(3x)</A></STRONG>  extension,  but only if that routine has
-       been first invoked.
+       The assumption that <B>COLOR_BLACK</B> is the default background color for all
+       terminals can be modified using  the  <B><A HREF="default_colors.3X.html">assume_default_colors(3X)</A></B>  exten-
+       sion.
 
-       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default  background
-       color  for  all  terminals  can  be modified using the <STRONG>as-</STRONG>
-       <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> extension.
+       This  implementation checks the pointers, e.g., for the values returned
+       by <B>color_content</B> and <B>pair_content</B>, and will treat those as optional pa-
+       rameters when null.
 
-       This implementation checks the  pointers,  e.g.,  for  the
-       values  returned  by  <STRONG>color_content</STRONG>  and <STRONG>pair_content</STRONG>, and
-       will treat those as optional parameters when null.
+       X/Open  Curses  does  not  specify a limit for the number of colors and
+       color pairs which a terminal can support.  However, in its use of <B>short</B>
+       for  the  parameters,  it carries over SVr4's implementation detail for
+       the compiled terminfo database, which uses signed 16-bit numbers.  This
+       implementation  provides extended versions of those functions which use
+       <B>short</B> parameters, allowing applications to use larger color- and  pair-
+       numbers.
 
-       X/Open Curses does not specify a limit for the  number  of
-       colors and color pairs which a terminal can support.  How-
-       ever, in its use of <STRONG>short</STRONG> for the parameters,  it  carries
-       over SVr4's implementation detail for the compiled termin-
-       fo database, which uses signed 16-bit numbers.   This  im-
-       plementation provides extended versions of those functions
-       which use <STRONG>short</STRONG> parameters, allowing applications  to  use
-       larger color- and pair-numbers.
+       The <B>reset_color_pairs</B> function is an extension of ncurses.
 
 
 </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>
+       <B><A HREF="curses.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="curs_variables.3X.html">curs_variables(3X)</A></B>, <B>de-</B>
+       <B><A HREF="default_colors.3X.html">fault_colors(3X)</A></B>
 
 
 
-                                                         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                                                                <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h3-has_colors">has_colors</a></li>
 <li><a href="#h3-can_change_color">can_change_color</a></li>
 <li><a href="#h3-init_pair">init_pair</a></li>
+<li><a href="#h3-init_extended_pair">init_extended_pair</a></li>
 <li><a href="#h3-init_color">init_color</a></li>
+<li><a href="#h3-init_extended_color">init_extended_color</a></li>
 <li><a href="#h3-color_content">color_content</a></li>
+<li><a href="#h3-extended_color_content">extended_color_content</a></li>
 <li><a href="#h3-pair_content">pair_content</a></li>
+<li><a href="#h3-extended_pair_content">extended_pair_content</a></li>
+<li><a href="#h3-reset_color_pairs">reset_color_pairs</a></li>
 <li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li>
 <li><a href="#h3-COLOR_PAIR">COLOR_PAIR</a></li>
 </ul>