Mercurial > sdl-ios-xcode
view test/testnativecocoa.m @ 4567:1d7ea8724f4a
Daniel Wyatt to slouken
I also found a bug in the non-printable character fix.
In SDL_keyboard.c:SDL_SendKeyboardText:
if (*text < ' ' || *text == 127) {
needs to be:
if ((unsigned char)*text < ' ' || *text == 127) {
Otherwise bytes >= 128 will be considered non-printable.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 22 Jul 2010 22:09:04 -0700 |
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