Tool.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using PaintDotNet.Annotation.Enum;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4. namespace PaintDotNet.Annotation
  5. {
  6. /// <summary>
  7. /// 所有形状的抽象基类
  8. /// </summary>
  9. public abstract class Tool
  10. {
  11. /// <summary>
  12. /// 鼠标按下的虚函数
  13. /// </summary>
  14. /// <param name="drawArea"></param>
  15. /// <param name="e"></param>
  16. public static void OnMouseDownOne(ISurfaceBox surfacebox, MouseEventArgs e)
  17. {
  18. if (surfacebox != null && surfacebox.GraphicsList != null
  19. && surfacebox.GraphicsList.Count>0)
  20. {
  21. surfacebox.SetMouseStatus(true);
  22. }
  23. }
  24. /// <summary>
  25. /// 鼠标移动的虚函数(左键按下的移动或没有按下按键的移动)
  26. /// </summary>
  27. /// <param name="drawArea"></param>
  28. /// <param name="e"></param>
  29. public static void OnMouseMoveOne(ISurfaceBox surfacebox, MouseEventArgs e)
  30. {
  31. if (surfacebox != null && surfacebox.GraphicsList != null
  32. && surfacebox.GraphicsList.Count > 0 && surfacebox.GraphicsList[0] != null)
  33. {
  34. surfacebox.SetMouseStatus(true);
  35. surfacebox.GraphicsList.OnSelectChanged();
  36. }
  37. }
  38. /// <summary>
  39. /// 鼠标左键抬起
  40. /// </summary>
  41. /// <param name="drawArea"></param>
  42. /// <param name="e"></param>
  43. public static void OnMouseUpOne(ISurfaceBox surfacebox, MouseEventArgs e)
  44. {
  45. if (surfacebox != null && surfacebox.GraphicsList != null
  46. && surfacebox.GraphicsList.Count > 0 && surfacebox.GraphicsList[0] != null)
  47. {
  48. surfacebox.SetMouseStatus(false);
  49. }
  50. }
  51. /// <summary>
  52. ///
  53. /// </summary>
  54. /// <param name="drawArea"></param>
  55. /// <param name="e"></param>
  56. /// <returns></returns>
  57. protected static Point GetEventPointInArea(ISurfaceBox surfacebox, Point piont)
  58. {
  59. Point p = surfacebox.GetScalePoint(piont);
  60. return p;
  61. /*Point p = surfacebox.GetChaPoint(piont);
  62. Point p = new Point(Math.Abs(drawArea.AutoScrollPosition.X) + e.X, Math.Abs(drawArea.AutoScrollPosition.Y) + e.Y);
  63. string status = "X: " + p.X + ", Y: " + p.Y;
  64. ((MainForm)drawArea.Parent).SetStatusStrip(status);
  65. return p;*/
  66. }
  67. }
  68. }