aboutsummaryrefslogtreecommitdiffstats
path: root/src/AppDelegate.m
diff options
context:
space:
mode:
authorTeddy Wing2023-08-14 02:02:49 +0200
committerTeddy Wing2023-08-14 02:02:49 +0200
commit5d242798e7a343b2012dca16e8d22af957205f93 (patch)
tree6475e355a6def39d3a5172d7e1d39abcb6b78503 /src/AppDelegate.m
parent70b8d569190c7a54f0dc0e2cd11ead6577caa840 (diff)
downloadBase-Windowed-Application-5d242798e7a343b2012dca16e8d22af957205f93.tar.bz2
Add an NSApplicationDelegate
Move the window creation to a separate class, and also allow us to take advantage of `NSApplicationDelegate` protocol methods.
Diffstat (limited to 'src/AppDelegate.m')
-rw-r--r--src/AppDelegate.m28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/AppDelegate.m b/src/AppDelegate.m
new file mode 100644
index 0000000..270be25
--- /dev/null
+++ b/src/AppDelegate.m
@@ -0,0 +1,28 @@
+#import "AppDelegate.h"
+
+@implementation AppDelegate
+
+- (void)dealloc
+{
+ [_window release];
+ [super dealloc];
+}
+
+- (void)applicationWillFinishLaunching:(NSNotification *)notification
+{
+ _window = [[NSWindow alloc]
+ initWithContentRect:NSMakeRect(0, 0, 400, 400)
+ styleMask:NSWindowStyleMaskTitled
+ backing:NSBackingStoreBuffered
+ defer:NO];
+
+ [_window setTitle:@"Application"];
+}
+
+- (void)applicationDidFinishLaunching:(NSNotification *)notification
+{
+ [_window cascadeTopLeftFromPoint:NSMakePoint(100, 100)];
+ [_window makeKeyAndOrderFront:nil];
+}
+
+@end