<> <> <> <> <> <<>> 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]; <> <<[base, wordsPerLine, sMin, fMin, sSize, fSize] describes a raw raster;>> <> <<[tx, ty] is the position in client coordinates at which to place the upper left corner of the raster>> <<>> 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.