DIRECTORY ImagerPixelMap USING [PixelMap, PixelMapRep, Tile], IO USING [STREAM], PDFileFormat USING [Herald, Run, StartImage], Rope USING [ROPE]; PDFileReader: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; Handle: TYPE ~ REF Rep; Rep: TYPE ~ RECORD [ herald: PDFileFormat.Herald, image: PDFileFormat.StartImage, bandNumber: CARDINAL, sMinBand: CARDINAL, sSizeBand: CARDINAL, colorType: ColorType, colorTileLoadAddress: INT, priority: INT, loadWords: INT, private: REF, stream: IO.STREAM, warningCount: INT ]; ColorType: TYPE ~ {none, clear, ink, opaqueTile, transparentTile}; Error: ERROR [handle: Handle, code: ErrorCode, wordIndex, wordCount: INT, description: ROPE]; Warning: SIGNAL [handle: Handle, code: ErrorCode, wordIndex, wordCount: INT, description: ROPE]; ErrorCode: TYPE ~ { invalidPassword, objectOutOfBounds, missingStartImage, badLoadReference, unrecognisedImagingCommand, loadOutOfBounds, unrecognisedControlCommand, unrecognisedCommandType, unexpectedEOF, wrongFormatVersion, unreasonableResolution, unreasonableBandSSize, unreasonableImageSize, unreasonableLoadSize, unreasonableNumberOfCopies, objectOutOfBand, emptyRunGroup, nonZeroFill, imageBoundsExceedPageBounds, tooFewBands, unknownColorTileFlag }; Open: PROC [fileName: ROPE] RETURNS [Handle]; FromStream: PROC [stream: IO.STREAM] RETURNS [Handle]; Close: PROC [handle: Handle]; Get: PROC [handle: Handle, scanning: BOOLEAN _ FALSE] RETURNS [REF]; Keep: PROC [handle: Handle, ref: REF] RETURNS [REF]; ColorTileFromLoad: PROC [handle: Handle, colorTileLoadAddress: INT, scratch: REF ImagerPixelMap.PixelMapRep _ NIL] RETURNS [colorTile: ImagerPixelMap.Tile]; MaskRectangle: TYPE ~ REF MaskRectangleRep; MaskRectangleRep: TYPE ~ RECORD [ sMin, fMin, sSize, fSize: CARDINAL ]; MaskTrapezoid: TYPE ~ REF MaskTrapezoidRep; MaskTrapezoidRep: TYPE ~ RECORD [ sMin, fMin, fMinLast, sSize, fSize, fSizeLast: CARDINAL ]; MaskRunGroup: TYPE ~ REF MaskRunGroupRep; MaskRunGroupRep: TYPE ~ RECORD [ sMin, fMin, sSize, fSize: CARDINAL, fOffset: CARDINAL, -- add this to fMin of each run runCount: INT, -- number of runs pointer: LONG POINTER TO PDFileFormat.Run, loadAddress: INT, -- -1 if not in the load ref: REF -- for garbage collection hacks ]; MaskSamples: TYPE ~ REF MaskSamplesRep; MaskSamplesRep: TYPE ~ RECORD [ loadAddress: INT, -- -1 if not in the load samples: ImagerPixelMap.PixelMap ]; ColorSamples: TYPE ~ REF ColorSamplesRep; ColorSamplesRep: TYPE ~ RECORD [ samples: ImagerPixelMap.PixelMap ]; DeviceCommand: TYPE ~ REF DeviceCommandRep; DeviceCommandRep: TYPE ~ RECORD [ SEQUENCE wordCount: NAT OF CARDINAL ]; StateChange: TYPE ~ REF StateChangeRep; StateChangeRep: TYPE ~ RECORD [ whatChanged: WhatChanged, loadChangeStart, loadChangeLength: INT ]; WhatChanged: TYPE ~ { imageStart, imageEnd, priorityChange, colorChange, bandChange, loadChange, documentEnd }; END. &PDFileReader.mesa Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. Michael Plass, November 29, 1983 4:43 pm Ken Pier, December 13, 1983 12:06 pm Doug Wyatt, March 7, 1985 2:34:08 pm PST Handle definition Errors and Signals Client may use handle.stream to read the offending data. errors: warnings: File control May raise FileIO.OpenFailed, PDFileReader.Error, or PDFileReader.Warning May raise PDFileReader.Error or PDFileReader.Warning Reading operations Returns one of the data types below May raise PDFileReader.Error or PDFileReader.Warning IF scanning=TRUE, large GetBlocks will not be done for runs, loads, ... Normally, storage returned by a call on Get is subject to re-use on later calls. Calling Keep prevents re-use of the specified storage. Data types returned by Get ΚΫ˜code™Kšœ Οmœ7™BK™(K™$K™(—K™šΟk ˜ Kšœžœ˜3Kšžœžœžœ˜Kšœ žœ˜-Kšœžœžœ˜—K˜KšΠbl œžœž ˜šœž˜K˜Kšžœžœžœ˜—™Kšœžœžœ˜šœžœžœ˜Kšœ˜Kšœ˜Kšœ žœ˜Kšœ žœ˜Kšœ žœ˜K˜Kšœžœ˜Kšœ žœ˜Kšœ žœ˜Kšœ žœ˜ Kšœžœžœ˜Kšœž˜Kšœ˜K˜Kšœ žœ3˜B—K˜—™šΟnœžœ9žœžœ˜]K™8—Kš œžœ9žœžœ˜`šœ žœ˜™Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜K˜—™ Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ ˜ Kšœ˜Kšœ ˜ Kšœ˜—Kšœ˜—K˜—™ š œžœ žœžœ ˜-KšœH™H—š   œžœ žœžœžœ ˜6Kšœ4™4—Kš œžœ˜K˜—™š  œžœžœžœžœ˜DK™#Kšœ4™4K™G—š  œžœžœžœžœ˜4Kšœˆ™ˆ—Kš  œžœ(žœ žœžœžœ"˜œK˜—™šœžœžœ˜+šœžœžœ˜!Kšœž˜"Kšœ˜——šœžœžœ˜+šœžœžœ˜!Kšœ/ž˜7Kšœ˜——šœžœžœ˜)šœžœžœ˜ Kšœžœ˜#Kšœ žœΟc˜2Kšœ žœ‘˜ Kšœ žœžœžœ˜*Kšœ žœ‘˜*Kšœžœ‘˜(Kšœ˜——šœ žœžœ˜'šœžœžœ˜Kšœ žœ‘˜*Kšœ ˜ Kšœ˜——šœžœžœ˜)šœžœžœ˜ Kšœ ˜ Kšœ˜——šœžœžœ˜+šœžœžœ˜!Kšžœ žœžœž˜#Kšœ˜——šœ žœžœ˜'šœžœžœ˜Kšœ˜Kšœ#ž˜&Kšœ˜šœ žœ˜KšœV˜VKšœ˜———K˜—Kšžœ˜—…— ./