BoundBox: TYPE = SVBoundBox.BoundBox;
Point2d: TYPE = SV2d.Point2d;
ViewerToolData: TYPE = SVViewerTool.ViewerToolData;
InputNotify: SAFE PROCEDURE [self: ViewerClasses.Viewer, input: LIST OF REF ANY];
StartPrimarySelection: PROC [viewerToolData: ViewerToolData, cameraPoint: Point2d];
SetPrimarySelection: PROC [viewerToolData: ViewerToolData, cameraPoint: Point2d];
StartSecondarySelection: PROC [viewerToolData: ViewerToolData, cameraPoint: Point2d];
SetSecondarySelection: PROC [viewerToolData: ViewerToolData, cameraPoint: Point2d];
EndSecondarySelection: PROC [viewerToolData: ViewerToolData, controlPoint: Point2d];
PositionUpLeft: PROC [viewerToolData: ViewerToolData, controlPoint: Point2d];
PositionDownRight: PROC [viewerToolData: ViewerToolData, controlPoint: Point2d];
ComplementBoundBox: PROC [boundBox: BoundBox, viewerToolData: ViewerToolData];