Color in GKS is "indexed", i.e. color attributes are assigned to primitives by using a color index. The GKS function GSCR is used to associate a color value with color indices.

It is recommended that all color indices used in a given job be defined prior to calling any output primitive. Since the result of a dynamic color change can be ambiguous, it is also recommended that GSCR not be called to change a color value after the original definitions.

GSCR may be called after opening the workstation for which the color indices are to be defined, and not before that workstation is opened. Different color tables can be maintained for different workstations. For example, color index 2 for a CGM file may be associated with "red" while at the same time it may be associated with "green" for some X workstation.

It is important to stress that color index 0 defines the background color. If any color indices are defined, then you should define the background color index 0. Otherwise you run the risk of having a user-defined color match the default background color.

For all GKS output primitives, color is assigned by an indexing scheme. The indices run from 0 to 255, where 0 is the background color index and 1 is the foreground color index.