/* Mac Objective C layer for 4coder */ #include "4coder_base_types.h" #include "mac_objective_c_to_cpp_links.h" #undef function #undef internal #undef global #undef external #include @interface App_Delegate : NSObject @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 int main(int arg_count, char **args){ @autoreleasepool{ // NOTE(yuval): Create NSApplication & Delegate NSApplication* app = [NSApplication sharedApplication]; [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; App_Delegate* app_delegate = [[App_Delegate alloc] init]; [app setDelegate:app_delegate]; [NSApp finishLaunching]; mac_init(); #if 0 // NOTE(yuval): Application Core Update Application_Step_Result result = {}; if (app.step != 0){ result = app.step(mac_vars.tctx, &target, base_ptr, &input); } #endif } }