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

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

#ifndef Fmx_UecnativelabellayerHPP
#define Fmx_UecnativelabellayerHPP

#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.Rtti.hpp>
#include <System.Classes.hpp>
#include <System.SyncObjs.hpp>
#include <System.UIConsts.hpp>
#include <FMX.uecNativeMapControl.hpp>
#include <FMX.uecNativeShape.hpp>
#include <FMX.uecMapUtil.hpp>
#include <FMX.Types.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.Objects.hpp>
#include <FMX.Platform.hpp>

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

namespace Fmx
{
namespace Uecnativelabellayer
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS THackShape;
class DELPHICLASS TECNativeLabelLayer;
//-- type declarations -------------------------------------------------------
class PASCALIMPLEMENTATION THackShape : public Fmx::Uecnativeshape::TECShape
{
	typedef Fmx::Uecnativeshape::TECShape inherited;
	
public:
	__property _item;
protected:
	/* TECShape.create */ inline __fastcall virtual THackShape(Fmx::Uecnativeshape::TECShapeList* const owner) : Fmx::Uecnativeshape::TECShape(owner) { }
	
public:
	/* TECShape.Destroy */ inline __fastcall virtual ~THackShape() { }
	
};


class PASCALIMPLEMENTATION TECNativeLabelLayer : public Fmx::Uecnativemapcontrol::TECNativeLayer
{
	typedef Fmx::Uecnativemapcontrol::TECNativeLayer inherited;
	
private:
	Fmx::Uecnativeshape::TInfoWindowStyle FStyle;
	Fmx::Uecmaputil::TColor FColor;
	System::Byte FOpacity;
	int FWidth;
	int FYAnchor;
	HIDESBASE int __fastcall getZIndex();
	HIDESBASE void __fastcall setZindex(const int value);
	
protected:
	virtual void __fastcall doOnShapeMove(System::TObject* sender);
	virtual void __fastcall doOnShapeDrag(System::TObject* sender);
	virtual void __fastcall doOnShapeHint(System::TObject* sender);
	virtual void __fastcall doOnPathChange(System::TObject* sender);
	Fmx::Uecnativeshape::TECShapeInfoWindow* __fastcall getWindow(Fmx::Uecnativeshape::TECShape* const shape);
	
public:
	__fastcall virtual TECNativeLabelLayer(Fmx::Uecnativemapcontrol::TNativeMapControl* _FMap, const System::UnicodeString Name);
	void __fastcall Add(Fmx::Uecnativeshape::TECShape* const shape);
	void __fastcall Remove(Fmx::Uecnativeshape::TECShape* const shape);
	void __fastcall setWidth(Fmx::Uecnativeshape::TECShape* const shape, const int value);
	__property Fmx::Uecnativeshape::TInfoWindowStyle Style = {read=FStyle, write=FStyle, nodefault};
	__property Fmx::Uecmaputil::TColor Color = {read=FColor, write=FColor, nodefault};
	__property System::Byte Opacity = {read=FOpacity, write=FOpacity, nodefault};
	__property int Width = {read=FWidth, write=FWidth, nodefault};
	__property int YAnchor = {read=FYAnchor, write=FYAnchor, nodefault};
	__property int ZIndex = {read=getZIndex, write=setZindex, nodefault};
public:
	/* TECNativeLayer.Destroy */ inline __fastcall virtual ~TECNativeLabelLayer() { }
	
};


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