aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/event/event.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/event/event.cpp')
-rw-r--r--src/lua/modules/event/event.cpp200
1 files changed, 100 insertions, 100 deletions
diff --git a/src/lua/modules/event/event.cpp b/src/lua/modules/event/event.cpp
index 510afd7..7227516 100644
--- a/src/lua/modules/event/event.cpp
+++ b/src/lua/modules/event/event.cpp
@@ -4,127 +4,127 @@
#include "lua/modules/luax.h"
#include "libjin/jin.h"
-namespace jin
-{
-namespace lua
+namespace JinEngine
{
+ namespace Lua
+ {
- using namespace JinEngine;
- using namespace JinEngine::Input;
+ using namespace JinEngine;
+ using namespace JinEngine::Input;
- /**
- * Load event poll, return a iterator(a table).
- */
- static int l_event_poll(lua_State *L)
- {
- /* table to store events */
- luax_newtable(L);
- static Event e;
- int i = 1;
- poll:
- while (pollEvent(&e))
+ /**
+ * Load event poll, return a iterator(a table).
+ */
+ static int l_event_poll(lua_State *L)
{
- /**
- * TODO: ڴСıʱҪtransform
- *
- */
+ /* table to store events */
luax_newtable(L);
- switch (e.type)
+ static Event e;
+ int i = 1;
+ poll:
+ while (pollEvent(&e))
{
- case EventType::QUIT:
- luax_setfieldstring(L, "type", "Quit");
- break;
+ /**
+ * 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::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_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_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::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::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 other events */
- luax_pop(L, 1); // pop table out
- goto poll;
- break;
+ default:
+ /* ignore other events */
+ luax_pop(L, 1); // pop table out
+ goto poll;
+ break;
+ }
+ luax_rawseti(L, -2, i++);
}
- luax_rawseti(L, -2, i++);
+ return 1;
}
- return 1;
- }
- static const luaL_Reg f[] = {
- { "poll", l_event_poll },
- { 0, 0 }
- };
+ static const luaL_Reg f[] = {
+ { "poll", l_event_poll },
+ { 0, 0 }
+ };
- /**
- * load event module
- */
- int luaopen_event(lua_State* L)
- {
- luax_newlib(L, f);
- return 1;
- }
+ /**
+ * load event module
+ */
+ int luaopen_event(lua_State* L)
+ {
+ luax_newlib(L, f);
+ return 1;
+ }
-} // lua
-} // jin \ No newline at end of file
+ } // Lua
+} // JinEngine \ No newline at end of file