<<>> <> <> <> <> <<>> 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.