DIRECTORY ImagerTransformation USING [Transformation], ImagerBrick USING [Brick], ImagerColor USING [Color], ImagerPixel USING [PixelMap], ImagerSample USING [Function, SampleMap], PrintColor USING [ColorCorrection, HalftoneProperties, Ink, LogicalDevice, Toner, TonerUniverse], SF USING [Box, BoxGenerator]; ImagerPrintColor: CEDAR DEFINITIONS ~ BEGIN ColorCase: TYPE ~ {nil, constant, tile, sampledColor, sampledBlack}; DeviceColorData: TYPE ~ REF DeviceColorDataRep; DeviceColorDataRep: TYPE ~ RECORD [ logicalDevice: PrintColor.LogicalDevice, -- parameter for SetDeviceColorData halftoneProperties: PrintColor.HalftoneProperties, -- parameter for SetDeviceColorData correction: PrintColor.ColorCorrection, -- parameter for SetDeviceColorData interpolate: BOOL ¬ FALSE, -- speed/quality tradeoff parameter for MaskBoxes (for sampledColor case only) tonerUniverse: PrintColor.TonerUniverse, toner: PrintColor.Toner, -- toner for current separation brick: ImagerBrick.Brick, -- the cached brick sampleMapInUse: ImagerSample.SampleMap, -- to be recycled next time. case: ColorCase ¬ constant, ink: PrintColor.Ink, -- ignores tile, alpha, etc. tileBits: ImagerSample.SampleMap ¬ NIL, -- the tile bitmap tilePhase: NAT ¬ 0, -- the tile phase shift for each row alpha: BYTE ¬ 255, -- coverage: 0 = none, 255 = full (this may not work) separation: ImagerPixel.PixelMap ¬ NIL, -- the samples for this separation (may also have alpha) bitmap: ImagerPixel.PixelMap ¬ NIL, -- the source bitmap pixelToDevice: ImagerTransformation.Transformation ¬ NIL, function: ImagerSample.Function, -- The only functions that are guaranteed to work for all implementations are [null, null] and [or, null] private: REF ¬ NIL -- not for client use ]; NewDeviceColorData: PROC [logicalDevice: PrintColor.LogicalDevice, halftoneProperties: PrintColor.HalftoneProperties, correction: PrintColor.ColorCorrection ¬ NIL, interpolate: BOOL ¬ FALSE] RETURNS [DeviceColorData]; SetSeparation: PROC [deviceColorData: DeviceColorData, toner: PrintColor.Toner]; SetDeviceColorData: PROC [deviceColorData: DeviceColorData, color: ImagerColor.Color, viewToDevice: ImagerTransformation.Transformation]; MaskBoxes: PROC [bitmap: ImagerSample.SampleMap, deviceColorData: DeviceColorData, bounds: SF.Box, boxes: SF.BoxGenerator]; END. Z ImagerPrintColor.mesa Copyright Σ 1987, 1991 by Xerox Corporation. All rights reserved. Michael Plass, October 26, 1991 10:26 pm PDT This interface is for printer Imager implementations, and provides the functionality needed for decoding and rendering colors of all kinds. Other clients should not need this interface. constant => tile => sampledColor => sampledBlack => sampledColor, sampledBlack => tile, sampledBlack => Sets up a separation-specific color description Indicates which separation to work on. Sets up a separation-specific color description Applies the color to the bitmap. Κ‘–(cedarcode) style•NewlineDelimiter ™codešœ™Kšœ Οeœ7™Bšœ,™,K™—K™ΊK™—šΟk ˜ Kšœžœ˜,Kšœ žœ ˜Kšœ žœ ˜Kšœ žœ ˜Kšœ žœ˜)Kšœ žœQ˜aKšžœžœ˜—K˜KšΠlnœžœž ˜#šœž˜K˜šœ žœ5˜DK˜—Kšœžœžœ˜/šœžœžœ˜#Kšœ)Οc#˜LKšœ3 #˜VKšœ( #˜KKšœ žœžœ N˜iKšœ(˜(Kšœ ˜8Kšœ ˜-Kšœ( ˜Dšœ˜šœ ™ Kšœ ˜1—šœ™Kšœ#žœ ˜:Kšœ žœ $˜8Kšœžœ 5˜H—šœ™Kšœ#žœ 8˜`—šœ™Kšœžœ ˜8—šœ™Kšœ5žœ˜9—šœ™Kšœ" i˜‹——Kšœ žœžœ ˜(Kšœ˜K˜—š Οnœžœ‡žœžœžœžœ˜ΩK™/K˜—š‘ œžœ=˜PKšœ  œ ™&K˜—š‘œžœq˜‰K™/K˜—š‘ œžœLžœ žœ˜{K™ ——K˜Kšžœ˜—…—ώ ι