#ifndef _INPUT_H
#define _INPUT_H

#include <string>
#include "SDL.h"

class FFTInput
{
public:
	FFTInput();
	~FFTInput() {};
	int GetFire1();
	int GetFire2();
	int GetWarp1();
	int GetWarp2();
	int GetUp();
	int GetDown();
	int GetLeft();
	int GetRight();
	int GetAllStop();
	int GetCancel();
	int GetMiniMapZoomIn();
	int GetMiniMapZoomOut();
	int GetPause();
	int GetZoomIn();
	int GetZoomOut();
	int GetPrevWeapon();
	int GetNextWeapon();
	int GetDock();
	int GetPrevTarget();
	int GetNextTarget();
	std::string GetFire1Str();
	std::string GetFire2Str();
	std::string GetWarp1Str();
	std::string GetWarp2Str();
	std::string GetUpStr();
	std::string GetDownStr();
	std::string GetLeftStr();
	std::string GetRightStr();
	std::string GetAllStopStr();
	std::string GetCancelStr();
	std::string GetMiniMapZoomInStr();
	std::string GetMiniMapZoomOutStr();
	std::string GetPauseStr();
	std::string GetZoomInStr();
	std::string GetZoomOutStr();
	std::string GetPrevWeaponStr();
	std::string GetNextWeaponStr();
	std::string GetDockStr();
	std::string GetPrevTargetStr();
	std::string GetNextTargetStr();
	void SetFire1(int sdlKeyCode);
	void SetFire2(int sdlKeyCode);
	void SetWarp1(int sdlKeyCode);
	void SetWarp2(int sdlKeyCode);
	void SetUp(int sdlKeyCode);
	void SetDown(int sdlKeyCode);
	void SetLeft(int sdlKeyCode);
	void SetRight(int sdlKeyCode);
	void SetAllStop(int sdlKeyCode);
	void SetCancel(int sdlKeyCode);
	void SetMiniMapZoomIn(int sdlKeyCode);
	void SetMiniMapZoomOut(int sdlKeyCode);
	void SetPause(int sdlKeyCode);
	void SetZoomIn(int sdlKeyCode);
	void SetZoomOut(int sdlKeyCode);
	void SetPrevWeapon(int sdlKeyCode);
	void SetNextWeapon(int sdlKeyCode);
	void SetDock(int sdlKeyCode);
	void SetPrevTarget(int sdlKeyCode);
	void SetNextTarget(int sdlKeyCode);
	bool KeyInUse(int sdlKeyCode);
	std::string KeyCodeToString(int sdlKeyCode);
	int StringToKeyCode(std::string str);
private:
	int FFTKEY_fire1;
	int FFTKEY_fire2;
	int FFTKEY_warp1;
	int FFTKEY_warp2;
	int FFTKEY_up;
	int FFTKEY_down;
	int FFTKEY_left;
	int FFTKEY_right;
	int FFTKEY_allstop;
	int FFTKEY_cancel;
	int FFTKEY_minimapzoomin;
	int FFTKEY_minimapzoomout;
	int FFTKEY_pause;
	int FFTKEY_zoomin;
	int FFTKEY_zoomout;
	int FFTKEY_prevweapon;
	int FFTKEY_nextweapon;
	int FFTKEY_dock;
	int FFTKEY_prevtarget;
	int FFTKEY_nexttarget;
};

#endif /* _INPUT_H */

