You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 lines
7.6 KiB
C

#pragma once
#include "Module.h"
#include "DataPoint.h"
#include "EnumPropertieType.h"
#define SCROLL_SIZE_CX (15000000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x <20>ķ<EFBFBD>Χ--(<28><>λ:<3A><><EFBFBD><EFBFBD>)
#define SCROLL_SIZE_CY (8000000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y <20>ķ<EFBFBD>Χ--(<28><>λ:<3A><><EFBFBD><EFBFBD>)
#define LOGIC_CENTER_X (SCROLL_SIZE_CX/2) //<2F>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>X --(<28><>λ:<3A><><EFBFBD><EFBFBD>)
#define LOGIC_CENTER_Y (SCROLL_SIZE_CY/2) //<2F>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>Y --(<28><>λ:<3A><><EFBFBD><EFBFBD>)
class CGlobalDrawMgr:public CModule
{
public:
CGlobalDrawMgr(void);
~CGlobalDrawMgr(void);
virtual void Ini();
virtual CMFCPropertyGridProperty *CreatGridProperty();
//<2F><>Ӧ<EFBFBD><D3A6><EFBFBD>Եĸı<C4B8>
virtual void OnPropertyChanged();
virtual MODULE GetModuleType(){return _DRAW_PROP;};
virtual void Draw(CDC* pDC);
public:
void XorDrawLine(CDC* pDC,CPen&pen,Dbxy pt1,Dbxy pt2);
COLORREF GetBkgndColor(){return m_BkgndColor;};
CSize GetScrollViewSize(){return m_ScrollViewSize;};
Dbxy CPoint2Dbxy(CPoint point);
CPoint Dbxy2CPoint(Dbxy point);
CRect DbRect2CRect(DbRect dbRect);
double Int2Double(int size);
int Double2Int(double d);
CPen& GetObjectPen(){return m_ObjectPen;};
CPen& GetSelObjectPen(){return m_SelObjectPen;};
CPen& GetMouseRectPen(){return m_MouseRectPen;};
CPen& GetSelObjRectPen(){return m_SelObjRectPen;};
CPen& GetSelObjSmallRectPen(){return m_SelObjSmallRectPen;};
CPen& GetCatchNodePen(){return m_CatchNodePen;};
CPen& GetMeasurePen(){return m_MeasurePen;};
CPen& GetObjComponentAreaPen(){return m_ObjComponentAreaPen;};
CPen& GetMarkPointPen(){return m_MarkPointPen;};
CPen& GetTempRectPen(){return m_TempRectPen;};
double GetCatchNodeSize();
COLORREF GetObjNodeColor(){return m_ObjNodeColor;};
COLORREF GetObjFirstNodeColor(){return m_ObjFirstNodeColor;};
COLORREF GetEasyOperationColor(){return m_EasyOperationColor;};
COLORREF GetButtomDefaultColor(){return m_ButtomDefaultColor;};
double GetSelObjRectGap();
double GetRotatoPtDis();
DbRect GetCurPointRect(Dbxy pt,double Scale = 1);
DbRect GetCurCatchRect(Dbxy pt);
bool IsCatchObjNode(){return m_bCatchObjNode;};
bool IsCatchObjLine(){return m_bCatchObjLine;};
bool IsCatchCrossPoint(){return m_bCatchCrossPoint;};
bool IsCatchOrthoPoint(){return m_bCatchOrthoPoint;};
bool IsCatchCutTrack(){return m_bCatchCutTrack;};
void SetCurZoomPoint(CPoint point){m_CurZoomPoint = point;};
CPoint GetCurZoomPoint(){return m_CurZoomPoint;};
void DrawMouseCross(CDC* pDC,Dbxy pt);
void DrawMouseRect(CDC* pDC,Dbxy pt);
void DrawDbxyVec(CDC* pDC,vector<vector<Dbxy>> &vec,Dbxy Offset);
double GetKeyboardMoveDis(){return m_KeyboardMoveDis;};
bool IsShowPlatformPos(){return m_bShowPlatformPos;};
void SetViewToDlg();
void ResetView();
double GetWorkAreaViewScale();
double GetMouseWheelScale(){return m_MouseWheelScale;};
bool IsbRectSel(){return m_bRectSel;};
bool IsbPointSel(){return m_bPointSel;};
bool IsEditLayerObj(){return m_bEditLayerObj;};
bool IsbMultipleSel(){return m_bMultipleSel;};
bool IsbMouseWheel(){return m_bMouseWheel;};
void SetTempViewScale(double val){m_TempViewScale = val;};
int GetCirclePtCnt(double R);
CPoint GetProgressDlgPos(){return m_ProgressDlgPos;};
void DrawTxt(CDC *pDC,CString txt,Dbxy pt);
bool IsbDelOldObj(){return m_bDelOldObj;};
void SetbDelOldObj(bool b){m_bDelOldObj = b;};
private:
DbRect GetCurRect(Dbxy pt,double size);
void DrawAxis(CDC* pDC);
int Logic2Divce(double LogicCoord,X_OR_Y xy);
double Divce2Logic(int DivceCoord,X_OR_Y xy);
private:
CPoint m_LogicCenter;//<2F>߼<EFBFBD><DFBC><EFBFBD><EFBFBD>ĵ<EFBFBD>
CPoint m_DlgLogicCenter;//<2F>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD>ĵ<EFBFBD>
double m_ViewScale;//<2F><>ͼ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
double m_DlgViewScale;//<2F>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
double m_SelObjRectGap;//ѡ<><D1A1>obj <20><>Χ<EFBFBD><CEA7><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
double m_RotatoPtDis;//<2F><>ת<EFBFBD><D7AA><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
double m_MousePointRectSize;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>ľ<EFBFBD><C4BE>εijߴ<C4B3>
double m_MouseCatchRectSize;//<2F><><EFBFBD><EFBFBD><EAB2B6><EFBFBD>ľ<EFBFBD><C4BE>η<EFBFBD>Χ
double m_CatchNodeSize;//<2F><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>node <20><EFBFBD><E3B7BD><EFBFBD>ijߴ<C4B3>
double m_MouseCursorSize;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijߴ<C4B3>
double m_MouseCursorRectSize;//<2F><><EFBFBD><EFBFBD><EFBFBD>м䷽<D0BC><E4B7BD><EFBFBD>ijߴ<C4B3>
CSize m_ScrollViewSize;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ķ<EFBFBD>Χ
CPoint m_ProgressDlgPos;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
CPoint m_ScrollViewCenterPt;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
COLORREF m_BkgndColor; //view<65><77><EFBFBD><EFBFBD>ɫ
bool m_bDrawAxis;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
COLORREF m_AxisColor; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
int m_PenWidth;//<2F>ʵĿ<CAB5><C4BF><EFBFBD>
CPen m_ObjectPen;//Object <20><><EFBFBD>Ʊ<EFBFBD>
CPen m_SelObjectPen;//ѡ<><D1A1><EFBFBD><EFBFBD>Object <20><><EFBFBD>Ʊ<EFBFBD>
CPen m_MouseRectPen;//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
CPen m_SelObjRectPen;//ѡ<><D1A1>obj <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPen m_SelObjSmallRectPen;//ѡ<><D1A1>obj <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPen m_CatchNodePen;//<2F><><EFBFBD><EFBFBD>node <20><><EFBFBD>ı<EFBFBD>
CPen m_MeasurePen;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPen m_ObjComponentAreaPen;//Ԫ<><D4AA><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7>
CPen m_MarkPointPen;//<2F><><EFBFBD>۶<EFBFBD>λ<EFBFBD><CEBB>
CPen m_TempRectPen;//ģ<><C4A3><EFBFBD>߿<EFBFBD>
COLORREF m_ObjNodeColor;//obj <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>ɫ
COLORREF m_ObjFirstNodeColor;//obj <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>ɫ
COLORREF m_EasyOperationColor;//<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
bool m_bCatchObjNode;//<2F>Ƿ<EFBFBD>ץȡobj <20>Ľڵ<C4BD>
bool m_bCatchObjLine;//<2F>Ƿ<EFBFBD>ץȡobj <20><><EFBFBD>߶<EFBFBD><DFB6>ϵĵ<CFB5>
bool m_bCatchCrossPoint;//<2F>Ƿ<EFBFBD>ץȡobj <20>Ľ<EFBFBD><C4BD><EFBFBD>
bool m_bCatchOrthoPoint;//<2F>Ƿ<EFBFBD>ץȡ<D7A5><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bCatchCutTrack;//<2F>Ƿ<EFBFBD>ץȡԪ<C8A1><D4AA><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
CPoint m_CurZoomPoint;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>
double m_KeyboardMoveDis;//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ƶ<EFBFBD><C6B6>ľ<EFBFBD><C4BE><EFBFBD>(<28><>λ:mm)
double m_WorkAreaViewScale;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><DBB2><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
double m_TempViewScale;//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
double m_MouseWheelScale;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
bool m_bShowPlatformPos;//<2F><>ʾƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
bool m_bRectSel;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ
bool m_bPointSel;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ
bool m_bMultipleSel;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ(false <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>֮ǰ<D6AE><C7B0>ѡ<EFBFBD><D1A1>)
bool m_bMouseWheel;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bEditLayerObj;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Ա༭layer <20><>obj
COLORREF m_ButtomDefaultColor;//<2F><>ť<EFBFBD><C5A5>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ɫ
int m_CircleOneMMptCnt;//<2F><><EFBFBD><EFBFBD>Բʱ1mm <20><><EFBFBD>ܳ<EFBFBD><DCB3>ϰ<EFBFBD><CFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><D9B8><EFBFBD>
int m_MinCircleOneMMptCnt;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ(<28>Զ<EFBFBD><D4B6>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ)
bool m_bDelOldObj;//<2F>Ƿ<EFBFBD>ɾ<EFBFBD><C9BE>֮ǰ<D6AE><C7B0>obj
};
extern CGlobalDrawMgr *gDraw;