comparison test/testnativecocoa.m @ 3057:089a77aebb7d

Added test program for SDL_CreateWindowFrom() Make sure OpenGL library is loaded before working with OpenGL windows, even those created with SDL_CreateWindowFrom()
author Sam Lantinga <slouken@libsdl.org>
date Mon, 09 Feb 2009 05:32:12 +0000
parents
children
comparison
equal deleted inserted replaced
3056:a434fe6360df 3057:089a77aebb7d
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