NAME
curses_color,
has_colors,
can_change_color,
start_color,
init_pair,
pair_content,
COLOR_PAIR,
PAIR_NUMBER,
init_color,
color_content,
no_color_attributes —
curses color
manipulation routines
LIBRARY
Curses Library (libcurses, -lcurses)
SYNOPSIS
#include <curses.h>
bool
has_colors(
void);
bool
can_change_color(
void);
int
start_color(
void);
int
init_pair(
short
pair,
short fore,
short back);
int
pair_content(
short
pair,
short *fore,
short *back);
int
COLOR_PAIR(
int
n);
int
PAIR_NUMBER(
int
val);
int
init_color(
short
color,
short red,
short green,
short blue);
int
color_content(
short
color,
short *red,
short *green,
short *blue);
attr_t
no_color_attributes(
void);
extern int COLOR_PAIRS;
extern int COLORS;
DESCRIPTION
These functions manipulate color on terminals that support color attributes.
The function
has_colors() indicates whether a terminal is
capable of displaying color attributes. It returns
TRUE
if the terminal is capable of displaying color
attributes and
FALSE
otherwise.
The function
can_change_color() indicates whether a terminal
is capable of redefining colors. It returns
TRUE
if
colors can be redefined and
FALSE
if they can not.
The function
start_color() initializes the curses color
support on a terminal. It must be called before any color manipulation
functions are called on that terminal. The function initializes the eight
basic colors (black, red, green, yellow, blue, magenta, cyan and white) that
are specified using the color macros (such as
COLOR_BLACK
) defined in
<curses.h>.
start_color() also
initializes the global external variables
COLORS and
COLOR_PAIRS.
COLORS defines the
number of colors that the terminal supports and
COLOR_PAIRS defines the number of color-pairs that the
terminal supports. These color-pairs are initialized to white foreground on
black background.
start_color() sets the colors on the
terminal to the curses defaults of white foreground on black background unless
the functions
assume_default_colors() or
use_default_colors() have been called previously.
The function
init_pair(
pair,
fore,
back) sets foreground color
fore and background color
back for
color-pair number
pair. The valid range for the
color-pair
pair is from 1 to
COLOR_PAIRS - 1 and the valid range for the colors is
any number less than
COLORS. Specifying a negative
number will set that color to the default foreground or background color. The
8 initial colors are defined as:
- COLOR_BLACK
-
- COLOR_RED
-
- COLOR_GREEN
-
- COLOR_YELLOW
-
- COLOR_BLUE
-
- COLOR_MAGENTA
-
- COLOR_CYAN
-
- COLOR_WHITE
-
Color-pair 0 is used as the default color pair, so changing this will have no
effect. Use the function
assume_default_colors() to change
the default colors.
The function
pair_content(
pair,
*fore,
*back) stores the
foreground and background color numbers of color-pair
pair in the variables
fore and
back, respectively.
The macro
COLOR_PAIR(
n) gives the
attribute value of color-pair number
n. This is the
value that is used to set the attribute of a character to this color-pair. For
example,
attrset(COLOR_PAIR(2))
will display characters using color-pair 2.
The macro
PAIR_NUMBER(
val) gives the
color-pair number associated with the attribute value
val.
The function
init_color(
color,
red,
green,
blue) sets the red, green and blue intensity components
of color
color to the values
red,
green and
blue, respectively. The
minimum intensity value is 0 and the maximum intensity value is 1000.
The function
color_content(
color,
*red,
*green,
*blue) stores the red, green and blue intensity
components of color
color in the variables
red,
green, and
blue, respectively.
The function
no_color_attributes() returns those attributes
that a terminal is unable to combine with color.
RETURN VALUES
The functions
start_color(),
init_pair(),
pair_content(),
init_color() and
color_content() return OK on success and ERR on failure.
SEE ALSO
curses_attributes(3),
curses_background(3),
curses_default_colors(3)
STANDARDS
The
NetBSD Curses library complies with the X/Open
Curses specification, part of the Single Unix Specification.
The function
no_color_attributes() and the use of negative
color numbers are extensions to the X/Open Curses specification.
HISTORY
These functions first appeared in
NetBSD 1.5.