MyGraphObject.cpp
上传用户:netltd
上传日期:2013-02-12
资源大小:7234k
文件大小:3k
源码类别:

绘图程序

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "MyGraphObject.h"
  3. #include "MyDefine.h"
  4. ///////////////////////////////////////////////////////////////////////////////////////////////
  5. //图形对象信息
  6. CGraphObjectInfo::CGraphObjectInfo()
  7. {
  8. }
  9. CGraphObjectInfo::CGraphObjectInfo(CRect rect, BOOL del, BOOL selected)
  10. {
  11. m_rect = rect;
  12. m_del = del;  
  13. m_selected = selected;
  14. }
  15. void CGraphObjectInfo::Initialize(CRect rect, BOOL del, BOOL selected)
  16. {
  17. m_rect = rect;
  18. m_del = del;  
  19. m_selected = selected;
  20. }
  21. ///////////////////////////////////////////////////////////////////////////////////////////////
  22. IMPLEMENT_SERIAL(CMyLine, CObject, 1)
  23. //直线对象
  24. CMyLine::CMyLine(CString layer, FPOINT startpoint, FPOINT endpoint, int style, COLORREF color)
  25. {
  26. m_layer = layer;
  27. m_start = startpoint;
  28. m_end = endpoint;
  29.     
  30. m_color = color;
  31. m_style = style;
  32. }
  33. void CMyLine::Serialize(CArchive& ar)
  34. {
  35. if(ar.IsStoring())
  36. {
  37. ar << m_start.x << m_start.y << m_end.x << m_end.y << m_layer << m_color << m_style;
  38. }
  39. else
  40. {
  41.         ar >> m_start.x >> m_start.y >> m_end.x >> m_end.y >> m_layer >> m_color >> m_style;
  42. }
  43. }
  44. int CMyLine::GetObjectType()
  45. {
  46. return OBJECT_LINE;
  47. }
  48. ///////////////////////////////////////////////////////////////////////////////////////////////
  49. IMPLEMENT_SERIAL(CMyRect, CObject, 1)
  50. //矩形对象
  51. CMyRect::CMyRect(CString layer, FPOINT startpoint, FPOINT endpoint, int style, COLORREF color)
  52. {
  53. m_layer = layer;
  54. m_start = startpoint;
  55. m_end = endpoint;
  56.     m_style = style;
  57. m_color = color;
  58. }
  59. void CMyRect::Serialize(CArchive& ar)
  60. {
  61. if(ar.IsStoring())
  62. {
  63. ar << m_start.x << m_start.y << m_end.x << m_end.y << m_layer << m_style << m_color;
  64. }
  65. else
  66. {
  67.         ar >> m_start.x >> m_start.y >> m_end.x >> m_end.y >> m_layer>> m_style >> m_color;
  68. }
  69. }
  70. int CMyRect::GetObjectType()
  71. {
  72. return OBJECT_RECT;
  73. }
  74. ///////////////////////////////////////////////////////////////////////////////////////////////
  75. IMPLEMENT_SERIAL(CMyCircle, CObject, 1)
  76. //圆对象
  77. CMyCircle::CMyCircle(CString layer, FPOINT originpoint, float radius, int style, COLORREF color)
  78. {
  79. m_layer = layer;
  80. m_origin = originpoint;
  81. m_radius = radius;
  82.     m_style = style;
  83.     m_color = color;
  84. }
  85. void CMyCircle::Serialize(CArchive& ar)
  86. {
  87. if(ar.IsStoring())
  88. {
  89. ar << m_origin.x << m_origin.y << m_radius << m_layer << m_style << m_color;
  90. }
  91. else
  92. {
  93.         ar >> m_origin.x >> m_origin.y >> m_radius >> m_layer >> m_style >> m_color;
  94. }
  95. }
  96. int CMyCircle::GetObjectType()
  97. {
  98. return OBJECT_CIRCLE;
  99. }
  100. ///////////////////////////////////////////////////////////////////////////////////////////////
  101. IMPLEMENT_SERIAL(CMyArc, CObject, 1)
  102. CMyArc::CMyArc(CString layer, FPOINT originpoint, FPOINT startpoint, FPOINT endpoint, float radius,
  103.    int style, COLORREF color)
  104. {
  105. m_layer = layer;
  106. m_origin = originpoint;
  107. m_start = startpoint;
  108.     m_end = endpoint;
  109. m_radius = radius;
  110.     m_style = style;
  111.     m_color = color;
  112. }
  113. void CMyArc::Serialize(CArchive& ar)
  114. {
  115. if(ar.IsStoring())
  116. {
  117. ar << m_origin.x << m_origin.y << m_start.x << m_start.y << m_end.x << m_end.y
  118.    << m_radius << m_layer << m_style << m_color;
  119. }
  120. else
  121. {
  122. ar >> m_origin.x >> m_origin.y >> m_start.x >> m_start.y >> m_end.x >> m_end.y
  123.    >> m_radius >> m_layer >> m_style >> m_color;
  124. }
  125. }
  126. int CMyArc::GetObjectType()
  127. {
  128. return OBJECT_ARC;
  129. }