GGDragTypes.mesa
Copyright © 1992 by Xerox Corporation. All rights reserved.
Bier, March 6, 1992 4:26 pm PST
Contents: Variables stored in a GGData during interactive operations such as dragging.
DIRECTORY
GGBasicTypes, GGModelTypes, GGInterfaceTypes, ImagerTransformation;
GGDragTypes: CEDAR DEFINITIONS = BEGIN
BezierDragRecord: TYPE = GGModelTypes.BezierDragRecord;
Caret: TYPE = GGInterfaceTypes.Caret;
Point: TYPE = GGBasicTypes.Point;
Sequence: TYPE = GGModelTypes.Sequence;
SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor;
SelectMode: TYPE = GGModelTypes.SelectMode;
ExtendMode: TYPE = GGModelTypes.ExtendMode;
Vector: TYPE = GGBasicTypes.Vector;
GuardPredicate: TYPE = {unguarded, guarded, default};
DragDataObj: TYPE = RECORD [
guardedMode: GuardPredicate ← default,
nextGuardedMode: GuardPredicate ← default,
startPoint: Point ← [0.0, 0.0],
anchorPoint: Point ← [0.0, 0.0],
anchorNormal: Vector ← [0.0, -1.0],
currentPoint: Point ← [0.0, 0.0], -- maintained by MouseEvent Procs
savedCaret: Caret, -- needed to recover from Abort operations
seqInProgress: Sequence,
boxInProgress: SliceDescriptor, -- needed by Start/During/End Box procs to pass along new box
transform: ImagerTransformation.Transformation,
selectState: SelectMode ← joint, -- what are we in the process of selecting?
extendMode: ExtendMode ← joint, -- what are we extending to?
sliceToExtend: SliceDescriptor,
editConstraints: GGModelTypes.EditConstraints ← none,
bezierDrag: BezierDragRecord
];
END.