[Tizen] Support Autoconf 2.71
[platform/upstream/SDL.git] / test / testnativecocoa.m
1
2 #include "testnative.h"
3
4 #ifdef TEST_NATIVE_COCOA
5
6 #include <Cocoa/Cocoa.h>
7
8 static void *CreateWindowCocoa(int w, int h);
9 static void DestroyWindowCocoa(void *window);
10
11 NativeWindowFactory CocoaWindowFactory = {
12     "cocoa",
13     CreateWindowCocoa,
14     DestroyWindowCocoa
15 };
16
17 static void *CreateWindowCocoa(int w, int h)
18 {
19     NSAutoreleasePool *pool;
20     NSWindow *nswindow;
21     NSRect rect;
22     unsigned int style;
23
24     pool = [[NSAutoreleasePool alloc] init];
25
26     rect.origin.x = 0;
27     rect.origin.y = 0;
28     rect.size.width = w;
29     rect.size.height = h;
30     rect.origin.y = CGDisplayPixelsHigh(kCGDirectMainDisplay) - rect.origin.y - rect.size.height;
31
32     style = (NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask);
33
34     nswindow = [[NSWindow alloc] initWithContentRect:rect styleMask:style backing:NSBackingStoreBuffered defer:FALSE];
35     [nswindow makeKeyAndOrderFront:nil];
36
37     [pool release];
38
39     return nswindow;
40 }
41
42 static void DestroyWindowCocoa(void *window)
43 {
44     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
45     NSWindow *nswindow = (NSWindow *)window;
46
47     [nswindow close];
48     [pool release];
49 }
50
51 #endif