X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_color.3x.html;h=cb101f5fb89706ec22c6d89d15418d4d6af061b5;hp=eda9d7ec35a76698fac778f75d603680b17867eb;hb=c6cfd97b8beaf0f6deafbf8aac7281cf6aa7f012;hpb=a8987e73ec254703634802b4f7ee30d3a485524d;ds=inline diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html index eda9d7ec..cb101f5f 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)-
- start_color, init_pair, init_color, has_colors, - can_change_color, color_content, pair_content, COLOR_PAIR +NAME
+ start_color, init_pair, init_color, has_colors, + can_change_color, color_content, pair_content, COLOR_PAIR - curses color manipulation routines-SYNOPSIS
+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); @@ -66,10 +68,12 @@-DESCRIPTION
- Overview - curses support color attributes on terminals with that - capability. To use these routines start_color must be +DESCRIPTION
+ ++Overview
+ curses support color attributes on terminals with that ca- + pability. 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 @@ -84,13 +88,15 @@ 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 - color_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. + 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. - Routine Descriptions + ++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 @@ -103,70 +109,105 @@ terminal to the values they had when the terminal was just turned on. - 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 + 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- + ors capability, which is typically a signed 16-bit in- + teger (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- + 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 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 + 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 background color number. For portable applications: - - The value of the first argument must be between 1 and - COLOR_PAIRS-1. + 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. - - The value of the second and third arguments must be - between 0 and COLORS (the 0 color pair is wired to - white on black and cannot be changed). + 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 - invoke 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 - 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 - init_color is used, all occurrences of that color on the - screen immediately change 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. + + 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. 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 - attribute. + 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 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 - 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 com- - ponent). - - 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 value of the first argument must be - between 1 and COLOR_PAIRS-1. The values that are stored - at the addresses pointed to by the second and third argu- - ments are between 0 and COLORS. - - Colors + 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 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. + + ++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. @@ -182,7 +223,7 @@-RETURN VALUE
+RETURN VALUE
The routines can_change_color() and has_colors() return TRUE or FALSE. @@ -190,68 +231,102 @@ 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 + 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 + 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- + bility is absent from the terminal description. + + start_color + returns an error if the color table cannot be al- + located. +-NOTES
- In the ncurses implementation, there is a separate color - activation flag, color palette, color pairs table, and - associated COLORS and COLOR_PAIRS counts for each screen; - the start_color function only affects the current screen. +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. 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: - - COLOR_YELLOW is actually brown. To get yellow, use - COLOR_YELLOW combined with the A_BOLD attribute. + o COLOR_YELLOW is actually brown. To get yellow, use + COLOR_YELLOW combined with the A_BOLD attribute. - - 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 blinking yellow foreground instead). + o The A_BLINK attribute should in theory cause the back- + 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 + blinking yellow foreground instead). - - Color RGB values are not settable. + o Color RGB values are not settable.-PORTABILITY
- This implementation satisfies XSI Curses's minimum maxi- +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_default_colors extension, but only if that routine has - been first invoked. + 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 - assume_default_colors extension, + 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 + will treat those as optional parameters when null.-SEE ALSO
- curses(3x), curs_initscr(3x), curs_attr(3x), default_col- - ors(3x) +SEE ALSO
+ curses(3x), curs_initscr(3x), curs_attr(3x), curs_vari- + ables(3x), default_colors(3x) - curs_color(3x) + curs_color(3x)-
- -Man(1) output converted with -man2html - +