DIRECTORY Imager USING [Color, ColorOperator, Context, Font, Object, PathProc, PixelArray, PixelMap, Rectangle, SampleMap, ScanMode, Transformation, VEC, XStringProc], ImagerBackdoor USING [Clipper, CoordSys, IntKey, RealKey, Visibility], Prop USING [PropList], SF USING [Vec]; ImagerPrivate: CEDAR DEFINITIONS ~ BEGIN OPEN ImagerBackdoor, Imager; Class: TYPE ~ REF ClassRep; ClassRep: TYPE ~ RECORD [ type: ATOM ¬, Save: PROC [context: Context, all: BOOL] RETURNS [REF] ¬, Restore: PROC [context: Context, ref: REF] ¬, SetInt: PROC [context: Context, key: IntKey, val: INT] ¬, SetReal: PROC [context: Context, key: RealKey, val: REAL] ¬, SetT: PROC [context: Context, m: Transformation] ¬, SetFont: PROC [context: Context, font: Font] ¬, SetColor: PROC [context: Context, color: Color] ¬, SetClipper: PROC [context: Context, clipper: Clipper] ¬, GetInt: PROC [context: Context, key: IntKey] RETURNS [INT] ¬, GetReal: PROC [context: Context, key: RealKey] RETURNS [REAL] ¬, GetT: PROC [context: Context] RETURNS [Transformation] ¬, GetFont: PROC [context: Context] RETURNS [Font] ¬, GetColor: PROC [context: Context] RETURNS [Color] ¬, GetClipper: PROC [context: Context] RETURNS [Clipper] ¬, ConcatT: PROC [context: Context, m: Transformation] ¬, Scale2T: PROC [context: Context, s: VEC] ¬, RotateT: PROC [context: Context, a: REAL] ¬, TranslateT: PROC [context: Context, t: VEC] ¬, Move: PROC [context: Context, rounded: BOOL] ¬, SetXY: PROC [context: Context, p: VEC] ¬, SetXYRel: PROC [context: Context, v: VEC] ¬, GetCP: PROC [context: Context, rounded: BOOL] RETURNS [VEC] ¬, StartUnderline: PROC [context: Context] ¬, MaskUnderline: PROC [context: Context, dy, h: REAL] ¬, CorrectMask: PROC [context: Context] ¬, CorrectSpace: PROC [context: Context, v: VEC] ¬, Space: PROC [context: Context, x: REAL] ¬, SetCorrectMeasure: PROC [context: Context, v: VEC] ¬, SetCorrectTolerance: PROC [context: Context, v: VEC] ¬, Correct: PROC [context: Context, action: PROC] ¬, DontCorrect: PROC [context: Context, action: PROC, saveCP: BOOL] ¬, SetGray: PROC [context: Context, f: REAL] ¬, SetSampledColor: PROC [context: Context, pa: PixelArray, m: Transformation, colorOperator: ColorOperator] ¬, SetSampledBlack: PROC [context: Context, pa: PixelArray, m: Transformation, clear: BOOL] ¬, Clip: PROC [context: Context, path: PathProc, oddWrap: BOOL, exclude: BOOL] ¬, ClipRectangle: PROC [context: Context, r: Rectangle, exclude: BOOL] ¬, ClipRectangleI: PROC [context: Context, x, y, w, h: INTEGER, exclude: BOOL] ¬, Show: PROC [context: Context, string: XStringProc, xrel: BOOL] ¬, ShowBackward: PROC [context: Context, string: XStringProc] ¬, MaskFill: PROC [context: Context, path: PathProc, oddWrap: BOOL] ¬, MaskRectangle: PROC [context: Context, r: Rectangle] ¬, MaskStroke: PROC [context: Context, path: PathProc, closed: BOOL] ¬, MaskPixel: PROC [context: Context, pa: PixelArray] ¬, ShowAndFixedXRel: PROC [context: Context, string: XStringProc, x: REAL] ¬, ShowText: PROC [context: Context, text: REF READONLY TEXT, start, len: NAT, xrel: BOOL] ¬, MaskRectangleI: PROC [context: Context, x, y, w, h: INTEGER] ¬, MaskVector: PROC [context: Context, p1, p2: VEC] ¬, MaskDashedStroke: PROC [context: Context, path: PathProc, patternLen: NAT, pattern: PROC [NAT] RETURNS [REAL], offset, length: REAL] ¬, MaskBitmap: PROC [context: Context, bitmap: SampleMap, referencePoint: SF.Vec, scanMode: ScanMode, position: VEC] ¬, DrawBitmap: PROC [context: Context, bitmap: SampleMap, referencePoint: SF.Vec, scanMode: ScanMode, position: VEC] ¬, DrawPixels: PROC [context: Context, pixelMap: PixelMap, colorOperator: ColorOperator, referencePoint: SF.Vec, scanMode: ScanMode, position: VEC] ¬, DoIfVisible: PROC [context: Context, r: Rectangle, action: PROC] ¬, DoWithBuffer: PROC [context: Context, action: PROC, x, y, w, h: INTEGER, backgroundColor: Color] ¬, DrawObject: PROC [context: Context, object: Object, position: VEC, interactive: BOOL] ¬, GetBounds: PROC [context: Context] RETURNS [Rectangle] ¬, ViewReset: PROC [context: Context] ¬, ViewTranslateI: PROC [context: Context, x, y: INTEGER] ¬, ViewClip: PROC [context: Context, path: PathProc, oddWrap: BOOL, exclude: BOOL] ¬, ViewClipRectangleI: PROC [context: Context, x, y, w, h: INTEGER, exclude: BOOL] ¬, GetTransformation: PROC [context: Context, from, to: CoordSys] RETURNS [Transformation] ¬, Transform: PROC [context: Context, v: VEC, from, to: CoordSys, vec: BOOL] RETURNS [VEC] ¬, MoveViewRectangle: PROC [context: Context, width, height, fromX, fromY, toX, toY: INTEGER] ¬, TestViewRectangle: PROC [context: Context, x, y, w, h: INTEGER] RETURNS [Visibility] ¬, GetBufferColorOperator: PROC [context: Context] RETURNS [ColorOperator], AccessBuffer: PROC [context: Context, action: PROC [pixelMap: PixelMap], path: PathProc, oddWrap: BOOL], SaveBuffer: PROC [context: Context, id: ATOM, path: PathProc, oddWrap: BOOL], RestoreBuffer: PROC [context: Context, id: ATOM], DiscardBuffer: PROC [context: Context, id: ATOM], propList: Prop.PropList ¬ NIL ]; DefaultShowAndFixedXRel: PROC [context: Context, string: XStringProc, x: REAL]; DefaultShowText: PROC [context: Context, text: REF READONLY TEXT, start, len: NAT, xrel: BOOL]; DefaultMaskRectangleI: PROC [context: Context, x, y, w, h: INTEGER]; DefaultMaskVector: PROC [context: Context, p1, p2: VEC]; DefaultMaskDashedStroke: PROC [context: Context, path: PathProc, patternLen: NAT, pattern: PROC [NAT] RETURNS [REAL], offset, length: REAL]; DefaultMaskBitmap: PROC [context: Context, bitmap: SampleMap, referencePoint: SF.Vec, scanMode: ScanMode, position: VEC]; DefaultDrawBitmap: PROC [context: Context, bitmap: SampleMap, referencePoint: SF.Vec, scanMode: ScanMode, position: VEC]; DefaultDrawPixels: PROC [context: Context, pixelMap: PixelMap, colorOperator: ColorOperator, referencePoint: SF.Vec, scanMode: ScanMode, position: VEC]; DefaultDoWithBuffer: PROC [context: Context, action: PROC, x, y, w, h: INTEGER, backgroundColor: Color]; DefaultDrawObject: PROC [context: Context, object: Object, position: VEC, interactive: BOOL]; DefaultDoIfVisible: PROC [context: Context, r: Rectangle, action: PROC]; DefaultGetBounds: PROC [context: Context] RETURNS [Rectangle]; DefaultViewReset: PROC [context: Context]; DefaultViewTranslateI: PROC [context: Context, x, y: INTEGER]; DefaultViewClip: PROC [context: Context, path: PathProc, oddWrap: BOOL, exclude: BOOL]; DefaultViewClipRectangleI: PROC [context: Context, x, y, w, h: INTEGER, exclude: BOOL]; DefaultTransform: PROC [context: Context, v: VEC, from, to: CoordSys, vec: BOOL] RETURNS [VEC]; DefaultGetTransformation: PROC [context: Context, from, to: CoordSys] RETURNS [Transformation]; DefaultMoveViewRectangle: PROC [context: Context, width, height, fromX, fromY, toX, toY: INTEGER]; DefaultTestViewRectangle: PROC [context: Context, x, y, w, h: INTEGER] RETURNS [Visibility]; DefaultGetBufferColorOperator: PROC [context: Context] RETURNS [ColorOperator]; DefaultAccessBuffer: PROC [context: Context, action: PROC [pixelMap: PixelMap], path: PathProc, oddWrap: BOOL]; DefaultSaveBuffer: PROC [context: Context, id: ATOM, path: PathProc, oddWrap: BOOL]; DefaultRestoreBuffer: PROC [context: Context, id: ATOM]; DefaultDiscardBuffer: PROC [context: Context, id: ATOM]; END. Ξ ImagerPrivate.mesa Copyright Σ 1985, 1986, 1987, 1989, 1991 by Xerox Corporation. All rights reserved. Michael Plass, September 7, 1989 2:56:21 pm PDT Doug Wyatt, January 19, 1987 6:01:20 pm PST The Imager Class Class operations for maintaining the imager state; see ImagerState for default implementations. Essential class operations; must be supplied by the particular implementation. Convenience operations; default implementations express these in terms of the essential ones. View and raster operations; default implementations default benignly or raise an appropriate error. Default implementations for the convenience operators. Default implementations for the view operations. Michael Plass, October 4, 1988 9:33:40 am PDT Removed DoSave class proc, added Save & Restore (ala MasterBlaster): DoSave: PROC [context: Context, action: PROC, all: BOOL] _, -- subsumed by Save & Restore Michael Plass, August 3, 1989 1:38:22 pm PDT Added NewPropList class proc ΚZ•NewlineDelimiter –(cedarcode) style™codešœ™Kšœ ΟeœI™TK™/Kšœ+™+K™—šΟk ˜ Kšœžœžœ˜Kšœžœ2˜FKšœžœ ˜Kšžœžœ˜—K˜KšΠbl œžœž ˜ Kšœžœžœ˜$head™Kšœžœžœ ˜šœ žœžœ˜Kšœžœ˜ —™_Kš Οnœžœžœžœžœ˜9Kš œžœžœ˜-Kš œžœ&žœ˜9Kš œžœ'žœ˜Kš œžœ˜*Kš  œžœžœ˜6Kš  œžœ˜'Kš  œžœžœ˜0Kš œžœžœ˜*Kš œžœžœ˜5Kš œžœžœ˜7Kš œžœžœ˜1Kš  œžœžœ žœ˜CKš œžœžœ˜,Kš œžœW˜lKš œžœ>žœ˜[Kš œžœ-žœ žœ˜NKš  œžœ+žœ˜FKš œžœ žœ žœ˜N—™NKš œžœ/žœ˜AKš  œžœ+˜=Kš œžœ-žœ˜CKš  œžœ$˜7Kš  œžœ,žœ˜DKš  œžœ&˜5—™]Kš œžœ,žœ˜JKš œžœžœžœžœžœžœ˜ZKš œžœ žœ˜?Kš  œžœžœ˜3Kš œžœ0žœ žœžœžœžœžœ˜‡Kš  œžœ7žœ$žœ˜tKš  œžœ7žœ$žœ˜tKš  œžœVžœ$žœ˜“Kš  œžœ*žœ˜CKš  œžœžœžœ˜cKš  œžœ.žœžœ˜X—šœc™cKš  œžœžœ˜9Kš  œžœ˜%Kš œžœžœ˜9Kš œžœ-žœ žœ˜RKš œžœ žœ žœ˜RKš œžœ(žœ˜ZKš   œžœžœžœžœžœ˜ZKš œžœžœ'žœ˜]Kš œžœ žœžœ˜WKš œžœžœ˜HKš  œžœžœ0žœ˜hKš  œžœžœžœ˜MKš  œžœžœ˜1Kš  œžœžœ˜1Kšœž˜K˜——™6Kš œžœ,žœ˜OKš œžœžœžœžœžœžœ˜_Kš œžœ žœ˜DKš œžœžœ˜8Kš œžœ0žœ žœžœžœžœžœ˜ŒKš œžœ7žœ$žœ˜yKš œžœ7žœ$žœ˜yKš œžœVžœ$žœ˜˜Kš œžœžœžœ˜hKš œžœ.žœžœ˜]—™0Kš œžœ*žœ˜HKš œžœžœ ˜>Kš œžœ˜*Kš œžœžœ˜>Kš œžœ-žœ žœ˜WKš œžœ žœ žœ˜WKš  œžœžœžœžœžœ˜_Kš œžœ(žœ˜_Kš œžœžœ'žœ˜bš œžœ žœžœ˜\K˜—Kš œžœžœ˜OKš œžœžœ0žœ˜oKš œžœžœžœ˜TKš œžœžœ˜8š œžœžœ˜8K˜——Kšžœ˜šΟz-™-Kš‘Πnz‘’‘’‘™DKš ’‘Πkz‘£‘£‘’‘’™Y—š‘,™,Kš‘  ‘ ™——…—\(„