diff --git a/jni/love/src/modules/event/sdl/Event.cpp b/jni/love/src/modules/event/sdl/Event.cpp index e0182852..02155617 100644 --- a/jni/love/src/modules/event/sdl/Event.cpp +++ b/jni/love/src/modules/event/sdl/Event.cpp @@ -193,6 +193,27 @@ Message *Event::convert(const SDL_Event &e) const arg3->release(); } break; + case SDL_FINGERDOWN: + case SDL_FINGERUP: + arg1 = new Variant((double) e.tfinger.x); + arg2 = new Variant((double) e.tfinger.y); + arg3 = new Variant((double) e.tfinger.fingerId); + msg = new Message((e.type == SDL_FINGERDOWN) ? + "fingerpressed" : "fingerreleased", + arg1, arg2, arg3); + arg1->release(); + arg2->release(); + arg3->release(); + break; + case SDL_FINGERMOTION: + arg1 = new Variant((double) e.tfinger.x); + arg2 = new Variant((double) e.tfinger.y); + arg3 = new Variant((double) e.tfinger.fingerId); + msg = new Message("fingermotion", arg1, arg2, arg3); + arg1->release(); + arg2->release(); + arg3->release(); + break; case SDL_JOYBUTTONDOWN: case SDL_JOYBUTTONUP: case SDL_JOYAXISMOTION: diff --git a/jni/love/src/scripts/boot.lua b/jni/love/src/scripts/boot.lua index ab88f00d..b21d4500 100644 --- a/jni/love/src/scripts/boot.lua +++ b/jni/love/src/scripts/boot.lua @@ -170,6 +170,15 @@ function love.createhandlers() mousereleased = function (x,y,b) if love.mousereleased then return love.mousereleased(x,y,b) end end, + fingerpressed = function (x,y,b) + if love.fingerpressed then return love.fingerpressed(x,y,b) end + end, + fingerreleased = function (x,y,b) + if love.fingerreleased then return love.fingerreleased(x,y,b) end + end, + fingermotion = function (x,y,b) + if love.fingermotion then return love.fingermotion(x,y,b) end + end, joystickpressed = function (j,b) if love.joystickpressed then return love.joystickpressed(j,b) end end,