|
- #import <Cocoa/Cocoa.h>
- #import "main.h"
-
- void* CBR_CreateWindow(CBR_CreateWindowParams params) {
- id window = [
- [NSWindow alloc] initWithContentRect:NSMakeRect(params.rect.x, params.rect.y, params.rect.width, params.rect.height)
- styleMask: (NSWindowStyleMask)params.style_flags
- backing:NSBackingStoreBuffered
- defer:NO
- ];
- [window cascadeTopLeftFromPoint:NSMakePoint(0,0)];
- [window setTitle: [NSString stringWithUTF8String:(params.title)]];
- [window makeKeyAndOrderFront:nil];
- return (__bridge void *)(window);
- }
-
- int main() {
- @autoreleasepool{
- [NSApplication sharedApplication];
- [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
- id applicationName = [[NSProcessInfo processInfo] processName];
- void* window = CBR_CreateWindow((CBR_CreateWindowParams) {
- .rect = {
- .x = WINDOW_X,
- .y = WINDOW_Y,
- .width = WINDOW_WIDTH,
- .height = WINDOW_HEIGHT
- },
- .style_flags = CBR_WINDOW_STYLE_FLAG_TITLED | CBR_WINDOW_STYLE_FLAG_CLOSABLE | CBR_WINDOW_STYLE_FLAG_RESIZABLE | CBR_WINDOW_STYLE_FLAG_MINIATURIZABLE | CBR_WINDOW_STYLE_FLAG_FULL_SCREEN,
- .title = [applicationName cStringUsingEncoding:NSUTF8StringEncoding]
- });
- [NSApp activateIgnoringOtherApps:YES];
- [NSApp run];
- }
- return 0;
- }
|