www.pudn.com > jtlab.rar > Createcmd.h


#ifndef _CreateCmd_h_ 
#define _CreateCmd_h_ 
 
#include "base.h" 
#include "Command.h" 
#include "Entity.h" 
#ifdef __cplusplus 
 
/////////////////////////////////////////////////////////////// 
//	CCreateLine 
  
class CCreateLine : public CCommand 
{ 
private: 
	Position m_begin;	// 直线的起点 
	Position m_end;		// 直线的终点  
public: 
	CCreateLine() ; 
	~CCreateLine() ; 
 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	int		Cancel() ; 
} ; 
 
/////////////////////////////////////////////////////////////// 
//	CCreateRect 
  
class CCreateRect : public CCommand 
{ 
private: 
	Position m_LeftTop; 
	Position m_RightBottom; 
public: 
	CCreateRect() ; 
	~CCreateRect() ; 
 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	int		Cancel() ; 
} ; 
 
/////////////////////////////////////////////////////////////// 
//	CCreateBezier 
class CCreateBezier : public CCommand 
{ 
private: 
public:	 
	POLYP* m_poly; 
	int m_points; 
	Position m_fp1,m_ep1; 
	CCreateBezier() ; 
	~CCreateBezier() ; 
 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	int		Cancel() ; 
} ; 
/////////////////////////////////////////////////////////////// 
//	CCreateFill 
class CCreateFill : public CCommand 
{ 
private: 
public:	 
	POLYP* m_poly; 
	int m_points; 
	Position m_fp1,m_ep1; 
 
	CCreateFill() ; 
	~CCreateFill() ; 
 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	int		Cancel() ; 
} ; 
/////////////////////////////////////////////////////////////// 
//CCreateCircle 
  
class CCreateCircle : public CCommand 
{ 
private: 
	Position	m_center ; 
	Position	m_pos ; 
public: 
	CCreateCircle() ; 
	~CCreateCircle() ; 
 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	int		Cancel() ; 
} ; 
 
/////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////// 
//CCreateArc 
  
class CCreateArc : public CCommand 
{ 
private: 
	Position m_center; 
	Position m_begin; 
	Position m_end ; 
public: 
	CCreateArc() ; 
	~CCreateArc() ; 
 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	int		Cancel() ; 
} ; 
#endif // #ifdef __cplusplus 
 
/////////////////////////////////////////////////////////////// 
//CCreateCut 
class CCreateCut : public CCommand   
{ 
private: 
CRectangle m_rect; 
    Position m_LeftTop; 
	Position m_RightBottom; 
BOOL rl; 
public:	 
	Position m_begin1;	// 直线的起点 
	Position m_end1;		// 直线的终点  
	CCreateCut() ; 
	~CCreateCut() ; 
	int		GetType(); 
	int		OnLButtonDown(UINT nFlags, const Position& pos) ; 
	int		OnMouseMove(UINT nFlags, const Position& pos) ; 
	int		OnRButtonDown(UINT nFlags, const Position& pos) ; 
	void    Bisection(Position p1,Position p2,CRectangle rect,bool &vis); 
	int		Cancel() ; 
}; 
 
#endif