22 #include "../../SDL_internal.h"
24 #if SDL_VIDEO_DRIVER_ANDROID
29 #include "../../events/SDL_mouse_c.h"
31 #include "../../core/android/SDL_android.h"
37 #define ACTION_HOVER_MOVE 7
38 #define ACTION_SCROLL 8
39 #define BUTTON_PRIMARY 1
40 #define BUTTON_SECONDARY 2
41 #define BUTTON_TERTIARY 4
43 #define BUTTON_FORWARD 16
50 } SDL_AndroidCursorData;
53 static int last_state;
65 SDL_AndroidCursorData *
data = (SDL_AndroidCursorData*)
SDL_calloc(1,
sizeof(*data));
67 data->custom_cursor = custom_cursor;
83 Android_CreateDefaultCursor()
100 if (!custom_cursor) {
104 return Android_WrapCursor(custom_cursor, 0);
110 return Android_WrapCursor(0,
id);
121 Android_CreateEmptyCursor()
127 empty_cursor = Android_CreateCursor(empty_surface, 0, 0);
135 Android_DestroyEmptyCursor()
138 Android_FreeCursor(empty_cursor);
147 cursor = Android_CreateEmptyCursor();
150 SDL_AndroidCursorData *data = (SDL_AndroidCursorData*)cursor->
driverdata;
151 if (data->custom_cursor) {
200 Android_DestroyEmptyCursor();
205 TranslateButton(
int state)
207 if (state & BUTTON_PRIMARY) {
209 }
else if (state & BUTTON_SECONDARY) {
211 }
else if (state & BUTTON_TERTIARY) {
213 }
else if (state & BUTTON_FORWARD) {
215 }
else if (state & BUTTON_BACK) {
228 if (!Android_Window) {
234 changes = state & ~last_state;
235 button = TranslateButton(changes);
242 changes = last_state & ~state;
243 button = TranslateButton(changes);
250 case ACTION_HOVER_MOVE: