DIRECTORY ImagerBasic; ImagerPrivate: CEDAR DEFINITIONS = BEGIN ImagingSpace: TYPE = { client, viewer, device }; Transformation: TYPE = ImagerBasic.Transformation; Context: TYPE = REF ContextRep; -- Holds the imager state ContextRep: TYPE = RECORD [ currentColor: ImagerBasic.Color, currentFont: REF, currentIntPosition: ImagerBasic.IntPair, -- CP kept in device space currentPosition: ImagerBasic.Pair, -- For floating point types -- ********* Transformations ************ clientTransform: Transformation, viewerTransform: Transformation, deviceTransform: Transformation, compositeTransform: Transformation, integerTranslation: ImagerBasic.IntPair, -- used only if the compositeTransform not hard -- ***************** Clipping *********** clientClipper: ClipperRecord, viewerClipper: ClipperRecord, deviceClipper: ClipperRecord, clipper: ClipperRecord, -- composite clipper noClipArmed, noClip: BOOLEAN _ FALSE, data: REF ANY -- Interpretation of this depends on the procs ]; ClipperType: TYPE = {none, rectangle, path}; ClipperRecord: TYPE = RECORD [ xMin, xMax, yMin, yMax: INTEGER, -- use "path" if Client clipper is outside integer range type: ClipperType, clipper: Clipper -- used if type is "path" ]; Clipper: TYPE = REF ClipperRep; ClipperRep: TYPE = RECORD [ xMin, xMax, yMin, yMax: REAL, paths: LIST OF RECORD [exclude: BOOLEAN, path: ImagerBasic.Path] ]; END. φImagerPrivate.mesa This interface provides the underlying data structures necessary to more than one definitions module within the Imager Last Edited by: Crow, June 20, 1983 3:59 pm Basic Definitions (Numbers and Shapes) Context Clipping Κύ˜headšœ™J™vJ™šœ™Jšœ™—unitšΟk ˜ Lšœ ˜ ——šœœ ˜ Jšœ˜J˜—Ihead3šΟb&™&šž™Jšœœ˜1Jšœœ˜2Lšœ œœ Οc˜9šœ œœ˜Jšœ ˜ Jšœ œ˜Jšœ)Ÿ˜FJšœ'Ÿ˜BLšŸ,˜,Jšœœ˜ Jšœœ˜ Jšœœ˜ Jšœœ˜#Jšœ)Ÿ/˜X—šŸ5˜5Jšœ˜Jšœ˜Jšœ˜JšœŸœŸ"˜9Jšœœœ˜%LšœœŸ0˜=J˜J˜——šž™Lšœ œ˜,šœœœ˜JšœœŸ8˜YJšœ˜JšœŸ˜0J˜—Lšœ œœ ˜šœ œœ˜Jšœœ˜Jš œœœœ œ˜@J˜——Jšœ˜M˜—…—Š}