XeroxCompress: CEDAR DEFINITIONS = BEGIN wrdsInScanLine: CARDINAL = 256; dWrdsInScanLine: CARDINAL = wrdsInScanLine / 2; BitWrdIndex: TYPE = [0..wrdsInScanLine); ScanLine: TYPE = ARRAY [0..wrdsInScanLine) OF CARDINAL; ScanLinePtr: TYPE = REF ScanLine; DWScanLine: TYPE = ARRAY [0..dWrdsInScanLine) OF LONG CARDINAL; DWScanLinePtr: TYPE = REF DWScanLine; PutBitsProc: TYPE = PROCEDURE [val: CARDINAL, bits: INTEGER]; ScanLineProc: TYPE = PROCEDURE RETURNS [ current: ScanLinePtr _ NIL, previous: ScanLinePtr _ NIL]; CompressPlate: PROCEDURE [ scanLen: CARDINAL, scanLineProc: ScanLineProc, putBitsProc: PutBitsProc] RETURNS [xPixels: CARDINAL, byteSize: LONG CARDINAL]; Initialize: PROCEDURE []; END... LOG 13Sep84 - Okamoto - Created. 18Jun85 - castillo - copyright notice. dXeroxCompress.mesa Copyright (C) Xerox Corporation 1985, 1986. All rights reserved. last edited by castillo 18-Jun-85 17:59:47 Tim Diebert: December 1, 1986 9:47:16 am PST This module defines the interface to the Xerox compression routines. Intialize must be called first with the heap to be used to store internal data. CompressPlate is called to perform the compression. The parameter, "scanLineProc" is used by the compressor to get the scan lines. "putBitsProc" is used to output the compressed pixels to the output. ========= CONSTANTS ========= ===== TYPES ===== ========= PROCEDURE ========= ΚΝ˜šœ™Jšœ@™@Jšœ+™+Icode™,—J˜šΟn œΟkœž œž˜(J˜—J˜J™šœD™DJ™JšœO™OJ™JšœΚ™ΚJ˜Kšœ ™ Kšœ ™ Kšœ ™ Kšœžœ˜Kšœžœ˜/K˜Kšœ™Kšœ™Kšœ™Kšœ žœ˜(Kš œ žœžœžœžœ˜7Kšœ žœžœ ˜!Kš œ žœžœžœžœžœ˜?Kšœžœžœ ˜%š œ žœž œžœžœ˜=J˜—šœžœž œžœ˜(Jšœžœžœ˜9—J˜—Jšœ ™ Jšœ ™ šœ ™ J˜š œž œ˜Jšœ žœ7˜HJšžœ žœ žœžœ˜5—J˜Jš œž œ˜—˜Jšžœ˜J˜—Jšž˜J˜J˜&—…—C