using PaintDotNet.Annotation.Enum; using System.Drawing; using System.Windows.Forms; namespace PaintDotNet.Annotation { /// /// 所有形状的抽象基类 /// public abstract class Tool { /// /// 鼠标按下的虚函数 /// /// /// public static void OnMouseDownOne(ISurfaceBox surfacebox, MouseEventArgs e) { if (surfacebox != null && surfacebox.GraphicsList != null && surfacebox.GraphicsList.Count>0) { surfacebox.SetMouseStatus(true); } } /// /// 鼠标移动的虚函数(左键按下的移动或没有按下按键的移动) /// /// /// public static void OnMouseMoveOne(ISurfaceBox surfacebox, MouseEventArgs e) { if (surfacebox != null && surfacebox.GraphicsList != null && surfacebox.GraphicsList.Count > 0 && surfacebox.GraphicsList[0] != null) { surfacebox.SetMouseStatus(true); surfacebox.GraphicsList.OnSelectChanged(); } } /// /// 鼠标左键抬起 /// /// /// public static void OnMouseUpOne(ISurfaceBox surfacebox, MouseEventArgs e) { if (surfacebox != null && surfacebox.GraphicsList != null && surfacebox.GraphicsList.Count > 0 && surfacebox.GraphicsList[0] != null) { surfacebox.SetMouseStatus(false); } } /// /// /// /// /// /// protected static Point GetEventPointInArea(ISurfaceBox surfacebox, Point piont) { Point p = surfacebox.GetScalePoint(piont); return p; /*Point p = surfacebox.GetChaPoint(piont); Point p = new Point(Math.Abs(drawArea.AutoScrollPosition.X) + e.X, Math.Abs(drawArea.AutoScrollPosition.Y) + e.Y); string status = "X: " + p.X + ", Y: " + p.Y; ((MainForm)drawArea.Parent).SetStatusStrip(status); return p;*/ } } }