using PaintDotNet.Annotation.Enum;
using PaintDotNet.Annotation.Label;
using PaintDotNet.Annotation.Measure;
using PaintDotNet.Base.DedicatedAnalysis.Inclusions;
using PaintDotNet.Base.DedicatedAnalysis.Inclusions.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace PaintDotNet.Annotation.DedicatedAnalysis
{
///
///
///
public class ToolInclusionNewPolygon : ToolObject
{
public static void OnMouseDown(ISurfaceBox surfacebox, MouseEventArgs e)
{
ToolPencil.OnMouseDown(surfacebox, e);
}
public static void OnMouseMove(ISurfaceBox surfacebox, MouseEventArgs e)
{
ToolPencil.OnMouseMove(surfacebox, e);
}
public static void OnMouseUp(ISurfaceBox surfacebox, MouseEventArgs e)
{
var drawObject = surfacebox.GraphicsList[0];
if (!(drawObject is DrawPencil))
{
return;
}
DrawPencil measurePolygon = (DrawPencil)surfacebox.GraphicsList[0];
Inclusion oldInclusion = surfacebox.GetInclusion();
//int x = oldInclusion.rectProfile.X;
//int y = oldInclusion.rectProfile.Y;
List oldParticles = new List();
//oldParticles.AddRange(oldInclusion.particles);
System.Drawing.PointF[] pointFs = measurePolygon.GetPoints().ToArray();
Inclusion newinclusion = new Inclusion(MethodOfAssessment.activeMethod.inclusionsStandard, pointFs);
oldInclusion.addParticles(newinclusion.particles);
InclusionDrawObject inclusionDrawObject = new InclusionDrawObject(surfacebox, oldInclusion, false, 2);
RemoveOldObject(surfacebox, measurePolygon);
surfacebox.ActiveTool = DrawToolType.InclusionSelect;
inclusionDrawObject.Selected = true;
surfacebox.Cursor = Cursors.Default;
AddNewObject(surfacebox, inclusionDrawObject);
//for (int i = 0; i < newinclusion.particles.Count; i++)
//{
// newinclusion.particles[i].rectProfile = new System.Drawing.Rectangle(newinclusion.particles[i].rectProfile.X + x, newinclusion.particles[i].rectProfile.Y + y , newinclusion.particles[i].rectProfile.Width, newinclusion.particles[i].rectProfile.Height);
//}
//oldInclusion.particles.Clear();
//oldInclusion.addParticles(oldParticles);
//oldInclusion.addParticles(newinclusion.particles);
}
public static void OnMouseLeftDoubleClick(ISurfaceBox surfacebox, MouseEventArgs e)
{
}
public static void OnMouseClick(ISurfaceBox surfacebox, MouseEventArgs e)
{
}
public static void beginWithNewObject()
{
ToolMeasurePolygon.beginWithNewObject();
}
}
}