diff options
Diffstat (limited to 'src/video/cocoa/cocoa_v.mm')
-rw-r--r-- | src/video/cocoa/cocoa_v.mm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm index 793e1b206..756c86bfb 100644 --- a/src/video/cocoa/cocoa_v.mm +++ b/src/video/cocoa/cocoa_v.mm @@ -407,4 +407,40 @@ void cocoaReleaseAutoreleasePool() [ _ottd_autorelease_pool release ]; } +@implementation OTTD_CocoaWindowDelegate +/** Initialize the video driver */ +- (void)setDriver:(CocoaSubdriver*)drv +{ + driver = drv; +} +/** Handle closure requests */ +- (BOOL)windowShouldClose:(id)sender +{ + HandleExitGameRequest(); + + return NO; +} +/** Handle key acceptance */ +- (void)windowDidBecomeKey:(NSNotification*)aNotification +{ + driver->active = true; +} +/** Resign key acceptance */ +- (void)windowDidResignKey:(NSNotification*)aNotification +{ + driver->active = false; +} +/** Handle becoming main window */ +- (void)windowDidBecomeMain:(NSNotification*)aNotification +{ + driver->active = true; +} +/** Resign being main window */ +- (void)windowDidResignMain:(NSNotification*)aNotification +{ + driver->active = false; +} + +@end + #endif /* WITH_COCOA */ |