mirror of
https://github.com/love2d/love.git
synced 2026-08-17 11:00:31 +02:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user