jak-project/third-party/SDL/test/testnativecocoa.m
Tyler Wilding ecd6091d7f
deps: SDL update to 2.30.0 (#3384)
In the hopes that some things have been fixed in the last year
(GAME_CONTROLLER init time, etc)

Make sure this does not regress #2691
2024-03-05 22:12:13 -05:00

59 lines
1.4 KiB
Objective-C
Vendored
Generated

#include "testnative.h"
#ifdef TEST_NATIVE_COCOA
#include <AvailabilityMacros.h>
#include <Cocoa/Cocoa.h>
#ifndef MAC_OS_X_VERSION_10_12
static const unsigned int NSWindowStyleMaskTitled = NSTitledWindowMask;
static const unsigned int NSWindowStyleMaskMiniaturizable = NSMiniaturizableWindowMask;
static const unsigned int NSWindowStyleMaskClosable = NSClosableWindowMask;
#endif
static void *CreateWindowCocoa(int w, int h);
static void DestroyWindowCocoa(void *window);
NativeWindowFactory CocoaWindowFactory = {
"cocoa",
CreateWindowCocoa,
DestroyWindowCocoa
};
static void *CreateWindowCocoa(int w, int h)
{
NSAutoreleasePool *pool;
NSWindow *nswindow;
NSRect rect;
unsigned int style;
pool = [[NSAutoreleasePool alloc] init];
rect.origin.x = 0;
rect.origin.y = 0;
rect.size.width = w;
rect.size.height = h;
rect.origin.y = CGDisplayPixelsHigh(kCGDirectMainDisplay) - rect.origin.y - rect.size.height;
style = (NSWindowStyleMaskTitled|NSWindowStyleMaskClosable|NSWindowStyleMaskMiniaturizable);
nswindow = [[NSWindow alloc] initWithContentRect:rect styleMask:style backing:NSBackingStoreBuffered defer:FALSE];
[nswindow makeKeyAndOrderFront:nil];
[pool release];
return nswindow;
}
static void DestroyWindowCocoa(void *window)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSWindow *nswindow = (NSWindow *)window;
[nswindow close];
[pool release];
}
#endif