Curses Library Functions curscolor(3CURSES)
NAME
curscolor, startcolor, initpair, initcolor, hascolors,
canchangecolor, colorcontent, paircontent - curses color
manipulation functions
SYNOPSIS
cc [ flag ... ] file ... -lcurses [ library ... ]
#include
int startcolor(void);
int initpair(short pair, short fg, short bg);
int initcolor(short color, short red, short green, short blue);
bool hascolors(void);
bool canchangecolor(void);
int colorcontent(short color, short *redp, short *greenp, short *bluep);
int paircontent(short pair, short *fgp, short *bgp);
DESCRIPTION
Overview
curses provides routines that manipulate color on color
alphanumeric terminals. To use these routines startcolor()
must be called, usually right after initscr(). See
cursinitscr(3CURSES). 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 field on which the characters are displayed). A
programmer initializes a color-pair with the routine
initpair. After it has been initialized, COLORPAIR(n), a
macro defined in , can be used in the same ways
other video attributes can be used. If a terminal is capable
of redefining colors, the programmer can use the routine
initcolor() to change the definition of a color. The rou-
tines hascolors() and canchangecolor() return TRUE or
FALSE, depending on whether the terminal has color capabili-
ties and whether the programmer can change the colors. The
routine colorcontent() allows a programmer to identify the
amounts of red, green, and blue components in an initialized
color. The routine paircontent() allows a programmer to
find out how a given color-pair is currently defined.
SunOS 5.11 Last change: 31 Dec 1996 1
Curses Library Functions curscolor(3CURSES)
Routine Descriptions
The startcolor() 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 prac-
tice to call this routine right after initscr().
startcolor() initializes eight basic colors (black, red,
green, yellow, blue, magenta, cyan, and white), and two glo-
bal variables, COLORS and COLORPAIRS (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 initpair() 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 back-
ground color number. The value of the first argument must be
between 1 and COLORPAIRS-1. The value of the second and
third arguments must be between 0 and COLORS. If the color-
pair was previously initialized, the screen is refreshed and
all occurrences of that color-pair is changed to the new
definition.
The initcolor() 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 0 and COLORS. (See the section
Colors for the default color index.) Each of the last three
arguments must be a value between 0 and 1000. When
initcolor() is used, all occurrences of that color on the
screen immediately change to the new definition.
The hascolors() routine requires no arguments. It returns
TRUE if the terminal can manipulate colors; otherwise, it
returns FALSE. This routine facilitates writing terminal-
independent programs. For example, a programmer can use it
to decide whether to use color or some other video attri-
bute.
The canchangecolor() routine requires no arguments. It
returns TRUE if the terminal supports colors and can change
their definitions; other, it returns FALSE. This routine
facilitates writing terminal-independent programs.
The colorcontent() routine gives users 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
SunOS 5.11 Last change: 31 Dec 1996 2
Curses Library Functions curscolor(3CURSES)
three addresses of shorts 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
COLORS. The values that are stored at the addresses pointed
to by the last three arguments are between 0 (no component)
and 1000 (maximum amount of component).
The paircontent() routine allows users to find out what
colors a given color-pair consists of. It requires three
arguments: the color-pair number, and two addresses of
shorts for storing the foreground and the background color
numbers. The value of the first argument must be between 1
and COLORPAIRS-1. The values that are stored at the
addresses pointed to by the second and third arguments are
between 0 and COLORS.
Colors
In the following macros are defined. These are
the default colors. curses also assumes that COLORBLACK is
the default background color for all terminals.
COLORBLACK
COLORED
COLORGREN
COLORYELOW
COLORBLUE
COLORMAGENTA
COLORCYAN
COLORWHITE
RETURN VALUES
All routines that return an integer return ER upon failure
and OK upon successful completion.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
MT-Level Unsafe
SEE ALSO
cursattr(3CURSES), cursinitscr(3CURSES), curses(3CURSES),
attributes(5)
SunOS 5.11 Last change: 31 Dec 1996 3
Curses Library Functions curscolor(3CURSES)
NOTES
The header automatically includes the headers
and .
SunOS 5.11 Last change: 31 Dec 1996 4
|