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

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

#ifndef Fmx_TmsbarbuttonHPP
#define Fmx_TmsbarbuttonHPP

#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 <System.Classes.hpp>	// Pascal unit
#include <System.Types.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <FMX.Dialogs.hpp>	// Pascal unit
#include <FMX.Controls.hpp>	// Pascal unit
#include <System.UITypes.hpp>	// Pascal unit
#include <FMX.TMSBaseControl.hpp>	// Pascal unit
#include <FMX.Ani.hpp>	// Pascal unit
#include <FMX.Effects.hpp>	// Pascal unit
#include <FMX.Types.hpp>	// Pascal unit
#include <FMX.Objects.hpp>	// Pascal unit
#include <FMX.Layouts.hpp>	// Pascal unit
#include <FMX.TMSBitmap.hpp>	// Pascal unit
#include <FMX.TMSBitmapContainer.hpp>	// Pascal unit
#include <FMX.TMSHTMLText.hpp>	// Pascal unit
#include <FMX.StdCtrls.hpp>	// Pascal unit
#include <System.UIConsts.hpp>	// Pascal unit
#include <FMX.Styles.hpp>	// Pascal unit
#include <FMX.Graphics.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Tmsbarbutton
{
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TTMSFMXBarButtonKind : unsigned char { bkNormal, bkDone, bkEdit, bkCancel, bkMove, bkArchive, bkDelete, bkMark, bkBack };

enum DECLSPEC_DENUM TTMSFMXBarButtonShapeLayout : unsigned char { slRectangle, slPointer };

enum DECLSPEC_DENUM TTMSFMXBarButtonShapeDirection : unsigned char { sdLeft, sdRight };

class DELPHICLASS TTMSFMXBarButtonShape;
class PASCALIMPLEMENTATION TTMSFMXBarButtonShape : public Fmx::Objects::TRectangle
{
	typedef Fmx::Objects::TRectangle inherited;
	
private:
	TTMSFMXBarButtonShapeLayout FLayout;
	TTMSFMXBarButtonShapeDirection FDirection;
	void __fastcall SetLayout(const TTMSFMXBarButtonShapeLayout Value);
	void __fastcall SetDirection(const TTMSFMXBarButtonShapeDirection Value);
	
public:
	virtual void __fastcall Paint(void);
	__fastcall virtual TTMSFMXBarButtonShape(System::Classes::TComponent* AOwner);
	
__published:
	__property TTMSFMXBarButtonShapeLayout Layout = {read=FLayout, write=SetLayout, default=0};
	__property TTMSFMXBarButtonShapeDirection Direction = {read=FDirection, write=SetDirection, default=0};
public:
	/* TShape.Destroy */ inline __fastcall virtual ~TTMSFMXBarButtonShape(void) { }
	
};


class DELPHICLASS TTMSFMXBarButton;
class PASCALIMPLEMENTATION TTMSFMXBarButton : public Fmx::Stdctrls::TButton
{
	typedef Fmx::Stdctrls::TButton inherited;
	
private:
	TTMSFMXBarButtonShapeLayout FLayout;
	TTMSFMXBarButtonKind FKind;
	bool FAllowCustomize;
	bool FShowImage;
	Fmx::Tmsbitmapcontainer::TTMSFMXBitmapContainer* FBitmapContainer;
	Fmx::Graphics::TBitmap* FBitmap;
	System::UnicodeString FBitmapName;
	Fmx::Objects::TImage* FLinkedImage;
	bool FShowText;
	TTMSFMXBarButtonShapeDirection FDirection;
	void __fastcall SetKind(const TTMSFMXBarButtonKind Value);
	TTMSFMXBarButtonShapeLayout __fastcall GetLayout(void);
	void __fastcall SetLayout(const TTMSFMXBarButtonShapeLayout Value);
	void __fastcall SetAllowCustomize(const bool Value);
	void __fastcall SetBitmap(Fmx::Graphics::TBitmap* const Value);
	void __fastcall SetBitmapContainer(Fmx::Tmsbitmapcontainer::TTMSFMXBitmapContainer* const Value);
	void __fastcall SetBitmapName(const System::UnicodeString Value);
	void __fastcall SetLinkedImage(Fmx::Objects::TImage* const Value);
	void __fastcall SetShowImage(const bool Value);
	System::UnicodeString __fastcall GetVersion(void);
	int __fastcall GetVersionNr(void);
	void __fastcall SetVersion(const System::UnicodeString Value);
	void __fastcall SetShowText(const bool Value);
	void __fastcall SetDirection(const TTMSFMXBarButtonShapeDirection Value);
	
protected:
	void __fastcall BitmapChanged(System::TObject* Sender);
	void __fastcall UpdateButtonKind(void);
	void __fastcall UpdateButtonLayout(void);
	virtual System::UnicodeString __fastcall GetClassName(void);
	virtual System::UnicodeString __fastcall GetClassStyleName(void);
	virtual void __fastcall ApplyStyle(void);
	virtual Fmx::Types::TFmxObject* __fastcall GetStyleObject(void)/* overload */;
	Fmx::Types::TFmxObject* __fastcall LoadFromResource(void);
	
public:
	__fastcall virtual TTMSFMXBarButton(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TTMSFMXBarButton(void);
	Fmx::Objects::TRectangle* __fastcall GetBackGround(void);
	Fmx::Tmsbitmap::TTMSFMXBitmap* __fastcall GetImage(void);
	Fmx::Objects::TRectangle* __fastcall GetContents(void);
	Fmx::Ani::TColorAnimation* __fastcall GetColorAnimationIn(void);
	Fmx::Ani::TColorAnimation* __fastcall GetColorAnimationOut(void);
	Fmx::Effects::TInnerGlowEffect* __fastcall GetInnerGlowEffect(void);
	Fmx::Objects::TRectangle* __fastcall GetInnerBorder(void);
	HIDESBASE Fmx::Objects::TText* __fastcall GetText(void);
	Fmx::Effects::TGlowEffect* __fastcall GetOuterGlow(void);
	
__published:
	__property Text = {default=0};
	__property bool AllowCustomize = {read=FAllowCustomize, write=SetAllowCustomize, default=1};
	__property TTMSFMXBarButtonKind Kind = {read=FKind, write=SetKind, default=0};
	__property TTMSFMXBarButtonShapeLayout Layout = {read=GetLayout, write=SetLayout, default=0};
	__property TTMSFMXBarButtonShapeDirection Direction = {read=FDirection, write=SetDirection, default=0};
	__property Fmx::Tmsbitmapcontainer::TTMSFMXBitmapContainer* BitmapContainer = {read=FBitmapContainer, write=SetBitmapContainer};
	__property Fmx::Graphics::TBitmap* Bitmap = {read=FBitmap, write=SetBitmap};
	__property System::UnicodeString BitmapName = {read=FBitmapName, write=SetBitmapName};
	__property bool ShowImage = {read=FShowImage, write=SetShowImage, default=0};
	__property bool ShowText = {read=FShowText, write=SetShowText, default=1};
	__property Fmx::Objects::TImage* LinkedImage = {read=FLinkedImage, write=SetLinkedImage};
	__property System::UnicodeString Version = {read=GetVersion, write=SetVersion};
	/* Hoisted overloads: */
	
protected:
	inline Fmx::Types::TFmxObject* __fastcall  GetStyleObject(const bool Clone){ return Fmx::Controls::TStyledControl::GetStyleObject(Clone); }
	
};


//-- 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(0x1);
}	/* namespace Tmsbarbutton */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_TMSBARBUTTON)
using namespace Fmx::Tmsbarbutton;
#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_TmsbarbuttonHPP
