Mercurial > sdl-ios-xcode
view test/testnativecocoa.m @ 3541:0c429a5fda8a
Added an automated test for rectangle routines, currently only testing line clipping.
Use the Cohen-Sutherland algorithm for line clipping which uses integer math and preserves ordering of clipped points.
Removed getopt() support in testsdl.c, replaced with simple argv scanning.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 11 Dec 2009 09:22:34 +0000 (2009-12-11) |
parents | 089a77aebb7d |
children |
line wrap: on
line source
#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