Browse Source

Applied piernov's multitouch patch (Thanks!)

fysx 12 years ago
parent
commit
7c96c99f2b
2 changed files with 30 additions and 0 deletions
  1. 21 0
      jni/love/src/modules/event/sdl/Event.cpp
  2. 9 0
      jni/love/src/scripts/boot.lua

+ 21 - 0
jni/love/src/modules/event/sdl/Event.cpp

@@ -193,6 +193,27 @@ Message *Event::convert(const SDL_Event &e) const
 			arg3->release();
 			arg3->release();
 		}
 		}
 		break;
 		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_JOYBUTTONDOWN:
 	case SDL_JOYBUTTONUP:
 	case SDL_JOYBUTTONUP:
 	case SDL_JOYAXISMOTION:
 	case SDL_JOYAXISMOTION:

+ 9 - 0
jni/love/src/scripts/boot.lua

@@ -170,6 +170,15 @@ function love.createhandlers()
 		mousereleased = function (x,y,b)
 		mousereleased = function (x,y,b)
 			if love.mousereleased then return love.mousereleased(x,y,b) end
 			if love.mousereleased then return love.mousereleased(x,y,b) end
 		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)
 		joystickpressed = function (j,b)
 			if love.joystickpressed then return love.joystickpressed(j,b) end
 			if love.joystickpressed then return love.joystickpressed(j,b) end
 		end,
 		end,