DIRECTORY ImagerMasks; ImagerMasksPrivate: CEDAR DEFINITIONS ~ BEGIN Mask: TYPE ~ ImagerMasks.Mask; Representation: TYPE ~ {bitmap, runs, box}; Reader: TYPE ~ RECORD [ s, fMin, fMax: INTEGER, firstRunOnLine: BOOLEAN, repeatCount: CARDINAL, done: BOOLEAN, fTranslate: INTEGER, index: CARDINAL, refRep: REF, representation: Representation, currentWord: INTEGER, -- the valid bits are high-order; non-valid bits are zero. validBitCount: CARDINAL, currentLinePtr: LONG POINTER, nextWordPtr: LONG POINTER TO INTEGER, fCurrent: CARDINAL, fSize: CARDINAL, sMax: INTEGER, wordsPerLine: CARDINAL, blockDirectory: REF ImagerMasks.RunsRep, blockDirectoryIndex: CARDINAL, runBlock: ImagerMasks.RunBlock, lineStartBlockDirectoryIndex: CARDINAL, lineStartIndex: CARDINAL ]; SetReader: UNSAFE PROC [reader: POINTER TO Reader, mask: Mask]; Advance: UNSAFE PROC [r: POINTER TO Reader]; SkipTo: UNSAFE PROC [r: POINTER TO Reader, s: INTEGER]; END. ŠImagerMasksPrivate.mesa Michael Plass, September 29, 1983 1:31 pm Provides reader-style access to masks as runs. bitmap => runs => ĘĆ˜J™J™)J™.J˜JšĎk œ ˜J˜Jšœœ œ˜-Jšœœ˜Jšœœ˜+šœœœ˜Jšœœ˜Jšœœ˜Jšœ œ˜Jšœœ˜Jšœ œ˜Jšœœ˜Jšœœ˜ šœ˜šœ ™ Jšœ œĎc:˜PJšœœ˜Jšœœœ˜Jš œ œœœœ˜%Jšœ œ˜Jšœœ˜Jšœœ˜Jšœœ˜—™Jšœœ˜(Jšœœ˜Jšœ˜Jšœœ˜'Jšœ˜——Jšœ˜—Jš Ďn œœœ œœ˜?Jš Ÿœœœœœ ˜,Jš Ÿœœœœœ œ˜7Jšœ˜—…—Śö