LassoSelectTool.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System.Collections.Generic;
  2. using System.Drawing;
  3. using System.Drawing.Drawing2D;
  4. namespace PaintDotNet.Measurement.Tools
  5. {
  6. public class LassoSelectTool : SelectionTool
  7. {
  8. protected override List<PointF> CreateShape(List<Point> inputTracePoints)
  9. {
  10. List<PointF> inputTracePointsF = base.CreateShape(inputTracePoints);
  11. if (this.SelectionMode != CombineMode.Replace &&
  12. inputTracePointsF.Count > 2 &&
  13. inputTracePointsF[0] != inputTracePointsF[inputTracePointsF.Count - 1])
  14. {
  15. inputTracePointsF.Add(inputTracePointsF[0]);
  16. }
  17. return inputTracePointsF;
  18. }
  19. protected override void OnActivate()
  20. {
  21. SetCursors(
  22. "Cursors.LassoSelectToolCursor.cur",
  23. "Cursors.LassoSelectToolCursorMinus.cur",
  24. "Cursors.LassoSelectToolCursorPlus.cur",
  25. "Cursors.LassoSelectToolCursorMouseDown.cur");
  26. base.OnActivate();
  27. }
  28. protected override void OnDeactivate()
  29. {
  30. base.OnDeactivate();
  31. }
  32. public LassoSelectTool(IDocumentWorkspace documentWorkspace)
  33. : base(documentWorkspace,
  34. PdnResources.GetImageResource("Icons.LassoSelectToolIcon.png"),
  35. PdnResources.GetString("LassoSelectTool.Name"),
  36. PdnResources.GetString("LassoSelectTool.HelpText"),
  37. 's',
  38. ToolBarConfigItems.None)
  39. {
  40. }
  41. }
  42. }