| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /*
- * Copyright (c) 2012-2015 Daniele Bartolini and individual contributors.
- * License: https://github.com/taylor001/crown/blob/master/LICENSE
- */
- #include "lua_stack.h"
- #include "lua_environment.h"
- #include "input.h"
- #include "mouse.h"
- namespace crown
- {
- using namespace input_globals;
- static int mouse_button_pressed(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_bool(mouse().button_pressed((MouseButton::Enum) stack.get_int(1)));
- return 1;
- }
- static int mouse_button_released(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_bool(mouse().button_released((MouseButton::Enum) stack.get_int(1)));
- return 1;
- }
- static int mouse_any_pressed(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_bool(mouse().any_pressed());
- return 1;
- }
- static int mouse_any_released(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_bool(mouse().any_released());
- return 1;
- }
- static int mouse_cursor_xy(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_vector2(mouse().cursor_xy());
- return 1;
- }
- static int mouse_set_cursor_xy(lua_State* L)
- {
- LuaStack stack(L);
- mouse().set_cursor_xy(stack.get_vector2(1));
- return 0;
- }
- static int mouse_cursor_relative_xy(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_vector2(mouse().cursor_relative_xy());
- return 1;
- }
- static int mouse_set_cursor_relative_xy(lua_State* L)
- {
- LuaStack stack(L);
- mouse().set_cursor_relative_xy(stack.get_vector2(1));
- return 0;
- }
- static int mouse_wheel(lua_State* L)
- {
- LuaStack stack(L);
- stack.push_float(mouse().wheel());
- return 1;
- }
- 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", "any_pressed", mouse_any_pressed);
- env.load_module_function("Mouse", "any_released", mouse_any_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);
- env.load_module_function("Mouse", "wheel", mouse_wheel);
- env.load_module_enum("Mouse", "LEFT", MouseButton::LEFT);
- env.load_module_enum("Mouse", "MIDDLE", MouseButton::MIDDLE);
- env.load_module_enum("Mouse", "RIGHT", MouseButton::RIGHT);
- }
- } // namespace crown
|