X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_color.3x.html;h=5ff2f5f949488853b87ecf1b33158e8f1a69c265;hp=cb101f5fb89706ec22c6d89d15418d4d6af061b5;hb=027d0c57c4c4d6690e8d8727888d3282dbe9aa86;hpb=8d00601178f9d92b95a91c93f74547517d93168b diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html index cb101f5f..5ff2f5f9 100644 --- a/doc/html/man/curs_color.3x.html +++ b/doc/html/man/curs_color.3x.html @@ -1,6 +1,6 @@ @@ -38,8 +38,7 @@
-curs_color(3x) curs_color(3x) @@ -101,16 +100,39 @@ 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. - - These limits apply to color values and color pairs. Val- - ues outside these limits are not legal, and may result in + 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 a runtime error: o COLORS corresponds to the terminal database's max_col- @@ -120,96 +142,96 @@ 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 + o COLOR_PAIRS corresponds to the terminal database's + max_pairs capability, which is typically a signed 16-bit integer (see terminfo(5)). - o legal color pair values are in the range 1 to COL- + o legal color pair values are in the range 1 to COL- OR_PAIRS-1, inclusive. o color pair 0 is special; it denotes "no color". - Color pair 0 is assumed to be white on black, but is + Color pair 0 is assumed to be white on black, but is actually whatever the terminal implements before color is initialized. It cannot be modified by the applica- tion. - 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 + 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 background color number. For portable applications: - o The first argument must be a legal color pair value. - If default colors are used (see use_default_colors) - the upper limit is adjusted to allow for extra pairs - which use a default color in foreground and/or back- + o The first argument must be a legal color pair value. + If default colors are used (see use_default_colors) + the upper limit is adjusted to allow for extra pairs + which use a default color in foreground and/or back- ground. - o The second and third arguments must be legal color + 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 + If the color-pair was previously initialized, the screen + is refreshed and all occurrences of that color-pair are 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- + 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. - 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 + 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- + 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 + the range 0 through 1000. When init_color is used, all occurrences of that color on the screen immediately change to the new definition. - The has_colors routine requires no arguments. It returns - TRUE if the terminal can manipulate colors; otherwise, it + 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- + independent programs. For example, a programmer can use + it to decide whether to use color or some other video at- tribute. - 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 + 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. - The color_content routine gives programmers a way to find + 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 + 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 + 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 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- + 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 + to by the second and third arguments are in the range 0 through COLORS, inclusive.
In <curses.h> the following macros are defined. These are - the default colors. curses also assumes that COLOR_BLACK + the default colors. curses also assumes that COLOR_BLACK is the default background color for all terminals. COLOR_BLACK @@ -224,60 +246,60 @@
- The routines can_change_color() and has_colors() return + 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 + an OK (SVr4 specifies only "an integer value other than ERR") upon successful completion. - X/Open defines no error conditions. This implementation - will return ERR on attempts to use color values outside + 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- - 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- - tions if the terminal has not been initialized. An error - is returned from secondary functions such as init_pair if + 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- + tions if the terminal has not been initialized. An error + is returned from secondary functions such as init_pair if start_color was not called. init_color - returns an error if the terminal does not support - this feature, e.g., if the initialize_color capa- + returns an error if the terminal does not support + this feature, e.g., if the initialize_color capa- bility is absent from the terminal description. start_color - returns an error if the color table cannot be al- + returns an error if the color table cannot be al- located.
- In the ncurses implementation, there is a separate color + 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. + 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 + 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 + 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 386 and 486 machines with VGA- + Several caveats apply on 386 and 486 machines with VGA- compatible graphics: - o COLOR_YELLOW is actually brown. To get yellow, use + 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 back- - ground to go bright. This often fails to work, and + ground 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 + 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. @@ -285,20 +307,20 @@
- This implementation satisfies XSI Curses's minimum maxi- + 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 + 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. - The assumption that COLOR_BLACK is the default background - color for all terminals can be modified using the as- + The assumption that COLOR_BLACK is the default background + color for all terminals can be modified using the as- sume_default_colors extension. - This implementation checks the pointers, e.g., for the - values returned by color_content and pair_content, and + 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.