<> <> <> <> <<>> <> DIRECTORY PDFileFormat USING [DeviceCode, Toner], Rope USING [ROPE]; PDFileWriter: CEDAR DEFINITIONS ~ BEGIN PDState: TYPE ~ REF PDStateRec; PDStateRec: TYPE; DeviceCode: TYPE ~ PDFileFormat.DeviceCode; Toner: TYPE ~ PDFileFormat.Toner; LoadReference: TYPE ~ NAT; LoadReferenceRep: TYPE ~ RECORD [ assignedLoadAddress: INT _ -1, sSize, fSize: CARDINAL, data: SELECT tag: * FROM samples => [], tile => [], runGroup => [], ENDCASE ]; TFlag: TYPE ~ {opaque, transparent}; <<>> <> Create: PROC [fileName: Rope.ROPE, deviceCode: DeviceCode, sResolution, fResolution, imageSSize, imageFSize: CARDINAL, bandSSize: CARDINAL _ 16, copies: CARDINAL _ 1, leftOverMode: BOOLEAN _ TRUE, maxLoadWords: INT _ 60000] RETURNS [pdState: PDState]; SetPriorityImportant: PROC [pdState: PDState, priorityImportant: BOOLEAN] RETURNS [previousValue: BOOLEAN]; <> TonerSet: TYPE ~ PACKED ARRAY Toner OF InitiallyFalse; InitiallyFalse: TYPE ~ BOOLEAN _ FALSE; StartImage: PROC [pdState: PDState, toners: TonerSet _ [black: TRUE], feed, strip: BOOLEAN _ TRUE]; <> <> <> DeliverRunGroupProc: TYPE ~ PROC [CaptureRunProc]; CaptureRunProc: TYPE ~ PROC [sMin, fMin, fSize: CARDINAL]; DeliverSampleArrayProc: TYPE ~ PROC [CaptureScanLineProc]; CaptureScanLineProc: TYPE ~ PROC [LONG POINTER]; <> GetBounds: PROC [pdState: PDState] RETURNS [sMax, fMax: CARDINAL]; DoForEachToner: PROC [pdState: PDState, proc: PROC[Toner]]; <> <<>> <> SetColorInk: PROC [pdState: PDState, toner: Toner]; SetColorClear: PROC [pdState: PDState, toner: Toner]; SetColorOff: PROC [pdState: PDState, toner: Toner]; <> SetColorTile: PROC [pdState: PDState, toner: Toner, tileRef: LoadReference, tFlag: TFlag _ opaque]; <> MaskRectangle: PROC [pdState: PDState, sMin, fMin: CARDINAL, sSize, fSize: CARDINAL]; MaskTrapezoid: PROC [pdState: PDState, sMin, sSize: CARDINAL, fMin, fSize: CARDINAL, fMinLast, fSizeLast: CARDINAL]; MaskSamplesRef: PROC [pdState: PDState, samplesRef: LoadReference, sMin, fMin: CARDINAL]; MaskSamples: PROC [pdState: PDState, sMin, fMin: CARDINAL, sSize, fSize: CARDINAL, deliverProc: DeliverSampleArrayProc]; MaskRunGroupRef: PROC [pdState: PDState, runGroupRef: LoadReference, sMin, fMin: CARDINAL]; MaskRunGroup: PROC [pdState: PDState, deliverProc: DeliverRunGroupProc]; NewPriorityLevel: PROC [pdState: PDState, toner: Toner]; ColorSamples: PROC [pdState: PDState, toner: Toner, sMin, fMin: CARDINAL, sSize, fSize: CARDINAL, deliverProc: DeliverSampleArrayProc, tFlag: TFlag _ opaque]; <> RemainingLoadSize: PROC [pdState: PDState] RETURNS [words: INT]; <> LoadRunGroup: PROC [pdState: PDState, deliverProc: DeliverRunGroupProc] RETURNS [loadReference: LoadReference]; LoadContiguousSampleArray: PROC [pdState: PDState, sSize, fSize: CARDINAL, bitsPtr: LONG POINTER] RETURNS [loadReference: LoadReference]; LoadContiguousColorTile: PROC [pdState: PDState, phase: CARDINAL, sMin, fMin: CARDINAL, sSize, fSize: CARDINAL, bitsPtr: LONG POINTER] RETURNS [loadReference: LoadReference]; <> EndPage: PROC [pdState: PDState]; FlushPage: PROC [pdState: PDState]; <> Close: PROC [pdState: PDState]; END. <<>> <> <>