Edit

kc3-lang/SDL/test/testnativecocoa.m

Branch :

  • Show log

    Commit

  • Author : David Ludwig
    Date : 2014-04-09 21:29:19
    Hash : 3dcb451f
    Message : Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.

  • test/testnativecocoa.m
  • #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