DIRECTORY Imager USING [Color, Context, FONT, Pair, PathProc, PixelArray, ROPE, StrokeEnd, Transformation]; ImagerDefault: CEDAR DEFINITIONS ~ BEGIN OPEN Imager; DoSave: PROC[context: Context, body: PROC]; DoSaveAll: PROC[context: Context, body: PROC]; SetPriorityImportant: PROC[context: Context, priorityImportant: BOOL]; SetFont: PROC[context: Context, font: FONT]; SetColor: PROC[context: Context, color: Color]; SetNoImage: PROC[context: Context, noImage: BOOL]; SetStrokeWidth: PROC[context: Context, strokeWidth: REAL]; SetStrokeEnd: PROC[context: Context, strokeEnd: StrokeEnd]; SetAmplifySpace: PROC[context: Context, amplifySpace: REAL]; SetCorrectShrink: PROC[context: Context, correctShrink: REAL]; ConcatT: PROC[context: Context, m: Transformation]; ScaleT: PROC[context: Context, s: REAL]; Scale2T: PROC[context: Context, sx, sy: REAL]; RotateT: PROC[context: Context, a: REAL]; TranslateT: PROC[context: Context, x, y: REAL]; Move: PROC[context: Context]; Trans: PROC[context: Context]; ShowRope: PROC[context: Context, rope: ROPE, start, len: INT]; ShowText: PROC[context: Context, text: REF READONLY TEXT, start, len: NAT]; ShowChar: PROC[context: Context, char: CHAR]; SetXY: PROC[context: Context, x, y: REAL]; SetXYI: PROC[context: Context, x, y: INTEGER]; SetXYRel: PROC[context: Context, x, y: REAL]; SetXYRelI: PROC[context: Context, x, y: INTEGER]; SetSampledColor: PROC[context: Context, pa: PixelArray, pixelT: Transformation, colorOperator: ATOM]; SetSampledBlack: PROC[context: Context, pa: PixelArray, pixelT: Transformation, transparent: BOOL]; SetGray: PROC[context: Context, f: REAL]; MaskVector: PROC[context: Context, x1, y1, x2, y2: REAL]; MaskVectorI: PROC[context: Context, x1, y1, x2, y2: INTEGER]; MaskRectangle: PROC[context: Context, x, y, w, h: REAL]; MaskRectangleI: PROC[context: Context, x, y, w, h: INTEGER]; StartUnderline: PROC[context: Context]; MaskUnderline: PROC[context: Context, dy, h: REAL]; MaskUnderlineI: PROC[context: Context, dy, h: INTEGER]; ClipOutline: PROC[context: Context, pathProc: PathProc, pathData: REF]; ExcludeOutline: PROC[context: Context, pathProc: PathProc, pathData: REF]; ClipRectangle: PROC[context: Context, x, y, w, h: REAL]; ClipRectangleI: PROC[context: Context, x, y, w, h: INTEGER]; ExcludeRectangle: PROC[context: Context, x, y, w, h: REAL]; ExcludeRectangleI: PROC[context: Context, x, y, w, h: INTEGER]; CorrectMask: PROC[context: Context]; CorrectSpace: PROC[context: Context, x, y: REAL]; Correct: PROC[context: Context, body: PROC]; SetCorrectMeasure: PROC[context: Context, x, y: REAL]; SetCorrectTolerance: PROC[context: Context, x, y: REAL]; Space: PROC[context: Context, x: REAL]; SpaceI: PROC[context: Context, x: INTEGER]; CorrectSpaceView: PROC[context: Context, v: Pair]; END. ImagerDefault.mesa Copyright c 1984 Xerox Corporation. All rights reserved. Michael Plass, February 6, 1984 4:59:12 pm PST Doug Wyatt, July 20, 1984 2:56:03 pm PDT Some device implementations may use these procedures in their class record, or call them in addition to some device-specific actions. Some of these procedures assume that context.state narrows to ImagerState.State and some depend on other procedures in the class record. Note that device implementations are under no obligation to use any of these procedures; they may choose to use context.state for some other purpose, or leave it unused. Examples of devices that would take this latter approach are the Interpress-master creator and a lightweight-context display implementation. v is in view coordinates for this one. Ê°˜šœ™Jšœ Ïmœ.™9J™.J™(J™—šÏk ˜ Jšœžœžœžœ˜aJ˜—Jšœžœž ˜ Jšœžœžœ˜J˜™ÈJ™—JšÏnœžœžœ˜+JšŸ œžœžœ˜.JšŸœžœ&žœ˜FJšŸœžœžœ˜,JšŸœžœ!˜/JšŸ œžœžœ˜2JšŸœžœ žœ˜:JšŸ œžœ)˜;JšŸœžœ!žœ˜JšŸœžœ&˜3JšŸœžœžœ˜(JšŸœžœžœ˜.JšŸœžœžœ˜)JšŸ œžœžœ˜/JšŸœžœ˜JšŸœžœ˜JšŸœžœžœžœ˜>Jš Ÿœžœžœžœžœžœ˜KJšŸœžœžœ˜-JšŸœžœžœ˜*JšŸœžœžœ˜.JšŸœžœžœ˜-JšŸ œžœžœ˜1JšŸœžœJžœ˜eJšŸœžœHžœ˜cJšŸœžœžœ˜)JšŸ œžœ#žœ˜9JšŸ œžœ#žœ˜=JšŸ œžœžœ˜8JšŸœžœžœ˜