From 0d76765db9189b0fb2a9b487c55d007f8d9e5741 Mon Sep 17 00:00:00 2001 From: Holmes Futrell Date: Thu, 17 Jul 2008 22:29:37 +0000 Subject: [PATCH] The class SDL_uikitappdelegate acts as the UIApplicationDelegate for an iPhone SDL project. This class is reponsible for application control flow, including initial setup of working directory, forwarding command line arguments to the user's main function, and handling application termination. --- src/video/uikit/SDL_uikitappdelegate.h | 17 ++++++ src/video/uikit/SDL_uikitappdelegate.m | 80 ++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 src/video/uikit/SDL_uikitappdelegate.h create mode 100644 src/video/uikit/SDL_uikitappdelegate.m diff --git a/src/video/uikit/SDL_uikitappdelegate.h b/src/video/uikit/SDL_uikitappdelegate.h new file mode 100644 index 000000000..5ae5f05ae --- /dev/null +++ b/src/video/uikit/SDL_uikitappdelegate.h @@ -0,0 +1,17 @@ +// +// SDLUIKitDelegate.h +// iPodSDL +// +// Created by Holmes Futrell on 5/29/08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import +#import "SDL_uikitopenglview.h" + +@interface SDLUIKitDelegate : NSObject { + UIWindow *window; + SDL_uikitopenglview *view; +} + +@end diff --git a/src/video/uikit/SDL_uikitappdelegate.m b/src/video/uikit/SDL_uikitappdelegate.m new file mode 100644 index 000000000..e88e7e9d3 --- /dev/null +++ b/src/video/uikit/SDL_uikitappdelegate.m @@ -0,0 +1,80 @@ +// +// SDLUIKitDelegate.m +// iPodSDL +// +// Created by Holmes Futrell on 5/29/08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import "SDL_uikitappdelegate.h" +#import "SDL_uikitopenglview.h" +#import +#import "SDL_events_c.h" +#import "jump.h" + +#ifdef main +#undef main +#endif + +UIWindow *uikitWindow=nil; +SDL_uikitopenglview *uikitEAGLView=nil; + +extern int SDL_main(int argc, char *argv[]); +static int forward_argc; +static char **forward_argv; + +int main(int argc, char **argv) { + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + /* store arguments */ + forward_argc = argc; + forward_argv = (char **)malloc(argc * sizeof(char *)); + int i; + for (i=0; i