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.

56 lines
1.5 KiB
C++

#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<CTick> & 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__