From 2dab4e6e301f0a90893ad2d30fb947a2d1e774bb Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 2 Dec 2010 11:56:23 -0800 Subject: [PATCH] Fixed touch events on Mac OS X 10.6 --- src/video/cocoa/SDL_cocoawindow.m | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 06f6acf8d..4ab0a116d 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -57,11 +57,13 @@ - (void)listen:(SDL_WindowData *)data } else { [_data->nswindow setDelegate:self]; } +// FIXME: Why doesn't this work? +// [center addObserver:self selector:@selector(rightMouseDown:) name:[NSString stringWithCString:"rightMouseDown" encoding:NSUTF8StringEncoding] object:[_data->nswindow contentView]]; [center addObserver:self selector:@selector(windowDidHide:) name:NSApplicationDidHideNotification object:NSApp]; [center addObserver:self selector:@selector(windowDidUnhide:) name:NSApplicationDidUnhideNotification object:NSApp]; [_data->nswindow setAcceptsMouseMovedEvents:YES]; -#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 [[_data->nswindow contentView] setAcceptsTouchEvents:YES]; #endif } @@ -295,7 +297,7 @@ - (void)touchesCancelledWithEvent:(NSEvent *) theEvent - (void)handleTouches:(cocoaTouchType)type withEvent:(NSEvent *)event { -#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 NSSet *touches = 0; NSEnumerator *enumerator; NSTouch *touch; @@ -357,7 +359,7 @@ - (void)handleTouches:(cocoaTouchType)type withEvent:(NSEvent *)event touch = (NSTouch*)[enumerator nextObject]; } -#endif /* MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 */ +#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 */ } @end @@ -437,6 +439,9 @@ - (void)rightMouseDown:(NSEvent *)theEvent NSRect rect = [nswindow contentRectForFrameRect:[nswindow frame]]; NSView *contentView = [[SDLView alloc] initWithFrame: rect listener: data->listener]; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + [contentView setAcceptsTouchEvents:YES]; +#endif [nswindow setContentView: contentView]; [contentView release];