DIRECTORY ImagerMasks; ImagerMasksPrivate: CEDAR DEFINITIONS ~ BEGIN Mask: TYPE ~ ImagerMasks.Mask; Representation: TYPE ~ {bitmap, pdruns, runs, box}; Reader: TYPE ~ RECORD [ s, fMin, fMax: INTEGER, firstRunOnLine: BOOLEAN, repeatCount: CARDINAL, done: BOOLEAN, fTranslate: INTEGER, index: CARDINAL, 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, pdRunGroup: ImagerMasks.PDRunGroup, blockDirectory: REF ImagerMasks.MaskRep.runs, 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, July 6, 1983 9:05 am Provides reader-style access to masks as runs. bitmap => pdruns => runs => ĘĘ˜J™J™#J™.J˜JšĎk œ ˜J˜Jšœœ œ˜-Jšœœ˜Jšœœ˜3šœœœ˜Jšœœ˜Jšœœ˜Jšœ œ˜Jšœœ˜Jšœ œ˜Jšœœ˜šœ˜šœ ™ Jšœ œĎc:˜PJšœœ˜Jšœœœ˜Jš œ œœœœ˜%Jšœ œ˜Jšœœ˜Jšœœ˜Jšœœ˜—šœ ™ Jšœ#˜#—™Jšœœ˜-Jšœœ˜Jšœ˜Jšœœ˜'Jšœ˜——Jšœ˜—Jš Ďn œœœ œœ˜?Jš Ÿœœœœœ ˜,Jš Ÿœœœœœ œ˜7Jšœ˜—…—Ę"