//
// Tools_GeneralOptions.h
//
// Created by Richard Rice - 13/01/2006
// 
// Copyright (C) 2006 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef __TOOLS_GENERALOPTIONS_H__
#define __TOOLS_GENERALOPTIONS_H__

//Handles overlay for  various misc tools options

enum Tools_GeneralOptions_Tab
{
	TOOLS_GENERALOPTIONS_MOUSE,
	TOOLS_GENERALOPTIONS_MOVEMENT,
	TOOLS_GENERALOPTIONS_SOUND,
	TOOLS_GENERALOPTIONS_MESSAGELOG,
	TOOLS_GENERALOPTIONS_VISIBILITY,
	TOOLS_GENERALOPTIONS_RENDERMODES,
	TOOLS_GENERALOPTIONS_DISPLAY,
	TOOLS_GENERALOPTIONS_SUBDIVISION,
	TOOLS_GENERALOPTIONS_COLOURS,
	TOOLS_GENERALOPTIONS_SFX,
	TOOLS_GENERALOPTIONS_STATUSTEXT,
	TOOLS_GENERALOPTIONS_PERFORMANCE,
	TOOLS_GENERALOPTIONS_FILE,

	TOOLS_GENERALOPTIONS_NUMTABS,
};

class Tools_GeneralOptions
{
public :
	static void Initialise();
	static void Shutdown();

	static void ToggleOptionsOverlay();
	static bool OptionsOverlayIsOn();

	static void SetSelectedOptionTab( const Tools_GeneralOptions_Tab eTab );
	static Tools_GeneralOptions_Tab GetSelectedOptionTab();

	//mainly load/saves position of overlay
	static void LoadSettingsFromIniFile();
	static void SaveSettingsToIniFile();


private :
	static void TransferModeData(int iLoadOrSave);

	static void CreateOptionsOverlay();
	static void CloseOptionsOverlay();

	

	//overlay stuff
	static class Asura_Vector_2 s_xOptionsOverlayPosition;

};

#endif //__TOOLS_GENERALOPTIONS_H__
