// CodeGear C++Builder
// Copyright (c) 1995, 2013 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FMX.UXlsXF.pas' rev: 26.00 (Windows)

#ifndef Fmx_UxlsxfHPP
#define Fmx_UxlsxfHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <FMX.UXlsBaseRecords.hpp>	// Pascal unit
#include <FMX.UXlsBaseRecordLists.hpp>	// Pascal unit
#include <FMX.XlsMessages.hpp>	// Pascal unit
#include <FMX.UFlxFormats.hpp>	// Pascal unit
#include <FMX.UXlsStrings.hpp>	// Pascal unit
#include <FMX.UFlxMessages.hpp>	// Pascal unit
#include <System.Contnrs.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Uxlsxf
{
//-- type declarations -------------------------------------------------------
#pragma pack(push,1)
struct DECLSPEC_DRECORD TXFDat
{
public:
	System::Word Font;
	System::Word Format;
	System::Word Options4;
	System::Word Options6;
	System::Word Options8;
	System::Word Options10;
	System::Word Options12;
	unsigned Options14;
	System::Word Options18;
};
#pragma pack(pop)


typedef TXFDat *PXFDat;

class DELPHICLASS TXFRecord;
class DELPHICLASS TFontRecordList;
class DELPHICLASS TFormatRecordList;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TXFRecord : public Fmx::Uxlsbaserecords::TBaseRecord
{
	typedef Fmx::Uxlsbaserecords::TBaseRecord inherited;
	
public:
	int __fastcall CellPattern(void);
	int __fastcall CellFgColorIndex(void);
	int __fastcall CellBgColorIndex(void);
	int __fastcall FontIndex(void);
	int __fastcall FormatIndex(void);
	int __fastcall GetActualFontIndex(TFontRecordList* const FontList);
	Fmx::Uflxformats::TFlxBorderStyle __fastcall GetBorderStyle(const int aPos, const System::Byte FirstBit);
	int __fastcall GetBorderColorIndex(const int aPos, const System::Byte FirstBit);
	Fmx::Uflxformats::TFlxBorderStyle __fastcall GetBorderStyleExt(const int aPos, const System::Byte FirstBit);
	int __fastcall GetBorderColorIndexExt(const int aPos, const System::Byte FirstBit);
	Fmx::Uflxformats::TFlxDiagonalBorder __fastcall DiagonalStyle(void);
	Fmx::Uflxformats::TVFlxAlignment __fastcall VAlign(void);
	Fmx::Uflxformats::THFlxAlignment __fastcall HAlign(void);
	void __fastcall FillMisc(/* out */ bool &Locked, /* out */ bool &Hidden, /* out */ int &Parent, /* out */ bool &WrapText, /* out */ bool &ShrinkToFit, /* out */ System::Byte &Rotation, /* out */ System::Byte &Indent);
	__fastcall TXFRecord(const Fmx::Uflxformats::TFlxFormat &Fmt, TFontRecordList* const FontList, TFormatRecordList* const FormatList);
	Fmx::Uflxformats::TFlxFormat __fastcall FlxFormat(TFontRecordList* const FontList, TFormatRecordList* const FormatList);
	void __fastcall FillUsedColors(const Fmx::Uflxmessages::BooleanArray UsedColors, TFontRecordList* const FontList);
	int __fastcall Rotation(void);
	bool __fastcall WrapText(void);
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TXFRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TBaseRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TXFRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TXFRecordList;
class PASCALIMPLEMENTATION TXFRecordList : public Fmx::Uxlsbaserecordlists::TBaseRecordList
{
	typedef Fmx::Uxlsbaserecordlists::TBaseRecordList inherited;
	
public:
	TXFRecord* operator[](int index) { return Items[index]; }
	
private:
	TXFRecord* __fastcall GetItems(int index);
	void __fastcall SetItems(int index, TXFRecord* const Value);
	
public:
	__property TXFRecord* Items[int index] = {read=GetItems, write=SetItems/*, default*/};
	HIDESBASE int __fastcall Add(TXFRecord* aRecord);
	HIDESBASE void __fastcall Insert(int Index, TXFRecord* aRecord);
	bool __fastcall FindFormat(TXFRecord* const XF, /* out */ int &Index);
	Fmx::Uflxmessages::BooleanArray __fastcall GetUsedColors(const int ColorCount, TFontRecordList* const FontList);
public:
	/* TObjectList.Create */ inline __fastcall TXFRecordList(void)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRecordList() { }
	/* TObjectList.Create */ inline __fastcall TXFRecordList(bool AOwnsObjects)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRecordList(AOwnsObjects) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TXFRecordList(void) { }
	
};


#pragma pack(push,1)
struct DECLSPEC_DRECORD TFontDat
{
public:
	System::Word Height;
	System::Word GrBit;
	System::Word ColorIndex;
	System::Word BoldStyle;
	System::Word SuperSub;
	System::Byte Underline;
	System::Byte Family;
	System::Byte CharSet;
	System::Byte Reserved;
};
#pragma pack(pop)


typedef TFontDat *PFontDat;

class DELPHICLASS TFontRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TFontRecord : public Fmx::Uxlsbaserecords::TBaseRecord
{
	typedef Fmx::Uxlsbaserecords::TBaseRecord inherited;
	
public:
	System::UnicodeString __fastcall Name(void);
	int __fastcall Height(void);
	int __fastcall ColorIndex(void);
	System::Byte __fastcall Family(void);
	System::Byte __fastcall Charset(void);
	Fmx::Uflxformats::SetOfTFlxFontStyle __fastcall Style(void);
	Fmx::Uflxformats::TFlxUnderline __fastcall Underline(void);
	__fastcall TFontRecord(const Fmx::Uflxformats::TFlxFont &aFont);
	Fmx::Uflxformats::TFlxFont __fastcall FlxFont(void);
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TFontRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TBaseRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TFontRecord(void) { }
	
};

#pragma pack(pop)

class PASCALIMPLEMENTATION TFontRecordList : public Fmx::Uxlsbaserecordlists::TBaseRecordList
{
	typedef Fmx::Uxlsbaserecordlists::TBaseRecordList inherited;
	
public:
	TFontRecord* operator[](int index) { return Items[index]; }
	
private:
	TFontRecord* __fastcall GetItems(int index);
	void __fastcall SetItems(int index, TFontRecord* const Value);
	
public:
	__property TFontRecord* Items[int index] = {read=GetItems, write=SetItems/*, default*/};
	HIDESBASE int __fastcall Add(TFontRecord* aRecord);
	HIDESBASE void __fastcall Insert(int Index, TFontRecord* aRecord);
	int __fastcall AddFont(const Fmx::Uflxformats::TFlxFont &aFont);
public:
	/* TObjectList.Create */ inline __fastcall TFontRecordList(void)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRecordList() { }
	/* TObjectList.Create */ inline __fastcall TFontRecordList(bool AOwnsObjects)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRecordList(AOwnsObjects) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TFontRecordList(void) { }
	
};


class DELPHICLASS TStyleRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TStyleRecord : public Fmx::Uxlsbaserecords::TBaseRecord
{
	typedef Fmx::Uxlsbaserecords::TBaseRecord inherited;
	
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TStyleRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TBaseRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TStyleRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TFormatRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TFormatRecord : public Fmx::Uxlsbaserecords::TBaseRecord
{
	typedef Fmx::Uxlsbaserecords::TBaseRecord inherited;
	
public:
	int __fastcall FormatId(void);
	System::UnicodeString __fastcall Value(void);
	__fastcall TFormatRecord(const System::UnicodeString Fmt, const int NewID);
public:
	/* TBaseRecord.Create */ inline __fastcall virtual TFormatRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TBaseRecord(aId, aData, aDataSize) { }
	/* TBaseRecord.Destroy */ inline __fastcall virtual ~TFormatRecord(void) { }
	
};

#pragma pack(pop)

class PASCALIMPLEMENTATION TFormatRecordList : public Fmx::Uxlsbaserecordlists::TBaseRecordList
{
	typedef Fmx::Uxlsbaserecordlists::TBaseRecordList inherited;
	
public:
	System::UnicodeString operator[](int index) { return Format[index]; }
	
private:
	System::UnicodeString __fastcall GetFormat(int FormatId);
	TFormatRecord* __fastcall GetItems(int index);
	void __fastcall SetItems(int index, TFormatRecord* const Value);
	
public:
	__property TFormatRecord* Items[int index] = {read=GetItems, write=SetItems};
	HIDESBASE int __fastcall Add(TFormatRecord* aRecord);
	HIDESBASE void __fastcall Insert(int Index, TFormatRecord* aRecord);
	
private:
	bool Sorted;
	
public:
	bool __fastcall Find(const int aItem, int &Index);
	HIDESBASE void __fastcall Sort(void);
	__property System::UnicodeString Format[int index] = {read=GetFormat/*, default*/};
	int __fastcall AddFormat(const System::UnicodeString Fmt);
public:
	/* TObjectList.Create */ inline __fastcall TFormatRecordList(void)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRecordList() { }
	/* TObjectList.Create */ inline __fastcall TFormatRecordList(bool AOwnsObjects)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRecordList(AOwnsObjects) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TFormatRecordList(void) { }
	
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE System::UnicodeString __fastcall XlsBuiltInFormats(const int z);
}	/* namespace Uxlsxf */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_UXLSXF)
using namespace Fmx::Uxlsxf;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX)
using namespace Fmx;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Fmx_UxlsxfHPP
