<> <> <> <> <> <<>> DIRECTORY GGBasicTypes, GGModelTypes, GGInterfaceTypes, Rope; GGMouseEvent: CEDAR DEFINITIONS = BEGIN GGData: TYPE = GGInterfaceTypes.GGData; Point: TYPE = GGBasicTypes.Point; SelectMode: TYPE = GGModelTypes.SelectMode; FeatureData: TYPE = GGInterfaceTypes.FeatureData; MouseProc: TYPE = PROC [input: LIST OF REF ANY, ggData: GGData, worldPt: Point]; StartProc: TYPE = PROC [input: LIST OF REF ANY, ggData: GGData, worldPt: Point] RETURNS [success: BOOL _ TRUE]; SelectFeedbackProc: TYPE = PROC [feature: FeatureData, caretPt: Point, ggData: GGData]; InitializeFSM: PROC [ggData: GGData]; ResetMouseMachinery: PROC [ggData: GGData]; <> HandleMouse: PROC [clientData: REF ANY, event: LIST OF REF ANY]; HandleMouseless: PROC [clientData: REF ANY, event: LIST OF REF ANY]; <> <<>> StartCaretPos: StartProc; DuringCaretPos: MouseProc; EndCaretPos: MouseProc; StartSelectJoint: StartProc; StartSelectSegment: StartProc; StartSelectTrajectory: StartProc; StartSelectTopLevel: StartProc; DuringSelect: MouseProc; EndSelect: MouseProc; StartDeselectJoint: StartProc; StartDeselectSegment: StartProc; StartDeselectTrajectory: StartProc; StartDeselectTopLevel: StartProc; DuringDeselect: MouseProc; EndDeselect: MouseProc; StartExtendSelectJoint: StartProc; StartExtendSelectSegment: StartProc; StartExtendSelectTraj: StartProc; StartExtendSelectTopLevel: StartProc; StartExtendSelection: StartProc; DuringExtendSelection: MouseProc; EndExtendSelection: MouseProc; CopySelected: StartProc; <> <<>> StartDrag: StartProc; DuringDrag: MouseProc; EndMotion: MouseProc; StartRotate: StartProc; DuringRotate: MouseProc; StartScale: StartProc; DuringScale: MouseProc; StartAdd: StartProc; DuringAdd: MouseProc; EndAdd: MouseProc; StartBox: StartProc; EndBox: MouseProc; StartCircle: StartProc; EndCircle: MouseProc; <> <> SelectJointOrCP: SelectFeedbackProc; SelectSegment: SelectFeedbackProc; SelectTraj: SelectFeedbackProc; SelectTopLevel: SelectFeedbackProc; <> SetCaretAttractorEndpoint: PROC [ggData: GGData, mapPoint: Point, feature: FeatureData, hitData: REF ANY]; DescribeSelectionAction: PROC [ggData: GGData, feature: FeatureData, hitData: REF ANY, selectMode: SelectMode, action: Rope.ROPE]; END.