Baseobject.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Drawing.Drawing2D;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows.Forms;
  9. namespace OTSIncAReportGraph
  10. {
  11. #region 基类,抽像类
  12. /// <summary>
  13. /// 绘制的基本类,下面的画布,多边形,线都要从这里派生
  14. /// </summary>
  15. public abstract class BaseObject : ICloneable
  16. {
  17. //自动生成的ID
  18. public abstract Guid guid { get; set; }
  19. //画布的坐标
  20. public abstract RectangleF Rect { get; set; }
  21. //OTS的坐标
  22. public abstract PointF OTSPointF { get; set; }
  23. //画布是否被选择
  24. public abstract bool IsSelect { get; set; }
  25. //画布是否被拖动
  26. public abstract bool IsDragging { get; set; }
  27. //画布被拖动到的位置
  28. public abstract PointF DraggingPoint { get; set; }
  29. //线的颜色
  30. public abstract Color Color { get; set; }
  31. //画布的背景色
  32. public abstract Color BackColor { get; set; }
  33. //绘制函数
  34. public abstract void OnPaint(PaintEventArgs e);
  35. //多边形路径
  36. public abstract GraphicsPath GPath { get; set; }
  37. //克隆
  38. public virtual object Clone()
  39. {
  40. return null;
  41. }
  42. }
  43. #endregion
  44. }