
#ifndef SPECTRE_INPUT_MOUSE_H
#define SPECTRE_INPUT_MOUSE_H

#include <string>
#include <Spectre/Math/Vector2.h>
#include "InputEvent.h"
#include "InputDevice.h"

class Mouse : public InputDevice
{
public :
	virtual ~Mouse();

	// Get mouse position
	virtual Vector2f getPosition() const = 0;

	//virtual Vector2i getPositionAbs() const = 0;

	virtual bool isButtonDown(MouseButton::Type button) const = 0;

	static std::string getButtonName(MouseButton::Type button);
};

#endif /* SPECTRE_INPUT_MOUSE_H */
