Replaced the mouse button constants ("l", "r", "m", etc.) with button numbers. 1 is the primary button, 2 is the secondary button, 3 is middle-mouse, etc. Resolves issue #1019.

This commit is contained in:
Alex Szpakowski
2015-03-25 00:31:16 -03:00
parent 78dd8bc547
commit 86d41620dd
9 changed files with 43 additions and 123 deletions
+4 -25
View File
@@ -24,9 +24,11 @@
// LOVE
#include "Cursor.h"
#include "common/Module.h"
#include "common/StringMap.h"
#include "image/ImageData.h"
// C++
#include <vector>
namespace love
{
namespace mouse
@@ -36,21 +38,6 @@ class Mouse : public Module
{
public:
// FIXME: We should probably just use button numbers.
enum Button
{
BUTTON_INVALID = 0,
BUTTON_LEFT,
BUTTON_MIDDLE,
BUTTON_RIGHT,
BUTTON_X1,
BUTTON_X2,
BUTTON_X3,
BUTTON_X4,
BUTTON_X5,
BUTTON_MAX_ENUM
};
virtual ~Mouse() {}
// Implements Module.
@@ -73,21 +60,13 @@ public:
virtual void setY(double y) = 0;
virtual void setPosition(double x, double y) = 0;
virtual void setVisible(bool visible) = 0;
virtual bool isDown(Button *buttonlist) const = 0;
virtual bool isDown(const std::vector<int> &buttons) const = 0;
virtual bool isVisible() const = 0;
virtual void setGrabbed(bool grab) = 0;
virtual bool isGrabbed() const = 0;
virtual bool setRelativeMode(bool relative) = 0;
virtual bool getRelativeMode() const = 0;
static bool getConstant(const char *in, Button &out);
static bool getConstant(Button in, const char *&out);
private:
static StringMap<Button, BUTTON_MAX_ENUM>::Entry buttonEntries[];
static StringMap<Button, BUTTON_MAX_ENUM> buttons;
}; // Mouse
} // mouse