diff --git a/lime/_backend/flash/FlashApplication.hx b/lime/_backend/flash/FlashApplication.hx index 1264ad06f..4fea3cdd1 100644 --- a/lime/_backend/flash/FlashApplication.hx +++ b/lime/_backend/flash/FlashApplication.hx @@ -241,8 +241,8 @@ class FlashApplication { if (parent.window != null) { var id = 0; - var x = event.stageX; - var y = event.stageY; + var x = event.stageX / parent.window.width; + var y = event.stageY / parent.window.height; switch (event.type) { diff --git a/lime/_backend/html5/HTML5Window.hx b/lime/_backend/html5/HTML5Window.hx index 9b22b1bb3..d2580ba87 100644 --- a/lime/_backend/html5/HTML5Window.hx +++ b/lime/_backend/html5/HTML5Window.hx @@ -362,6 +362,9 @@ class HTML5Window { } + x = x / setWidth; + y = y / setHeight; + switch (event.type) { case "touchstart": diff --git a/project/src/backend/sdl/SDLApplication.cpp b/project/src/backend/sdl/SDLApplication.cpp index c267394f6..b5d5a298f 100644 --- a/project/src/backend/sdl/SDLApplication.cpp +++ b/project/src/backend/sdl/SDLApplication.cpp @@ -347,10 +347,6 @@ namespace lime { void SDLApplication::ProcessMouseEvent (SDL_Event* event) { - #ifdef IPHONEOS - return; - #endif - if (MouseEvent::callback) { switch (event->type) { diff --git a/templates/android/template/src/org/libsdl/app/SDLActivity.java b/templates/android/template/src/org/libsdl/app/SDLActivity.java index 86fafbb09..05c94ff75 100644 --- a/templates/android/template/src/org/libsdl/app/SDLActivity.java +++ b/templates/android/template/src/org/libsdl/app/SDLActivity.java @@ -1170,8 +1170,8 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback, case MotionEvent.ACTION_MOVE: for (i = 0; i < pointerCount; i++) { pointerFingerId = event.getPointerId(i); - x = event.getX(i); - y = event.getY(i); + x = event.getX(i) / mWidth; + y = event.getY(i) / mHeight; p = event.getPressure(i); if (p > 1.0f) { // may be larger than 1.0f on some devices @@ -1194,8 +1194,8 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback, } pointerFingerId = event.getPointerId(i); - x = event.getX(i); - y = event.getY(i); + x = event.getX(i) / mWidth; + y = event.getY(i) / mHeight; p = event.getPressure(i); if (p > 1.0f) { // may be larger than 1.0f on some devices @@ -1208,8 +1208,8 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback, case MotionEvent.ACTION_CANCEL: for (i = 0; i < pointerCount; i++) { pointerFingerId = event.getPointerId(i); - x = event.getX(i); - y = event.getY(i); + x = event.getX(i) / mWidth; + y = event.getY(i) / mHeight; p = event.getPressure(i); if (p > 1.0f) { // may be larger than 1.0f on some devices