ColorRegistry.mesa
Copyright Ó 1987, 1991 by Xerox Corporation. All rights reserved.
Maureen Stone, June 11, 1987 2:16:52 pm PDT
Michael Plass, September 30, 1991 10:16 am PDT
DIRECTORY
ImagerBrick USING [Brick],
ImagerSample USING [Function],
PrintColor USING [Toner];
ColorRegistry: CEDAR DEFINITIONS
~ BEGIN
On each named color is a data REF which narrows to a Data below.
Each device has a unique index, which is kept opaque by being defined in the implementation.
(ColorRegistryProcs has a procedure that will return this device index from an ATOM).
For each color, there is a sequence of device implementations, indexed by the device indexes.
Conventionally, the color's name begins "Xerox/Research/" followed by the class name of the
color, which should match the type ATOM on the special color. ie: type: $Distinct for
"Xerox/Research/Distinct/". The id on the DataRec provides a quick way for implementations to
distinguish one special color from another. Conventionally, this id is the leaf name of the
hierarchical name, ie. $Black for "Xerox/Research/Distinct/Black."
Data: TYPE = REF DataRec;
DataRec: TYPE = RECORD[id: ATOM, deviceValues: DeviceSequence];
DeviceSequence: TYPE = REF DeviceSequenceRec;
DeviceSequenceRec: TYPE = RECORD[elements: SEQUENCE length: NAT OF REF];
Implementation
Some implementations are REF ImagerBrick.Brick
Some implementations consist of a LIST of REF ColorPDBrick
Some are REF CMYK
ColorPDBrick: TYPE = RECORD[toner: PrintColor.Toner, tile: ImagerBrick.Brick];
DisplayBrick: TYPE = RECORD[function: ImagerSample.Function ¬ [null, null], tile: ImagerBrick.Brick];
END.