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


// Line.h: interface for the CLine class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_LINE_H__45399653_2641_4005_A802_E99F59970D51__INCLUDED_) 
#define AFX_LINE_H__45399653_2641_4005_A802_E99F59970D51__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Shape.h" 
 
class CLine : public CShape   
{ 
	//for serialization 
	DECLARE_SERIAL(CLine) 
    ///////////////////////////////////// 
public: 
	CLine();          	 
    CLine(COLORREF color,int penWidth,float angle); 
	CLine(CLine * const line); 
	virtual ~CLine(); 
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_Line; 
	} 
	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 2; 
	//} 
	 
	//end of deletion 
protected: 
   	 
	void Draw_DDALine(CPoint ptStart,CPoint ptEnd,CDC *pDC,int penWidth,COLORREF color); 
	//////////////////// 
private: 
	//save(start) 
	float m_flStartx; 
	float m_flStarty; 
	float m_flEndx; 
	float m_flEndy; 
	//save(end) 
	 
	//not save(start) 
	//temp(start) 
	float m_flStartxTemp; 
	float m_flStartyTemp; 
	float m_flEndxTemp; 
	float m_flEndyTemp;	 
 
	 
	//temp(end) 
	//not save(end) 
}; 
 
#endif // !defined(AFX_LINE_H__45399653_2641_4005_A802_E99F59970D51__INCLUDED_)