Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ curs_color(3X) — Amiga System V Release 4 Version 2.03

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)



curs_color(3X)   MISCELLANEOUS LIBRARY FUNCTIONS   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 charac-
     ters 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 ter-
     minal 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 glo-
     bal 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



                          Last change:                          1




curs_color(3X)   MISCELLANEOUS LIBRARY FUNCTIONS   curs_color(3X)



     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.  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 attri-
     bute.  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 stor-
     ing 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
          COLORMAGENTA
          COLORCYAN



                          Last change:                          2





curs_color(3X)   MISCELLANEOUS LIBRARY FUNCTIONS   curs_color(3X)



          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).











































                          Last change:                          3



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