| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #include "LuaStack.h"
- #include "Device.h"
- #include "LuaEnvironment.h"
- #include "Mouse.h"
- #include "Log.h"
- namespace crown
- {
- extern "C"
- {
- extern Vec2* next_vec2();
- //-----------------------------------------------------------------------------
- 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)
- {
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_set_cursor_xy(lua_State* L)
- {
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_cursor_relative_xy(lua_State* L)
- {
- LuaStack stack(L);
- Vec2* xy = next_vec2();
- *xy = device()->mouse()->cursor_relative_xy();
- stack.push_lightudata(xy);
- return 1;
- }
- //-----------------------------------------------------------------------------
- int32_t mouse_set_cursor_relative_xy(lua_State* L)
- {
- LuaStack stack(L);
- Vec2* xy = (Vec2*) stack.get_lightudata(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_relative_xy", mouse_cursor_relative_xy);
- env.load_module_function("Mouse", "set_cursor_relative_xy", mouse_set_cursor_relative_xy);
- }
- } // namespace crown
|