DIRECTORY Font USING [FONT], ImagerColor USING [Color], ImagerPath USING [PathProc], ImagerTransformation USING [Transformation], Vector2 USING [VEC]; ImagerState: CEDAR DEFINITIONS ~ BEGIN VEC: TYPE ~ Vector2.VEC; Transformation: TYPE ~ ImagerTransformation.Transformation; FONT: TYPE ~ Font.FONT; Color: TYPE ~ ImagerColor.Color; CARD: TYPE ~ LONG CARDINAL; State: TYPE ~ REF StateRep; StateRep: TYPE ~ RECORD[ p: PersistentVariables, -- persistent variables transformation: Transformation, -- current client-to-view transformation lastTid: CARD, -- last tid used font: FONT, -- current font ("showVec") color: Color, -- current color clipper: Clipper, -- current clipping outline np: NonPersistentVariables -- other non-persistent variables ]; PersistentVariables: TYPE ~ RECORD[ cp: VEC _ [0, 0], -- current position correctMeasure: VEC _ [0, 0], -- target line measure for Correct correctMaskCount: INT _ 0, -- tally number of CorrectMask calls in pass 1 correctSum: VEC _ [0, 0], -- tally adjustable space from CorrectSpace calls in pass 1 correctMask: VEC _ [0, 0], -- amount of space added by each CorrectMask call in pass 2 correctSpace: VEC _ [0, 0] -- fraction of space added by each CorrectSpace call in pass 2 ]; NonPersistentVariables: TYPE ~ RECORD[ tid: CARD _ 0, -- unique id for transformation priorityImportant: INT _ 0, -- if nonzero, priority of masks is important mediumSize: VEC _ [0, 0], -- size of medium, in meters fieldMin: VEC _ [0, 0], -- minimum x and y of field, in meters fieldMax: VEC _ [0, 0], -- maximum x and y of field, in meters noImage: INT _ 0, -- if nonzero, don't image masks strokeWidth: REAL _ 0, -- stroke width strokeEnd: INT _ 0, -- stroke end treatment underlineStart: REAL _ 0, -- starting x position for underline amplifySpace: REAL _ 1.0, -- multiplies width of amplified characters correctPass: INT _ 0, -- which pass, during Correct correctShrink: REAL _ 0.5, -- allowable space shrink correctTolerance: VEC _ [0, 0] -- tolerable deviation from correctMeasure ]; Clipper: TYPE ~ LIST OF ClipperItem; -- the Clipper is the intersection of the ClipperItems. ClipperItem: TYPE ~ RECORD [ exclude: BOOL, -- True if it is an excluding clipper easyRectangle: BOOL, -- True if path is known to be a rectangle with sides parallel to the axes pathProc: ImagerPath.PathProc, pathData: REF -- must be immutable for the life of the clipper ]; END. ‚ImagerState.mesa Copyright c 1984 Xerox Corporation. All rights reserved. Doug Wyatt, September 17, 1984 2:58:37 pm PDT Êݘšœ™Jšœ Ïmœ.™9J™-J™—šÏk ˜ Jšœžœžœ˜Jšœ žœ ˜Jšœ žœ ˜Jšœžœ˜,Jšœžœžœ˜—J˜Jšœ žœž ˜Jšœž˜J™Jšžœžœ žœ˜Jšœžœ'˜;Jšžœžœžœ˜Jšœžœ˜ Jšžœžœžœžœ˜J˜Jšœžœžœ ˜šœ žœžœ˜JšœÏc˜/Jšœ Ÿ(˜HJšœ žœŸ˜ JšœžœŸ˜'JšœŸ˜JšœŸ˜-JšœŸ!˜˜YJ˜—J˜šœžœžœ˜&JšœžœŸ˜.JšœžœŸ-˜IJšœ žœ Ÿ˜6Jšœ žœ Ÿ&˜>Jšœ žœ Ÿ&˜>Jšœ žœŸ ˜2Jšœ žœŸ˜&Jšœ žœŸ˜+JšœžœŸ$˜>JšœžœŸ+˜EJšœ žœŸ˜3JšœžœŸ˜4Jšœžœ Ÿ*˜IJ˜—J˜Jšœ žœžœžœŸ7˜\šœ žœžœ˜Jšœ žœŸ%˜4JšœžœŸJ˜_Jšœ˜Jšœ žœŸ0˜>Jšœ˜—J˜Jšžœ˜—…— ^ ½