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

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

#ifndef ShadowwndHPP
#define ShadowwndHPP

#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 <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit

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

namespace Shadowwnd
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TControlSide { csRight, csBottom };
#pragma option pop

class DELPHICLASS TShadowWindow;
class PASCALIMPLEMENTATION TShadowWindow : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	unsigned FRGB;
	Word H;
	Word L;
	Word S;
	int FCachedFade;
	unsigned FCachedclr;
	Word FCachedHue;
	Word FCachedSat;
	Word FCachedLum;
	Controls::TControl* FControl;
	Graphics::TBitmap* FDesktop;
	TControlSide FSide;
	void __fastcall SetControl(const Controls::TControl* Value);
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall Paint(void);
	HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	
public:
	__fastcall virtual TShadowWindow(Classes::TComponent* AOwner);
	__fastcall virtual TShadowWindow(Classes::TComponent* AOwner, TControlSide ControlSide);
	__fastcall virtual ~TShadowWindow(void);
	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
	__property Controls::TControl* Control = {read=FControl, write=SetControl};
	__property TControlSide Side = {read=FSide, write=FSide, nodefault};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TShadowWindow(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

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

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