]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/html/man/curs_color.3x.html
ncurses 5.0
[ncurses.git] / Ada95 / html / man / curs_color.3x.html
diff --git a/Ada95/html/man/curs_color.3x.html b/Ada95/html/man/curs_color.3x.html
new file mode 100644 (file)
index 0000000..a360965
--- /dev/null
@@ -0,0 +1,226 @@
+<HTML>
+<BODY>
+<PRE>
+       <STRONG>start_color</STRONG>,     <STRONG>init_pair</STRONG>,     <STRONG>init_color</STRONG>,    <STRONG>has_colors</STRONG>,
+       <STRONG>can_change_color</STRONG>,  <STRONG>color_content</STRONG>,  <STRONG>pair_content</STRONG>  -  <STRONG>curses</STRONG>
+       color manipulation routines
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG><curses.h></STRONG>
+       <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
+       <STRONG>int</STRONG>  <STRONG>color_content(short</STRONG>  <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG>
+       <STRONG>*b);</STRONG>
+       <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+   <STRONG>Overview</STRONG>
+       <STRONG>curses</STRONG> support color attributes  on  terminals  with  that
+       capability.   To  use  these  routines <STRONG>start_color</STRONG> must be
+       called, usually right after <STRONG>initscr</STRONG>.   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 <STRONG>init_pair</STRONG>.  After it has been ini-
+       tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>), a macro  defined  in  <STRONG><curses.h></STRONG>,
+       can be used as a new video attribute.
+
+       If  a  terminal  is capable of redefining colors, the pro-
+       grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
+       nition   of   a   color.    The  routines  <STRONG>has_colors</STRONG>  and
+       <STRONG>can_change_color</STRONG>  return  <STRONG>TRUE</STRONG>  or  <STRONG>FALSE</STRONG>,  depending   on
+       whether  the  terminal  has color capabilities and whether
+       the  programmer  can  change  the  colors.   The   routine
+       <STRONG>color_content</STRONG>  allows  a programmer to extract the amounts
+       of red, green,  and  blue  components  in  an  initialized
+       color.   The  routine  <STRONG>pair_content</STRONG> allows a programmer to
+       find out how a given color-pair is currently defined.
+
+   <STRONG>Routine</STRONG> <STRONG>Descriptions</STRONG>
+       The <STRONG>start_color</STRONG> 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 <STRONG>initscr</STRONG>.
+       <STRONG>start_color</STRONG> initializes eight basic  colors  (black,  red,
+       green,  yellow,  blue,  magenta, cyan, and white), and two
+       global variables,  <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG>  (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.
+
+       pair to be changed, the foreground color number,  and  the
+       background  color number.  The value of the first argument
+       must be between <STRONG>1</STRONG> and <STRONG>COLOR_PAIRS-1</STRONG>.   The  value  of  the
+       second  and  third  arguments must be between 0 and <STRONG>COLORS</STRONG>
+       (the 0 color pair is wired to white on black and cannot be
+       changed).   If  the color-pair was previously initialized,
+       the screen is refreshed and all occurrences of that color-
+       pair is changed to the new definition.
+
+       The  <STRONG>init_color</STRONG> 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 <STRONG>0</STRONG> and <STRONG>COLORS</STRONG>.  (See the section
+       <STRONG>Colors</STRONG> for the default color index.)   Each  of  the  last
+       three  arguments must be a value between 0 and 1000.  When
+       <STRONG>init_color</STRONG> is used, all occurrences of that color  on  the
+       screen immediately change to the new definition.
+
+       The  <STRONG>has_colors</STRONG> routine requires no arguments.  It returns
+       <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise,  it
+       returns <STRONG>FALSE</STRONG>.  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.
+
+       The <STRONG>can_change_color</STRONG> routine requires  no  arguments.   It
+       returns  <STRONG>TRUE</STRONG>  if  the  terminal  supports  colors and can
+       change their definitions; other, it returns  <STRONG>FALSE</STRONG>.   This
+       routine facilitates writing terminal-independent programs.
+
+       The <STRONG>color_content</STRONG> 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 <STRONG>short</STRONG>s 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 <STRONG>COLORS</STRONG>.  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  <STRONG>pair_content</STRONG>  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 <STRONG>short</STRONG>s for storing the foreground  and  the  background
+       color  numbers.   The  value of the first argument must be
+       between 1 and <STRONG>COLOR_PAIRS-1</STRONG>.  The values that  are  stored
+       at  the addresses pointed to by the second and third argu-
+       ments are between 0 and <STRONG>COLORS</STRONG>.
+
+   <STRONG>Colors</STRONG>
+       is the default background color for all terminals.
+
+             <STRONG>COLOR_BLACK</STRONG>
+             <STRONG>COLOR_RED</STRONG>
+             <STRONG>COLOR_GREEN</STRONG>
+             <STRONG>COLOR_YELLOW</STRONG>
+             <STRONG>COLOR_BLUE</STRONG>
+             <STRONG>COLOR_MAGENTA</STRONG>
+             <STRONG>COLOR_CYAN</STRONG>
+             <STRONG>COLOR_WHITE</STRONG>
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       The routines <STRONG>can_change_color()</STRONG>  and  <STRONG>has_colors()</STRONG>  return
+       <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+       All other routines return the integer <STRONG>ERR</STRONG> upon failure and
+       an <STRONG>OK</STRONG> (SVr4 specifies only "an integer  value  other  than
+       <STRONG>ERR</STRONG>") upon successful completion.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       In  the  <EM>ncurses</EM> implementation, there is a separate color
+       activation flag, color palette,  color  pairs  table,  and
+       associated  COLORS and COLOR_PAIRS counts for each screen;
+       the <STRONG>start_color</STRONG> 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 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3X)</A></STRONG>.
+
+       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 <STRONG>A_BOLD</STRONG> attribute.
+
+       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.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       This implementation satisfies XSI Curses's  minimum  maxi-
+       mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
+       ground   and   background    color    to    support    the
+       <STRONG>use_default_colors</STRONG> extension, but only if that routine has
+       been first invoked.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3X)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3X)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3X)</A></STRONG>, <STRONG><A HREF="dft_fgbg.3x.html">dft_fgbg(3X)</A></STRONG>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</PRE>
+</BODY>
+</HTML>