Abstractify some modules completely: timer, keyboard and mouse.

If this commit breaks some project file(s), well ...
I AM RUDE AND I WILL BREAK EVERYTHING, AHAHAHAHAHAHAHHAHAHAHAHA!
This commit is contained in:
rude
2011-10-28 10:47:16 +02:00
parent cd66b01da3
commit 2753c62985
18 changed files with 239 additions and 201 deletions
+10
View File
@@ -48,6 +48,16 @@ namespace mouse
virtual ~Mouse(){};
virtual int getX() const = 0;
virtual int getY() const = 0;
virtual void getPosition(int & x, int & y) const = 0;
virtual void setPosition(int x, int y) = 0;
virtual void setVisible(bool visible) = 0;
virtual bool isDown(Button * buttonlist) const = 0;
virtual bool isVisible() const = 0;
virtual void setGrab(bool grab) = 0;
virtual bool isGrabbed() const = 0;
static bool getConstant(const char * in, Button & out);
static bool getConstant(Button in, const char *& out);
-13
View File
@@ -91,19 +91,6 @@ namespace sdl
return (SDL_WM_GrabInput(SDL_GRAB_QUERY) == SDL_GRAB_ON ? true : false);
}
EnumMap<Mouse::Button, unsigned, Mouse::BUTTON_MAX_ENUM>::Entry Mouse::buttonEntries[] =
{
{ Mouse::BUTTON_LEFT, SDL_BUTTON_LEFT},
{ Mouse::BUTTON_MIDDLE, SDL_BUTTON_MIDDLE},
{ Mouse::BUTTON_RIGHT, SDL_BUTTON_RIGHT},
{ Mouse::BUTTON_WHEELUP, SDL_BUTTON_WHEELUP},
{ Mouse::BUTTON_WHEELDOWN, SDL_BUTTON_WHEELDOWN},
{ Mouse::BUTTON_X1, SDL_BUTTON_X1},
{ Mouse::BUTTON_X2, SDL_BUTTON_X2},
};
EnumMap<Mouse::Button, unsigned, Mouse::BUTTON_MAX_ENUM> Mouse::buttons(Mouse::buttonEntries, sizeof(Mouse::buttonEntries));
} // sdl
} // mouse
} // love
-7
View File
@@ -23,7 +23,6 @@
// LOVE
#include <mouse/Mouse.h>
#include <common/EnumMap.h>
namespace love
{
@@ -47,12 +46,6 @@ namespace sdl
bool isVisible() const;
void setGrab(bool grab);
bool isGrabbed() const;
public:
static EnumMap<Button, unsigned, BUTTON_MAX_ENUM>::Entry buttonEntries[];
static EnumMap<Button, unsigned, BUTTON_MAX_ENUM> buttons;
}; // Mouse
} // sdl
@@ -18,13 +18,15 @@
* 3. This notice may not be removed or altered from any source distribution.
**/
#include <common/config.h>
#include "sdl/Mouse.h"
#include "wrap_Mouse.h"
namespace love
{
namespace mouse
{
namespace sdl
{
static Mouse * instance = 0;
@@ -122,7 +124,7 @@ namespace sdl
{
try
{
instance = new Mouse();
instance = new love::mouse::sdl::Mouse();
}
catch(Exception & e)
{
@@ -142,6 +144,5 @@ namespace sdl
return luax_register_module(L, w);
}
} // sdl
} // mouse
} // love
@@ -18,18 +18,15 @@
* 3. This notice may not be removed or altered from any source distribution.
**/
#ifndef LOVE_MOUSE_SDL_WRAP_MOUSE_H
#define LOVE_MOUSE_SDL_WRAP_MOUSE_H
#ifndef LOVE_MOUSE_WRAP_MOUSE_H
#define LOVE_MOUSE_WRAP_MOUSE_H
// LOVE
#include <common/config.h>
#include "Mouse.h"
namespace love
{
namespace mouse
{
namespace sdl
{
int w_getX(lua_State * L);
int w_getY(lua_State * L);
@@ -42,9 +39,8 @@ namespace sdl
int w_isGrabbed(lua_State * L);
extern "C" LOVE_EXPORT int luaopen_love_mouse(lua_State * L);
} // sdl
} // mouse
} // love
#endif // LOVE_MOUSE_SDL_WRAP_MOUSE_H
#endif // LOVE_MOUSE_WRAP_MOUSE_H