using PaintDotNet.Annotation.Enum;
using System.Drawing;
using System.Windows.Forms;
namespace PaintDotNet.Annotation.FieldView
{
///
/// 任意三角形视场工具
///
public class ToolViewTriangleEx : ToolObject
{
private static ViewTriangleEx _viewPolygon;
///
/// 鼠标按下事件
///
///
///
public static void OnMouseDown(ISurfaceBox surfaceBox, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && e.Clicks != 2)
{
Point p = GetEventPointInArea(surfaceBox, e.Location);
if (_viewPolygon == null)
{
_viewPolygon = new ViewTriangleEx(p.X, p.Y);
_viewPolygon.ISurfaceBox = surfaceBox;
_viewPolygon.combineMode = surfaceBox.GetCombineMode();
AddNewObjectForView(surfaceBox, _viewPolygon);
}
else
{
_viewPolygon.SetNextPoint(p);
}
surfaceBox.Refresh();
if (_viewPolygon.GetPoints().Count > 2)
{
_viewPolygon = null;
surfaceBox.ActiveTool = DrawToolType.Pointer;
surfaceBox.GraphicsList.OnSelectChanged();
}
}
else
{
if (_viewPolygon != null && _viewPolygon.GetPoints().Count <= 2)
{
surfaceBox.GraphicsList.RemoveAt(0);
}
_viewPolygon = null;
surfaceBox.ActiveTool = DrawToolType.Pointer;
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;
}
}
}