<> <> <> <> <> <<[0..1] bits in contiguous memory, padded with 0's to the next doubleword >> <> <> <> DIRECTORY Environment USING [Block]; XeroxDecompress: CEDAR DEFINITIONS = BEGIN DecompressFlavor: TYPE = {-- the first 3 direct from the RES standard adaptive, ccitt, compressed, -- formerly IMG <> huffman, read}; DecompressInfo: TYPE = RECORD [ scanLength: NATURAL, -- number of pixels (in this case, bits) in scanline flavor: DecompressFlavor, private: REF]; -- to impl's private data DecompressHandle: TYPE = REF DecompressInfo; Error: ERROR [line: CARDINAL]; <> <> InitProc: TYPE = PROCEDURE [v: Environment.Block] RETURNS [h: DecompressHandle]; <> <> DoneProc: TYPE = PROCEDURE [h: DecompressHandle]; NextLineProc: TYPE = PROCEDURE [h: DecompressHandle, out: LONG POINTER] RETURNS [valid: BOOLEAN]; <> <> AdaptiveInit: InitProc; AdaptiveNextLine: NextLineProc; AdaptiveDone: DoneProc; CcittInit: InitProc; CcittNextLine: NextLineProc; CcittDone: DoneProc; CompressedInit: InitProc; CompressedNextLine: NextLineProc; CompressedDone: DoneProc; HuffmanInit: InitProc; HuffmanNextLine: NextLineProc; HuffmanDone: DoneProc; ReadInit: InitProc; ReadNextLine: NextLineProc; ReadDone: DoneProc; END. <<>> <> <<5Nov84 - castillo.>> <> <<16Nov84 - castillo - changed Init parms, added Error.>> <<20Dec84 - castillo - changed the LONG POINTER in Init for a Env.BLock.>> <> <> <<>>