2019-12-24 00:46:58 +00:00
|
|
|
#include <Cocoa/Cocoa.h>
|
2019-12-23 23:22:56 +00:00
|
|
|
|
2019-12-24 00:53:25 +00:00
|
|
|
@interface App_Delegate : NSObject<NSApplicationDelegate, NSWindowDelegate>
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation App_Delegate
|
|
|
|
- (void)applicationDidFinishLaunching:(id)sender{
|
|
|
|
}
|
|
|
|
|
|
|
|
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication*)sender{
|
|
|
|
return YES;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)applicationWillTerminate:(NSNotification *)notification{
|
|
|
|
}
|
|
|
|
|
|
|
|
- (NSSize)windowWillResize:(NSWindow*)window toSize:(NSSize)frame_size{
|
|
|
|
// frame_size.height = ((f32)frame_size.width / global_aspect_ratio);
|
|
|
|
return frame_size;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)windowWillClose:(id)sender {
|
|
|
|
// global_running = false;
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
2019-12-23 00:39:44 +00:00
|
|
|
int
|
|
|
|
main(int arg_count, char **args){
|
2019-12-23 23:22:56 +00:00
|
|
|
@autoreleasepool{
|
|
|
|
// NOTE(yuval): NSApplication & Delegate Creation
|
|
|
|
NSApplication* app = [NSApplication sharedApplication];
|
|
|
|
[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
|
|
|
|
|
|
|
|
App_Delegate* app_delegate = [[App_Delegate alloc] init];
|
|
|
|
[app setDelegate:app_delegate];
|
|
|
|
|
|
|
|
[NSApp finishLaunching];
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
Thread_Context _tctx = {};
|
|
|
|
thread_ctx_init(&_tctx, ThreadKind_Main,
|
|
|
|
get_base_allocator_system(),
|
|
|
|
get_base_allocator_system());
|
|
|
|
|
|
|
|
block_zero_struct(&global_mac_vars);
|
|
|
|
global_mac_vars.tctx = &_tctx;
|
|
|
|
|
|
|
|
// NOTE(yuval): Application Core Update
|
|
|
|
Application_Step_Result result = {};
|
|
|
|
if (app.step != 0){
|
|
|
|
result = app.step(mac_vars.tctx, &target, base_ptr, &input);
|
|
|
|
}
|
|
|
|
#endif
|
2019-12-23 00:39:44 +00:00
|
|
|
}
|
|
|
|
}
|