DIRECTORY ImagerBrick USING [Brick], ImagerSample USING [Function], PrintColor USING [Toner]; ColorRegistry: CEDAR DEFINITIONS ~ BEGIN Data: TYPE = REF DataRec; DataRec: TYPE = RECORD[id: ATOM, deviceValues: DeviceSequence]; DeviceSequence: TYPE = REF DeviceSequenceRec; DeviceSequenceRec: TYPE = RECORD[elements: SEQUENCE length: NAT OF REF]; ColorPDBrick: TYPE = RECORD[toner: PrintColor.Toner, tile: ImagerBrick.Brick]; DisplayBrick: TYPE = RECORD[function: ImagerSample.Function ¬ [null, null], tile: ImagerBrick.Brick]; END. J 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 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." Implementation Some implementations are REF ImagerBrick.Brick Some implementations consist of a LIST of REF ColorPDBrick Some are REF CMYK Κ•NewlineDelimiter –(cedarcode) style™codešœ™Kšœ Οeœ7™BK™+K™.—K˜šΟk ˜ Kšœ žœ ˜Kšœ žœ ˜Kšœ žœ ˜—K˜KšΟb œžœž ˜ šœž˜K˜K™@K™\K™UK™]K™K™Kšœ[™[KšœU™UKšœ^™^Kšœ\™\KšœB™BK™Kšœžœžœ ˜Kšœ žœžœžœ ˜?Kšœžœžœ˜-Kš œžœžœ žœ žœžœžœ˜HK˜™Kšœ.™.K™:K™K™—Kšœžœžœ3˜NKšœžœžœJ˜eK˜K˜K˜—Kšžœ˜K˜—…—γ