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, d4020, bw400, o13, o14, o15}; UCR: TYPE ~ RECORD [ blackGamma: REAL _ 0, blackThreshold: REAL _ 0, removedFraction: REAL _ 0 ]; CreateFromPrinterType: PROC [name: ROPE, printerType: PrinterType, toners: Toners _ NIL, tonerUniverse: Toners _ NIL, pixelsPerHalftoneDot: REAL _ 5.0, ucr: UCR _ []] 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, ucr: UCR _ []] 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. ImagerPD.mesa Copyright c 1983, 1984, 1985 by Xerox Corporation. All rights reserved. Michael Plass, September 18, 1985 4:05:53 pm PDT Doug Wyatt, April 15, 1985 1:59:11 pm PST Tim Diebert: February 18, 1986 10:31:24 am PST N.B. This interface is subject to change! Except in unusual circumstances, clients should not write PD files, but should write Interpress files instead. Refer to the ImagerInterpress interface to do so. Eric Nickell February 18, 1986 6:30:52 pm PST Basic types Basic operations Control of color and halftoning properties Like ImagerPixelMap.CreateTile, but does not replicate the pattern. If copy, forces the entire contents to get copied. This procedure is used to do the color separation for ordinary colors, i.e., those that can be reasonably specified in terms of CIE parameters. This procedure is used to do the color separation for other constant colors. It should return a one-bit-per-pixel brick. Use clear=TRUE to specify that the bits should ORed into the page separation bitmap. ΚΧ˜code™ Kšœ Οmœ=™HK™0K™)K™.IheadšΟiΜ™ΜK™-K˜—šΟk ˜ KšœŸœ ˜Kšœ Ÿœ˜$KšœŸœ˜-KšœŸœ˜&KšœŸœŸœ˜—K˜KšΠblœŸœŸ ˜KšœŸœŸœ<˜H™ KšŸœŸœŸœ˜šœŸœ˜ K˜—KšœŸœŸœŸ œ6˜UšœŸœŸœŸœ˜K™—Kšœ Ÿœ˜K˜šŸœŸœŸœ˜Kšœ Ÿœ˜KšœŸœ˜KšœŸœ˜K˜K˜—K˜—™šΟnœŸœŸœ-ŸœŸœŸœ ŸœŸœŸœ˜΄K˜—š$‘œŸœŸœŸœŸœΟcœŸœ’ œŸœ ŸœŸœŸœŸœŸœŸœ ŸœŸœŸœ˜ΨK˜—š ‘œŸœŸœ Ÿœ!ŸœŸœ˜QK˜—š‘œŸœ˜*K˜—Kš‘œŸœŸœ˜—™*š ‘ œŸœŸœ ŸœŸœŸœ˜bKšœC™CKšœ2™2K˜—š‘œŸœŸœ%ŸœŸœŸœŸœ˜vK™K˜—š ‘œŸœŸœ,ŸœŸœŸœ˜uKšœΟ™ΟK˜—š ‘œŸœŸœ,Ÿœ2Ÿœ˜‹K˜—š‘œŸœŸœ&˜IK˜——KšŸœ˜—…—zS