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()
{
}
}
}