#pragma once #ifndef AxisProxy_h__ #define AxisProxy_h__ #include "AxisConcrete.h" #include "CommonDefine.h" namespace NChart { class AFX_EXT_CLASS CAxisProxy : public CAbstractAxis { public: CAxisProxy(CString label,CChartDataSet * pDataset,const CRect8& rcClient,DIRECTION direction,AXISTYPE type,LAYOUTPOS pos); virtual ~CAxisProxy(void); virtual void SetRect(const CRect8& rcClient); virtual void Accept(CChartAbstractVisitor *pVisitor); virtual void SetAxisType(AXISTYPE axisType); virtual double OffsetDistance(double val); virtual void Draw(CXyDC &dc); virtual vector & GetTickArray() ; virtual void SetAxisFont(GDFLOGFONT font); virtual DIRECTION GetDirection(); virtual void SetDirection(DIRECTION direction); virtual void SetAsMainAxis(bool isMain); virtual bool IsMain(); virtual int Read(CFile& fr, const short& ver); virtual void Write(CFile& fw, const short& ver); virtual AXISMARKPOS GetAxisMarkPos(); virtual void SetAxisMarkPos(AXISMARKPOS pos); virtual AXISDATAREF GetAxisDataRef(); virtual void SetAxisDataRef(AXISDATAREF axisDataRef); CDrawingObject* HitTest(const CPoint2D& ptHit); AXISTYPE GetAxisType(); CAxisConcrete * GetAxis(); void SetObjectName(CString objName); CAxisConcrete * GetConcrete(){return m_pAxis;} void ChangeAxisType(AXISTYPE type); protected: void Clear(); void CreateAxis(); protected: CAxisConcrete * m_pAxis; }; }//namespace using namespace NChart; #endif // AxisProxy_h__