using PaintDotNet.Annotation.Enum; using PaintDotNet.Base.DedicatedAnalysis.Inclusions; using PaintDotNet.Base.DedicatedAnalysis.Inclusions.Model; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; namespace PaintDotNet.Annotation.DedicatedAnalysis { public class ToolInclusionSelect : ToolObject { public static void OnMouseDown(ISurfaceBox surfacebox, MouseEventArgs e) { } public static void OnMouseMove(ISurfaceBox surfacebox, MouseEventArgs e) { } public static void OnMouseUp(ISurfaceBox surfacebox, MouseEventArgs e) { } public static void OnMouseLeftDoubleClick(ISurfaceBox surfacebox, MouseEventArgs e) { } public static void OnMouseClick(ISurfaceBox surfacebox, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if ((Control.ModifierKeys & Keys.Control) == 0) surfacebox.GraphicsList.UnselectAll(); Point pointscroll = GetEventPointInArea(surfacebox, e.Location); for (int i = 0; i < surfacebox.GraphicsList.Count; i++) { DrawObject drawObject = surfacebox.GraphicsList[i]; if (drawObject.drawToolType == DrawToolType.InclusionSelect) { if (((InclusionDrawObject)drawObject).inclusion.rectProfile.Contains(pointscroll)) { drawObject.Selected = true; } } } surfacebox.Refresh(); } } /// /// 绘制夹杂物 /// /// /// public static void DrawInclusion(ISurfaceBox surfaceBox, List inclusions,int is_full) { foreach (Inclusion inclusion in inclusions) { var InclusionDraw = new InclusionDrawObject(surfaceBox, inclusion, is_full); surfaceBox.GraphicsList.Add(InclusionDraw); } surfaceBox.Refresh(); } public static void CleanInclusionAll(ISurfaceBox surfaceBox) { for (int i = surfaceBox.GraphicsList.Count - 1; i >= 0; i--) { DrawObject drawObject = surfaceBox.GraphicsList[i]; if (drawObject.drawToolType == DrawToolType.InclusionSelect) { surfaceBox.GraphicsList.RemoveAt(i); } } surfaceBox.Refresh(); } public static void CleanAndDrawInclusionAll(ISurfaceBox surfaceBox, List inclusions, bool is_showRectangle, bool is_showOval, int is_full, bool showStr = true) { for (int i = surfaceBox.GraphicsList.Count-1; i >= 0; i--) { DrawObject drawObject = surfaceBox.GraphicsList[i]; if (drawObject.drawToolType == DrawToolType.InclusionSelect) { surfaceBox.GraphicsList.RemoveAt(i); } } foreach (Inclusion inclusion in inclusions) { var InclusionDraw = new InclusionDrawObject(surfaceBox, inclusion, is_showRectangle, is_showOval, is_full,showStr); surfaceBox.GraphicsList.Add(InclusionDraw); } surfaceBox.Refresh(); } public static void beginWithNewObject() { } } }