diff options
author | planetmaker <planetmaker@openttd.org> | 2010-12-21 15:57:55 +0000 |
---|---|---|
committer | planetmaker <planetmaker@openttd.org> | 2010-12-21 15:57:55 +0000 |
commit | 26575ab8f880a39dc9c07203d4f8b31eb667fdac (patch) | |
tree | b856ca9c3891022933f1a291cbdaba461fcad11d /src/video/cocoa/cocoa_v.mm | |
parent | 7ab04792c501fcc605eff92d79eab5a66707e28f (diff) | |
download | openttd-26575ab8f880a39dc9c07203d4f8b31eb667fdac.tar.xz |
(svn r21575) -Codechange: [OSX] Use the same class for the window delegate routines in windowed screen drivers
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 */ |