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

// (DO NOT EDIT: machine generated header) 'uecBingRest.pas' rev: 37.00 (Windows)

#ifndef uecBingRestHPP
#define uecBingRestHPP

#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 <Vcl.StdCtrls.hpp>
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>
#include <UECMapUtil.hpp>
#include <uecNativeShape.hpp>
#include <uecHttp.hpp>

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

namespace Uecbingrest
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TecBingRest;
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TBingImagerySet : unsigned char { bisAerial, bisAerialWithLabels, bisBirdseye, bisBirdseyeWithLabels, bisRoad, bisCanvasDark, bisCanvasLight, bisCanvasGray, bisOrdnanceSurvey, bisRoadOnDemand, bisBirdseyeV2, bisBirdseyeV2WithLabels, bisStreetside, bisAerialWithLabelsOnDemand };

#pragma pack(push,4)
class PASCALIMPLEMENTATION TecBingRest : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	Uechttp::TuecHttp* FHttp;
	System::UnicodeString FKey;
	System::UnicodeString FImageUrl;
	System::UnicodeString Fcopyright;
	System::UnicodeString FLocale;
	bool FTraffic;
	bool FBuildings;
	bool FForeground;
	bool FBackground;
	bool FSSL;
	TBingImagerySet FImagery;
	void __fastcall setSSL(const bool value);
	void __fastcall setTraffic(const bool value);
	void __fastcall setBuildings(const bool value);
	void __fastcall setForeGround(const bool value);
	void __fastcall setBackGround(const bool value);
	void __fastcall setKey(const System::UnicodeString value);
	System::UnicodeString __fastcall QuadKey(int x, int y, int z);
	void __fastcall SetImagery(const TBingImagerySet value);
	System::UnicodeString __fastcall getElevation(const System::UnicodeString LatLng);
	
public:
	__fastcall TecBingRest(const System::UnicodeString sKey);
	__fastcall virtual ~TecBingRest();
	void __fastcall TileFilename(System::UnicodeString &TileFilename, const int x, const int y, const int z);
	void __fastcall getAltitudes(Uecnativeshape::TECShapeLine* const Line, Uecnativeshape::TOnGetAltitude Event = 0x0);
	double __fastcall Altitude(const double Lat, const double Lng);
	__property System::UnicodeString Copyright = {read=Fcopyright};
	__property TBingImagerySet Imagery = {read=FImagery, write=SetImagery, nodefault};
	__property System::UnicodeString ImageUrl = {read=FImageUrl};
	__property System::UnicodeString Key = {read=FKey, write=setKey};
	__property System::UnicodeString Locale = {read=FLocale, write=FLocale};
	__property bool SSL = {read=FSSL, write=setSSL, nodefault};
	__property bool Traffic = {read=FTraffic, write=setTraffic, nodefault};
	__property bool Buildings = {read=FBuildings, write=setBuildings, nodefault};
	__property bool Foreground = {read=FForeground, write=setForeGround, nodefault};
	__property bool Background = {read=FBackground, write=setBackGround, nodefault};
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
}	/* namespace Uecbingrest */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UECBINGREST)
using namespace Uecbingrest;
#endif
#pragma pack(pop)
#pragma option pop

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