|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include ".\text.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CXyDC;
|
|
|
|
|
|
|
|
|
|
|
|
/* @brief <20><><EFBFBD>α<EFBFBD>ע */
|
|
|
|
|
|
class AFX_EXT_CLASS CRectLabel
|
|
|
|
|
|
: public CText
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CRectLabel(void);
|
|
|
|
|
|
~CRectLabel(void);
|
|
|
|
|
|
|
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>CBaseObject<63><74><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Serialize(CArchive& ar, const short &ver) override;
|
|
|
|
|
|
virtual int Read(CFile& fr, const short& ver);
|
|
|
|
|
|
virtual void Write(CFile& fw, const short& ver);
|
|
|
|
|
|
virtual void WriteDML(CFile &fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
virtual int ReadDML(CFile &fr, const short &ver);
|
|
|
|
|
|
virtual void WritePCG(CFile &fw, const short& ver, int nBaseTabNum);
|
|
|
|
|
|
virtual int ReadPCG(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool GetRange(CRect8& range);
|
|
|
|
|
|
virtual BOOL IsInRange(CRect8& range);
|
|
|
|
|
|
virtual CRect8 GetRect(void);
|
|
|
|
|
|
virtual void SetRect(CRect8 rect);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void ScaleCoor(double xs, double ys, double dx, double dy);
|
|
|
|
|
|
virtual void ScaleCoordinate(double sx, double sy, int mode); //mode=0:<3A>ӣ<EFBFBD>1:<3A><><EFBFBD><EFBFBD>2:<3A>ˣ<EFBFBD>3:<3A><>
|
|
|
|
|
|
|
|
|
|
|
|
// typeΪУ<CEAA><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Уλ<D0A3><CEBB><EFBFBD>ĵ<EFBFBD>Уλ<D0A3><CEBB>;pValueΪ<65><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC>CCalibrate2<65><32>CCalibrate4<65><34>
|
|
|
|
|
|
virtual void Calibrate(int type, void* pValue);
|
|
|
|
|
|
virtual void ExchangeXY(void);
|
|
|
|
|
|
virtual void ExchangeXY(void* pProjection); //ת<><D7AA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD>,CPrljectio* pProjection
|
|
|
|
|
|
virtual void Rotate(double xs, double ys, double dAngle);
|
|
|
|
|
|
virtual void Offset(double dx, double dy);
|
|
|
|
|
|
void operator = (CRectLabel& rl);
|
|
|
|
|
|
void GetText(CText& text);
|
|
|
|
|
|
|
|
|
|
|
|
CCurveEx* GetCurve();
|
|
|
|
|
|
|
|
|
|
|
|
// <20>жϵ<D0B6><CFB5><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//
|
|
|
|
|
|
// __2_|_1__
|
|
|
|
|
|
// 3 | | | 0
|
|
|
|
|
|
// ---|----|----|---
|
|
|
|
|
|
// 4 | | | 7
|
|
|
|
|
|
// --5---6--
|
|
|
|
|
|
// |
|
|
|
|
|
|
//
|
|
|
|
|
|
///////////////////////////////////////////////////////////////
|
|
|
|
|
|
int GetAnchorEdgeIndex(CPoint2D point);
|
|
|
|
|
|
virtual void CreateCurve();
|
|
|
|
|
|
void CreateRectCurve();
|
|
|
|
|
|
void CreateEllipseCurve(double dRadiusX, double dRadiusY);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
DWORD m_nType; //Ϊ<><CEAA><EFBFBD><EFBFBD>չ
|
|
|
|
|
|
double m_dAnchorWidth; // ê<><C3AA><EFBFBD><EFBFBD>, Ĭ<><C4AC>Ϊ1/4
|
|
|
|
|
|
CPoint2D m_ptAnchor;
|
|
|
|
|
|
CRect8 m_rect;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CCurveEx* m_pCurve;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int ReadPCG(void *pxp, const short &ver);
|
|
|
|
|
|
};
|
|
|
|
|
|
|