DIRECTORY II USING [Color, SpecialColor, Context, Font, Outline, PathProc, Rectangle, Transformation, VEC]; IIBackdoor: CEDAR DEFINITIONS ~ BEGIN OPEN II; 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, oddWrap, 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]; CoordSys: TYPE ~ {client, view, surface, device}; TransformPoint: PROC [context: Context, p: VEC, from, to: CoordSys] RETURNS [VEC]; TransformVec: PROC [context: Context, v: VEC, from, to: CoordSys] RETURNS [VEC]; GetTransformation: PROC [context: Context, from, to: CoordSys] RETURNS [Transformation]; ViewReset: PROC [context: Context]; ViewClip: PROC [context: Context, path: PathProc, oddWrap, exclude: BOOL _ FALSE]; ViewClipRectangleI: PROC [context: Context, x, y, w, h: INTEGER, exclude: BOOL _ FALSE]; ViewTranslateI: PROC [context: Context, x, y: INTEGER]; Visibility: TYPE ~ {none, part, all}; TestViewRectangle: PROC [context: Context, x, y, w, h: INTEGER] RETURNS [Visibility]; MoveViewRectangle: PROC [context: Context, width, height, fromX, fromY, toX, toY: INTEGER]; invert: READONLY SpecialColor; MakeStipple: PROC [stipple: WORD, xor: BOOL _ FALSE] RETURNS [SpecialColor]; MaskBits: PROC [context: Context, base: LONG POINTER, wordsPerLine: NAT, sMin, fMin, sSize, fSize: NAT, tx, ty: INTEGER _ 0]; DrawBits: PROC [context: Context, base: LONG POINTER, wordsPerLine: NAT, sMin, fMin, sSize, fSize: NAT, tx, ty: INTEGER _ 0]; ClientFromView: PROC [context: Context, p: VEC] RETURNS [VEC] ~ INLINE {RETURN [TransformPoint[context: context, p: p, from: view, to: client]]}; ViewFromClient: PROC [context: Context, p: VEC] RETURNS [VEC] ~ INLINE {RETURN [TransformPoint[context: context, p: p, from: client, to: view]]}; ViewFromDevice: PROC [context: Context, p: VEC] RETURNS [VEC] ~ INLINE {RETURN [TransformPoint[context: context, p: p, from: device, to: view]]}; DeviceFromView: PROC [context: Context, p: VEC] RETURNS [VEC] ~ INLINE {RETURN [TransformPoint[context: context, p: p, from: view, to: device]]}; ClientFromDevice: PROC [context: Context, p: VEC] RETURNS [VEC] ~ INLINE {RETURN [TransformPoint[context: context, p: p, from: device, to: client]]}; DeviceFromClient: PROC [context: Context, p: VEC] RETURNS [VEC] ~ INLINE {RETURN [TransformPoint[context: context, p: p, from: client, to: device]]}; END. ΎIIBackdoor.mesa Copyright c 1984, 1985, 1986 by Xerox Corporation. All rights reserved. Doug Wyatt, April 21, 1985 3:45:00 pm PST Michael Plass, December 10, 1986 12:03:53 pm PST Not all contexts implement the operations in this interface. To be device-independent, clients should avoid them. Access to imager variables 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. Coordinate Systems and Transformations Note: In device coordinates, s ~ x and f ~ y. Makes a new Transformation; use IITransformation.Destroy, if appropriate, to save allocations. View Operations coordinates relative to current view origin Other Utilities Provided for compatibility with earlier Imager releases. [base, wordsPerLine, sMin, fMin, sSize, fSize] describes a raw raster; a scan mode of [slow~down, fast~right] is assumed for the raster [tx, ty] is the position in client coordinates at which to place the upper left corner of the raster Analogous to MaskBits, but zero bits become white and one bits become black, regardless of the current color. Κ˜codešœ™Kšœ Οmœ=™HKšœ)™)K™0—˜™rK™——šΟk ˜ KšžœžœTžœ˜aK˜—KšΠbl œžœž ˜Kšœžœžœ˜head™K™šœžœΟc˜&Kšœ˜Kšœ˜Kšœ ˜ Kšœ ˜ Kšœ ˜ Kšœ  ˜Kšœ˜K˜—šœ žœ ˜)Kšœ˜Kšœ˜Kšœ+˜+Kšœ ˜ Kšœ˜Kšœ ˜ Kšœ˜Kšœ˜Kšœ˜Kšœ  ˜Kšœ˜K˜—Kšœ žœžœžœ ˜Bš œ žœžœ&žœžœ˜NK˜—K˜KšΟnœžœ&žœ˜7Kš‘œžœ'žœ˜:Kš‘œžœ'˜1Kš‘ œžœ&˜6K˜Kš‘œžœ!žœžœ˜;Kš‘œžœ"žœžœ˜>Kš‘œžœžœ˜7Kš‘œžœžœ˜0Kš‘œžœžœ ˜2Kš‘ œžœžœ ˜6K˜š ‘œžœžœžœžœžœ˜DK™5Kšœ žœ=™LK˜—š‘ œžœžœ ˜7K™XK™——™&šœ žœ#˜1K™-K˜—š ‘œžœžœžœžœ˜RK˜—š ‘ œžœžœžœžœ˜PK˜—š‘œžœ(žœ˜Xšœ^™^K˜———™š‘ œžœ˜#K˜—K˜š‘œžœ6žœžœ˜RK˜—š ‘œžœ žœ žœžœ˜XKšœ+™+K™—š‘œžœžœ˜7K˜—K˜Kšœ žœ˜%š‘œžœ žœžœ˜UK˜—Kš‘œžœ;žœ˜[K˜—™Kšœžœ˜K˜Kš ‘ œžœ žœžœžœžœ˜LK˜š‘œžœžœžœžœžœ žœ˜~Kšœ8™8KšœF™FK™@Kšœd™dK™—š‘œžœžœžœžœžœ žœ˜~Kšœm™m—K˜š ‘œžœžœžœžœ˜=KšœžœžœC˜S—š ‘œžœžœžœžœ˜=KšœžœžœC˜S—š ‘œžœžœžœžœ˜=KšœžœžœC˜S—š ‘œžœžœžœžœ˜=KšœžœžœC˜S—š ‘œžœžœžœžœ˜?KšœžœžœE˜U—š ‘œžœžœžœžœ˜?KšœžœžœE˜U—K˜—K˜Kšžœ˜—…— n>