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.

58 lines
1.8 KiB
C

1 month ago
#pragma once
/*
20250509
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CEmbedPcgͼԪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>ͼ<EFBFBD>а<EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ,<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЩͼԪ<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>CEmbedPcg<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ŀǰÿ<EFBFBD><EFBFBD>CEmbedPcgֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>չͼԪ<EFBFBD><EFBFBD>
ע<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЩͼԪʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<EFBFBD><EFBFBD>CEmbedPcg, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xy<EFBFBD><EFBFBD>
*/
#include "BaseExtend.h"
#include "PathXy.h"
class CBaseExtendTypeEmbedPcg : public CBaseExtendType
{
public:
CBaseExtendTypeEmbedPcg(void);
virtual CBaseExtend* CreateExtendObject(int nType); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<49>ű<EFBFBD><C5B1><EFBFBD>>=100
virtual int GetExtendType(LPCTSTR lpszKey); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ID<49>ű<EFBFBD><C5B1><EFBFBD>>=100
};
////////////////////////////////////////////////////////////
class CBaseExtendTypeEmbedPcgUitility
{
public:
CBaseExtendTypeEmbedPcgUitility();
virtual ~CBaseExtendTypeEmbedPcgUitility();
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class AFX_EXT_CLASS CEmbedPcg : public CBaseExtend, public CXyBlock
{
public:
CEmbedPcg();
virtual ~CEmbedPcg();
public:
virtual int ReadPCG(CFile &fr, const short &ver);
void WritePCG(CFile &fw, const short& ver, int nBaseTabNum);
virtual void Serialize(CArchive& ar, const short& ver) override;
void Write(CFile &fw, const short& ver);
virtual int Read(CFile& fr, const short& ver);
void operator=(CEmbedPcg& pn);
virtual BOOL IsInRange(CRect8& range);
virtual void Draw(CXyDC& dc);
virtual void Draw(CXyDC& dc, void* pHowToView);
virtual void Transform(CXyDC* pDC, float* matrix, BOOL bUndo);
virtual void GetRange(CRect8& range);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
virtual CBaseExtend* CreateClone();
protected:
void OffsetExtendObjs(CXy* xy, CRect8 rect); //ggff2025,ƽ<><C6BD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EBBEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЩͼԪֻ<D4AA><EFBFBD><E6B4A2><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>Ҫƫ<D2AA><C6AB>һ<EFBFBD><D2BB>
public:
virtual int ReadPCG(void *pxp, const short &ver);
};