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

// (DO NOT EDIT: machine generated header) 'DeskSets.pas' rev: 6.00

#ifndef DeskSetsHPP
#define DeskSetsHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <IniFiles.hpp>	// Pascal unit
#include <Registry.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Desksets
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TWallpaperStyle { wpTile, wpCenter, wpFit };
#pragma option pop

typedef void __fastcall (__closure *TSettingChangeEvent)(System::TObject* Sender, int Flag);

typedef Graphics::TColor TColorArray[31];

class DELPHICLASS TCustomDesktopSettings;
class PASCALIMPLEMENTATION TCustomDesktopSettings : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	Forms::TForm* FDesktopHost;
	Graphics::TColor FDefaultColors[31];
	bool FRestoreDefaults;
	Classes::TNotifyEvent FOnFontChange;
	Classes::TNotifyEvent FOnSysColorChange;
	TSettingChangeEvent FOnSettingChange;
	Graphics::TColor __fastcall GetSystemColor(int Index);
	void __fastcall SetSystemColor(int Index, const Graphics::TColor Value);
	Graphics::TColor __fastcall GetDefaultColor(int Index);
	TWallpaperStyle __fastcall GetWallpaperStyle(void);
	void __fastcall SetWallpaperStyle(const TWallpaperStyle Value);
	int __fastcall GetWallpaperOffsetX(void);
	void __fastcall SetWallpaperOffsetX(const int Value);
	int __fastcall GetWallpaperOffsetY(void);
	void __fastcall SetWallpaperOffsetY(const int Value);
	AnsiString __fastcall GetWallpaperFile();
	void __fastcall SetWallpaperFile(const AnsiString Value);
	AnsiString __fastcall GetScreenSaverFile();
	void __fastcall SetScreenSaverFile(const AnsiString Value);
	
protected:
	virtual void __fastcall FontChange(void);
	virtual void __fastcall SysColorChange(void);
	virtual void __fastcall SettingChange(int Flag);
	__property Graphics::TColor SystemColors[int Index] = {read=GetSystemColor, write=SetSystemColor};
	__property Graphics::TColor DefaultColors[int Index] = {read=GetDefaultColor};
	__property bool RestoreDefaults = {read=FRestoreDefaults, write=FRestoreDefaults, default=1};
	__property TWallpaperStyle WallpaperStyle = {read=GetWallpaperStyle, write=SetWallpaperStyle, nodefault};
	__property int WallpaperOffsetX = {read=GetWallpaperOffsetX, write=SetWallpaperOffsetX, nodefault};
	__property int WallpaperOffsetY = {read=GetWallpaperOffsetY, write=SetWallpaperOffsetY, nodefault};
	__property AnsiString WallpaperFile = {read=GetWallpaperFile, write=SetWallpaperFile};
	__property AnsiString ScreenSaverFile = {read=GetScreenSaverFile, write=SetScreenSaverFile};
	__property Classes::TNotifyEvent OnFontChange = {read=FOnFontChange, write=FOnFontChange};
	__property Classes::TNotifyEvent OnSysColorChange = {read=FOnSysColorChange, write=FOnSysColorChange};
	__property TSettingChangeEvent OnSettingChange = {read=FOnSettingChange, write=FOnSettingChange};
	
public:
	__fastcall virtual TCustomDesktopSettings(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomDesktopSettings(void);
	void __fastcall RestoreDefaultColors(void);
	void __fastcall RunScreenSaver(void);
};


class DELPHICLASS TDesktopSettings;
class PASCALIMPLEMENTATION TDesktopSettings : public TCustomDesktopSettings 
{
	typedef TCustomDesktopSettings inherited;
	
public:
	__property SystemColors ;
	__property DefaultColors ;
	__property WallpaperStyle ;
	__property WallpaperOffsetX ;
	__property WallpaperOffsetY ;
	__property WallpaperFile ;
	__property ScreenSaverFile ;
	
__published:
	__property RestoreDefaults  = {default=1};
	__property OnFontChange ;
	__property OnSysColorChange ;
	__property OnSettingChange ;
public:
	#pragma option push -w-inl
	/* TCustomDesktopSettings.Create */ inline __fastcall virtual TDesktopSettings(Classes::TComponent* AOwner) : TCustomDesktopSettings(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomDesktopSettings.Destroy */ inline __fastcall virtual ~TDesktopSettings(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const unsigned SysColor = 0x80000000;
extern PACKAGE void __fastcall Register(void);

}	/* namespace Desksets */
using namespace Desksets;
#pragma option pop	// -w-
#pragma option pop	// -Vx

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