X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_color.3x.html;h=71fa2749f045da8e2ca4a97a2e50256fe59de494;hp=dadd9a1ad900f884c78ebdefa05d29a9554153df;hb=493e2f7b3fc309879f561a094fdfc15e5304b3d6;hpb=ed646e3f683083e787c6ba773364401dc9fa9d40 diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html index dadd9a1a..71fa2749 100644 --- a/doc/html/man/curs_color.3x.html +++ b/doc/html/man/curs_color.3x.html @@ -1,6 +1,7 @@ - - + curs_color 3x - + @@ -47,8 +48,9 @@

NAME

        start_color, has_colors, can_change_color, init_pair, init_color,
-       color_content, pair_content, COLOR_PAIR, PAIR_NUMBER - curses color
-       manipulation routines
+       init_extended_pair, init_extended_color, color_content, pair_content,
+       extended_color_content, extended_pair_content, reset_color_pairs,
+       COLOR_PAIR, PAIR_NUMBER - curses color manipulation routines
 
 
 

SYNOPSIS

@@ -59,19 +61,22 @@
        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);
+       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 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);
+       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 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);
+       /* extensions */
+       void reset_color_pairs(void);
+
+       int COLOR_PAIR(int n);
        PAIR_NUMBER(attrs);
 
 
@@ -79,26 +84,26 @@
 
 

Overview

        curses supports color attributes on terminals with that capability.  To
-       use these routines start_color must  be  called,  usually  right  after
+       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 characters are dis-
-       played).  A  programmer  initializes  a  color-pair  with  the  routine
+       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
        init_pair.  After it has been initialized, COLOR_PAIR(n) 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  init_color to change the definition of a color.  The rou-
-       tines has_colors and can_change_color return TRUE or  FALSE,  depending
+       If  a  terminal is capable of redefining colors, the programmer can use
+       the routine init_color to change the definition of a color.   The  rou-
+       tines  has_colors  and can_change_color return TRUE or FALSE, depending
        on whether the terminal has color capabilities and whether the program-
        mer can change the colors.  The routine color_content allows a program-
-       mer  to  extract  the  amounts of red, green, and blue components in an
-       initialized color.  The routine pair_content  allows  a  programmer  to
+       mer 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 fore-
+       The curses library combines these inputs to produce  the  actual  fore-
        ground and background colors shown on the screen:
 
        o   per-character video attributes (e.g., via waddch),
@@ -108,14 +113,14 @@
        o   the background character (e.g., wbkgdset).
 
        Per-character and window attributes are usually set by a parameter con-
-       taining  video attributes including a color pair value.  Some functions
+       taining video attributes including a color pair value.  Some  functions
        such as wattr_set use a separate parameter which is the color pair num-
        ber.
 
-       The  background  character  is  a special case: it includes a character
+       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 color  pairs
+       The  curses library does the actual work of combining these color pairs
        in an internal function called from waddch:
 
        o   If the parameter passed to waddch is blank, and it uses the special
@@ -123,17 +128,17 @@
 
            o   curses next checks the window attribute.
 
-           o   If the window attribute does not use color pair 0, curses  uses
+           o   If  the window attribute does not use color pair 0, curses uses
                the color pair from the window attribute.
 
            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.  Otherwise, it tries the window at-
-           tribute next, and finally 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.  Otherwise, it tries the window attri-
+           bute next, and finally the background character.
 
-       Some curses functions such as wprintw call waddch.  Those do  not  com-
+       Some  curses  functions such as wprintw call waddch.  Those do not com-
        bine its parameter with a color pair.  Consequently those calls use on-
        ly the window attribute or the background character.
 
@@ -152,68 +157,74 @@
              COLOR_CYAN
              COLOR_WHITE
 
-       Some terminals support more than the eight (8)  "ANSI"  colors.   There
+       Some  terminals  support  more than the eight (8) "ANSI" colors.  There
        are no standard names for those additional colors.
 
 
 

VARIABLES

 
 

COLORS

-       is  initialized by start_color to the maximum number of colors the ter-
+       is initialized by start_color to the maximum number of colors the  ter-
        minal can support.
 
 
 

COLOR_PAIRS

-       is initialized by start_color to the maximum number of color pairs  the
+       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  manipu-
-       lation  routine  is  called.   It is good practice to call this routine
+       The start_color 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 initscr.  start_color does this:
 
-       o   It initializes two global variables, COLORS  and  COLOR_PAIRS  (re-
-           spectively  defining  the  maximum number of colors and color-pairs
+       o   It  initializes  two  global variables, COLORS and COLOR_PAIRS (re-
+           spectively defining the maximum number of  colors  and  color-pairs
            the terminal can support).
 
-       o   It initializes the special color pair 0 to the  default  foreground
+       o   It  initializes  the special color pair 0 to the default foreground
            and background colors.  No other color pairs are initialized.
 
-       o   It  restores the colors on the terminal to the values they had when
+       o   It restores the colors on the terminal to the values they had  when
            the terminal was just turned on.
 
-       o   If the terminal supports the initc  (initialize_color)  capability,
-           start_color  initializes  its  internal table representing the red,
-           green and blue components of the color palette.
+       o   If  the  terminal supports the initc (initialize_color) capability,
+           start_color 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  hls  (hue_lightness_saturation) capability is
-           set).  The table  is  initialized  first  for  eight  basic  colors
-           (black,  red,  green,  yellow, blue, magenta, cyan, and white), and
-           after that (if the terminal supports more than  eight  colors)  the
-           components are initialized to 1000.
+           or HLS (i.e.,  the  hls  (hue_lightness_saturation)  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 680 or 0 depending on whether  the  corresponding  red,
+           green,  or  blue component is used or not.  That permits using 1000
+           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  1000.
+           SVr4 uses a similar scheme, but uses 1000 for the components of the
+           initial eight colors.
 
            start_color does not attempt to set the terminal's color palette to
            match its built-in table.  An application may use init_color to al-
            ter the internal table along with the terminal's color.
 
-       These  limits  apply  to  color values and color pairs.  Values outside
+       These limits apply to color values and  color  pairs.   Values  outside
        these limits are not legal, and may result in a runtime error:
 
-       o   COLORS corresponds to the terminal database's max_colors  capabili-
+       o   COLORS  corresponds to the terminal database's max_colors capabili-
            ty, (see terminfo(5)).
 
-       o   color  values are expected to be in the range 0 to COLORS-1, inclu-
+       o   color values are expected to be in the range 0 to COLORS-1,  inclu-
            sive (including 0 and COLORS-1).
 
-       o   a special color value -1 is used in certain extended  functions  to
-           denote the default color (see use_default_colors).
+       o   a  special  color value -1 is used in certain extended functions to
+           denote the default color (see use_default_colors(3x)).
 
-       o   COLOR_PAIRS  corresponds to the terminal database's max_pairs capa-
+       o   COLOR_PAIRS corresponds to the terminal database's max_pairs  capa-
            bility, (see terminfo(5)).
 
        o   legal color pair values are in the range 1 to COLOR_PAIRS-1, inclu-
@@ -222,48 +233,55 @@
        o   color pair 0 is special; it denotes "no color".
 
            Color pair 0 is assumed to be white on black, but is actually what-
-           ever the terminal implements before color is initialized.  It  can-
+           ever  the terminal implements before color is initialized.  It can-
            not be modified by the application.
 
 
 

has_colors

-       The  has_colors  routine requires no arguments.  It returns TRUE if the
+       The has_colors routine requires no arguments.  It returns TRUE  if  the
        terminal can manipulate colors; otherwise, it returns FALSE.  This rou-
        tine facilitates writing terminal-independent programs.  For example, a
-       programmer can use it to decide whether to  use  color  or  some  other
+       programmer  can  use  it  to  decide whether to use color or some other
        video attribute.
 
 
 

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-indepen-
+       the  terminal  supports colors and can change their definitions; other,
+       it returns FALSE.  This routine facilitates  writing  terminal-indepen-
        dent 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 fore-
+       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:
 
-       o   The  first  argument  must be a legal color pair value.  If default
-           colors are used (see use_default_colors) the upper limit is adjust-
-           ed to allow for extra pairs which use a default color in foreground
-           and/or background.
+       o   The first argument must be a legal color pair  value.   If  default
+           colors are used (see use_default_colors(3x)) the upper limit is ad-
+           justed to allow for extra pairs which use a default color in  fore-
+           ground and/or background.
 
        o   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-
+       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.
 
-       As an extension, ncurses allows you to set color pair  0  via  the  as-
-       sume_default_colors(3x)  routine, or to specify the use of default col-
-       ors (color number -1) if you first  invoke  the  use_default_colors(3x)
+       As  an  extension,  ncurses  allows you to set color pair 0 via the as-
+       sume_default_colors(3x) routine, or to specify the use of default  col-
+       ors  (color  number  -1) if you first invoke the use_default_colors(3x)
        routine.
 
 
+

init_extended_pair

+       Because init_pair uses signed shorts for its  parameters,  that  limits
+       color-pairs  and  color-values to 32767 on modern hardware.  The exten-
+       sion init_extended_pair uses ints for the color-pair  and  color-value,
+       allowing a larger number of colors to be supported.
+
+
 

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
@@ -280,6 +298,14 @@
        immediately change to the new definition.
 
 
+

init_extended_color

+       Because  init_color  uses signed shorts for its parameters, that limits
+       color-values and their red, green, and blue components to 32767 on mod-
+       ern hardware.  The extension init_extended_color uses ints for the col-
+       or value and for setting the red, green, and blue components,  allowing
+       a larger number of colors to be supported.
+
+
 

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
@@ -295,6 +321,14 @@
            (maximum amount of component), inclusive.
 
 
+

extended_color_content

+       Because color_content uses signed shorts for its parameters, that  lim-
+       its  color-values and their red, green, and blue components to 32767 on
+       modern hardware.  The extension extended_color_content  uses  ints  for
+       the  color value and for returning the red, green, and blue components,
+       allowing a larger number of colors to be supported.
+
+
 

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-
@@ -309,37 +343,68 @@
            sive.
 
 
+

extended_pair_content

+       Because pair_content uses signed shorts for its parameters, that limits
+       color-pair and color-values to 32767 on modern hardware.  The extension
+       extended_pair_content uses ints for the color pair  and  for  returning
+       the  foreground and background colors, allowing a larger number of col-
+       ors to be supported.
+
+
+

reset_color_pairs

+       The extension reset_color_pairs tells ncurses to  discard  all  of  the
+       color-pair  information  which was set with init_pair.  It also touches
+       the current- and standard-screens, allowing an  application  to  switch
+       color palettes rapidly.
+
+
 

PAIR_NUMBER

-       PAIR_NUMBER(attrs) extracts the color value from  its  attrs  parameter
+       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
+       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.
 
-       All  other routines return the integer ERR upon failure and an OK (SVr4
-       specifies only "an integer value other than ERR") upon successful  com-
+       All other routines return the integer ERR upon failure and an OK  (SVr4
+       specifies  only "an integer value other than ERR") upon successful com-
        pletion.
 
-       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 extension), or use color pairs outside
-       the range 0 to COLOR_PAIRS-1.  Color values used in init_color must  be
-       in the range 0 to 1000.  An error is returned from all functions if the
-       terminal has not been initialized.  An error is returned from secondary
-       functions such as init_pair if start_color was not called.
+       X/Open defines no error conditions.  SVr4 does document some error con-
+       ditions which apply in general:
+
+       o   This implementation will return ERR on attempts to use color values
+           outside the range 0 to COLORS-1 (except for the default colors  ex-
+           tension), or use color pairs outside the range 0 to COLOR_PAIRS-1.
+
+           Color values used in init_color must be in the range 0 to 1000.
+
+           An  error  is  returned  from all functions if the terminal has not
+           been initialized.
+
+           An error is returned from secondary functions such as init_pair  if
+           start_color was not called.
+
+       o   SVr4  does much the same, except that it returns ERR from pair_con-
+           tent if the pair was not initialized using init_pairs  and  it  re-
+           turns  ERR  from  color_content  if  the  terminal does not support
+           changing colors.
+
+           This implementation does not return ERR for either case.
+
+       Specific functions make additional checks:
 
           init_color
                returns an error if the terminal does not support this feature,
-               e.g., if the initialize_color capability  is  absent  from  the
+               e.g.,  if  the  initialize_color  capability is absent from the
                terminal description.
 
           start_color
@@ -347,60 +412,62 @@
 
 
 

NOTES

-       In  the  ncurses  implementation,  there is a separate color activation
-       flag, color palette, color pairs table, and associated COLORS and  COL-
-       OR_PAIRS  counts for each screen; the start_color function only affects
+       In the ncurses implementation, there is  a  separate  color  activation
+       flag,  color palette, color pairs table, and associated COLORS and COL-
+       OR_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
+       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
+       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).
 
-       Several  caveats  apply  on  older x86 machines (e.g., i386, i486) with
+       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
+       o   COLOR_YELLOW  is  actually  brown.  To get yellow, use COLOR_YELLOW
            combined with the A_BOLD attribute.
 
-       o   The  A_BLINK  attribute should in theory cause the background to go
+       o   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
+           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).
 
        o   Color RGB values are not settable.
 
 
 

PORTABILITY

-       This  implementation satisfies XSI Curses's minimum maximums for COLORS
+       This implementation satisfies XSI Curses's minimum maximums for  COLORS
        and COLOR_PAIRS.
 
-       The init_pair routine accepts negative values of foreground  and  back-
-       ground  color to support the use_default_colors(3x) extension, but only
+       The  init_pair  routine accepts negative values of foreground and back-
+       ground color to support the use_default_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 assume_default_colors(3x) exten-
+       terminals can be modified using  the  assume_default_colors(3x)  exten-
        sion.
 
-       This implementation checks the pointers, e.g., for the values  returned
+       This  implementation checks the pointers, e.g., for the values returned
        by color_content and pair_content, and will treat those as optional pa-
        rameters when null.
 
-       X/Open Curses does not specify a limit for the  number  of  colors  and
+       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 short
-       for the parameters, it carries over SVr4's  implementation  detail  for
+       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
-       short  parameters, allowing applications to use larger color- and pair-
+       implementation  provides extended versions of those functions which use
+       short parameters, allowing applications to use larger color- and  pair-
        numbers.
 
+       The reset_color_pairs function is an extension of ncurses.
+
 
 

SEE ALSO

-       curses(3x), curs_initscr(3x),  curs_attr(3x),  curs_variables(3x),  de-
+       curses(3x),  curs_initscr(3x),  curs_attr(3x),  curs_variables(3x), de-
        fault_colors(3x)
 
 
@@ -430,9 +497,14 @@
 
  • has_colors
  • can_change_color
  • init_pair
  • +
  • init_extended_pair
  • init_color
  • +
  • init_extended_color
  • color_content
  • +
  • extended_color_content
  • pair_content
  • +
  • extended_pair_content
  • +
  • reset_color_pairs
  • PAIR_NUMBER
  • COLOR_PAIR