#ifndef MOTIONEVENT_H
#define MOTIONEVENT_H

#include "IEvent.h"

namespace Salamander
{

/*
** Motion Events are created when an analogue controller is used, this includes the mouse, joysticks, and gamepads.
** The event contains the translation of the pointer.
*/
class MotionEvent : public IEvent
{
public:
	/*
	** Destructor.
	*/
	virtual ~MotionEvent();

	/*
	** Mouse events must be created with relevant controller data.
	*/
	registerEvent(IEvent);
	MotionEvent(Vec2& motion);

	/*
	** Return the current value of the pointer.
	*/
	const Vec2& getMotion() const;
	
protected:

private:
	/*
	** The translation is in screen coordinates.
	*/
	Vec2 motion_;
};

}

#endif // MOTIONEVENT_H