#ifndef SPECTRE_INPUT_MOUSE_H #define SPECTRE_INPUT_MOUSE_H #include #include #include namespace sp { class Mouse : public InputDevice { public : enum Button { Unknown, Left, Right, Middle, Button1, Button2, NUM_MBUTTONS }; public : virtual ~Mouse(); // Get the position in relative (focused window) coordinates. // coordinates are relative to the window's top-left corner. virtual Vector2f getPosition() const = 0; // Get the position in absolute (screen) coordinates. // 0,0 is located at the screen's top-left corner. virtual Vector2f getAbsPosition() const = 0; virtual bool isButtonDown(Button button) const = 0; static std::string getButtonName(Button button); }; }; // namespace sp #endif /* SPECTRE_INPUT_MOUSE_H */