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[] = 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_LEFT, SDL_BUTTON_LEFT},
{ love::mouse::Mouse::BUTTON_MIDDLE, SDL_BUTTON_MIDDLE}, {love::mouse::Mouse::BUTTON_MIDDLE, SDL_BUTTON_MIDDLE},
{ love::mouse::Mouse::BUTTON_RIGHT, SDL_BUTTON_RIGHT}, {love::mouse::Mouse::BUTTON_RIGHT, SDL_BUTTON_RIGHT},
{ love::mouse::Mouse::BUTTON_X1, SDL_BUTTON_X1}, {love::mouse::Mouse::BUTTON_X1, SDL_BUTTON_X1},
{ love::mouse::Mouse::BUTTON_X2, SDL_BUTTON_X2}, {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)); 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[] = StringMap<Mouse::Button, Mouse::BUTTON_MAX_ENUM>::Entry Mouse::buttonEntries[] =
{ {
{"l", Mouse::BUTTON_LEFT}, {"l", BUTTON_LEFT},
{"m", Mouse::BUTTON_MIDDLE}, {"m", BUTTON_MIDDLE},
{"r", Mouse::BUTTON_RIGHT}, {"r", BUTTON_RIGHT},
{"x1", Mouse::BUTTON_X1}, {"x1", BUTTON_X1},
{"x2", Mouse::BUTTON_X2}, {"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)); 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: public:
// FIXME: We should probably just use button numbers.
enum Button enum Button
{ {
BUTTON_INVALID, BUTTON_INVALID = 0,
BUTTON_LEFT, BUTTON_LEFT,
BUTTON_MIDDLE, BUTTON_MIDDLE,
BUTTON_RIGHT, BUTTON_RIGHT,
BUTTON_X1, BUTTON_X1,
BUTTON_X2, BUTTON_X2,
BUTTON_X3,
BUTTON_X4,
BUTTON_X5,
BUTTON_MAX_ENUM BUTTON_MAX_ENUM
}; };