Mercurial > sdl-ios-xcode
changeset 4009:1146681dbb74 SDL-1.2
Fixed bug #382
Added horizontal scrolling support: SDL_BUTTON_WHEELLEFT (6) and SDL_BUTTON_WHEELRIGHT (7)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 06 Jul 2007 09:15:43 +0000 |
parents | a19fd8bcdd52 |
children | 3aa1406620f6 |
files | WhatsNew docs.html include/SDL_mouse.h src/video/bwindow/SDL_sysevents.cc src/video/quartz/SDL_QuartzEvents.m |
diffstat | 5 files changed, 44 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/WhatsNew Fri Jul 06 07:45:33 2007 +0000 +++ b/WhatsNew Fri Jul 06 09:15:43 2007 +0000 @@ -7,6 +7,8 @@ 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
--- a/docs.html Fri Jul 06 07:45:33 2007 +0000 +++ b/docs.html Fri Jul 06 09:15:43 2007 +0000 @@ -29,6 +29,9 @@ Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling of the screensaver on Mac OS X, Windows, and X11. </P> <P> + Added SDL_BUTTON_WHEELLEFT (6) and SDL_BUTTON_WHEELRIGHT (7) +</P> +<P> Fixed buffer overrun crash when resampling audio rates. </P> <P>
--- a/include/SDL_mouse.h Fri Jul 06 07:45:33 2007 +0000 +++ b/include/SDL_mouse.h Fri Jul 06 09:15:43 2007 +0000 @@ -115,6 +115,8 @@ 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 @@ -122,6 +124,8 @@ #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)
--- a/src/video/bwindow/SDL_sysevents.cc Fri Jul 06 07:45:33 2007 +0000 +++ b/src/video/bwindow/SDL_sysevents.cc Fri Jul 06 09:15:43 2007 +0000 @@ -294,12 +294,23 @@ 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 (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); + 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); + } } } break;
--- a/src/video/quartz/SDL_QuartzEvents.m Fri Jul 06 07:45:33 2007 +0000 +++ b/src/video/quartz/SDL_QuartzEvents.m Fri Jul 06 09:15:43 2007 +0000 @@ -932,13 +932,24 @@ Uint8 button; dy = [ event deltaY ]; dx = [ event deltaX ]; - 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); + 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); + } } break; case NSKeyUp: