XTube.h
上传用户:yokoluohf
上传日期:2013-02-25
资源大小:769k
文件大小:3k
源码类别:

GIS编程

开发平台:

Visual C++

  1. #pragma once
  2. #include <Gdiplus.h>
  3. using namespace Gdiplus;
  4. #include <vector>
  5. using namespace std;
  6. #include "XSpot.h"
  7. class XTube
  8. {
  9. friend class XSpot;
  10. protected:
  11. REAL lineWidth;
  12. Color lineColor;
  13. Color outlineColor;
  14. Color defLeftColor;
  15. Color defRightColor;
  16. Color defStartColor;
  17. Color defEndColor;
  18. Color defCircleFillColor;
  19. Color defCircleOutlineColor;
  20. vector<XSpot> spots;
  21. Color defFontColor;
  22. CString defFontFace;
  23. REAL defFontHeight;
  24. int defFontStyle;
  25. Font* defFont;
  26. public:
  27. XTube (REAL width = 10.0, Color lColor = Color (255, 0, 0, 0), Color oColor = Color (255, 0, 0, 0));
  28. XTube (const XTube& obj);
  29. virtual ~XTube ();
  30. XTube& operator= (const XTube& obj);
  31. vector<XSpot>& GetSpots () {return spots;}
  32. void SetSpots(vector<XSpot>& vSpots){spots = vSpots;}
  33. void SetLineWidth (REAL vLineWidth) {lineWidth = vLineWidth;}
  34. REAL GetLineWidth () {return lineWidth;}
  35. void SetLineColor (Color vColor) {lineColor = vColor;}
  36. Color GetLineColor () {return lineColor;}
  37. void SetOutlineColor (Color vColor) {outlineColor = vColor;}
  38. Color GetOutlineColor () {return outlineColor;}
  39. void SetLeftColor (Color vColor) {defLeftColor = vColor;}
  40. Color GetLeftColor () {return defLeftColor;}
  41. void SetRightColor (Color vColor) {defRightColor = vColor;}
  42. Color GetRightColor () {return defRightColor;}
  43. void SetStartColor (Color vColor) {defStartColor = vColor;}
  44. Color GetStartColor () {return defStartColor;}
  45. void SetEndColor (Color vColor) {defEndColor = vColor;}
  46. Color GetEndColor () {return defEndColor;}
  47. void SetCircleFillColor (Color vColor) {defCircleFillColor = vColor;}
  48. Color GetCircleFillColor () {return defCircleFillColor;}
  49. void SetCircleOutlineColor (Color vColor) {defCircleOutlineColor = vColor;}
  50. Color GetCircleOutlineColor () {return defCircleOutlineColor;}
  51. void SetFontColor (Color vColor) {defFontColor = vColor;}
  52. Color GetFontColor () {return defFontColor;}
  53. void SetFontFace (CString vFontFace) {defFontFace = vFontFace;}
  54. CString GetFontFace () {return defFontFace;}
  55. void SetFontHeight (REAL vFontHeight) {defFontHeight = vFontHeight;}
  56. REAL GetFontHeight () {return defFontHeight;}
  57. void SetFontStyle (int vFontStyle) {defFontStyle = vFontStyle;}
  58. int GetFontStyle () {return defFontStyle;}
  59. int GetCount () {return (int) spots.size ();}
  60. public:
  61. int Append (XSpot& spot);
  62. int Move (float x, float y);
  63. int Recalculate ();
  64. int Draw (Graphics* g);
  65. int DrawLines (Graphics* g);
  66. int DrawSpots (Graphics* g, map<CString, PointF>* spotMap = NULL);
  67. };