// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'CoolForm.pas' rev: 3.00

#ifndef CoolFormHPP
#define CoolFormHPP
#include <DsgnIntf.hpp>
#include <ExtCtrls.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Coolform
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TRegionType;
class DELPHICLASS TCoolForm;
class PASCALIMPLEMENTATION TCoolForm : public Extctrls::TImage 
{
	typedef Extctrls::TImage inherited;
	
private:
	TRegionType* Fregion;
	_RGNDATA *FOrgRgn;
	int FOrgSize;
	TRegionType* Dummy;
	bool FDraggable;
	HIDESBASE void __fastcall PictureChanged(System::TObject* Sender);
	void __fastcall ReadMask(Classes::TStream* Reader);
	void __fastcall WriteMask(Classes::TStream* Writer);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
		int Y);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
	
protected:
	void __fastcall SetRegion(TRegionType* Value);
	virtual void __fastcall SetParent(Controls::TWinControl* Value);
	HIDESBASE virtual void __fastcall SetTop(int Value);
	HIDESBASE virtual void __fastcall SetLeft(int Value);
	HIDESBASE virtual void __fastcall Setwidth(int Value);
	HIDESBASE virtual void __fastcall SetHeight(int Value);
	TRegionType* __fastcall GetRegion(void);
	void __fastcall size(void);
	
public:
	__fastcall virtual TCoolForm(Classes::TComponent* Aowner);
	__fastcall virtual ~TCoolForm(void);
	__property TRegionType* Mask2 = {read=Dummy, write=Dummy};
	bool __fastcall LoadMaskFromFile(System::AnsiString FileName);
	void __fastcall RefreshRegion(void);
	
__published:
	__property TRegionType* Mask = {read=GetRegion, write=SetRegion};
	__property bool Draggable = {read=FDraggable, write=FDraggable, default=1};
	__property int top  = {write=SetTop};
	__property int left  = {write=SetLeft};
	__property int width  = {write=Setwidth};
	__property int height  = {write=SetHeight};
};

class PASCALIMPLEMENTATION TRegionType : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
public:
	HRGN Fregion;
	TCoolForm* owner;
public:
	/* TPersistent.Destroy */ __fastcall virtual ~TRegionType(void) { }
	
public:
	/* TObject.Create */ __fastcall TRegionType(void) : Classes::TPersistent() { }
	
};

//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);

}	/* namespace Coolform */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Coolform;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// CoolForm
