www.pudn.com > 44757463.rar > Ellipse.h


// Ellipse.h: interface for the CEllipse class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_ELLIPSE_H__D4BD362E_2010_4806_97A1_98C579C3C57D__INCLUDED_) 
#define AFX_ELLIPSE_H__D4BD362E_2010_4806_97A1_98C579C3C57D__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Shape.h" 
 
class CEllipse : public CShape   
{ 
	DECLARE_SERIAL(CEllipse) 
		///////////////////////////////////// 
public: 
public: 
	CEllipse();	         	 
    CEllipse(COLORREF color,int penWidth,float angle); 
	CEllipse(CEllipse * const pEllipse); 
    ~CEllipse();  
public: 
	//virtual operations 
	virtual void Serialize( CArchive& ); 
	virtual void SetPtData(CArray& flArrayX,CArray& flArrayY); 
	virtual void GetPtData(CArray& flArrayX,CArray& flArrayY); 
	virtual void Draw(CDC *pDC,COLORREF color,COLORREF fillColor,int penWidth); 
	virtual void DrawPoints(CDC *pDC,COLORREF color); 
	virtual void DrawPointsCutTo(CDC *pDC,COLORREF color,CFlRect m_rectFrom,CRect m_rectTo); 
	virtual int IsPointinRegion(POINT point); 
	virtual void CreatGraph(CArray& ptArray,int nPenWidth,COLORREF color,COLORREF fillColor,SHAPE_FILLSTYLE nStyle=_shape_none_fill); 
	virtual void CreatGraph(CArray& flArrayX,CArray& flArrayY,int nPenWidth,COLORREF color,COLORREF fillColor,SHAPE_FILLSTYLE nStyle=_shape_none_fill); 
	virtual void DrawCutToRect(CDC *pDC,COLORREF color,COLORREF fillColor,int penWidth,CFlRect m_rectFrom,CRect m_rectTo); 
	 
	virtual void Move(CDC *pDC,float stepx,float stepy); 
	virtual void PartMove(CDC *pDC,float PrevX,float PrevY,float CurX,float CurY); 
	virtual void Rotate(CDC *pDC,float CX,float CY,float flAngle); 
	virtual void Magnify(CDC *pDC,float CX,float CY,float flScale); 
	//在矩形内上下反转 
	virtual void TopToBottom(CDC* pDC,CRect rect); 
	//在矩形内左右反转 
	virtual void LeftToRight(CDC* pDC,CRect rect); 
	virtual CShape* GetCopy(); 
	virtual void ExPort(FILE* outStream);//增加导出txt功能时用 
	virtual void ImPort(FILE* InStream); 
	virtual CString GetNameString(); 
	virtual GRAPH_SHAPE_TYPE GetShapeKind(){ 
		return _shape_Ellipse; 
	} 
	virtual void RefreshData(bool bRefresh); 
	virtual int IsInRect(CRect rect); 
	virtual CRect GetBoundaryRect(); 
	virtual CPoint GetCenterPoint(); 
	virtual int GetPtState(float flx,float fly,float flRate); 
	virtual float GetSelectLineRate(); 
	//Begin of deletion 
	//For Project GraphSoft,delete by FNST)Xiagongli 2004.3.31 
	 
	//virtual int GetPointNum(){ 
	//	return 4; 
	//} 
	//end of deletion 
protected: 		 
	void BreEllipse(CDC *pDC,float xc ,float yc,float fla,float flb,COLORREF color,double angle=0,int nPenWidth=1); 
	void FillEllipse(CDC *pDC,float xc ,float yc,float fla,float flb,double angle); 
	//////////////////// 
private: 
	 
	//save(start) 
	float m_fla; 
	float m_flb;	 
	float m_flCenterx; 
	float m_flCentery; 
	//save(end) 
	 
	//not save(start) 
	//temp(start) 
	float m_flaTemp; 
	float m_flbTemp;	 
	float m_flCenterxTemp; 
	float m_flCenteryTemp; 
 
	float m_flAnglePrev; 
	//temp(end) 
	//not save(end) 
}; 
 
#endif // !defined(AFX_ELLIPSE_H__D4BD362E_2010_4806_97A1_98C579C3C57D__INCLUDED_)