DIRECTORY Imager USING [Color, ConstantColor, Context, Font, Outline, PathProc, Rectangle, Transformation, VEC]; ImagerBackdoor: CEDAR DEFINITIONS ~ BEGIN OPEN Imager; IntKey: TYPE ~ { -- for SetInt, GetInt priorityImportant, noImage, strokeEnd, strokeJoint, correctPass, int1, int2, int3 -- spares }; RealKey: TYPE ~ { -- for SetReal, GetReal DCScpx, DCScpy, mediumXSize, mediumYSize, fieldXMin, fieldYMin, fieldXMax, fieldYMax, strokeWidth, underlineStart, amplifySpace, correctShrink, correctMX, correctMY, correctTX, correctTY, real1, real2, real3 -- spares }; Clipper: TYPE ~ LIST OF ClipperItem; -- for SetClipper, GetClipper ClipperItem: TYPE ~ RECORD [outline: Outline, parity, exclude: BOOL _ FALSE]; SetInt: PROC [context: Context, key: IntKey, val: INT]; SetReal: PROC [context: Context, key: RealKey, val: REAL]; SetT: PROC [context: Context, m: Transformation]; 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]; GetCP: PROC [context: Context, rounded: BOOL _ FALSE] RETURNS [VEC]; GetBounds: PROC [context: Context] RETURNS [Rectangle]; Bitmap: TYPE ~ REF BitmapRep; BitmapRep: TYPE ~ RECORD [ ref: REF, base: LONG POINTER, wordsPerLine: NAT, width, height: NAT ]; NewBitmap: PROC [width, height: NAT] RETURNS [Bitmap]; BitmapContext: PROC [bitmap: Bitmap] RETURNS [Context]; ViewReset: PROC [context: Context]; ViewClip: PROC [context: Context, path: PathProc, parity, exclude: BOOL _ FALSE]; ViewClipRectangleI: PROC [context: Context, x, y, w, h: INTEGER, exclude: BOOL _ FALSE]; ViewTranslateI: PROC [context: Context, x, y: INTEGER]; ClientFromView: PROC [context: Context, p: VEC] RETURNS [VEC]; ViewFromClient: PROC [context: Context, p: VEC] RETURNS [VEC]; ViewFromDevice: PROC [context: Context, p: VEC] RETURNS [VEC]; DeviceFromView: PROC [context: Context, p: VEC] RETURNS [VEC]; MoveViewRectangle: PROC [context: Context, width, height, fromX, fromY, toX, toY: INTEGER]; Visibility: TYPE ~ {none, part, all}; TestViewRectangle: PROC [context: Context, x, y, w, h: INTEGER] RETURNS [Visibility]; invert: READONLY ConstantColor; MakeStipple: PROC [stipple: WORD, xor: BOOL _ FALSE] RETURNS [Color]; DrawBits: PROC [context: Context, base: LONG POINTER, wordsPerLine: NAT, sMin, fMin, sSize, fSize: NAT, tx, ty: INTEGER _ 0]; DoIfVisible: PROC [context: Context, r: Rectangle, action: PROC]; ClientFromDevice: PROC [context: Context, p: VEC] RETURNS [VEC]; DeviceFromClient: PROC [context: Context, p: VEC] RETURNS [VEC]; END. nImagerBackdoor.mesa Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. Doug Wyatt, April 21, 1985 3:45:00 pm PST Access to imager variables Not all Contexts implement these. To be device-independent, clients should avoid them. Returns, in client coordinates, the current position. If rounded~TRUE, first rounds the position to the nearest device grid point. Returns, in client coordinates, a bounding rectangle for the composite clipping outline. Bitmaps View Operations coordinates relative to current view origin Other Utilities Calls action iff the rectangle specified by r might be visible. Κ§˜codešœ™Kšœ Οmœ7™BKšœ)™)—K˜šΟk ˜ KšœžœUžœ˜fK˜—KšΠblœžœž ˜!Kšœžœžœ˜head™K™WK™šœžœΟc˜&Kšœ˜Kšœ˜Kšœ ˜ Kšœ ˜ Kšœ ˜ Kšœ  ˜Kšœ˜K˜—šœ žœ ˜)Kšœ˜Kšœ˜Kšœ+˜+Kšœ ˜ Kšœ˜Kšœ ˜ Kšœ˜Kšœ˜Kšœ˜Kšœ  ˜Kšœ˜K˜—Kšœ žœžœžœ ˜Bš œ žœžœ%žœžœ˜MK˜—K˜KšΟnœžœ&žœ˜7Kš‘œžœ'žœ˜:Kš‘œžœ'˜1Kš‘ œžœ&˜6K˜Kš‘œžœ!žœžœ˜;Kš‘œžœ"žœžœ˜>Kš‘œžœžœ˜7Kš‘œžœžœ˜0Kš‘œžœžœ ˜2Kš‘ œžœžœ ˜6K˜š ‘œžœžœžœžœžœ˜DK™5Kšœ žœ=™LK˜—š‘ œžœžœ ˜7K™XK™——™Kšœžœžœ ˜šœ žœžœ˜Kšœžœ˜ Kšœžœžœ˜Kšœžœ˜Kšœž˜K˜K˜—K˜š‘ œžœžœžœ ˜6K˜—š‘ œžœžœ ˜7K˜——™š‘ œžœ˜#K˜—K˜š‘œžœ5žœžœ˜QK˜—š ‘œžœ žœ žœžœ˜XKšœ+™+K™—K˜š‘œžœžœ˜7K˜—K˜Kš ‘œžœžœžœžœ˜>Kš ‘œžœžœžœžœ˜>K˜Kš ‘œžœžœžœžœ˜>Kš ‘œžœžœžœžœ˜>K˜Kš‘œžœ<žœ˜\K˜šœ žœ˜%K˜—š‘œžœ žœžœ˜UK˜——™Kšœžœ˜K˜Kš ‘ œžœ žœžœžœžœ ˜EK˜Kš‘œžœžœžœžœžœ žœ˜~K˜š‘ œžœ*žœ˜AKšœ?™?K™—Kš ‘œžœžœžœžœ˜@Kš ‘œžœžœžœžœ˜@K˜—K˜Kšžœ˜—…—