using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PaintDotNet.Annotation.PhysicalPhaseAction
{
///
/// 物相提取->定义物体->轮廓->多边形
///
public class ToolPPhasePolygon : ToolObject
{
private static DrawPPhasePolygon drawObject;
public ToolPPhasePolygon(ISurfaceBox surface)
{
Cursor = new Cursor(PdnResources.GetResourceStream("Cursors.AnnotationPencil.cur"));
}
public static void OnMouseDown(ISurfaceBox drawArea, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point p = GetEventPointInArea(drawArea, e.Location);
if (drawObject == null)
{
drawObject = new DrawPPhasePolygon(drawArea, p.X, p.Y);
drawObject.ISurfaceBox = drawArea;
AddNewObject(drawArea, drawObject);
}
else
{
drawObject.setNextPoint(p);
}
drawArea.Refresh();
}
else //右键或其它
{
//处理计算多边形内的像素
drawArea.PPhaseActionPolygon(drawObject.pointArray);
//删除对象
RemoveOldObject(drawArea, drawObject);
//销毁对象
drawObject = null;
}
}
public static void OnMouseMove(ISurfaceBox drawArea, MouseEventArgs e)
{
}
public static void OnMouseUp(ISurfaceBox drawArea, MouseEventArgs 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()
{
drawObject = null;
}
}
}