# HG changeset patch # User Sam Lantinga # Date 1154212968 0 # Node ID c7803e4c21d3f785f2f23ea6b62076a90954101b # Parent ba0d62354872cb0ae1d4ad5ac6f4d17a5ee46b6a Implemented Cocoa mouse wheel events diff -r ba0d62354872 -r c7803e4c21d3 include/SDL_events.h --- a/include/SDL_events.h Sat Jul 29 21:51:00 2006 +0000 +++ b/include/SDL_events.h Sat Jul 29 22:42:48 2006 +0000 @@ -60,11 +60,11 @@ SDL_WINDOWEVENT, /**< Window state change */ SDL_KEYDOWN, /**< Keys pressed */ SDL_KEYUP, /**< Keys released */ - SDL_TEXTINPUT, /**< Keyboard text input */ + SDL_TEXTINPUT, /**< Keyboard text input */ SDL_MOUSEMOTION, /**< Mouse moved */ SDL_MOUSEBUTTONDOWN, /**< Mouse button pressed */ SDL_MOUSEBUTTONUP, /**< Mouse button released */ - SDL_MOUSEWHEEL, /**< Mouse wheel motion */ + SDL_MOUSEWHEEL, /**< Mouse wheel motion */ SDL_JOYAXISMOTION, /**< Joystick axis motion */ SDL_JOYBALLMOTION, /**< Joystick trackball motion */ SDL_JOYHATMOTION, /**< Joystick hat position change */ diff -r ba0d62354872 -r c7803e4c21d3 src/video/cocoa/SDL_cocoawindow.h --- a/src/video/cocoa/SDL_cocoawindow.h Sat Jul 29 21:51:00 2006 +0000 +++ b/src/video/cocoa/SDL_cocoawindow.h Sat Jul 29 22:42:48 2006 +0000 @@ -54,6 +54,7 @@ -(void) rightMouseUp:(NSEvent *) theEvent; -(void) otherMouseUp:(NSEvent *) theEvent; -(void) mouseMoved:(NSEvent *) theEvent; +-(void) mouseDragged:(NSEvent *) theEvent; -(void) scrollWheel:(NSEvent *) theEvent; -(void) keyDown:(NSEvent *) theEvent; -(void) keyUp:(NSEvent *) theEvent; diff -r ba0d62354872 -r c7803e4c21d3 src/video/cocoa/SDL_cocoawindow.m --- a/src/video/cocoa/SDL_cocoawindow.m Sat Jul 29 21:51:00 2006 +0000 +++ b/src/video/cocoa/SDL_cocoawindow.m Sat Jul 29 22:42:48 2006 +0000 @@ -208,26 +208,22 @@ } point = [NSEvent mouseLocation]; - if (point.x < rect.origin.x || - point.x > (rect.origin.x + rect.size.width) || - point.y < rect.origin.y || - point.y > (rect.origin.y + rect.size.height)) { - if (window->flags & SDL_WINDOW_MOUSE_FOCUS) { - SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_LEAVE, 0, 0); - } - } else { - if (!(window->flags & SDL_WINDOW_MOUSE_FOCUS)) { - SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_ENTER, 0, 0); - } - } point.x = point.x - rect.origin.x; point.y = rect.size.height - (point.y - rect.origin.y); SDL_SendMouseMotion(index, 0, (int)point.x, (int)point.y); } +- (void)mouseDragged:(NSEvent *)theEvent +{ + [self mouseMoved:theEvent]; +} + - (void)scrollWheel:(NSEvent *)theEvent { -fprintf(stderr, "scrollWheel\n"); + int index; + + index = _data->videodata->mouse; + SDL_SendMouseWheel(index, (int)([theEvent deltaY]+0.9f)); } - (void)keyDown:(NSEvent *)theEvent diff -r ba0d62354872 -r c7803e4c21d3 test/common.c --- a/test/common.c Sat Jul 29 21:51:00 2006 +0000 +++ b/test/common.c Sat Jul 29 22:42:48 2006 +0000 @@ -827,7 +827,7 @@ case SDL_MOUSEWHEEL: fprintf(stderr, "Mouse %d: wheel scrolled %d in window %d", event->wheel.which, event->wheel.motion, - event->button.windowID); + event->wheel.windowID); break; case SDL_JOYBALLMOTION: fprintf(stderr, "Joystick %d: ball %d moved by %d,%d",