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

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

#ifndef Fmx_UeclegendpanelHPP
#define Fmx_UeclegendpanelHPP

#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <System.SysUtils.hpp>
#include <System.Types.hpp>
#include <System.UITypes.hpp>
#include <System.Classes.hpp>
#include <System.Variants.hpp>
#include <FMX.Types.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.Graphics.hpp>
#include <FMX.Objects.hpp>
#include <System.UIConsts.hpp>
#include <FMX.Layouts.hpp>
#include <FMX.Controls.Presentation.hpp>
#include <FMX.StdCtrls.hpp>
#include <FMX.uecNativeMapControl.hpp>

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

namespace Fmx
{
namespace Ueclegendpanel
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TPanelCustomLegende;
class DELPHICLASS TItemLegend;
class DELPHICLASS TPanelLegend;
class DELPHICLASS TLegendComponent;
//-- type declarations -------------------------------------------------------
typedef Fmx::Graphics::TBitmap TGraphic;

typedef System::Uitypes::TAlphaColor TColor;

class PASCALIMPLEMENTATION TPanelCustomLegende : public Fmx::Objects::TRectangle
{
	typedef Fmx::Objects::TRectangle inherited;
	
private:
	TColor __fastcall getBorderColor();
	void __fastcall setBorderColor(const TColor AColor);
	TColor __fastcall getColor();
	void __fastcall setColor(const TColor AColor);
	
public:
	__property TColor BorderColor = {read=getBorderColor, write=setBorderColor, nodefault};
	__property TColor Color = {read=getColor, write=setColor, nodefault};
public:
	/* TRectangle.Create */ inline __fastcall virtual TPanelCustomLegende(System::Classes::TComponent* AOwner) : Fmx::Objects::TRectangle(AOwner) { }
	
public:
	/* TShape.Destroy */ inline __fastcall virtual ~TPanelCustomLegende() { }
	
};


enum DECLSPEC_DENUM TVisualAlignment : unsigned char { valLeft, valRight };

enum DECLSPEC_DENUM TVisualStyle : unsigned char { vsFrame, vsFillRect, vsSolidLine, vsDotLine, vsDashLine, vsDashDotLine };

class PASCALIMPLEMENTATION TItemLegend : public Fmx::Objects::TRectangle
{
	typedef Fmx::Objects::TRectangle inherited;
	
private:
	System::Classes::TNotifyEvent FOnItemClick;
	TPanelCustomLegende* FColor;
	TPanelCustomLegende* FSepa;
	TPanelCustomLegende* FPCaption;
	Fmx::Stdctrls::TLabel* FCaption;
	Fmx::Objects::TLine* FLine;
	Fmx::Objects::TImage* FImage;
	System::TObject* FTagObject;
	TVisualStyle FVisualStyle;
	TVisualAlignment FVisualAlignment;
	Fmx::Types::TTextAlign FItemAlignment;
	TColor __fastcall getColor();
	void __fastcall setColor(const TColor AColor);
	TColor __fastcall getBorderColor();
	void __fastcall setBorderColor(const TColor AColor);
	TGraphic* __fastcall getGraphic();
	void __fastcall setGraphic(TGraphic* const AGraphic);
	System::UnicodeString __fastcall getCaption();
	void __fastcall setCaption(const System::UnicodeString ACaption);
	void __fastcall setItemAlignment(const Fmx::Types::TTextAlign AValue);
	void __fastcall setVisualAlignment(const TVisualAlignment AValue);
	void __fastcall setVisualStyle(const TVisualStyle AValue);
	void __fastcall setVisualWeight(const int AValue);
	int __fastcall getVisualWeight();
	void __fastcall setVisualWidth(const int AValue);
	int __fastcall getVisualWidth();
	void __fastcall setFontSize(const int AValue);
	int __fastcall getFontSize();
	void __fastcall setFontName(const System::UnicodeString AValue);
	System::UnicodeString __fastcall getFontName();
	void __fastcall setFontColor(const TColor AValue);
	TColor __fastcall getFontColor();
	void __fastcall setItemHeight(const int AValue);
	int __fastcall getItemHeight();
	int __fastcall MinHeight();
	void __fastcall doclick(System::TObject* Sender);
	
public:
	__fastcall virtual TItemLegend(System::Classes::TComponent* AOwner);
	bool __fastcall isGraphic();
	__property TColor ItemColor = {read=getColor, write=setColor, nodefault};
	__property TColor ItemBorderColor = {read=getBorderColor, write=setBorderColor, nodefault};
	__property System::UnicodeString ItemCaption = {read=getCaption, write=setCaption};
	__property TGraphic* ItemGraphic = {read=getGraphic, write=setGraphic};
	__property TVisualStyle ItemVisualStyle = {read=FVisualStyle, write=setVisualStyle, nodefault};
	__property int ItemVisualWidth = {read=getVisualWidth, write=setVisualWidth, nodefault};
	__property int ItemVisualWeight = {read=getVisualWeight, write=setVisualWeight, nodefault};
	__property TVisualAlignment ItemVisualAlignment = {read=FVisualAlignment, write=setVisualAlignment, nodefault};
	__property Fmx::Types::TTextAlign ItemAlignment = {read=FItemAlignment, write=setItemAlignment, nodefault};
	__property int ItemFontSize = {read=getFontSize, write=setFontSize, nodefault};
	__property System::UnicodeString ItemFontName = {read=getFontName, write=setFontName};
	__property TColor ItemFontColor = {read=getFontColor, write=setFontColor, nodefault};
	__property int ItemHeight = {read=getItemHeight, write=setItemHeight, nodefault};
	__property System::TObject* ItemObject = {read=FTagObject, write=FTagObject};
public:
	/* TShape.Destroy */ inline __fastcall virtual ~TItemLegend() { }
	
};


class PASCALIMPLEMENTATION TPanelLegend : public TPanelCustomLegende
{
	typedef TPanelCustomLegende inherited;
	
private:
	Fmx::Layouts::TScrollBox* FScrollBox;
	Fmx::Stdctrls::TLabel* FFooter;
	Fmx::Stdctrls::TLabel* FTitle;
	System::Classes::TList* FList;
	System::Classes::TNotifyEvent FOnItemClick;
	int FItemHeight;
	int FVisualWeight;
	int FVisualWidth;
	int FFontSize;
	Fmx::Types::TTextAlign FItemAlignment;
	TVisualAlignment FVisualAlignment;
	void __fastcall doClick(System::TObject* Sender);
	void __fastcall setItemHeight(const int AValue);
	void __fastcall setVisualAlignment(const TVisualAlignment AValue);
	void __fastcall setItemAlignment(const Fmx::Types::TTextAlign AValue);
	void __fastcall setVisualWeight(const int AValue);
	void __fastcall setVisualWidth(const int AValue);
	void __fastcall setFontSize(const int AValue);
	void __fastcall setTitleFontSize(const int AValue);
	int __fastcall getTitleFontSize();
	System::UnicodeString __fastcall getTitleFontName();
	void __fastcall setTitleFontName(const System::UnicodeString AValue);
	TColor __fastcall getFontColor();
	void __fastcall setFontColor(const TColor AValue);
	System::UnicodeString __fastcall getTitle();
	void __fastcall setTitle(const System::UnicodeString ATitle);
	Fmx::Types::TTextAlign __fastcall getTitleAlignment();
	void __fastcall setTitleAlignment(const Fmx::Types::TTextAlign AValue);
	Fmx::Types::TTextAlign __fastcall getFooterAlignment();
	void __fastcall setFooterAlignment(const Fmx::Types::TTextAlign AValue);
	System::UnicodeString __fastcall getFooter();
	void __fastcall setFooter(const System::UnicodeString ATitle);
	void __fastcall setFooterFontSize(const int AValue);
	int __fastcall getFooterFontSize();
	int __fastcall getCount();
	TItemLegend* __fastcall getItem(int index);
	
public:
	__fastcall virtual TPanelLegend(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TPanelLegend();
	TItemLegend* __fastcall Add(const System::UnicodeString ACaption, const TColor AColor, const TVisualStyle AStyle = (TVisualStyle)(0x1), System::TObject* const AObject = (System::TObject*)(0x0))/* overload */;
	TItemLegend* __fastcall Add(const System::UnicodeString ACaption, TGraphic* const AGraphic, System::TObject* const AObject = (System::TObject*)(0x0))/* overload */;
	void __fastcall Delete(int index);
	__property int Count = {read=getCount, nodefault};
	__property TItemLegend* Items[int Index] = {read=getItem};
	__property TVisualAlignment VisualAlignment = {read=FVisualAlignment, write=setVisualAlignment, nodefault};
	__property int VisualWidth = {read=FVisualWidth, write=setVisualWidth, nodefault};
	__property int VisualWeight = {read=FVisualWeight, write=setVisualWeight, nodefault};
	__property Fmx::Types::TTextAlign ItemAlignment = {read=FItemAlignment, write=setItemAlignment, nodefault};
	__property int ItemFontSize = {read=FFontSize, write=setFontSize, nodefault};
	__property int ItemHeight = {read=FItemHeight, write=setItemHeight, nodefault};
	__property int TitleFontSize = {read=getTitleFontSize, write=setTitleFontSize, nodefault};
	__property int FooterFontSize = {read=getFooterFontSize, write=setFooterFontSize, nodefault};
	__property System::UnicodeString FontName = {read=getTitleFontName, write=setTitleFontName};
	__property TColor FontColor = {read=getFontColor, write=setFontColor, nodefault};
	__property System::UnicodeString Title = {read=getTitle, write=setTitle};
	__property Fmx::Types::TTextAlign TitleAlignment = {read=getTitleAlignment, write=setTitleAlignment, nodefault};
	__property System::UnicodeString Footer = {read=getFooter, write=setFooter};
	__property Fmx::Types::TTextAlign FooterAlignment = {read=getFooterAlignment, write=setFooterAlignment, nodefault};
	__property System::Classes::TNotifyEvent OnItemClick = {read=FOnItemClick, write=FOnItemClick};
};


#pragma pack(push,4)
class PASCALIMPLEMENTATION TLegendComponent : public Fmx::Uecnativemapcontrol::TECCustomTool
{
	typedef Fmx::Uecnativemapcontrol::TECCustomTool inherited;
	
private:
	TPanelLegend* FLegend;
	
public:
	__fastcall virtual TLegendComponent(Fmx::Uecnativemapcontrol::TNativeMapControl* Map);
	__fastcall virtual ~TLegendComponent();
	__property TPanelLegend* Legend = {read=FLegend};
};

#pragma pack(pop)

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