12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #include "testnative.h"
- #ifdef TEST_NATIVE_COCOA
- #include <Cocoa/Cocoa.h>
- 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 = (NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask);
- 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
|