DIRECTORY ImagerDevice USING [CharMask], ImagerSample USING [SampleMap], SF USING [Box, BoxAction, BoxGenerator, Vec]; ImagerMask: CEDAR DEFINITIONS ~ BEGIN Box: TYPE ~ SF.Box; BoxAction: TYPE ~ SF.BoxAction; BoxGenerator: TYPE ~ SF.BoxGenerator; CharMask: TYPE ~ ImagerDevice.CharMask; SampleMap: TYPE ~ ImagerSample.SampleMap; RunProc: TYPE ~ PROC [min: SF.Vec, count: NAT]; BoxesFromBitmap: PROC [bitmap: SampleMap, boxAction: BoxAction]; BoxesFromBits: PROC [base: LONG POINTER, wordsPerLine: NAT, sBits, fBits, sSize, fSize: NAT, sRuns, fRuns: INTEGER, boxAction: BoxAction]; RunsFromBoxes: PROC [boxes: BoxGenerator, run: RunProc]; RunsFromCharMask: PROC [charMask: CharMask, run: RunProc, s, f: INTEGER, clip: Box]; BitmapFromCharMask: PROC [charMask: CharMask] RETURNS [bitmap: SampleMap]; END. ΰImagerMask.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reserved. Michael Plass, May 16, 1985 12:15:42 pm PDT Doug Wyatt, March 7, 1986 2:57:21 pm PST (sBits, fBits) is the min corner of the rectangle in the bitmap. (sRuns, fRuns) is the min corner of the rectangle in the output coordinate system. For each run, sMin IN [sRuns..sRuns+sSize) AND fMin IN [fRuns..fRuns+fSize) The origin of the character mask is at (s, f); all runs will lie within clip. Κ˜codešœ™Kšœ Οmœ7™BK™+K™(—K˜šΟk ˜ Kšœ žœ ˜Kšœ žœ ˜Kšžœžœ%˜-—K˜KšΠbl œžœž ˜šœž˜K˜Kšœžœžœ˜Kšœ žœžœ ˜Kšœžœžœ˜%Kšœ žœ˜'Kšœ žœ˜)—K˜š œ žœžœžœ žœ˜/K˜—šΟnœžœ+˜@K™—š  œžœžœžœžœžœžœ˜ŠKšœ@™@KšœR™RKšœžœžœžœ™KK˜—š  œžœ%˜8K˜—š œžœ*žœ ˜TKšœM™MK™—š œžœžœ˜JK™—K™Kšžœ˜—…—,œ