flexutils.hpp

来自「FlexGraphics是一套创建矢量图形的VCL组件」· HPP 代码 · 共 589 行 · 第 1/2 页

HPP
589
字号
// CodeGear C++Builder
// Copyright (c) 1995, 2008 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Flexutils.pas' rev: 20.00

#ifndef FlexutilsHPP
#define FlexutilsHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <Rtlconsts.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Typinfo.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <Consts.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Flexutils
{
//-- type declarations -------------------------------------------------------
typedef StaticArray<System::UnicodeString, 7> FlexUtils__1;

typedef StaticArray<System::UnicodeString, 2> FlexUtils__2;

#pragma option push -b-
enum TFlexNotify { fnName, fnID, fnRect, fnAnchorPoints, fnEditPoints, fnLinkPoints, fnOrder, fnParent, fnLoaded, fnLayers, fnSchemes, fnCreated, fnDestroyed, fnSelect, fnSelectPoint, fnScale, fnPan, fnChange };
#pragma option pop

struct TTranslateInfo;
typedef TTranslateInfo *PTranslateInfo;

struct TTranslateInfo
{
	
public:
	Types::TPoint Center;
	int Rotate;
	bool Mirror;
};


#pragma option push -b-
enum TBitmapDisplay { bdCenter, bdTile, bdStretch };
#pragma option pop

struct TTiledBitmapCache;
typedef TTiledBitmapCache *PTiledBitmapCache;

struct TTiledBitmapCache
{
	
public:
	HBITMAP Handle;
	int Width;
	int Height;
};


typedef DynamicArray<bool> TBooleanArray;

#pragma option push -b-
enum TGradientStyle { gsHorizontal, gsVertical, gsSquare, gsElliptic, gsTopLeft, gsTopRight, gsBottomLeft, gsBottomRight };
#pragma option pop

#pragma option push -b-
enum TFlexFilerProcess { ppUnknown, ppLoad, ppSave, ppCopy };
#pragma option pop

struct TFlexBinHeader;
typedef TFlexBinHeader *PFlexBinHeader;

#pragma pack(push,1)
struct TFlexBinHeader
{
	
public:
	System::Word Command;
	System::Word KeyCount;
	int Size;
};
#pragma pack(pop)


struct TFlexBinPropertyData;
typedef TFlexBinPropertyData *PFlexBinPropertyData;

#pragma pack(push,1)
struct TFlexBinPropertyData
{
	
private:
	struct _TFlexBinPropertyData__1
	{
		
private:
		struct __TFlexBinPropertyData__1__1
		{
			
		};
		
		
		
public:
		int StrCount;
		__TFlexBinPropertyData__1__1 StrData;
	};
	
	
	struct _TFlexBinPropertyData__2
	{
		
	};
	
	
	
	
public:
	unsigned PropType;
	union
	{
		struct 
		{
			_TFlexBinPropertyData__2 VHexData;
			
		};
		struct 
		{
			_TFlexBinPropertyData__1 VStrings;
			
		};
		struct 
		{
			int VString;
			
		};
		struct 
		{
			__int64 VInt64;
			
		};
		struct 
		{
			unsigned VLongWord;
			
		};
		struct 
		{
			System::Word VWord;
			
		};
		struct 
		{
			System::Byte VByte;
			
		};
		struct 
		{
			System::ShortInt VShortInt;
			
		};
		struct 
		{
			int VBoolean;
			
		};
		struct 
		{
			double VDate;
			
		};
		struct 
		{
			System::CurrencyBase VCurrency;
			
		};
		struct 
		{
			double VDouble;
			
		};
		struct 
		{
			float VSingle;
			
		};
		struct 
		{
			int VInteger;
			
		};
		struct 
		{
			short VSmallInt;
			
		};
		
	};
};
#pragma pack(pop)


struct TFlexBinReduceDicData;
typedef TFlexBinReduceDicData *PFlexBinReduceDicData;

#pragma pack(push,1)
struct TFlexBinReduceDicData
{
	
public:
	int DeleteCount;
};
#pragma pack(pop)


#pragma option push -b-
enum TFlexBinKeyStore { fbsObjectName, fbsClassName, fbsPropertyName, fbsPropertyValue };
#pragma option pop

typedef Set<TFlexBinKeyStore, fbsObjectName, fbsPropertyValue>  TFlexBinKeyStoreSet;

class DELPHICLASS TFlexBinaryData;
class DELPHICLASS TFlexFiler;
class PASCALIMPLEMENTATION TFlexBinaryData : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	TFlexFiler* FOwner;
	TFlexFilerProcess FProcess;
	bool FFinished;
	Classes::TStringList* FDictionary;
	int FDicCapacity;
	int FDicDeleteCount;
	TFlexBinKeyStoreSet FKeyDontStore;
	Classes::TStringList* FCmdKeys;
	int FCmdKeyCount;
	int FCmdKeysSize;
	TFlexBinHeader FCmdReadHeader;
	int FCmdReadDataSize;
	void *FCmdReadUserData;
	int FCmdReadUserDataSize;
	bool FCmdReadDataAhead;
	Classes::TStringList* FReadPropLines;
	int FReadPropLine;
	int FWritePropType;
	System::UnicodeString FWritePropName;
	void *FWritePropData;
	int FWritePropDataPos;
	int FWritePropDataSize;
	void __fastcall SetProcess(const TFlexFilerProcess Value);
	void __fastcall SetDicCapacity(const int Value);
	void __fastcall SetDicDeleteCount(const int Value);
	System::UnicodeString __fastcall GetReadKey(int Index);
	int __fastcall GetPropertyDataSize(int PropType, const System::Variant &Value);
	bool __fastcall AddKey(const System::UnicodeString Key, int &KeyIndex);
	int __fastcall AddWriteKey(const System::UnicodeString Key, bool DontStore = false);
	bool __fastcall ReadKey(void);
	void __fastcall WriteKey(const System::UnicodeString Key, int KeyIndex, bool DontStore = false);
	void __fastcall ResetWriteKeys(void);
	bool __fastcall ReadCommandHeaderAndKeys(TFlexBinHeader &Header);
	bool __fastcall WriteCommandHeaderAndKeys(System::Word Command, int DataSize);
	bool __fastcall ReadPropertyData(System::Variant &Value, int &PropType);
	void * __fastcall AllocReadData(void);
	void __fastcall ClearReadData(void);
	void * __fastcall GrowWriteData(int Size);
	void __fastcall ClearWriteData(void);
	void __fastcall CheckDontStore(System::Word Command, bool &DontStoreKey1, bool &DontStoreKey2);
	void __fastcall ReduceDictionary(int ACount);
	
public:
	__fastcall TFlexBinaryData(TFlexFiler* AOwner);
	__fastcall virtual ~TFlexBinaryData(void);
	void __fastcall Reset(void);
	bool __fastcall LoadStrCheck(/* out */ System::UnicodeString &s);
	void __fastcall SaveStr(const System::UnicodeString s);
	void __fastcall SaveStrBuf(void * Buf, int BufSize);
	bool __fastcall ReadCommand(void);
	int __fastcall ReadCommandData(/* out */ System::Variant &Value);
	void * __fastcall ReadCommandUserData(void);
	bool __fastcall WritePropertyCommand(const System::UnicodeString PropName, int PropType, const System::Variant &Value, bool DontStoreValueKey = false);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?