- 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.
-
- 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
+ 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:
+
+ <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