From 371e3384cb2a6552a27600c856bd6febdc75d81a Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 6 Jul 2007 13:39:03 +0000 Subject: [PATCH] Reverted mousewheel support in 1.2, since it breaks binary compatibility. --- WhatsNew | 2 -- docs.html | 3 --- include/SDL_mouse.h | 4 ---- src/video/bwindow/SDL_sysevents.cc | 23 ++++++----------------- src/video/quartz/SDL_QuartzEvents.m | 25 +++++++------------------ src/video/wincommon/SDL_sysevents.c | 4 ++-- 6 files changed, 15 insertions(+), 46 deletions(-) diff --git a/WhatsNew b/WhatsNew index 02cdc8bd5..8538e93ac 100644 --- a/WhatsNew +++ b/WhatsNew @@ -7,8 +7,6 @@ Version 1.0: Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling of the screensaver on Mac OS X and X11. - Added SDL_BUTTON_WHEELLEFT (6) and SDL_BUTTON_WHEELRIGHT (7) - 1.2.10: If SDL_OpenAudio() is passed zero for the desired format fields, the following environment variables will be used diff --git a/docs.html b/docs.html index 95df93587..25cb6fd9f 100644 --- a/docs.html +++ b/docs.html @@ -28,9 +28,6 @@

General Notes

Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling of the screensaver on Mac OS X, Windows, and X11.

-

- Added SDL_BUTTON_WHEELLEFT (6) and SDL_BUTTON_WHEELRIGHT (7) -

Fixed buffer overrun crash when resampling audio rates.

diff --git a/include/SDL_mouse.h b/include/SDL_mouse.h index cc01e50e1..c2364d859 100644 --- a/include/SDL_mouse.h +++ b/include/SDL_mouse.h @@ -115,8 +115,6 @@ extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle); Button 3: Right mouse button Button 4: Mouse wheel up (may also be a real button) Button 5: Mouse wheel down (may also be a real button) - Button 6: Mouse wheel left (may also be a real button) - Button 7: Mouse wheel right (may also be a real button) */ #define SDL_BUTTON(X) (1 << ((X)-1)) #define SDL_BUTTON_LEFT 1 @@ -124,8 +122,6 @@ extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle); #define SDL_BUTTON_RIGHT 3 #define SDL_BUTTON_WHEELUP 4 #define SDL_BUTTON_WHEELDOWN 5 -#define SDL_BUTTON_WHEELLEFT 6 -#define SDL_BUTTON_WHEELRIGHT 7 #define SDL_BUTTON_LMASK SDL_BUTTON(SDL_BUTTON_LEFT) #define SDL_BUTTON_MMASK SDL_BUTTON(SDL_BUTTON_MIDDLE) #define SDL_BUTTON_RMASK SDL_BUTTON(SDL_BUTTON_RIGHT) diff --git a/src/video/bwindow/SDL_sysevents.cc b/src/video/bwindow/SDL_sysevents.cc index 0746897fa..2a084682b 100644 --- a/src/video/bwindow/SDL_sysevents.cc +++ b/src/video/bwindow/SDL_sysevents.cc @@ -294,23 +294,12 @@ SDL_WarpMouse((int)center.x*2-1,(int)center.y*2-1); float x, y; x = y = 0; if (msg->FindFloat("be:wheel_delta_x", &x) == B_OK && msg->FindFloat("be:wheel_delta_y", &y) == B_OK) { - if ( y ) { - if (y < 0) { - SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_WHEELDOWN, 0, 0); - SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_WHEELDOWN, 0, 0); - } else { - SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_WHEELUP, 0, 0); - SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_WHEELUP, 0, 0); - } - } - if ( x ) { - if (x < 0) { - SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_WHEELRIGHT, 0, 0); - SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_WHEELRIGHT, 0, 0); - } else { - SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_WHEELLEFT, 0, 0); - SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_WHEELLEFT, 0, 0); - } + if (x < 0 || y < 0) { + SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_WHEELDOWN, 0, 0); + SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_WHEELDOWN, 0, 0); + } else if (x > 0 || y > 0) { + SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_WHEELUP, 0, 0); + SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_WHEELUP, 0, 0); } } break; diff --git a/src/video/quartz/SDL_QuartzEvents.m b/src/video/quartz/SDL_QuartzEvents.m index f531ea804..1647570b5 100644 --- a/src/video/quartz/SDL_QuartzEvents.m +++ b/src/video/quartz/SDL_QuartzEvents.m @@ -932,24 +932,13 @@ disassociated from the mouse (and therefore Uint8 button; dy = [ event deltaY ]; dx = [ event deltaX ]; - if ( dy ) { - if ( dy > 0.0 ) /* Scroll up */ - button = SDL_BUTTON_WHEELUP; - else /* Scroll down */ - button = SDL_BUTTON_WHEELDOWN; - /* For now, wheel is sent as a quick down+up */ - SDL_PrivateMouseButton (SDL_PRESSED, button, 0, 0); - SDL_PrivateMouseButton (SDL_RELEASED, button, 0, 0); - } - if ( dx ) { - if ( dx > 0.0 ) /* Scroll left */ - button = SDL_BUTTON_WHEELLEFT; - else /* Scroll right */ - button = SDL_BUTTON_WHEELRIGHT; - /* For now, wheel is sent as a quick down+up */ - SDL_PrivateMouseButton (SDL_PRESSED, button, 0, 0); - SDL_PrivateMouseButton (SDL_RELEASED, button, 0, 0); - } + if ( dy > 0.0 || dx > 0.0 ) /* Scroll up */ + button = SDL_BUTTON_WHEELUP; + else /* Scroll down */ + button = SDL_BUTTON_WHEELDOWN; + /* For now, wheel is sent as a quick down+up */ + SDL_PrivateMouseButton (SDL_PRESSED, button, 0, 0); + SDL_PrivateMouseButton (SDL_RELEASED, button, 0, 0); } break; case NSKeyUp: diff --git a/src/video/wincommon/SDL_sysevents.c b/src/video/wincommon/SDL_sysevents.c index d1cd058b1..ac538d390 100644 --- a/src/video/wincommon/SDL_sysevents.c +++ b/src/video/wincommon/SDL_sysevents.c @@ -520,12 +520,12 @@ LRESULT CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) break; case WM_XBUTTONDOWN: xbuttonval = GET_XBUTTON_WPARAM(wParam); - button = SDL_BUTTON_WHEELRIGHT + xbuttonval; + button = SDL_BUTTON_WHEELDOWN + xbuttonval; state = SDL_PRESSED; break; case WM_XBUTTONUP: xbuttonval = GET_XBUTTON_WPARAM(wParam); - button = SDL_BUTTON_WHEELRIGHT + xbuttonval; + button = SDL_BUTTON_WHEELDOWN + xbuttonval; state = SDL_RELEASED; break; default: