// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Advsmoothpanel.pas' rev: 10.00

#ifndef AdvsmoothpanelHPP
#define AdvsmoothpanelHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Comobj.hpp>	// Pascal unit
#include <Activex.hpp>	// Pascal unit
#include <Math.hpp>	// Pascal unit
#include <Advstyleif.hpp>	// Pascal unit
#include <Imglist.hpp>	// Pascal unit
#include <Advsmoothgdip.hpp>	// Pascal unit
#include <Gdippicturecontainer.hpp>	// Pascal unit
#include <Gdipfill.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit

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

namespace Advsmoothpanel
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TAdvSmoothPanelLocation { plTopLeft, plTopCenter, plTopRight, plCenterLeft, plCenterCenter, plCenterRight, plBottomLeft, plBottomCenter, plBottomRight, plCustom };
#pragma option pop

class DELPHICLASS TWinCtrl;
class PASCALIMPLEMENTATION TWinCtrl : public Controls::TWinControl 
{
	typedef Controls::TWinControl inherited;
	
public:
	void __fastcall PaintCtrls(HDC DC, Controls::TControl* First);
public:
	#pragma option push -w-inl
	/* TWinControl.Create */ inline __fastcall virtual TWinCtrl(Classes::TComponent* AOwner) : Controls::TWinControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TWinCtrl(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.Destroy */ inline __fastcall virtual ~TWinCtrl(void) { }
	#pragma option pop
	
};


class DELPHICLASS TAdvSmoothPanelCaption;
class DELPHICLASS TAdvSmoothPanel;
typedef void __fastcall (__closure *TAdvSmoothPanelAnchorClickEvent)(System::TObject* Sender, AnsiString Anchor);

class PASCALIMPLEMENTATION TAdvSmoothPanel : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	bool FDesignTime;
	bool FOnAnchor;
	#pragma pack(push,1)
	Types::TRect FHtmlr;
	#pragma pack(pop)
	TAdvSmoothPanelCaption* FCaption;
	TAdvSmoothPanelAnchorClickEvent FOnAnchorClick;
	Gdippicturecontainer::TGDIPPictureContainer* FContainer;
	Imglist::TCustomImageList* FImages;
	Gdipfill::TGDIPFill* FFill;
	AnsiString __fastcall GetVersion();
	void __fastcall SetVersion(const AnsiString Value);
	void __fastcall SetCaption(const TAdvSmoothPanelCaption* Value);
	void __fastcall SetFill(const Gdipfill::TGDIPFill* Value);
	
protected:
	HIDESBASE void __fastcall Changed(void);
	void __fastcall PictureChanged(System::TObject* Sender);
	void __fastcall CaptionChanged(System::TObject* Sender);
	void __fastcall FillChanged(System::TObject* Sender);
	void __fastcall DoAnchorClick(System::TObject* Sender, AnsiString Anchor);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
	HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
	HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation AOperation);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	void __fastcall GetRoundPath(Advsmoothgdip::TGPGraphicsPath* &gp, const Advsmoothgdip::TGPRectF &r, int depth);
	void __fastcall GetPosition(int &x, int &y, const Advsmoothgdip::TGPRectF &rectangle, int objectwidth, int objectheight, TAdvSmoothPanelLocation location);
	void __fastcall InitPreview(void);
	int __fastcall GetVersionNr(void);
	int __fastcall GetShadowSize(void);
	
public:
	__fastcall virtual TAdvSmoothPanel(Classes::TComponent* AOwner);
	__fastcall virtual ~TAdvSmoothPanel(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual void __fastcall Paint(void);
	AnsiString __fastcall GetAnchorAt(int X, int Y);
	void __fastcall SetComponentStyle(Advstyleif::TTMSStyle AStyle);
	
__published:
	__property TAdvSmoothPanelCaption* Caption = {read=FCaption, write=SetCaption};
	__property Gdipfill::TGDIPFill* Fill = {read=FFill, write=SetFill};
	__property Imglist::TCustomImageList* Images = {read=FImages, write=FImages};
	__property Gdippicturecontainer::TGDIPPictureContainer* PictureContainer = {read=FContainer, write=FContainer};
	__property AnsiString Version = {read=GetVersion, write=SetVersion};
	__property TAdvSmoothPanelAnchorClickEvent OnAnchorClick = {read=FOnAnchorClick, write=FOnAnchorClick};
	__property Align  = {default=0};
	__property Anchors  = {default=3};
	__property Constraints ;
	__property DragMode  = {default=0};
	__property DragCursor  = {default=-12};
	__property DragKind  = {default=0};
	__property OnCanResize ;
	__property OnContextPopup ;
	__property OnDblClick ;
	__property OnDockDrop ;
	__property OnDockOver ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDock ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnGetSiteInfo ;
	__property OnMouseActivate ;
	__property OnMouseEnter ;
	__property OnMouseLeave ;
	__property OnResize ;
	__property OnStartDock ;
	__property OnStartDrag ;
	__property OnUnDock ;
	__property PopupMenu ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnMouseDown ;
	__property OnClick ;
	__property OnKeyDown ;
	__property OnKeyUp ;
	__property OnKeyPress ;
	__property Visible  = {default=1};
	__property ShowHint ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAdvSmoothPanel(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
	#pragma option pop
	
private:
	void *__ITMSStyle;	/* Advstyleif::ITMSStyle */
	
public:
	operator ITMSStyle*(void) { return (ITMSStyle*)&__ITMSStyle; }
	
};


class PASCALIMPLEMENTATION TAdvSmoothPanelCaption : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TAdvSmoothPanel* FOwner;
	Advsmoothgdip::TAdvGradientType FGradientType;
	TAdvSmoothPanelLocation FLocation;
	Advsmoothgdip::TAdvGDIPPicture* FPicture;
	Graphics::TColor FEndColor;
	Advsmoothgdip::HatchStyle FHatchStyle;
	Graphics::TFont* FFont;
	Byte FStartOpacity;
	AnsiString FText;
	int FTop;
	int FLeft;
	Byte FEndOpacity;
	Graphics::TColor FStartColor;
	Classes::TNotifyEvent FOnChange;
	AnsiString FHTMLText;
	TAdvSmoothPanelLocation FHTMLLocation;
	int FHTMLTop;
	int FHTMLLeft;
	Graphics::TColor FHTMLShadowColor;
	Graphics::TColor FHTMLURLColor;
	int FHTMLShadowOffset;
	Graphics::TFont* FHTMLFont;
	Graphics::TColor FLineColor;
	void __fastcall SetEndColor(const Graphics::TColor Value);
	void __fastcall SetEndOpacity(const Byte Value);
	void __fastcall SetFont(const Graphics::TFont* Value);
	void __fastcall SetGradientType(const Advsmoothgdip::TAdvGradientType Value);
	void __fastcall SetHatchStyle(const Advsmoothgdip::HatchStyle Value);
	void __fastcall SetLeft(const int Value);
	void __fastcall SetLocation(const TAdvSmoothPanelLocation Value);
	void __fastcall SetPicture(const Advsmoothgdip::TAdvGDIPPicture* Value);
	void __fastcall SetStartColor(const Graphics::TColor Value);
	void __fastcall SetStartOpacity(const Byte Value);
	void __fastcall SetText(const AnsiString Value);
	void __fastcall SetTop(const int Value);
	void __fastcall SetHTMLText(const AnsiString Value);
	void __fastcall SetHTMLLocation(const TAdvSmoothPanelLocation Value);
	void __fastcall SetHTMLLeft(const int Value);
	void __fastcall SetHTMLTop(const int Value);
	void __fastcall SetHTMLShadowColor(const Graphics::TColor Value);
	void __fastcall SetHTMLShadowOffset(const int Value);
	void __fastcall SetHTMLURLColor(const Graphics::TColor Value);
	void __fastcall SetLineColor(const Graphics::TColor Value);
	void __fastcall SetHTMLFont(const Graphics::TFont* Value);
	
protected:
	void __fastcall Changed(void);
	void __fastcall FontChanged(System::TObject* Sender);
	void __fastcall PictureChanged(System::TObject* Sender);
	
public:
	__fastcall TAdvSmoothPanelCaption(TAdvSmoothPanel* AOwner);
	__fastcall virtual ~TAdvSmoothPanelCaption(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	
__published:
	__property AnsiString Text = {read=FText, write=SetText};
	__property TAdvSmoothPanelLocation Location = {read=FLocation, write=SetLocation, default=0};
	__property Advsmoothgdip::HatchStyle HatchStyle = {read=FHatchStyle, write=SetHatchStyle, default=0};
	__property Graphics::TFont* HTMLFont = {read=FHTMLFont, write=SetHTMLFont};
	__property AnsiString HTMLText = {read=FHTMLText, write=SetHTMLText};
	__property TAdvSmoothPanelLocation HTMLLocation = {read=FHTMLLocation, write=SetHTMLLocation, default=4};
	__property int HTMLLeft = {read=FHTMLLeft, write=SetHTMLLeft, default=0};
	__property int HTMLTop = {read=FHTMLTop, write=SetHTMLTop, default=0};
	__property Graphics::TColor HTMLURLColor = {read=FHTMLURLColor, write=SetHTMLURLColor, default=16711680};
	__property Graphics::TColor HTMLShadowColor = {read=FHTMLShadowColor, write=SetHTMLShadowColor, default=8421504};
	__property int HTMLShadowOffset = {read=FHTMLShadowOffset, write=SetHTMLShadowOffset, default=5};
	__property Graphics::TFont* Font = {read=FFont, write=SetFont};
	__property int Left = {read=FLeft, write=SetLeft, default=0};
	__property int Top = {read=FTop, write=SetTop, default=0};
	__property Advsmoothgdip::TAdvGDIPPicture* Picture = {read=FPicture, write=SetPicture};
	__property Graphics::TColor ColorStart = {read=FStartColor, write=SetStartColor, default=16777215};
	__property Graphics::TColor ColorEnd = {read=FEndColor, write=SetEndColor, default=12632256};
	__property Byte OpacityStart = {read=FStartOpacity, write=SetStartOpacity, default=255};
	__property Byte OpacityEnd = {read=FEndOpacity, write=SetEndOpacity, default=255};
	__property Advsmoothgdip::TAdvGradientType GradientType = {read=FGradientType, write=SetGradientType, default=2};
	__property Graphics::TColor LineColor = {read=FLineColor, write=SetLineColor, default=11563548};
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
};


//-- var, const, procedure ---------------------------------------------------
static const Shortint MAJ_VER = 0x1;
static const Shortint MIN_VER = 0x0;
static const Shortint REL_VER = 0x0;
static const Shortint BLD_VER = 0x2;

}	/* namespace Advsmoothpanel */
using namespace Advsmoothpanel;
#pragma pack(pop)
#pragma option pop

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