aboutsummaryrefslogtreecommitdiff
path: root/backends/platform
diff options
context:
space:
mode:
authordhewg2011-03-18 21:05:46 +0100
committerdhewg2011-03-18 21:53:25 +0100
commitb7215472136c91841d44decd6955b4eb3e3e2ce1 (patch)
treea621b1e8ec1c6e91b8b363ed864d1ae16de1ab81 /backends/platform
parent004df22752b47e26f757100b6faac04dd7b707e0 (diff)
downloadscummvm-rg350-b7215472136c91841d44decd6955b4eb3e3e2ce1.tar.gz
scummvm-rg350-b7215472136c91841d44decd6955b4eb3e3e2ce1.tar.bz2
scummvm-rg350-b7215472136c91841d44decd6955b4eb3e3e2ce1.zip
ANDROID: Implement trackball click
Diffstat (limited to 'backends/platform')
-rw-r--r--backends/platform/android/events.cpp26
-rw-r--r--backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java6
2 files changed, 24 insertions, 8 deletions
diff --git a/backends/platform/android/events.cpp b/backends/platform/android/events.cpp
index cab09e04dd..da17b8ec32 100644
--- a/backends/platform/android/events.cpp
+++ b/backends/platform/android/events.cpp
@@ -569,15 +569,29 @@ void OSystem_Android::pushEvent(int type, int arg1, int arg2, int arg3,
return;
case JE_BALL:
- e.type = Common::EVENT_MOUSEMOVE;
-
e.mouse = getEventManager()->getMousePos();
- // already multiplied by 100
- e.mouse.x += arg1 * _trackball_scale / _eventScaleX;
- e.mouse.y += arg2 * _trackball_scale / _eventScaleY;
+ switch (arg1) {
+ case JACTION_DOWN:
+ e.type = Common::EVENT_LBUTTONDOWN;
+ break;
+ case JACTION_UP:
+ e.type = Common::EVENT_LBUTTONUP;
+ break;
+ case JACTION_MULTIPLE:
+ e.type = Common::EVENT_MOUSEMOVE;
+
+ // already multiplied by 100
+ e.mouse.x += arg2 * _trackball_scale / _eventScaleX;
+ e.mouse.y += arg3 * _trackball_scale / _eventScaleY;
- clipMouse(e.mouse);
+ clipMouse(e.mouse);
+
+ break;
+ default:
+ LOGE("unhandled jaction on system key: %d", arg1);
+ return;
+ }
lockMutex(_event_queue_lock);
_event_queue.push(e);
diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java b/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java
index da589a326e..baf128292e 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java
+++ b/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java
@@ -48,8 +48,10 @@ public class ScummVMEvents implements
}
public boolean onTrackballEvent(MotionEvent e) {
- _scummvm.pushEvent(JE_BALL, (int)(e.getX() * e.getXPrecision() * 100),
- (int)(e.getY() * e.getYPrecision() * 100), 0, 0, 0);
+ _scummvm.pushEvent(JE_BALL, e.getAction(),
+ (int)(e.getX() * e.getXPrecision() * 100),
+ (int)(e.getY() * e.getYPrecision() * 100),
+ 0, 0);
return true;
}