<> <> <> <> <> <> DIRECTORY Imager USING [Context], ImagerColor USING [CIEChromaticity], ImagerColorDefs USING [Color, ConstantColor], ImagerPixelMap USING [PixelMap, Tile], Rope USING [ROPE]; ImagerPD: CEDAR DEFINITIONS ~ BEGIN OPEN Imager, ImagerColor, ImagerColorDefs, ImagerPixelMap, Rope; <> PD: TYPE ~ REF PDRep; PDRep: TYPE; Toner: TYPE ~ MACHINE DEPENDENT {black(0), cyan(1), magenta(2), yellow(3), last(15)}; Toners: TYPE ~ LIST OF Toner; <<>> PrinterType: TYPE ~ {nil, raven300, raven384, o3, plateMaker, o5, puffin, colorVersatec, versatec, color400, c150, o11, o12, o13, o14, o15}; <> CreateFromPrinterType: PROC [name: ROPE, printerType: PrinterType, toners: Toners _ NIL, tonerUniverse: Toners _ NIL, pixelsPerHalftoneDot: REAL _ 5.0] RETURNS [PD]; CreateFromParameters: PROC [name: ROPE, deviceCode: CARDINAL, sResolution, fResolution: CARDINAL, -- pixels per inch imageSSize, imageFSize: CARDINAL, -- pixels toners: Toners, leftovers: BOOL, bandSSize: NAT, maxLoadWords: INT, fontTuning: ROPE _ NIL, tonerUniverse: Toners _ NIL, pixelsPerHalftoneDot: REAL _ 5.0] RETURNS [PD]; DoPage: PROC [pd: PD, action: PROC [context: Context], pixelUnits: BOOL _ FALSE]; UnimplementedColor: SIGNAL [color: Color]; Close: PROC [pd: PD]; <> CreateTile: PROC [pixelMap: PixelMap, phase: INTEGER _ 0, copy: BOOL _ TRUE] RETURNS [tile: Tile]; <> <> ColorSeparationProc: TYPE ~ PROC [chrom: CIEChromaticity, luminance: REAL, toner: Toner, data: REF] RETURNS [t: REAL]; <> SpecialSeparationProc: TYPE ~ PROC [color: ConstantColor, toner: Toner, data: REF] RETURNS [tile: Tile, clear: BOOL]; <> SetSeparationProperties: PROC [pd: PD, colorSep: ColorSeparationProc, colorData: REF, specialSep: SpecialSeparationProc, specialData: REF]; SetHalftoneProperties: PROC [pd: PD, toner: Toner, thresholdBrick: Tile]; END.