📄 tmsuescherrecords.hpp
字号:
Byte *Data;
virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
public:
__fastcall virtual TEscherDataRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherDataRecord(void);
virtual void __fastcall Load(Tmsuxlsbaserecords::TBaseRecord* &aRecord, int &aPos);
virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
virtual __int64 __fastcall TotalSizeNoSplit(void);
virtual void __fastcall SplitRecords(int &NextPos, int &RealSize, int &NextDwg, const Tmsubreaklist::TBreakList* BreakList);
virtual int __fastcall CompareRec(const TEscherRecord* aRecord);
void __fastcall ClearData(void);
};
struct TDg;
typedef TDg *PDg;
class PASCALIMPLEMENTATION TEscherDgRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
private:
TDg *Dg;
public:
__fastcall virtual TEscherDgRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherDgRecord(const unsigned csp, const unsigned cspidCur, const __int64 FirstShapeId, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherDgRecord(void);
virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
unsigned __fastcall IncMaxShapeId(void);
void __fastcall DecShapeCount(void);
};
class DELPHICLASS TEscherSolverContainerRecord;
class PASCALIMPLEMENTATION TEscherSolverContainerRecord : public TEscherContainerRecord
{
typedef TEscherContainerRecord inherited;
public:
unsigned MaxRuleId;
__fastcall virtual TEscherSolverContainerRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherSolverContainerRecord(void);
unsigned __fastcall IncMaxRuleId(void);
void __fastcall CheckMax(const unsigned aRuleId);
void __fastcall DeleteRef(const TEscherSPRecord* Shape);
void __fastcall FixPointers(void);
void __fastcall ArrangeCopyRowsAndCols(const System::TObject* dSheet);
};
struct TEscherDwgCache
{
public:
bool Destroying;
Word MaxObjId;
TEscherDgRecord* Dg;
TEscherSolverContainerRecord* Solver;
TEscherSpgrContainerRecord* Patriarch;
TEscherAnchorCache* Anchor;
TEscherShapeCache* Shape;
TEscherObjCache* Obj;
TEscherOPTCache* Blip;
} ;
class DELPHICLASS TEscherBStoreRecord;
class PASCALIMPLEMENTATION TEscherBStoreRecord : public TEscherContainerRecord
{
typedef TEscherContainerRecord inherited;
public:
__fastcall virtual TEscherBStoreRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherBStoreRecord(void);
void __fastcall AddRef(const int BlipPos);
void __fastcall Release(const int BlipPos);
virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
};
class DELPHICLASS TEscherDggRecord;
struct TDgg;
typedef TDgg *PDgg;
class PASCALIMPLEMENTATION TEscherDggRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
private:
void __fastcall GetNewCluster(int &DgId, const bool GetNewId, const __int64 ShapeCount, /* out */ __int64 &FirstShapeId);
public:
TDgg *FDgg;
__fastcall virtual TEscherDggRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherDggRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherDggRecord(void);
__int64 __fastcall AddImage(const int DgId, const __int64 LastImageId);
void __fastcall AddNewCluster(int DgId, const __int64 ShapeCount, /* out */ __int64 &FirstShapeId);
void __fastcall DestroyClusters(const int DgId);
void __fastcall GetNewDgIdAndCluster(/* out */ int &DgId, /* out */ __int64 &FirstShapeId);
bool __fastcall IsEmpty(void);
void __fastcall RemoveImage(const int DgId);
};
struct TEscherDwgGroupCache
{
public:
TEscherBStoreRecord* BStore;
TEscherDggRecord* Dgg;
} ;
class DELPHICLASS TEscherSpContainerRecord;
class PASCALIMPLEMENTATION TEscherSpContainerRecord : public TEscherContainerRecord
{
typedef TEscherContainerRecord inherited;
public:
TEscherSPRecord* SP;
TEscherOPTRecord* Opt;
TEscherClientAnchorRecord* ClientAnchor;
int __fastcall Row(void);
int __fastcall Col(void);
public:
#pragma option push -w-inl
/* TEscherContainerRecord.Create */ inline __fastcall virtual TEscherSpContainerRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent) : TEscherContainerRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
#pragma option pop
#pragma option push -w-inl
/* TEscherContainerRecord.Destroy */ inline __fastcall virtual ~TEscherSpContainerRecord(void) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TEscherSpgrContainerRecord : public TEscherContainerRecord
{
typedef TEscherContainerRecord inherited;
public:
__fastcall virtual TEscherSpgrContainerRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherSpgrContainerRecord(void);
};
class PASCALIMPLEMENTATION TEscherClientDataRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
public:
Tmsuxlsbaseclientdata::TBaseClientData* ClientData;
protected:
virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
public:
__fastcall virtual TEscherClientDataRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherClientDataRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherClientDataRecord(void);
virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
virtual __int64 __fastcall TotalSizeNoSplit(void);
virtual bool __fastcall Loaded(void);
virtual bool __fastcall WaitingClientData(/* out */ TMetaClass* &ClientType);
virtual void __fastcall SplitRecords(int &NextPos, int &RealSize, int &NextDwg, const Tmsubreaklist::TBreakList* BreakList);
virtual void __fastcall AssignClientData(const Tmsuxlsbaseclientdata::TBaseClientData* aClientData);
void __fastcall ArrangeCopyRowsAndCols(const int RowOfs, const int ColOfs);
virtual void __fastcall ArrangeInsertRowsAndCols(const int aRowPos, const int aRowCount, const int aColPos, const int aColCount, const Tmsxlsmessages::TSheetInfo &SheetInfo, const bool Forced, const System::TObject* dSheet);
Word __fastcall ObjId(void);
};
class DELPHICLASS TEscherSplitMenuRecord;
class PASCALIMPLEMENTATION TEscherSplitMenuRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
public:
__fastcall TEscherSplitMenuRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
public:
#pragma option push -w-inl
/* TEscherDataRecord.Create */ inline __fastcall virtual TEscherSplitMenuRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent) : TEscherDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
#pragma option pop
#pragma option push -w-inl
/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherSplitMenuRecord(void) { }
#pragma option pop
};
struct TAbsoluteAnchorRect
{
public:
int x1;
int x2;
int y1;
int y2;
} ;
class PASCALIMPLEMENTATION TEscherClientAnchorRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
private:
Tmsuflxmessages::TClientAnchor *Anchor;
TAbsoluteAnchorRect SaveRect;
public:
__fastcall virtual TEscherClientAnchorRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherClientAnchorRecord(const Tmsuflxmessages::TClientAnchor &aAnchor, const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent, const System::TObject* sSheet);
__fastcall virtual ~TEscherClientAnchorRecord(void);
virtual void __fastcall ArrangeInsertRowsAndCols(const int aRowPos, const int aRowCount, const int aColPos, const int aColCount, const Tmsxlsmessages::TSheetInfo &SheetInfo, const bool Forced, const System::TObject* dSheet);
bool __fastcall AllowCopy(const int FirstRow, const int LastRow, const int FirstCol, const int LastCol);
bool __fastcall AllowDelete(const int FirstRow, const int LastRow, const int FirstCol, const int LastCol);
virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
int __fastcall Row(void);
int __fastcall Col(void);
Tmsuflxmessages::TClientAnchor __fastcall GetAnchor();
void __fastcall SetAnchor(const Tmsuflxmessages::TClientAnchor &aAnchor, const System::TObject* sSheet);
void __fastcall RestoreObjectCoords(const System::TObject* dSheet);
void __fastcall SaveObjectCoords(const System::TObject* sSheet);
};
class DELPHICLASS TEscherBSERecord;
class PASCALIMPLEMENTATION TEscherBSERecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
public:
int BStorePos;
void __fastcall AddRef(void);
void __fastcall Release(void);
unsigned __fastcall References(void);
virtual int __fastcall CompareRec(const TEscherRecord* aRecord);
void __fastcall CopyFromData(const void * BSEHeader, const TEscherRecordHeader &BlipHeader, const Classes::TMemoryStream* BlipData);
void __fastcall SaveGraphicToStream(const Classes::TStream* aData, /* out */ Tmsuflxmessages::TXlsImgTypes &aDataType);
public:
#pragma option push -w-inl
/* TEscherDataRecord.Create */ inline __fastcall virtual TEscherBSERecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent) : TEscherDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
#pragma option pop
#pragma option push -w-inl
/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherBSERecord(void) { }
#pragma option pop
};
#pragma pack(push,1)
struct TDg
{
public:
unsigned ShapeCount;
unsigned MaxSpId;
} ;
#pragma pack(pop)
#pragma pack(push,1)
struct TDgg
{
public:
unsigned MaxShapeId;
unsigned FIDclCount;
unsigned ShapesSaved;
unsigned DwgSaved;
} ;
#pragma pack(pop)
typedef unsigned *PLongWord;
class PASCALIMPLEMENTATION TEscherSPRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
public:
unsigned *ShapeId;
protected:
virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
public:
__fastcall virtual TEscherSPRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherSPRecord(const unsigned Pre, const unsigned aShapeId, const unsigned Flags, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherSPRecord(void);
};
typedef DynamicArray<TEscherBSERecord* > tmsUEscherRecords__22;
typedef DynamicArray<unsigned > tmsUEscherRecords__32;
class PASCALIMPLEMENTATION TEscherOPTRecord : public TEscherDataRecord
{
typedef TEscherDataRecord inherited;
private:
DynamicArray<TEscherBSERecord* > BlipPtr;
DynamicArray<unsigned > BlipPos;
WideString FShapeName;
WideString __fastcall GetShapeName();
int __fastcall AddImg(const Tmsuflxmessages::ByteArray Data, const Tmsuflxmessages::TXlsImgTypes DataType);
protected:
virtual TEscherRecord* __fastcall DoCopyTo(const PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, const System::TObject* dSheet);
public:
__fastcall virtual TEscherOPTRecord(const TEscherRecordHeader &aEscherHeader, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherOPTRecord(const Tmsuflxmessages::ByteArray aPict, const Tmsuflxmessages::TXlsImgTypes aPicType, const WideString PicName, const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall TEscherOPTRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent, const int Dummy);
__fastcall TEscherOPTRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent, const int Dummy1, int Dummy2);
__fastcall TEscherOPTRecord(const PEscherDwgGroupCache aDwgGroupCache, const PEscherDwgCache aDwgCache, const TEscherContainerRecord* aParent);
__fastcall virtual ~TEscherOPTRecord(void);
virtual void __fastcall AfterCreate(void);
__property WideString ShapeName = {read=GetShapeName};
virtual void __fastcall SaveToStream(const Tmsuole2impl::TOle2File* DataStream, const Tmsubreaklist::TBreakList* BreakList);
int __fastcall Row(void);
int __fastcall Col(void);
Tmsuflxmessages::TClientAnchor __fastcall GetAnchor();
void __fastcall SetAnchor(const Tmsuflxmessages::TClientAnchor &aAnchor, const System::TObject* sSheet);
void __fastcall ChangeRef(const TEscherBSERecord* aBSE);
void __fastcall ReplaceImg(const Tmsuflxmessages::ByteArray Data, const Tmsuflxmessages::TXlsImgTypes DataType);
void __fastcall GetImageFromStream(const Classes::TStream* Data, /* out */ Tmsuflxmessages::TXlsImgTypes &DataType);
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Tmsuescherrecords */
using namespace Tmsuescherrecords;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Tmsuescherrecords
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -