Mercurial > sdl-ios-xcode
comparison src/video/android/SDL_androidtouch.c @ 5001:77df56570442
Added "mouse" support for the Android touch screen
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 13 Jan 2011 18:31:15 -0800 |
parents | |
children | b530ef003506 |
comparison
equal
deleted
inserted
replaced
5000:6a10693e66c3 | 5001:77df56570442 |
---|---|
1 /* | |
2 SDL - Simple DirectMedia Layer | |
3 Copyright (C) 1997-2010 Sam Lantinga | |
4 | |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 */ | |
22 #include "SDL_config.h" | |
23 | |
24 #include <android/log.h> | |
25 | |
26 #include "SDL_events.h" | |
27 #include "../../events/SDL_mouse_c.h" | |
28 | |
29 #include "SDL_androidtouch.h" | |
30 | |
31 | |
32 #define ACTION_DOWN 0 | |
33 #define ACTION_UP 1 | |
34 #define ACTION_MOVE 2 | |
35 #define ACTION_CANCEL 3 | |
36 #define ACTION_OUTSIDE 4 | |
37 | |
38 void Android_OnTouch(int action, float x, float y, float p) | |
39 { | |
40 if (!Android_Window) { | |
41 return; | |
42 } | |
43 | |
44 if ((action != ACTION_CANCEL) && (action != ACTION_OUTSIDE)) { | |
45 SDL_SetMouseFocus(Android_Window); | |
46 SDL_SendMouseMotion(Android_Window, 0, (int)x, (int)y); | |
47 switch(action) { | |
48 case ACTION_DOWN: | |
49 SDL_SendMouseButton(Android_Window, SDL_PRESSED, SDL_BUTTON_LEFT); | |
50 break; | |
51 case ACTION_UP: | |
52 SDL_SendMouseButton(Android_Window, SDL_RELEASED, SDL_BUTTON_LEFT); | |
53 break; | |
54 } | |
55 } else { | |
56 SDL_SetMouseFocus(NULL); | |
57 } | |
58 } | |
59 | |
60 /* vi: set ts=4 sw=4 expandtab: */ |