using PaintDotNet.Annotation.Enum;
using System.Drawing;
using System.Windows.Forms;
namespace PaintDotNet.Annotation.FieldView
{
///
/// 多边形视场工具
///
public class ToolViewPolygon : ToolObject
{
private static ViewPolygon viewPolygon;
///
/// 鼠标按下事件
///
///
///
public static void OnMouseDown(ISurfaceBox surfaceBox, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point p = GetEventPointInArea(surfaceBox, e.Location);
if (viewPolygon == null)
{
viewPolygon = new ViewPolygon(p.X, p.Y);
viewPolygon.ISurfaceBox = surfaceBox;
viewPolygon.combineMode = surfaceBox.GetCombineMode();
AddNewObjectForView(surfaceBox, viewPolygon);
}
else
{
viewPolygon.setNextPoint(p);
}
surfaceBox.Refresh();
}
else
{
if(viewPolygon !=null && viewPolygon.GetPoints().Count<=2)
{
surfaceBox.GraphicsList.RemoveObj(viewPolygon);
viewPolygon = null;
}
surfaceBox.ActiveTool = DrawToolType.Pointer;
//OnMouseUpTwo(surfaceBox, e);
surfaceBox.GraphicsList.OnSelectChanged();
}
}
///
/// 鼠标移动事件
///
///
///
public static void OnMouseMove(ISurfaceBox drawArea, MouseEventArgs e)
{
//base.OnMouseMove(drawArea, e);
}
///
/// 覆盖父类的鼠标抬起事件,什么都不做
///
///
///
public static void OnMouseUp(ISurfaceBox drawArea, MouseEventArgs e)
{
//OnMouseUpTwo(drawArea, e);
}
public static void OnMouseClick(ISurfaceBox drawArea, MouseEventArgs e)
{
}
///
/// 鼠标左键双击
///
///
///
public static void OnMouseLeftDoubleClick(ISurfaceBox surfacebox, MouseEventArgs e)
{
}
///
/// 删除按键
///
///
///
public static void OnDelKeyDown(ISurfaceBox surfacebox, MouseEventArgs e)
{
}
///
/// 删除划痕处理&污迹处理选择区域的痕迹
///
///
///
public static void OnDel2KeyDown(ISurfaceBox surfacebox, MouseEventArgs e)
{
}
///
/// 清空全部时调用该方法,将可能未绘制完的对象清空
///
public static void beginWithNewObject()
{
viewPolygon = null;
}
}
}