| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #include "LuaStack.h"
- #include "Device.h"
- #include "LuaEnvironment.h"
- #include "Mouse.h"
- #include "Log.h"
- namespace crown
- {
- extern "C"
- {
- //-----------------------------------------------------------------------------
- int32_t mouse_button_pressed(lua_State* L)
- {
- LuaStack stack(L);
- int32_t button = stack.get_int(1);
- stack.push_bool(device()->mouse()->button_pressed((MouseButton) button));
- return 1;
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_button_released(lua_State* L)
- {
- LuaStack stack(L);
- int32_t button = stack.get_int(1);
- stack.push_bool(device()->mouse()->button_released((MouseButton) button));
- return 1;
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_cursor_xy(lua_State* L)
- {
- LuaStack stack(L);
- Vec2* xy = next_vec2();
- *xy = device()->mouse()->cursor_xy();
- stack.push_vec2(xy);
- return 1;
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_set_cursor_xy(lua_State* L)
- {
- LuaStack stack(L);
- Vec2* xy = stack.get_vec2(1);
- device()->mouse()->set_cursor_xy(*xy);
- return 0;
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_cursor_relative_xy(lua_State* L)
- {
- LuaStack stack(L);
- Vec2* xy = next_vec2();
- *xy = device()->mouse()->cursor_relative_xy();
- stack.push_vec2(xy);
- return 1;
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_set_cursor_relative_xy(lua_State* L)
- {
- LuaStack stack(L);
- Vec2* xy = (Vec2*) stack.get_vec2(1);
- device()->mouse()->set_cursor_relative_xy(*xy);
- return 0;
- }
- } // extern "C"
- //-----------------------------------------------------------------------------
- void load_mouse(LuaEnvironment& env)
- {
- env.load_module_function("Mouse", "button_pressed", mouse_button_pressed);
- env.load_module_function("Mouse", "button_released", mouse_button_released);
- env.load_module_function("Mouse", "cursor_xy", mouse_cursor_xy);
- env.load_module_function("Mouse", "set_cursor_xy", mouse_set_cursor_xy);
- env.load_module_function("Mouse", "cursor_relative_xy", mouse_cursor_relative_xy);
- env.load_module_function("Mouse", "set_cursor_relative_xy", mouse_set_cursor_relative_xy);
- }
- } // namespace crown
|