From b7354d7411c56a6fa49133f6be6a24f6c970d737 Mon Sep 17 00:00:00 2001 From: Szymon Wilczek Date: Wed, 6 Aug 2008 09:29:32 +0000 Subject: [PATCH] Sharpened code looks and a minor events upgrade --- include/SDL_events.h | 1 + src/events/SDL_mouse.c | 13 ++++++++----- src/video/x11/SDL_x11mouse.c | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/SDL_events.h b/include/SDL_events.h index b00e7b0fc..4c698c65d 100644 --- a/include/SDL_events.h +++ b/include/SDL_events.h @@ -331,6 +331,7 @@ typedef struct SDL_ProximityEvent { Uint8 which; Uint8 type; + int cursor; int x; int y; } SDL_ProximityEvent; diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c index 098264ecc..884444b3c 100644 --- a/src/events/SDL_mouse.c +++ b/src/events/SDL_mouse.c @@ -338,6 +338,7 @@ int SDL_SendProximity(int id, int x, int y, int type) { int index=SDL_GetIndexById(id); + SDL_Mouse* mouse=SDL_GetMouse(index); int posted=0; last_x=x; last_y=y; @@ -347,23 +348,24 @@ SDL_SendProximity(int id, int x, int y, int type) event.proximity.which=(Uint8)index; event.proximity.x=x; event.proximity.y=y; + event.proximity.cursor=mouse->current_end; event.type=type; event.proximity.type=type; posted = (SDL_PushEvent(&event) > 0); if(type==SDL_PROXIMITYIN) { - SDL_mice[index]->proximity=SDL_TRUE; + mouse->proximity=SDL_TRUE; } else { - SDL_mice[index]->proximity=SDL_FALSE; + mouse->proximity=SDL_FALSE; } } return posted; } int -SDL_SendMouseMotion(int id, int relative, int x, int y,int z) +SDL_SendMouseMotion(int id, int relative, int x, int y,int pressure) { int index=SDL_GetIndexById(id); SDL_Mouse *mouse = SDL_GetMouse(index); @@ -440,7 +442,7 @@ SDL_SendMouseMotion(int id, int relative, int x, int y,int z) } mouse->xdelta += xrel; mouse->ydelta += yrel; - mouse->pressure=z; + mouse->pressure=pressure; /* Move the mouse cursor, if needed */ if (mouse->cursor_shown && !mouse->relative_mode && @@ -450,7 +452,8 @@ SDL_SendMouseMotion(int id, int relative, int x, int y,int z) /* Post the event, if desired */ posted = 0; - if (SDL_ProcessEvents[SDL_MOUSEMOTION] == SDL_ENABLE && SDL_mice[index]->proximity==SDL_TRUE) { + if (SDL_ProcessEvents[SDL_MOUSEMOTION] == SDL_ENABLE && \ + mouse->proximity==SDL_TRUE) { SDL_Event event; event.motion.type = SDL_MOUSEMOTION; event.motion.which = (Uint8) index; diff --git a/src/video/x11/SDL_x11mouse.c b/src/video/x11/SDL_x11mouse.c index 498de313b..d0ba041a7 100644 --- a/src/video/x11/SDL_x11mouse.c +++ b/src/video/x11/SDL_x11mouse.c @@ -59,7 +59,7 @@ X11_InitMouse(_THIS) if(!newDevices) { SDL_OutOfMemory(); - return -1; + return; } SDL_XDevices=newDevices; SDL_XDevices[index]=XOpenDevice(data->display,DevList[i].id);