#ifndef SDLMOUSEMAPPING_H
#define SDLMOUSEMAPPING_H

#include "IMapping.h"

namespace Salamander
{

/*
** This header implements a mapping from SDL mouse button definitions to Salamander
** ButtonEvent codes. Predominantly used by the platform classes during input.
*/
class SDLMouseMapping : public IMapping<int, int>
{
public:
	/*
	** Redeclaration of the constructor
	*/
	SDLMouseMapping(int key) : IMapping(key) {};

private:

	/*
	** Add all SDL -> SamanderMouse mappings to the table.
	*/
	virtual void initialiseMapping()
	{
		SDLMouseMapping::addMapping(1, ButtonEvent::mouseCode::Left);
		SDLMouseMapping::addMapping(2, ButtonEvent::mouseCode::Middle);
		SDLMouseMapping::addMapping(3, ButtonEvent::mouseCode::Right);
		
		//ButtonEvent::keyCode::Shift
		//ButtonEvent::keyCode::Control
		//ButtonEvent::keyCode::Alternate
	}
};

}

#endif // SDLMOUSEMAPPING_H