Added support for a few more mouse buttons (via "x3", "x4", and "x5" button constants.)

This commit is contained in:
Alex Szpakowski
2015-03-07 23:28:58 -04:00
parent 4ef0d257e9
commit b76b7bac8b
3 changed files with 21 additions and 11 deletions
+8 -5
View File
@@ -798,11 +798,14 @@ std::map<SDL_Keycode, love::keyboard::Keyboard::Key> Event::keys = Event::create
EnumMap<love::mouse::Mouse::Button, Uint8, love::mouse::Mouse::BUTTON_MAX_ENUM>::Entry Event::buttonEntries[] =
{
{ love::mouse::Mouse::BUTTON_LEFT, SDL_BUTTON_LEFT},
{ love::mouse::Mouse::BUTTON_MIDDLE, SDL_BUTTON_MIDDLE},
{ love::mouse::Mouse::BUTTON_RIGHT, SDL_BUTTON_RIGHT},
{ love::mouse::Mouse::BUTTON_X1, SDL_BUTTON_X1},
{ love::mouse::Mouse::BUTTON_X2, SDL_BUTTON_X2},
{love::mouse::Mouse::BUTTON_LEFT, SDL_BUTTON_LEFT},
{love::mouse::Mouse::BUTTON_MIDDLE, SDL_BUTTON_MIDDLE},
{love::mouse::Mouse::BUTTON_RIGHT, SDL_BUTTON_RIGHT},
{love::mouse::Mouse::BUTTON_X1, SDL_BUTTON_X1},
{love::mouse::Mouse::BUTTON_X2, SDL_BUTTON_X2+0},
{love::mouse::Mouse::BUTTON_X3, SDL_BUTTON_X2+1},
{love::mouse::Mouse::BUTTON_X4, SDL_BUTTON_X2+2},
{love::mouse::Mouse::BUTTON_X5, SDL_BUTTON_X2+3},
};
EnumMap<love::mouse::Mouse::Button, Uint8, love::mouse::Mouse::BUTTON_MAX_ENUM> Event::buttons(Event::buttonEntries, sizeof(Event::buttonEntries));
+8 -5
View File
@@ -37,11 +37,14 @@ bool Mouse::getConstant(Button in, const char *&out)
StringMap<Mouse::Button, Mouse::BUTTON_MAX_ENUM>::Entry Mouse::buttonEntries[] =
{
{"l", Mouse::BUTTON_LEFT},
{"m", Mouse::BUTTON_MIDDLE},
{"r", Mouse::BUTTON_RIGHT},
{"x1", Mouse::BUTTON_X1},
{"x2", Mouse::BUTTON_X2},
{"l", BUTTON_LEFT},
{"m", BUTTON_MIDDLE},
{"r", BUTTON_RIGHT},
{"x1", BUTTON_X1},
{"x2", BUTTON_X2},
{"x3", BUTTON_X3},
{"x4", BUTTON_X4},
{"x5", BUTTON_X5},
};
StringMap<Mouse::Button, Mouse::BUTTON_MAX_ENUM> Mouse::buttons(Mouse::buttonEntries, sizeof(Mouse::buttonEntries));
+5 -1
View File
@@ -36,14 +36,18 @@ class Mouse : public Module
{
public:
// FIXME: We should probably just use button numbers.
enum Button
{
BUTTON_INVALID,
BUTTON_INVALID = 0,
BUTTON_LEFT,
BUTTON_MIDDLE,
BUTTON_RIGHT,
BUTTON_X1,
BUTTON_X2,
BUTTON_X3,
BUTTON_X4,
BUTTON_X5,
BUTTON_MAX_ENUM
};