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

// (DO NOT EDIT: machine generated header) 'FMX.TMSWebGMapsClusters.pas' rev: 32.00 (iOSSIM)

#ifndef Fmx_TmswebgmapsclustersHPP
#define Fmx_TmswebgmapsclustersHPP

#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>
#include <SysInit.hpp>
#include <System.Classes.hpp>
#include <FMX.Graphics.hpp>
#include <FMX.Controls.hpp>
#include <FMX.TMSWebGMapsConst.hpp>
#include <System.SysUtils.hpp>
#include <FMX.TMSWebGMapsCommon.hpp>
#include <FMX.TMSWebGMapsCommonFunctions.hpp>
#include <FMX.TMSWebGMapsPolylines.hpp>
#include <System.UITypes.hpp>
#include <System.UIConsts.hpp>

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

namespace Fmx
{
namespace Tmswebgmapsclusters
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TClusterStyle;
class DELPHICLASS TClusterStyles;
class DELPHICLASS TMapCluster;
class DELPHICLASS TClusterItem;
class DELPHICLASS TClusters;
//-- type declarations -------------------------------------------------------
#pragma pack(push,4)
class PASCALIMPLEMENTATION TClusterStyle : public System::Classes::TCollectionItem
{
	typedef System::Classes::TCollectionItem inherited;
	
private:
	int FTag;
	int FIconOffsetY;
	int FTextOffsetX;
	int FTextOffsetY;
	System::UnicodeString FIconURL;
	int FIconHeight;
	Fmx::Graphics::TFont* FFont;
	System::Uitypes::TAlphaColor FFontColor;
	int FIconWidth;
	int FBackgroundPositionX;
	int FBackgroundPositionY;
	int FIconOffsetX;
	void __fastcall SetBackgroundPositionX(const int Value);
	void __fastcall SetBackgroundPositionY(const int Value);
	void __fastcall SetFont(Fmx::Graphics::TFont* const Value);
	void __fastcall SetFontColor(const System::Uitypes::TAlphaColor Value);
	void __fastcall SetIconHeight(const int Value);
	void __fastcall SetIconOffsetX(const int Value);
	void __fastcall SetIconOffsetY(const int Value);
	void __fastcall SetIconURL(const System::UnicodeString Value);
	void __fastcall SetIconWidth(const int Value);
	void __fastcall SetTag(const int Value);
	void __fastcall SetTextOffsetX(const int Value);
	void __fastcall SetTextOffsetY(const int Value);
	
public:
	__fastcall virtual TClusterStyle(System::Classes::TCollection* Collection);
	__fastcall virtual ~TClusterStyle(void);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
	
__published:
	__property int IconOffsetX = {read=FIconOffsetX, write=SetIconOffsetX, default=0};
	__property int IconOffsetY = {read=FIconOffsetY, write=SetIconOffsetY, default=0};
	__property int TextOffsetX = {read=FTextOffsetX, write=SetTextOffsetX, default=0};
	__property int TextOffsetY = {read=FTextOffsetY, write=SetTextOffsetY, default=0};
	__property int BackgroundPositionX = {read=FBackgroundPositionX, write=SetBackgroundPositionX, default=0};
	__property int BackgroundPositionY = {read=FBackgroundPositionY, write=SetBackgroundPositionY, default=0};
	__property Fmx::Graphics::TFont* Font = {read=FFont, write=SetFont};
	__property System::Uitypes::TAlphaColor FontColor = {read=FFontColor, write=SetFontColor, nodefault};
	__property int IconHeight = {read=FIconHeight, write=SetIconHeight, default=32};
	__property int IconWidth = {read=FIconWidth, write=SetIconWidth, default=32};
	__property System::UnicodeString IconURL = {read=FIconURL, write=SetIconURL};
	__property int Tag = {read=FTag, write=SetTag, default=0};
};

#pragma pack(pop)

#pragma pack(push,4)
class PASCALIMPLEMENTATION TClusterStyles : public System::Classes::TOwnedCollection
{
	typedef System::Classes::TOwnedCollection inherited;
	
public:
	TClusterStyle* operator[](int index) { return this->Items[index]; }
	
private:
	TMapCluster* FOwner;
	HIDESBASE TClusterStyle* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TClusterStyle* Value);
	
protected:
	DYNAMIC System::Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall Update(System::Classes::TCollectionItem* Item);
	virtual void __fastcall Notify(System::Classes::TCollectionItem* Item, System::Classes::TCollectionNotification Action);
	
public:
	__fastcall TClusterStyles(TMapCluster* AOwner);
	HIDESBASE TClusterStyle* __fastcall Add(void)/* overload */;
	__property TClusterStyle* Items[int index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Destroy */ inline __fastcall virtual ~TClusterStyles(void) { }
	
};

#pragma pack(pop)

#pragma pack(push,4)
class PASCALIMPLEMENTATION TMapCluster : public System::Classes::TPersistent
{
	typedef System::Classes::TPersistent inherited;
	
private:
	int FItemIndex;
	int FTag;
	System::Classes::TPersistent* FOwner;
	bool FIgnoreHidden;
	int FGridSize;
	bool FAverageCenter;
	System::UnicodeString FClusterClass;
	int FBatchSize;
	System::UnicodeString FTitle;
	int FMinimumClusterSize;
	bool FZoomOnClick;
	int FMaxZoom;
	System::Classes::TStringList* FCalculator;
	TClusterStyles* FStyles;
	void __fastcall SetTag(const int Value);
	void __fastcall SetAverageCenter(const bool Value);
	void __fastcall SetBatchSize(const int Value);
	void __fastcall SetClusterClass(const System::UnicodeString Value);
	void __fastcall SetGridSize(const int Value);
	void __fastcall SetIgnorHidden(const bool Value);
	void __fastcall SetMaxZoom(const int Value);
	void __fastcall SetTitle(const System::UnicodeString Value);
	void __fastcall SetZoomOnClick(const bool Value);
	void __fastcall SetMinimumClusterSize(const int Value);
	void __fastcall SetCalculator(System::Classes::TStringList* const Value);
	void __fastcall SetStyles(TClusterStyles* const Value);
	
protected:
	DYNAMIC System::Classes::TPersistent* __fastcall GetOwner(void);
	
public:
	__fastcall TMapCluster(System::Classes::TPersistent* AOwner);
	__fastcall virtual ~TMapCluster(void);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
	__property int ItemIndex = {read=FItemIndex, nodefault};
	bool __fastcall FitMapToMarkers(void);
	
__published:
	__property bool AverageCenter = {read=FAverageCenter, write=SetAverageCenter, default=1};
	__property int BatchSize = {read=FBatchSize, write=SetBatchSize, default=0};
	__property System::Classes::TStringList* Calculator = {read=FCalculator, write=SetCalculator};
	__property System::UnicodeString ClusterClass = {read=FClusterClass, write=SetClusterClass};
	__property int GridSize = {read=FGridSize, write=SetGridSize, nodefault};
	__property bool IgnoreHidden = {read=FIgnoreHidden, write=SetIgnorHidden, default=0};
	__property int MaxZoom = {read=FMaxZoom, write=SetMaxZoom, default=-1};
	__property int MinimumClusterSize = {read=FMinimumClusterSize, write=SetMinimumClusterSize, default=2};
	__property TClusterStyles* Styles = {read=FStyles, write=SetStyles};
	__property System::UnicodeString Title = {read=FTitle, write=SetTitle};
	__property bool ZoomOnClick = {read=FZoomOnClick, write=SetZoomOnClick, default=1};
	__property int Tag = {read=FTag, write=SetTag, default=0};
};

#pragma pack(pop)

#pragma pack(push,4)
class PASCALIMPLEMENTATION TClusterItem : public System::Classes::TCollectionItem
{
	typedef System::Classes::TCollectionItem inherited;
	
private:
	Fmx::Controls::TControl* FWebGMaps;
	TMapCluster* FCluster;
	void __fastcall SetCluster(TMapCluster* const Value);
	
public:
	__fastcall virtual TClusterItem(System::Classes::TCollection* Collection);
	__fastcall virtual ~TClusterItem(void);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
	
__published:
	__property TMapCluster* Cluster = {read=FCluster, write=SetCluster};
};

#pragma pack(pop)

#pragma pack(push,4)
class PASCALIMPLEMENTATION TClusters : public System::Classes::TOwnedCollection
{
	typedef System::Classes::TOwnedCollection inherited;
	
public:
	TClusterItem* operator[](int index) { return this->Items[index]; }
	
private:
	Fmx::Controls::TControl* FWebGMaps;
	HIDESBASE TClusterItem* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TClusterItem* Value);
	
protected:
	DYNAMIC System::Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall Update(System::Classes::TCollectionItem* Item);
	virtual void __fastcall Notify(System::Classes::TCollectionItem* Item, System::Classes::TCollectionNotification Action);
	
public:
	__fastcall TClusters(Fmx::Controls::TControl* AWebGMaps);
	HIDESBASE TClusterItem* __fastcall Add(void)/* overload */;
	__property TClusterItem* Items[int index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Destroy */ inline __fastcall virtual ~TClusters(void) { }
	
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
}	/* namespace Tmswebgmapsclusters */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_TMSWEBGMAPSCLUSTERS)
using namespace Fmx::Tmswebgmapsclusters;
#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_TmswebgmapsclustersHPP
