Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ curs_color(3x) — Atari System V 1.1-06

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)





   curs_color(3X)                                               curs_color(3X)


   NAME
         curscolor:  startcolor, initpair, initcolor, hascolors,
         canchangecolor, colorcontent, paircontent - curses color
         manipulation routines

   SYNOPSIS
         # include <curses.h>
         int startcolor(void);
         int initpair(short pair, short f, short b);
         int initcolor(short color, short r, short g, short b);
         bool hascolors(void);
         bool canchangecolor(void);
         int colorcontent(short color, short *r, short *g, short *b);
         int paircontent(short pair, short *f, short *b);

   DESCRIPTION
      Overview
         curses provides routines  that manipulate color on color alphanumeric
         terminals.  To use these routines startcolor 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 field on which the
         characters are displayed).  A programmer initializes a color-pair
         with the routine initpair.  After it has been initialized,
         COLORPAIR(n), a macro defined in <curses.h>, can be used in the same
         ways other video attributes can be used.  If a terminal is capable of
         redefining colors, the programmer can use the routine initcolor to
         change the definition of a color.  The routines hascolors and
         canchangecolor return TRUE or FALSE, depending on whether the
         terminal has color capabilities and whether the programmer can change
         the colors.  The routine colorcontent allows a programmer to
         identify the amounts of red, green, and blue components in an
         initialized color.  The routine paircontent allows a programmer to
         find out how a given color-pair is currently defined.

      Routine Descriptions
         The startcolor 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.  startcolor initializes eight basic
         colors (black, red, green, yellow, blue, magenta, cyan, and white),
         and two global variables, COLORS and COLORPAIRS (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.

         The initpair 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.  The
         value of the first argument must be between 1 and COLORPAIRS-1.  The
         value of the second and third arguments must be between 0 and COLORS.


   8/91                                                                 Page 1









   curs_color(3X)                                               curs_color(3X)


         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 initcolor 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
         initcolor is used, all occurrences of that color on the screen
         immediately change to the new definition.

         The hascolors 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.

         The canchangecolor 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 colorcontent routine gives users 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 component).

         The paircontent routine allows users 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 COLORPAIRS-1.  The values that are stored at the
         addresses pointed to by the second and third arguments are between 0
         and COLORS.

      Colors
         In <curses.h> the following macros are defined.  These are the
         default colors.  curses also assumes that COLORBLACK is the default
         background color for all terminals.

               COLORBLACK
               COLORRED
               COLORGREEN
               COLORYELLOW
               COLORBLUE


   Page 2                                                                 8/91









   curs_color(3X)                                               curs_color(3X)


               COLORMAGENTA
               COLORCYAN
               COLORWHITE

   RETURN VALUE
         All routines that return an integer return ERR upon failure and OK
         upon successful completion.

   NOTES
         The header file <curses.h> automatically includes the header files
         <stdio.h> and <unctrl.h>.

   SEE ALSO
         curses(3X), cursinitscr(3X), cursattr(3X).







































   8/91                                                                 Page 3





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026