ebiten/ui/cocoa/ebiten_controller.c

48 lines
1.0 KiB
C
Raw Normal View History

2013-10-12 20:17:51 +02:00
// -*- objc -*-
#import "ebiten_controller.h"
@implementation EbitenController {
@private
NSWindow* window_;
}
- (id)initWithWindow:(NSWindow*)window {
2013-10-13 10:36:18 +02:00
if (self = [super init]) {
2013-10-12 20:17:51 +02:00
self->window_ = window;
}
return self;
}
- (void)initMenu {
NSString* processName = [[NSProcessInfo processInfo] processName];
NSMenu* menuBar = [NSMenu new];
NSMenuItem* rootMenu = [NSMenuItem new];
[menuBar addItem:rootMenu];
NSMenu* appMenu = [NSMenu new];
[appMenu addItemWithTitle:[@"Quit " stringByAppendingString:processName]
action:@selector(performClose:)
keyEquivalent:@"q"];
[rootMenu setSubmenu:appMenu];
[NSApp setMainMenu: menuBar];
}
- (void)applicationDidFinishLaunching:(NSNotification*)aNotification {
(void)aNotification;
NSWindow* window = self->window_;
assert(window);
[window makeKeyAndOrderFront:nil];
[self initMenu];
}
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:
(NSApplication*)theApplication {
(void)theApplication;
return YES;
}
@end