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.

34 lines
1.1 KiB
C

#pragma once
#include "GlobalDefine.h"
#include "ObjBase.h"
#include "SmartPtr.h"
//<2F><><EFBFBD>겶׽<EAB2B6><D7BD><EFBFBD><EFBFBD>
class CCatchMgr
{
public:
CCatchMgr(void);
~CCatchMgr(void);
void Clear();
void Catch(Dbxy DownPt,Dbxy pt,CDC* pDC,bool bCatchTemp);
void ResetCatchPoint(CDC* pDC);
bool GetCatchPoint(CPoint &pt);
private:
void CatchNode(DbRect rect);
void CatchIntersectPointOfLines(DbRect rect);
void CatchIntersectPointWithMouse(DbRect rect);
void ResetCatchNode();
bool HasCatchPoint();
void DrawCatchPoint(CCatchPoint pt,CDC* pDC);
void DrawCatchPointExt(CCatchPoint pt,CDC* pDC);
CCatchPoint GetNearestCatchPt(Dbxy pt);
void GetLineInRect(DbRect &rect,bool bCatchTemp);
void CatchOrthoPoint(Dbxy DownPt,Dbxy MousePt,DbRect rect);
void CatchCutTrack(DbRect rect);
private:
vector<DbLine> m_DataPtLineVec;//<2F><><EFBFBD><EFBFBD>rect <20><>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>߶<EFBFBD>
vector<CCatchPoint> m_CatchPointVec;//<2F><><EFBFBD><EFBFBD><EFBFBD>Χ<EAB7B6>ڵIJ<DAB5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CCatchPoint m_CatchNode;//֮ǰץȡ<D7A5>ĵ<EFBFBD>
};
extern CCatchMgr gCatchMgr;