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

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

#ifndef Fmx_Tms7segledHPP
#define Fmx_Tms7segledHPP

#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 <FMX.Types.hpp>	// Pascal unit
#include <FMX.Objects.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <System.Types.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <System.Math.hpp>	// Pascal unit
#include <FMX.TMSBaseControl.hpp>	// Pascal unit
#include <FMX.Controls.hpp>	// Pascal unit
#include <System.UIConsts.hpp>	// Pascal unit
#include <FMX.Styles.hpp>	// Pascal unit
#include <FMX.Graphics.hpp>	// Pascal unit
#include <System.Math.Vectors.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Tms7segled
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TTMSFMX7SegLEDShape;
class PASCALIMPLEMENTATION TTMSFMX7SegLEDShape : public Fmx::Tmsbasecontrol::TTMSFMXBaseShape
{
	typedef Fmx::Tmsbasecontrol::TTMSFMXBaseShape inherited;
	
private:
	Fmx::Graphics::TBrush* FFillActive;
	System::Byte FValue;
	bool FDecimalSeparator;
	void __fastcall SetFillActive(Fmx::Graphics::TBrush* const Value);
	void __fastcall SetValue(const System::Byte AValue);
	
protected:
	void __fastcall DrawSegH(double px1, double px2, double py1, double lw, bool Active);
	void __fastcall DrawSegV(double px1, double px2, double py1, double py2, double lw, bool Active);
	void __fastcall FillActiveChanged(System::TObject* Sender);
	
public:
	__property bool DecimalSeparator = {read=FDecimalSeparator, write=FDecimalSeparator, nodefault};
	virtual void __fastcall Painting(void);
	__fastcall virtual TTMSFMX7SegLEDShape(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TTMSFMX7SegLEDShape(void);
	
__published:
	__property Fill;
	__property Fmx::Graphics::TBrush* FillActive = {read=FFillActive, write=SetFillActive};
	__property Stroke;
	__property StrokeThickness = {default=0};
	__property StrokeCap;
	__property StrokeDash;
	__property StrokeJoin;
	__property System::Byte Value = {read=FValue, write=SetValue, nodefault};
};


class DELPHICLASS TTMSFMX7SegLED;
class PASCALIMPLEMENTATION TTMSFMX7SegLED : public Fmx::Tmsbasecontrol::TTMSFMXBaseControl
{
	typedef Fmx::Tmsbasecontrol::TTMSFMXBaseControl inherited;
	
private:
	double FValue;
	int FDigits;
	int FDecimals;
	void __fastcall SetValue(const double AValue);
	void __fastcall SetDigits(const int Value);
	void __fastcall SetDecimals(const int Value);
	System::UnicodeString __fastcall GetVersion(void);
	int __fastcall GetVersionNr(void);
	
protected:
	virtual NativeUInt __fastcall GetInstance(void);
	
public:
	virtual void __fastcall Update(void);
	__fastcall virtual TTMSFMX7SegLED(System::Classes::TComponent* AOwner);
	void __fastcall CleanUpLeds(Fmx::Controls::TControl* AControl);
	void __fastcall UpdateLedObjects(void);
	TTMSFMX7SegLEDShape* __fastcall Shape(void);
	TTMSFMX7SegLEDShape* __fastcall DoesLedExist(Fmx::Controls::TControl* AControl, System::UnicodeString LedName);
	
__published:
	__property int Digits = {read=FDigits, write=SetDigits, default=4};
	__property int Decimals = {read=FDecimals, write=SetDecimals, default=2};
	__property StyleLookup;
	__property double Value = {read=FValue, write=SetValue};
	__property System::UnicodeString Version = {read=GetVersion};
public:
	/* TTMSFMXBaseControl.Destroy */ inline __fastcall virtual ~TTMSFMX7SegLED(void) { }
	
};


//-- var, const, procedure ---------------------------------------------------
static const System::Int8 MAJ_VER = System::Int8(0x1);
static const System::Int8 MIN_VER = System::Int8(0x5);
static const System::Int8 REL_VER = System::Int8(0x0);
static const System::Int8 BLD_VER = System::Int8(0x2);
}	/* namespace Tms7segled */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_TMS7SEGLED)
using namespace Fmx::Tms7segled;
#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_Tms7segledHPP
