gscmap
Purpose
Specifies the color mapping.
C Syntax
int gscmap_ (number, red, green, blue)
int *number, *red, *green, *blue;
FORTRAN Syntax
INTEGER function gscmap (number, red, green, blue)
INTEGER number, red (*), green (*), blue (*)
Pascal Syntax
FUNCTION gscmap_ (
VAR number INTEGER;
VAR red, green, blue: ARRAY [0..k| of INTEGER
): INTEGER [PUBLIC|;
Description
The gscmap subroutine specifies the mapping between the
color index attribute and the color it produces on the
display.
The default color table mapping for the first 16 colors
is the same as the default color map attributes in KSR
mode. The remaining color values are initialized in a
hardware dependent manner.
Parameters
number Indicates how many colors the input intensity
arrays contain.
red, green, blue Define arrays that contain the intensity
levels of the corresponding color. Each entry
in an array specifies the intensity value for
the corresponding color index.
The value in each entry for the red, green, and
blue intensity arrays is between 0x0000,
representing zero intensity, and 0x3FFF,
representing full intensity. The following
additional increments of intensity are pos-
sible, depending on the adapter hardware in
use:
0x2000 1/2 intensity
0x1000 1/4 intensity
0x0800 1/8 intensity
0x0400 1/16 intensity
0x0200 1/32 intensity
0x0100 1/64 intensity.
Combinations of these values can be used to
create intermediate levels of intensity. For
example, "0xC000" gives 3/16 intensity, while
"0x3000" gives 3/4 intensity.
The actual number of bits from bit 13 to bit 0
that affect the color on the display is
dependent on the number of bits in the digital-
to-analog converter of the adapter hardware in
use. This size information is available by
using the gsqdsp subroutine.
An application cannot change a single arbitrary color
entry in the color map (or the VLT). It must change all
the entries for all the colors up to and including the
desired entry.
For Pascal, the application must declare the arrays
passed as being fixed length and declare the routine as
accepting arrays of that length; the k in the routine
declaration must be a constant.
Return Value
GS_SUCC Successful.
GS_TABL Invalid table length.
GS_INAC Virtual terminal inactive.