<> <> <> <> <> <<>> DIRECTORY GGBasicTypes, GGModelTypes, GGInterfaceTypes, Rope; GGMouseEvent: CEDAR DEFINITIONS = BEGIN GargoyleData: TYPE = GGInterfaceTypes.GargoyleData; Point: TYPE = GGBasicTypes.Point; SelectMode: TYPE = GGModelTypes.SelectMode; FeatureData: TYPE = GGInterfaceTypes.FeatureData; MouseProc: TYPE = PROC [input: LIST OF REF ANY, gargoyleData: GargoyleData, worldPt: Point]; StartProc: TYPE = PROC [input: LIST OF REF ANY, gargoyleData: GargoyleData, worldPt: Point] RETURNS [success: BOOL _ TRUE]; SelectFeedbackProc: TYPE = PROC [feature: FeatureData, caretPt: Point, gargoyleData: GargoyleData]; ResetMouseMachinery: PROC [gargoyleData: GargoyleData]; <> HandleMouse: PROC [event: LIST OF REF ANY, point: Point, clientData: REF ANY]; HandleMouseless: PROC [event: LIST OF REF ANY, clientData: 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 [gargoyleData: GargoyleData, mapPoint: Point, feature: FeatureData]; DescribeSelectionAction: PROC [gargoyleData: GargoyleData, feature: FeatureData, selectMode: SelectMode, action: Rope.ROPE]; END.