X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_color.3x.html;h=cf446d172566445aa7beaf97177a39f72f78abee;hp=b385da464dfbbfaed7cffff9d88ee774d924fc27;hb=f344f8539c1543f8cd65a5bb142dbaf23b9421d2;hpb=b0b1980be11bba618d84beb8b30ac94e2c820602;ds=sidebyside diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html index b385da46..cf446d17 100644 --- a/doc/html/man/curs_color.3x.html +++ b/doc/html/man/curs_color.3x.html @@ -1,7 +1,6 @@ - + + + curs_color 3x -

curs_color 3x

-
+

curs_color 3x

-
 curs_color(3x)                                           curs_color(3x)
 
 
 
 
-
-

NAME

+

NAME

        start_color, init_pair, init_color, has_colors,
-       can_change_color, color_content, pair_content, COLOR_PAIR
-       - curses color manipulation routines
+       can_change_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  color_content(short  color, short *r, short *g, short
        *b);
        int pair_content(short pair, short *f, short *b);
 
+       int COLOR_PAIR(int n);
+       PAIR_NUMBER(attrs);
 
-
-

DESCRIPTION

-   Overview
-       curses support color attributes on terminals with that ca-
-       pability.   To  use  these  routines  start_color  must be
+
+

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.
+       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-
        grammer can use the routine init_color to change the defi-
@@ -91,18 +97,87 @@
        The  routine  pair_content allows a programmer to find out
        how a given color-pair is currently defined.
 
-   Routine Descriptions
+
+

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),
+
+       o   the window attribute (e.g., by wattrset), and
+
+       o   the background character (e.g., wbkgdset).
+
+       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
+       character value, just as if it were passed to waddch.
+
+       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 us-
+           es the special color pair 0,
+
+           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-
+               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.
+           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
+       background character.
+
+
+

Routine Descriptions

        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
-       good  practice  to  call this routine right after initscr.
-       start_color initializes eight basic  colors  (black,  red,
-       green,  yellow,  blue,  magenta, cyan, and white), and two
-       global variables,  COLORS  and  COLOR_PAIRS  (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.
+       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  initscr.
+       start_color does this:
+
+       o   It  initializes  two global variables, COLORS and COL-
+           OR_PAIRS (respectively 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 and  background  colors.   No  other  color
+           pairs are initialized.
+
+       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.
+
+           The components depend on whether the terminal uses CGA
+           (aka "ANSI") or HLS (i.e., the hls (hue_lightness_sat-
+           uration) 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 1000.
+
+           start_color  does  not  attempt  to set the terminal's
+           color palette to match its built-in table.  An  appli-
+           cation  may use init_color 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
@@ -200,10 +275,21 @@
        to  by  the  second and third arguments are in the range 0
        through COLORS, inclusive.
 
-   Colors
+       PAIR_NUMBER(attrs) extracts the color value from its attrs
+       parameter  and returns it as a color pair number.  Its in-
+       verse COLOR_PAIR(n) converts a color pair number to an at-
+       tribute.   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 func-
+       tions such as attrset.
+
+
+

Colors

        In <curses.h> the following macros are defined.  These are
-       the  default colors.  curses also assumes that COLOR_BLACK
-       is the default background color for all terminals.
+       the standard colors (ISO-6429).  curses also assumes  that
+       COLOR_BLACK is the default background color for all termi-
+       nals.
 
              COLOR_BLACK
              COLOR_RED
@@ -215,10 +301,9 @@
              COLOR_WHITE
 
 
-
-

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
@@ -236,7 +321,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
@@ -244,9 +329,8 @@
                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;
        the  start_color function only affects the current screen.
@@ -276,8 +360,7 @@
        o   Color RGB values are not settable.
 
 
-
-

PORTABILITY

+

PORTABILITY

        This  implementation  satisfies XSI Curses's minimum maxi-
        mums for COLORS and COLOR_PAIRS.
 
@@ -295,8 +378,7 @@
        will treat those as optional parameters when null.
 
 
-
-

SEE ALSO

+

SEE ALSO

        curses(3x),  curs_initscr(3x),  curs_attr(3x),  curs_vari-
        ables(3x), default_colors(3x)
 
@@ -304,7 +386,23 @@
 
                                                          curs_color(3x)
 
-
-Man(1) output converted with man2html +