public SelectionTimeoutToolState(ObjectSelectTool tool)
     : base(tool)
 {
 }
 protected ToolState(ObjectSelectTool tool)
 {
     Tool = tool;
 }
 public SelectionStandbyToolState(ObjectSelectTool tool)
     : base(tool)
 {
 }
            public SelectionRotatingToolState(ObjectSelectTool tool, ObjectInstance hitObject)
                : base(tool)
            {
                HitObject = hitObject;
                InitialPosition = hitObject.Position;
                InitialCenter = hitObject.ImageBounds.Center;
                InitialAngle = hitObject.Rotation;

                float radius = Tool.MaxBoundingDiagonal(HitObject) / 2 + 5;
                Annot = new CircleAnnot(HitObject.ImageBounds.Center, radius);
                Annot.Outline = Outline;
                Annot.OutlineGlow = OutlineGlow;
                Tool._annots.Add(Annot);
            }
 public SelectionMovingToolState(ObjectSelectTool tool)
     : base(tool)
 {
 }
 public SelectionAreaToolState(ObjectSelectTool tool)
     : base(tool)
 {
 }
 public ReleaseToolState(ObjectSelectTool tool)
     : base(tool)
 {
 }