Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Fixed touch events on Mac OS X 10.6

  • Loading branch information
slouken committed Dec 2, 2010
1 parent e808edd commit 2dab4e6e301f0a90893ad2d30fb947a2d1e774bb
Showing with 8 additions and 3 deletions.
  1. +8 −3 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];

0 comments on commit 2dab4e6

Please sign in to comment.