Atlas - testnativecocoa.m

Home / ext / SDL / test Lines: 1 | Size: 1481 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)]
[FILE BEGIN]
1 2#include "testnative.h" 3 4#ifdef TEST_NATIVE_COCOA 5 6#include <AvailabilityMacros.h> 7#include <Cocoa/Cocoa.h> 8 9#ifndef MAC_OS_X_VERSION_10_12 10static const unsigned int NSWindowStyleMaskTitled = NSTitledWindowMask; 11static const unsigned int NSWindowStyleMaskMiniaturizable = NSMiniaturizableWindowMask; 12static const unsigned int NSWindowStyleMaskClosable = NSClosableWindowMask; 13#endif 14 15static void *CreateWindowCocoa(int w, int h); 16static void DestroyWindowCocoa(void *window); 17 18NativeWindowFactory CocoaWindowFactory = { 19 "cocoa", 20 CreateWindowCocoa, 21 DestroyWindowCocoa 22}; 23 24static void *CreateWindowCocoa(int w, int h) 25{ 26 NSAutoreleasePool *pool; 27 NSWindow *nswindow; 28 NSRect rect; 29 unsigned int style; 30 31 pool = [[NSAutoreleasePool alloc] init]; 32 33 rect.origin.x = 0; 34 rect.origin.y = 0; 35 rect.size.width = w; 36 rect.size.height = h; 37 rect.origin.y = CGDisplayPixelsHigh(kCGDirectMainDisplay) - rect.origin.y - rect.size.height; 38 39 style = (NSWindowStyleMaskTitled|NSWindowStyleMaskClosable|NSWindowStyleMaskMiniaturizable); 40 41 nswindow = [[NSWindow alloc] initWithContentRect:rect styleMask:style backing:NSBackingStoreBuffered defer:FALSE]; 42 [nswindow makeKeyAndOrderFront:nil]; 43 44 [pool release]; 45 46 return nswindow; 47} 48 49static void DestroyWindowCocoa(void *window) 50{ 51 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 52 NSWindow *nswindow = (NSWindow *)window; 53 54 [nswindow close]; 55 [pool release]; 56} 57 58#endif 59
[FILE END]
(C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.