using System;
using System.Windows.Forms;
using System.Drawing;
namespace DrawTools
{
///
/// Base class for all tools which create new graphic object
///
abstract class ToolObject : DrawTools.Tool
{
private Cursor cursor;
///
/// Tool cursor.
///
protected Cursor Cursor
{
get
{
return cursor;
}
set
{
cursor = value;
}
}
///
/// Left mouse is released.
/// New object is created and resized.
///
///
///
public override void OnMouseUp(DrawArea drawArea, MouseEventArgs e)
{
drawArea.GraphicsList[0].Normalize();
drawArea.AddCommandToHistory(new CommandAdd(drawArea.GraphicsList[0]));
drawArea.ActiveTool = DrawArea.DrawToolType.Pointer;
drawArea.Capture = false;
drawArea.Refresh();
}
///
/// Add new object to draw area.
/// Function is called when user left-clicks draw area,
/// and one of ToolObject-derived tools is active.
///
///
///
protected void AddNewObject(DrawArea drawArea, DrawObject o)
{
drawArea.GraphicsList.UnselectAll();
o.Selected = true;
drawArea.GraphicsList.Add(o);
drawArea.Capture = true;
drawArea.Refresh();
drawArea.SetDirty();
}
}
}