diff options
Diffstat (limited to 'src/libjin-lua/modules/event/l_event.cpp')
-rw-r--r-- | src/libjin-lua/modules/event/l_event.cpp | 210 |
1 files changed, 105 insertions, 105 deletions
diff --git a/src/libjin-lua/modules/event/l_event.cpp b/src/libjin-lua/modules/event/l_event.cpp index 8287238..c9d6a13 100644 --- a/src/libjin-lua/modules/event/l_event.cpp +++ b/src/libjin-lua/modules/event/l_event.cpp @@ -10,121 +10,121 @@ using namespace JinEngine::Input; namespace JinEngine { - namespace Lua - { + namespace Lua + { - /** - * Load event poll, return a iterator(a table). - */ - LUA_IMPLEMENT int l_event_poll(lua_State *L) - { - /* table to store events */ - luax_newtable(L); - static Event e; - int i = 1; - poll: - while (pollEvent(&e)) - { - /** - * TODO: ڴСıʱҪtransform - * - */ - luax_newtable(L); - switch (e.type) - { - case EventType::QUIT: - luax_setfieldstring(L, "type", "Quit"); - break; + /** + * Load event poll, return a iterator(a table). + */ + LUA_IMPLEMENT int l_event_poll(lua_State *L) + { + /* table to store events */ + luax_newtable(L); + static Event e; + int i = 1; + poll: + while (pollEvent(&e)) + { + /** + * TODO: ڴСıʱҪtransform + * + */ + luax_newtable(L); + switch (e.type) + { + case EventType::QUIT: + luax_setfieldstring(L, "type", "Quit"); + break; - case EventType::KEY_DOWN: - case EventType::KEY_UP: - luax_setfieldstring(L, "type", e.type == EventType::KEY_DOWN ? "KeyDown" : "KeyUp"); - luax_setfieldstring(L, "key", getKeyName(e.key.keysym.sym)); - break; - - case EventType::MOUSE_MOTION: - luax_setfieldstring(L, "type", "MouseMotion"); - luax_setfieldnumber(L, "x", e.motion.x); - luax_setfieldnumber(L, "y", e.motion.y); - break; - - case EventType::MOUSE_BUTTON_DOWN: - case EventType::MOUSE_BUTTON_UP: - luax_setfieldstring(L, "type", e.type == EventType::MOUSE_BUTTON_DOWN ? "MouseButtonDown" : "MouseButtonUp"); - luax_setfieldstring(L, "button", getButtonName(e.button.button)); - luax_setfieldnumber(L, "x", e.button.x); - luax_setfieldnumber(L, "y", e.button.y); - break; - - case EventType::MOUSE_WHEEL: - luax_setfieldstring(L, "type", "Wheel"); - if(e.wheel.x == -1) - luax_setfieldstring(L, "x", "Left"); - else if(e.wheel.x == 1) - luax_setfieldstring(L, "x", "Right"); - else - luax_setfieldstring(L, "x", "None"); - if (e.wheel.y == -1) - luax_setfieldstring(L, "y", "Near"); - else if (e.wheel.y == 1) - luax_setfieldstring(L, "y", "Far"); - else - luax_setfieldstring(L, "y", "None"); - break; - - case EventType::JOYBUTTONDOWN: - case EventType::JOYBUTTONUP: - luax_setfieldstring(L, "type", e.type == EventType::JOYBUTTONDOWN ? "JoyButtonDown" : "JoyButtonUp"); - luax_setfieldinteger(L, "which", e.jbutton.which); - luax_setfieldstring(L, "button", Input::getJoyButtonName(e.jbutton.button)); - break; + case EventType::KEY_DOWN: + case EventType::KEY_UP: + luax_setfieldstring(L, "type", e.type == EventType::KEY_DOWN ? "KeyDown" : "KeyUp"); + luax_setfieldstring(L, "key", getKeyName(e.key.keysym.sym)); + break; + + case EventType::MOUSE_MOTION: + luax_setfieldstring(L, "type", "MouseMotion"); + luax_setfieldnumber(L, "x", e.motion.x); + luax_setfieldnumber(L, "y", e.motion.y); + break; + + case EventType::MOUSE_BUTTON_DOWN: + case EventType::MOUSE_BUTTON_UP: + luax_setfieldstring(L, "type", e.type == EventType::MOUSE_BUTTON_DOWN ? "MouseButtonDown" : "MouseButtonUp"); + luax_setfieldstring(L, "button", getButtonName(e.button.button)); + luax_setfieldnumber(L, "x", e.button.x); + luax_setfieldnumber(L, "y", e.button.y); + break; + + case EventType::MOUSE_WHEEL: + luax_setfieldstring(L, "type", "Wheel"); + if(e.wheel.x == -1) + luax_setfieldstring(L, "x", "Left"); + else if(e.wheel.x == 1) + luax_setfieldstring(L, "x", "Right"); + else + luax_setfieldstring(L, "x", "None"); + if (e.wheel.y == -1) + luax_setfieldstring(L, "y", "Near"); + else if (e.wheel.y == 1) + luax_setfieldstring(L, "y", "Far"); + else + luax_setfieldstring(L, "y", "None"); + break; + + case EventType::JOYBUTTONDOWN: + case EventType::JOYBUTTONUP: + luax_setfieldstring(L, "type", e.type == EventType::JOYBUTTONDOWN ? "JoyButtonDown" : "JoyButtonUp"); + luax_setfieldinteger(L, "which", e.jbutton.which); + luax_setfieldstring(L, "button", Input::getJoyButtonName(e.jbutton.button)); + break; - case EventType::JOYAXISMOTION: - luax_setfieldstring(L, "type", "JoyAxisMotion"); - luax_setfieldinteger(L, "which", e.jaxis.which); - luax_setfieldfstring(L, "axis", Input::getJoyAxisName(e.jaxis.axis)); - break; + case EventType::JOYAXISMOTION: + luax_setfieldstring(L, "type", "JoyAxisMotion"); + luax_setfieldinteger(L, "which", e.jaxis.which); + luax_setfieldfstring(L, "axis", Input::getJoyAxisName(e.jaxis.axis)); + break; - case EventType::JOYBALLMOTION: - case EventType::JOYHATMOTION: + case EventType::JOYBALLMOTION: + case EventType::JOYHATMOTION: - case EventType::JOYDEVICEADDED: - case EventType::JOYDEVICEREMOVED: - luax_setfieldfstring(L, "type", e.type == EventType::JOYDEVICEADDED ? "JoyDeviceAdded" : "JoyDeviceRemoved"); - luax_setfieldinteger(L, "which", e.jdevice.which); - break; + case EventType::JOYDEVICEADDED: + case EventType::JOYDEVICEREMOVED: + luax_setfieldfstring(L, "type", e.type == EventType::JOYDEVICEADDED ? "JoyDeviceAdded" : "JoyDeviceRemoved"); + luax_setfieldinteger(L, "which", e.jdevice.which); + break; - //https://stackoverflow.com/questions/50022316/what-is-sdl-joystick-and-what-is-sdl-gamecontroller-what-are-the-relationships - case EventType::CONTROLLERBUTTONDOWN: - case EventType::CONTROLLERBUTTONUP: + //https://stackoverflow.com/questions/50022316/what-is-sdl-joystick-and-what-is-sdl-gamecontroller-what-are-the-relationships + case EventType::CONTROLLERBUTTONDOWN: + case EventType::CONTROLLERBUTTONUP: - case EventType::CONTROLLERAXISMOTION: + case EventType::CONTROLLERAXISMOTION: - default: - // Ignore oter events and pop up the event table. - luax_pop(L, 1); - goto poll; - break; - } - luax_rawseti(L, -2, i++); - } - return 1; - } + default: + // Ignore oter events and pop up the event table. + luax_pop(L, 1); + goto poll; + break; + } + luax_rawseti(L, -2, i++); + } + return 1; + } - /** - * load event module - */ - LUA_EXPORT int luaopen_event(lua_State* L) - { - luaL_Reg methods[] = { - { "poll", l_event_poll }, - { 0, 0 } - }; - luax_newlib(L, methods); + /** + * load event module + */ + LUA_EXPORT int luaopen_event(lua_State* L) + { + luaL_Reg methods[] = { + { "poll", l_event_poll }, + { 0, 0 } + }; + luax_newlib(L, methods); - return 1; - } + return 1; + } - } // namespace Lua + } // namespace Lua } // namespace JinEngine
\ No newline at end of file |