Draw1.h
上传用户:yklx818
上传日期:2013-04-13
资源大小:459k
文件大小:2k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // Draw1.h: interface for the CDraw class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DRAW1_H__77F4D1B5_513A_4692_A5E6_04369B44F81E__INCLUDED_)
  5. #define AFX_DRAW1_H__77F4D1B5_513A_4692_A5E6_04369B44F81E__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include"data.h"
  10. class CDraw : public CObject  
  11. {
  12. protected:
  13. short m_ColorPen; 
  14. short m_ColorBrush;//填充颜色
  15. float m_LineWide;
  16. short m_LineType;
  17. short m_Layer;
  18. BOOL  b_Delete;
  19. int   m_id_only;
  20.     virtual void CalLong();
  21. virtual void CalArea();
  22. public:
  23. CDraw()
  24. {
  25. b_Delete = FALSE;
  26. }
  27. CDraw(short ColorPen,short ColorBrush,float LineWide,short LineType,short Layer,int id_only,BOOL Delete)
  28. {
  29.           m_ColorPen=ColorPen; 
  30.       m_ColorBrush=ColorBrush;
  31.       m_LineWide=LineWide;
  32.       m_LineType=LineType;
  33.       m_Layer=Layer;
  34.       b_Delete=Delete;
  35.           m_id_only=id_only;
  36. }
  37. int GetID()
  38. {
  39. return (m_id_only);
  40. }
  41. virtual ~CDraw();
  42.     virtual void Draw(CDC* pDC,int m_DrawMode,int m_DrawModel,short BackColor)=0;
  43. virtual BOOL IsPoint(float x,float y,float j1,float blc)=0;
  44. virtual void GetRect(float* minX,float* minY,float* maxX,float*maxY)=0;
  45. float PointLine(float xx,float yy,float x1,float y1,float x2,float y2);
  46. float CalDisp(float x1,float y1,float x2,float y2);//计算两点距离
  47. BOOL PointRgn(float x,float y,int Numble,PointStruct* PointList,float blc);//判断点是否在初始化的区域内
  48.     virtual void Move(float x_Move,float y_Move)=0;
  49. //点旋转操作函数
  50. void RotatePoint(float baseX,float baseY,float angle,float* xx,float *yy);
  51. float GetAngle(float baseX,float baseY,float xx,float yy);
  52. //图形元素的旋转计算
  53. virtual void Rotate(float baseX,float baseY,float angle)=0;
  54. //删除图形元素
  55. void Delete(BOOL bDelete);
  56. virtual BOOL IsFill();
  57. };
  58. #endif // !defined(AFX_DRAW1_H__77F4D1B5_513A_4692_A5E6_04369B44F81E__INCLUDED_)
  59. extern void DPtoVP(float x,float y,int *X,int *Y);
  60. extern void VPtoDP(int x,int y,float *X,float *Y);
  61. extern int DLtoVL(float l);
  62. extern float VLtoDL(int l);