SDL  2.0
testnativecocoa.m
Go to the documentation of this file.
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
SDL_Rect rect
Definition: testrelative.c:27
GLfloat GLfloat GLfloat GLfloat h
GLubyte GLubyte GLubyte GLubyte w
GLint GLint GLint GLint GLint GLint y
Definition: SDL_opengl.h:1574
int x
Definition: SDL_rect.h:66
GLsizeiptr size
GLint GLint GLsizei GLsizei height
Definition: SDL_opengl.h:1572
EGLSurface EGLNativeWindowType * window
Definition: eglext.h:1025