56 lines
2.1 KiB
C++
56 lines
2.1 KiB
C++
#pragma once
|
|
#include "aecdbtext.h"
|
|
|
|
class AecXDbMText : public AecXDbText
|
|
{
|
|
public:
|
|
ACRX_DECLARE_MEMBERS(AecXDbMText);
|
|
private:
|
|
const static Adesk::UInt8 g_nVersion;
|
|
protected:
|
|
double m_nPageWidth; //段落宽度
|
|
double m_nLineSpace; //行间距
|
|
public:
|
|
AecXDbMText();
|
|
~AecXDbMText();
|
|
//virtual BOOL IsValid() const;
|
|
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
|
|
// 返回发现的位置,同时posStart往前移动(以便继续找下一个使用),
|
|
virtual TextPosition FindSubText(const TCHAR *sSubText, TextPosition &posStart, TextRange *pRange = NULL) const;
|
|
// 返回下一次查找的开始位置
|
|
virtual TextPosition ReplaceSubText(const TextPosition &posRep, const TCHAR *sRepText, TextRange *pRange = NULL);
|
|
|
|
//virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
|
|
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler*);
|
|
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const;
|
|
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler*);
|
|
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const;
|
|
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
|
|
virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints,
|
|
AcDbIntArray& osnapModes,
|
|
AcDbIntArray& geomIds) const;
|
|
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,
|
|
const AcGeVector3d& offset);
|
|
|
|
// drived from TDbEntity
|
|
virtual void GetTips(PtrList<ObjInfoUnit> &lstInfo) const; //取动态属性显示数据
|
|
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
|
|
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
|
|
virtual SubText* HitTestText(ADSGePoint3d pt)const { return NULL; }//ok
|
|
|
|
// Helper Method
|
|
//BOOL ConvertFrom(const AcDbMText *pText);
|
|
// 没有考虑转角
|
|
virtual ADSGePoint3d GetExtents() const;
|
|
void GetTextLines(PtrList<TextLine> &lstLines) const;
|
|
|
|
|
|
// Properties
|
|
double GetPageWidth(BOOL bAsPaperUnit = TRUE) const;
|
|
double GetLineSpace(BOOL bAsPaperUnit = TRUE) const;
|
|
|
|
void SetPageWidth(double nWidth, BOOL bAsPaperUnit = TRUE);
|
|
void SetLineSpace(double nWidth, BOOL bAsPaperUnit = TRUE);
|
|
};
|
|
|