Add love.mouse.setX/setY (issue #438)

This commit is contained in:
Bart van Strien
2012-06-01 17:19:36 +02:00
parent f62bad6e12
commit 1eb17f2376
5 changed files with 35 additions and 1 deletions
+3 -1
View File
@@ -51,6 +51,8 @@ namespace mouse
virtual int getX() const = 0; virtual int getX() const = 0;
virtual int getY() const = 0; virtual int getY() const = 0;
virtual void getPosition(int & x, int & y) const = 0; virtual void getPosition(int & x, int & y) const = 0;
virtual void setX(int x) = 0;
virtual void setY(int y) = 0;
virtual void setPosition(int x, int y) = 0; virtual void setPosition(int x, int y) = 0;
virtual void setVisible(bool visible) = 0; virtual void setVisible(bool visible) = 0;
virtual bool isDown(Button * buttonlist) const = 0; virtual bool isDown(Button * buttonlist) const = 0;
@@ -71,4 +73,4 @@ namespace mouse
} // mouse } // mouse
} // love } // love
#endif // LOVE_MOUSE_MOUSE_H #endif // LOVE_MOUSE_MOUSE_H
+12
View File
@@ -58,6 +58,18 @@ namespace sdl
SDL_WarpMouse(x, y); SDL_WarpMouse(x, y);
} }
void Mouse::setX(int x)
{
int y = getY();
setPosition(x, y);
}
void Mouse::setY(int y)
{
int x = getX();
setPosition(x, y);
}
void Mouse::setVisible(bool visible) void Mouse::setVisible(bool visible)
{ {
SDL_ShowCursor(visible ? SDL_ENABLE : SDL_DISABLE); SDL_ShowCursor(visible ? SDL_ENABLE : SDL_DISABLE);
+2
View File
@@ -40,6 +40,8 @@ namespace sdl
int getX() const; int getX() const;
int getY() const; int getY() const;
void getPosition(int & x, int & y) const; void getPosition(int & x, int & y) const;
void setX(int x);
void setY(int y);
void setPosition(int x, int y); void setPosition(int x, int y);
void setVisible(bool visible); void setVisible(bool visible);
bool isDown(Button * buttonlist) const; bool isDown(Button * buttonlist) const;
+16
View File
@@ -51,6 +51,20 @@ namespace mouse
return 2; return 2;
} }
int w_setX(lua_State * L)
{
int x = luaL_checkint(L, 1);
instance->setX(x);
return 0;
}
int w_setY(lua_State * L)
{
int y = luaL_checkint(L, 1);
instance->setY(y);
return 0;
}
int w_setPosition(lua_State * L) int w_setPosition(lua_State * L)
{ {
int x = luaL_checkint(L, 1); int x = luaL_checkint(L, 1);
@@ -108,6 +122,8 @@ namespace mouse
static const luaL_Reg functions[] = { static const luaL_Reg functions[] = {
{ "getX", w_getX }, { "getX", w_getX },
{ "getY", w_getY }, { "getY", w_getY },
{ "setX", w_setX },
{ "setY", w_setY },
{ "setPosition", w_setPosition }, { "setPosition", w_setPosition },
{ "isDown", w_isDown }, { "isDown", w_isDown },
{ "setVisible", w_setVisible }, { "setVisible", w_setVisible },
+2
View File
@@ -31,6 +31,8 @@ namespace mouse
int w_getX(lua_State * L); int w_getX(lua_State * L);
int w_getY(lua_State * L); int w_getY(lua_State * L);
int w_getPosition(lua_State * L); int w_getPosition(lua_State * L);
int w_setX(lua_State * L);
int w_setY(lua_State * L);
int w_setPosition(lua_State * L); int w_setPosition(lua_State * L);
int w_isDown(lua_State * L); int w_isDown(lua_State * L);
int w_setVisible(lua_State * L); int w_setVisible(lua_State * L);