X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_color.3x.html;h=bab33b328c15d3f8d2d0aa4c86ba319188932f52;hp=8d0f00c6368ac4e1f5e80c8b0314d466bee0ddf1;hb=3eda6f30a84d53844d2ebceadb457e2e7e9cfbf3;hpb=db5f7f4f146a91ba8ec7f1df8e9d7f9d2d7c74fd diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html index 8d0f00c6..bab33b32 100644 --- a/doc/html/man/curs_color.3x.html +++ b/doc/html/man/curs_color.3x.html @@ -1,6 +1,6 @@ @@ -45,59 +45,67 @@ - -

NAME

-       start_color, init_pair, init_color, has_colors,
-       can_change_color, color_content, pair_content, COLOR_PAIR
-       - curses color manipulation routines
+

NAME

+       start_color, has_colors, can_change_color, init_pair,
+       init_color, color_content, pair_content, COLOR_PAIR,
+       PAIR_NUMBER - curses color manipulation routines
 
 
-
-

SYNOPSIS

-       # include <curses.h>
+

SYNOPSIS

+       #include <curses.h>
 
        int start_color(void);
-       int init_pair(short pair, short f, short b);
-       int init_color(short color, short r, short g, short b);
+
        bool has_colors(void);
        bool can_change_color(void);
+
+       int init_pair(short pair, short f, short b);
+       int init_color(short color, short r, short g, short b);
+       /* extensions */
+       int init_extended_pair(int pair, int f, int b);
+       int init_extended_color(int color, int r, int g, int b);
+
        int  color_content(short  color, short *r, short *g, short
        *b);
        int pair_content(short pair, short *f, short *b);
+       /* extensions */
+       int extended_color_content(int color, int *r, int *g,  int
+       *b);
+       int extended_pair_content(int pair, int *f, int *b);
 
+       int COLOR_PAIR(int n);
+       PAIR_NUMBER(attrs);
 
-
-

DESCRIPTION

 
-
-

Overview

-       curses supports color attributes on  terminals  with  that
-       capability.   To  use  these  routines start_color must be
-       called, usually right after initscr.   Colors  are  always
-       used  in pairs (referred to as color-pairs).  A color-pair
-       consists of a foreground  color  (for  characters)  and  a
+

DESCRIPTION

+
+

Overview

+       curses  supports  color  attributes on terminals with that
+       capability.  To use these  routines  start_color  must  be
+       called,  usually  right  after initscr.  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 init_pair.  After it has been ini-
-       tialized, COLOR_PAIR(n), a macro  defined  in  <curses.h>,
-       can be used as a new video attribute.
+       ters  are  displayed).   A programmer initializes a color-
+       pair with the routine init_pair.  After it has  been  ini-
+       tialized, COLOR_PAIR(n) can be used to convert the pair to
+       a video attribute.
 
-       If  a  terminal  is capable of redefining colors, the pro-
+       If a terminal is capable of redefining  colors,  the  pro-
        grammer can use the routine init_color to change the defi-
-       nition   of   a   color.    The  routines  has_colors  and
-       can_change_color  return  TRUE  or  FALSE,  depending   on
-       whether  the  terminal  has color capabilities and whether
-       the programmer can change the colors.   The  routine  col-
-       or_content  allows  a programmer to extract the amounts of
-       red, green, and blue components in an  initialized  color.
-       The  routine  pair_content allows a programmer to find out
+       nition  of  a  color.    The   routines   has_colors   and
+       can_change_color   return  TRUE  or  FALSE,  depending  on
+       whether the terminal has color  capabilities  and  whether
+       the  programmer  can  change the colors.  The routine col-
+       or_content allows a programmer to extract the  amounts  of
+       red,  green,  and blue components in an initialized color.
+       The routine pair_content allows a programmer to  find  out
        how a given color-pair is currently defined.
 
 
-
-

Color Rendering

-       The curses library combines these inputs  to  produce  the
-       actual  foreground  and  background  colors  shown  on the
+

Color Rendering

+       The  curses  library  combines these inputs to produce the
+       actual foreground  and  background  colors  shown  on  the
        screen:
 
        o   per-character video attributes (e.g., via waddch),
@@ -106,12 +114,12 @@
 
        o   the background character (e.g., wbkgdset).
 
-       Per-character and window attributes are usually set  by  a
-       parameter  containing  video  attributes  including a COL-
-       OR_PAIR value.  Some functions such  as  wattr_set  use  a
-       separate parameter which is the color pair number.
+       Per-character  and  window attributes are usually set by a
+       parameter containing video attributes  including  a  color
+       pair  value.  Some functions such as wattr_set use a sepa-
+       rate parameter which is the color pair number.
 
-       The  background character is a special case: it includes a
+       The background character is a special case: it includes  a
        character value, just as if it were passed to waddch.
 
        The curses library does the actual work of combining these
@@ -123,25 +131,58 @@
            o   curses next checks the window attribute.
 
            o   If the window attribute does not use color pair 0,
-               curses  uses  the  color  pair from the window at-
+               curses uses the color pair  from  the  window  at-
                tribute.
 
            o   Otherwise, curses uses the background character.
 
-       o   If the parameter passed to waddch is not blank, or  it
-           does  not use the special color pair 0, curses prefers
-           the color pair from the parameter, if it  is  nonzero.
+       o   If  the parameter passed to waddch is not blank, or it
+           does not use the special color pair 0, curses  prefers
+           the  color  pair from the parameter, if it is nonzero.
            Otherwise, it tries the window attribute next, and fi-
            nally the background character.
 
-       Some curses functions such as wprintw call waddch.   Those
-       do  not  combine  its parameter with a color pair.  Conse-
-       quently those calls use only the window attribute  or  the
+       Some  curses functions such as wprintw call waddch.  Those
+       do not combine its parameter with a  color  pair.   Conse-
+       quently  those  calls use only the window attribute or the
        background character.
 
 
-
-

Routine Descriptions

+

CONSTANTS

+       In <curses.h> the following macros are defined.  These are
+       the  standard colors (ISO-6429).  curses also assumes that
+       COLOR_BLACK is the default background color for all termi-
+       nals.
+
+             COLOR_BLACK
+             COLOR_RED
+             COLOR_GREEN
+             COLOR_YELLOW
+             COLOR_BLUE
+             COLOR_MAGENTA
+             COLOR_CYAN
+             COLOR_WHITE
+
+       Some terminals support more than the eight (8) "ANSI" col-
+       ors.  There are no standard  names  for  those  additional
+       colors.
+
+
+

VARIABLES

+
+

COLORS

+       is  initialized  by  start_color  to the maximum number of
+       colors the terminal can support.
+
+
+

COLOR_PAIRS

+       is initialized by start_color to  the  maximum  number  of
+       color pairs the terminal can support.
+
+
+

FUNCTIONS

+
+

start_color

        The start_color 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
@@ -182,19 +223,17 @@
        a runtime error:
 
        o   COLORS corresponds to the terminal database's max_col-
-           ors capability, which is typically a signed 16-bit in-
-           teger (see terminfo(5)).
+           ors capability, (see terminfo(5)).
 
        o   color values are expected to be in the range 0 to COL-
            ORS-1, inclusive (including 0 and COLORS-1).
 
-       o   a  special  color value -1 is used in certain extended
-           functions to denote the  default  color  (see  use_de-
+       o   a special color value -1 is used in  certain  extended
+           functions  to  denote  the  default color (see use_de-
            fault_colors).
 
-       o   COLOR_PAIRS  corresponds  to  the  terminal database's
-           max_pairs capability,  which  is  typically  a  signed
-           16-bit integer (see terminfo(5)).
+       o   COLOR_PAIRS corresponds  to  the  terminal  database's
+           max_pairs capability, (see terminfo(5)).
 
        o   legal  color  pair  values  are in the range 1 to COL-
            OR_PAIRS-1, inclusive.
@@ -206,6 +245,24 @@
            is initialized.  It cannot be modified by the applica-
            tion.
 
+
+

has_colors

+       The  has_colors 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 at-
+       tribute.
+
+
+

can_change_color

+       The can_change_color 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.
+
+
+

init_pair

        The  init_pair  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
@@ -225,76 +282,77 @@
        changed to the new definition.
 
        As  an  extension,  ncurses allows you to set color pair 0
-       via the assume_default_colors routine, or to  specify  the
-       use  of  default colors (color number -1) if you first in-
-       voke the use_default_colors routine.
+       via the assume_default_colors(3x) routine, or  to  specify
+       the  use  of default colors (color number -1) if you first
+       invoke the use_default_colors(3x) routine.
+
 
+

init_color

        The init_color 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 first argument must
-       be a legal color value; default  colors  are  not  allowed
-       here.   (See  the section Colors for the default color in-
-       dex.)  Each of the last three arguments must be a value in
-       the  range  0  through 1000.  When init_color is used, all
-       occurrences of that color on the screen immediately change
-       to the new definition.
+       red, green, and blue components).
 
-       The  has_colors 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 at-
-       tribute.
+       o   The  first  argument  must be a legal color value; de-
+           fault colors are not allowed here.  (See  the  section
+           Colors for the default color index.)
 
-       The can_change_color 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.
+       o   Each  of  the  last three arguments must be a value in
+           the range 0 through 1000.
 
+       When init_color is used, all occurrences of that color  on
+       the screen immediately change to the new definition.
+
+
+

color_content

        The  color_content 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 shorts for storing the  information
        about  the  amounts  of red, green, and blue components in
-       the given color.  The first argument must be a legal color
-       value,  i.e.,  0  through COLORS-1, inclusive.  The values
-       that are stored at the addresses pointed to  by  the  last
-       three  arguments are in the range 0 (no component) through
-       1000 (maximum amount of component), inclusive.
+       the given color.
+
+       o   The first argument must be a legal color value,  i.e.,
+           0 through COLORS-1, inclusive.
 
+       o   The values that are stored at the addresses pointed to
+           by the last three arguments are in  the  range  0  (no
+           component) through 1000 (maximum amount of component),
+           inclusive.
+
+
+

pair_content

        The pair_content 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  shorts  for  storing the foreground and the background
-       color numbers.  The first argument must be a  legal  color
-       value,  i.e., in the range 1 through COLOR_PAIRS-1, inclu-
-       sive.  The values that are stored at the addresses pointed
-       to  by  the  second and third arguments are in the range 0
-       through COLORS, inclusive.
+       color numbers.
 
+       o   The first argument must be a legal color value,  i.e.,
+           in the range 1 through COLOR_PAIRS-1, inclusive.
 
-
-

Colors

-       In <curses.h> the following macros are defined.  These are
-       the  standard colors (ISO-6429).  curses also assumes that
-       COLOR_BLACK is the default background color for all termi-
-       nals.
+       o   The values that are stored at the addresses pointed to
+           by the second and third arguments are in the  range  0
+           through COLORS, inclusive.
 
-             COLOR_BLACK
-             COLOR_RED
-             COLOR_GREEN
-             COLOR_YELLOW
-             COLOR_BLUE
-             COLOR_MAGENTA
-             COLOR_CYAN
-             COLOR_WHITE
 
+

PAIR_NUMBER

+       PAIR_NUMBER(attrs) extracts the color value from its attrs
+       parameter and returns it as a color pair number.
+
+
+

COLOR_PAIR

+       Its inverse COLOR_PAIR(n) 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 attr_set (which pass
+       the color pair as a separate parameter)  rather  than  the
+       legacy functions such as attrset.
 
-
-

RETURN VALUE

-       The  routines  can_change_color()  and has_colors() return
-       TRUE or FALSE.
+
+

RETURN VALUE

+       The  routines  can_change_color and has_colors return TRUE
+       or FALSE.
 
        All other routines return the integer ERR upon failure and
        an  OK  (SVr4  specifies only "an integer value other than
@@ -302,7 +360,7 @@
 
        X/Open defines no error conditions.   This  implementation
        will  return  ERR  on attempts to use color values outside
-       the range 0 to COLORS-1 (except for the default colors ex-
+       the range 0 to COLORS-1 (except for the default colors ex-
        tension),  or  use color pairs outside the range 0 to COL-
        OR_PAIRS-1.  Color values used in init_color  must  be  in
        the  range 0 to 1000.  An error is returned from all func-
@@ -312,7 +370,7 @@
 
           init_color
                returns an error if the terminal does not  support
-               this  feature, e.g., if the initialize_color capa-
+               this  feature, e.g., if the initialize_color capa-
                bility is absent from the terminal description.
 
           start_color
@@ -320,24 +378,23 @@
                located.
 
 
-
-

NOTES

-       In  the  ncurses implementation, there is a separate color
+

NOTES

+       In  the  ncurses implementation, there is a separate color
        activation flag, color palette, color pairs table, and as-
-       sociated  COLORS  and  COLOR_PAIRS counts for each screen;
+       sociated  COLORS  and  COLOR_PAIRS counts for each screen;
        the start_color 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.
 
-       Note that 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 curs_bkgd(3x).
+       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 curs_bkgd(3x).
 
-       Several  caveats  apply  on 386 and 486 machines with VGA-
-       compatible graphics:
+       Several  caveats  apply on older x86 machines (e.g., i386,
+       i486) with VGA-compatible graphics:
 
        o   COLOR_YELLOW is actually brown.  To  get  yellow,  use
            COLOR_YELLOW combined with the A_BOLD attribute.
@@ -352,27 +409,34 @@
        o   Color RGB values are not settable.
 
 
-
-

PORTABILITY

+

PORTABILITY

        This implementation satisfies XSI Curses's  minimum  maxi-
        mums for COLORS and COLOR_PAIRS.
 
        The  init_pair  routine  accepts  negative values of fore-
        ground  and  background  color  to  support  the   use_de-
-       fault_colors  extension, but only if that routine has been
-       first invoked.
+       fault_colors(3x)  extension,  but only if that routine has
+       been first invoked.
 
        The assumption that COLOR_BLACK is the default  background
        color  for  all  terminals  can  be modified using the as-
-       sume_default_colors extension.
+       sume_default_colors(3x) extension.
 
        This implementation checks the  pointers,  e.g.,  for  the
        values  returned  by  color_content  and pair_content, 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.  How-
+       ever, in its use of short 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 short parameters, allowing applications  to  use
+       larger color- and pair-numbers.
 
-
-

SEE ALSO

+
+

SEE ALSO

        curses(3x),  curs_initscr(3x),  curs_attr(3x),  curs_vari-
        ables(3x), default_colors(3x)
 
@@ -388,8 +452,26 @@
 
+
+
  • CONSTANTS
  • +
  • VARIABLES + +
  • +
  • FUNCTIONS +
  • RETURN VALUE