Commit c9c3d038 authored by Sam Lantinga's avatar Sam Lantinga

Fixed spacing

parent 3a83076d
...@@ -37,69 +37,68 @@ static char **forward_argv; ...@@ -37,69 +37,68 @@ static char **forward_argv;
int main(int argc, char **argv) { int main(int argc, char **argv) {
int i; int i;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
/* store arguments */ /* store arguments */
forward_argc = argc; forward_argc = argc;
forward_argv = (char **)malloc((argc+1) * sizeof(char *)); forward_argv = (char **)malloc((argc+1) * sizeof(char *));
for (i=0; i<argc; i++) { for (i=0; i<argc; i++) {
forward_argv[i] = malloc( (strlen(argv[i])+1) * sizeof(char)); forward_argv[i] = malloc( (strlen(argv[i])+1) * sizeof(char));
strcpy(forward_argv[i], argv[i]); strcpy(forward_argv[i], argv[i]);
} }
forward_argv[i] = NULL; forward_argv[i] = NULL;
/* Give over control to run loop, SDLUIKitDelegate will handle most things from here */ /* Give over control to run loop, SDLUIKitDelegate will handle most things from here */
UIApplicationMain(argc, argv, NULL, @"SDLUIKitDelegate"); UIApplicationMain(argc, argv, NULL, @"SDLUIKitDelegate");
[pool release]; [pool release];
} }
@implementation SDLUIKitDelegate @implementation SDLUIKitDelegate
/* convenience method */ /* convenience method */
+(SDLUIKitDelegate *)sharedAppDelegate { +(SDLUIKitDelegate *)sharedAppDelegate {
/* the delegate is set in UIApplicationMain(), which is garaunteed to be called before this method */ /* the delegate is set in UIApplicationMain(), which is garaunteed to be called before this method */
return (SDLUIKitDelegate *)[[UIApplication sharedApplication] delegate]; return (SDLUIKitDelegate *)[[UIApplication sharedApplication] delegate];
} }
- (id)init { - (id)init {
self = [super init]; self = [super init];
return self; return self;
} }
- (void)postFinishLaunch { - (void)postFinishLaunch {
/* run the user's application, passing argc and argv */ /* run the user's application, passing argc and argv */
int exit_status = SDL_main(forward_argc, forward_argv); int exit_status = SDL_main(forward_argc, forward_argv);
/* free the memory we used to hold copies of argc and argv */ /* free the memory we used to hold copies of argc and argv */
int i; int i;
for (i=0; i<forward_argc; i++) { for (i=0; i<forward_argc; i++) {
free(forward_argv[i]); free(forward_argv[i]);
} }
free(forward_argv); free(forward_argv);
/* exit, passing the return status from the user's application */ /* exit, passing the return status from the user's application */
exit(exit_status); exit(exit_status);
} }
- (void)applicationDidFinishLaunching:(UIApplication *)application { - (void)applicationDidFinishLaunching:(UIApplication *)application {
/* Set working directory to resource path */ /* Set working directory to resource path */
[[NSFileManager defaultManager] changeCurrentDirectoryPath: [[NSBundle mainBundle] resourcePath]]; [[NSFileManager defaultManager] changeCurrentDirectoryPath: [[NSBundle mainBundle] resourcePath]];
[self performSelector:@selector(postFinishLaunch) withObject:nil [self performSelector:@selector(postFinishLaunch) withObject:nil
afterDelay:0.0]; afterDelay:0.0];
} }
- (void)applicationWillTerminate:(UIApplication *)application { - (void)applicationWillTerminate:(UIApplication *)application {
SDL_SendQuit(); SDL_SendQuit();
/* hack to prevent automatic termination. See SDL_uikitevents.m for details */ /* hack to prevent automatic termination. See SDL_uikitevents.m for details */
longjmp(*(jump_env()), 1); longjmp(*(jump_env()), 1);
} }
- (void) applicationWillResignActive:(UIApplication*)application - (void) applicationWillResignActive:(UIApplication*)application
......
...@@ -32,25 +32,24 @@ ...@@ -32,25 +32,24 @@
void void
UIKit_PumpEvents(_THIS) UIKit_PumpEvents(_THIS)
{ {
/* /*
When the user presses the 'home' button on the iPod When the user presses the 'home' button on the iPod
the application exits -- immediatly. the application exits -- immediatly.
Unlike in Mac OS X, it appears there is no way to cancel the termination. Unlike in Mac OS X, it appears there is no way to cancel the termination.
This doesn't give the SDL user's application time to respond to an SDL_Quit event. This doesn't give the SDL user's application time to respond to an SDL_Quit event.
So what we do is that in the UIApplicationDelegate class (SDLUIApplicationDelegate), So what we do is that in the UIApplicationDelegate class (SDLUIApplicationDelegate),
when the delegate receives the ApplicationWillTerminate message, we execute when the delegate receives the ApplicationWillTerminate message, we execute
a longjmp statement to get back here, preventing an immediate exit. a longjmp statement to get back here, preventing an immediate exit.
*/ */
if (setjmp(*jump_env()) == 0) { if (setjmp(*jump_env()) == 0) {
/* if we're setting the jump, rather than jumping back */ /* if we're setting the jump, rather than jumping back */
SInt32 result; SInt32 result;
do { do {
result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, TRUE); result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, TRUE);
} while(result == kCFRunLoopRunHandledSource); } while(result == kCFRunLoopRunHandledSource);
} }
} }
/* vi: set ts=4 sw=4 expandtab: */ /* vi: set ts=4 sw=4 expandtab: */
...@@ -35,42 +35,42 @@ static int UIKit_GL_Initialize(_THIS); ...@@ -35,42 +35,42 @@ static int UIKit_GL_Initialize(_THIS);
void * void *
UIKit_GL_GetProcAddress(_THIS, const char *proc) UIKit_GL_GetProcAddress(_THIS, const char *proc)
{ {
/* Look through all SO's for the proc symbol. Here's why: /* Look through all SO's for the proc symbol. Here's why:
-Looking for the path to the OpenGL Library seems not to work in the iPhone Simulator. -Looking for the path to the OpenGL Library seems not to work in the iPhone Simulator.
-We don't know that the path won't change in the future. -We don't know that the path won't change in the future.
*/ */
return SDL_LoadFunction(RTLD_DEFAULT, proc); return SDL_LoadFunction(RTLD_DEFAULT, proc);
} }
/* /*
note that SDL_GL_Delete context makes it current without passing the window note that SDL_GL_Delete context makes it current without passing the window
*/ */
int UIKit_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) int UIKit_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context)
{ {
if (context) { if (context) {
SDL_WindowData *data = (SDL_WindowData *)window->driverdata; SDL_WindowData *data = (SDL_WindowData *)window->driverdata;
[data->view setCurrentContext]; [data->view setCurrentContext];
} }
else { else {
[EAGLContext setCurrentContext: nil]; [EAGLContext setCurrentContext: nil];
} }
return 0; return 0;
} }
int int
UIKit_GL_LoadLibrary(_THIS, const char *path) UIKit_GL_LoadLibrary(_THIS, const char *path)
{ {
/* /*
shouldn't be passing a path into this function shouldn't be passing a path into this function
why? Because we've already loaded the library why? Because we've already loaded the library
and because the SDK forbids loading an external SO and because the SDK forbids loading an external SO
*/ */
if (path != NULL) { if (path != NULL) {
SDL_SetError("iPhone GL Load Library just here for compatibility"); SDL_SetError("iPhone GL Load Library just here for compatibility");
return -1; return -1;
} }
return 0; return 0;
} }
...@@ -84,65 +84,63 @@ void UIKit_GL_SwapWindow(_THIS, SDL_Window * window) ...@@ -84,65 +84,63 @@ void UIKit_GL_SwapWindow(_THIS, SDL_Window * window)
SDL_UIKit_UpdateBatteryMonitoring(); SDL_UIKit_UpdateBatteryMonitoring();
#endif #endif
SDL_WindowData *data = (SDL_WindowData *)window->driverdata; SDL_WindowData *data = (SDL_WindowData *)window->driverdata;
if (nil == data->view) { if (nil == data->view) {
return; return;
} }
[data->view swapBuffers]; [data->view swapBuffers];
/* since now we've got something to draw /* since now we've got something to draw
make the window visible */ make the window visible */
[data->uiwindow makeKeyAndVisible]; [data->uiwindow makeKeyAndVisible];
/* we need to let the event cycle run, or the OS won't update the OpenGL view! */ /* we need to let the event cycle run, or the OS won't update the OpenGL view! */
SDL_PumpEvents(); SDL_PumpEvents();
} }
SDL_GLContext UIKit_GL_CreateContext(_THIS, SDL_Window * window) SDL_GLContext UIKit_GL_CreateContext(_THIS, SDL_Window * window)
{ {
SDL_uikitopenglview *view; SDL_uikitopenglview *view;
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
UIScreen *uiscreen = (UIScreen *) window->display->driverdata; UIScreen *uiscreen = (UIScreen *) window->display->driverdata;
UIWindow *uiwindow = data->uiwindow; UIWindow *uiwindow = data->uiwindow;
/* construct our view, passing in SDL's OpenGL configuration data */ /* construct our view, passing in SDL's OpenGL configuration data */
view = [[SDL_uikitopenglview alloc] initWithFrame: [uiwindow bounds] \ view = [[SDL_uikitopenglview alloc] initWithFrame: [uiwindow bounds] \
retainBacking: _this->gl_config.retained_backing \ retainBacking: _this->gl_config.retained_backing \
rBits: _this->gl_config.red_size \ rBits: _this->gl_config.red_size \
gBits: _this->gl_config.green_size \ gBits: _this->gl_config.green_size \
bBits: _this->gl_config.blue_size \ bBits: _this->gl_config.blue_size \
aBits: _this->gl_config.alpha_size \ aBits: _this->gl_config.alpha_size \
depthBits: _this->gl_config.depth_size]; depthBits: _this->gl_config.depth_size];
data->view = view; data->view = view;
/* add the view to our window */ /* add the view to our window */
[uiwindow addSubview: view ]; [uiwindow addSubview: view ];
/* Don't worry, the window retained the view */ /* Don't worry, the window retained the view */
[view release]; [view release];
if ( UIKit_GL_MakeCurrent(_this, window, view) < 0 ) { if ( UIKit_GL_MakeCurrent(_this, window, view) < 0 ) {
UIKit_GL_DeleteContext(_this, view); UIKit_GL_DeleteContext(_this, view);
return NULL; return NULL;
} }
/* Make this window the current mouse focus for touch input */ /* Make this window the current mouse focus for touch input */
SDL_SetMouseFocus(window); SDL_SetMouseFocus(window);
SDL_SetKeyboardFocus(window); SDL_SetKeyboardFocus(window);
return view; return view;
} }
void UIKit_GL_DeleteContext(_THIS, SDL_GLContext context) void UIKit_GL_DeleteContext(_THIS, SDL_GLContext context)
{ {
/* the delegate has retained the view, this will release him */ /* the delegate has retained the view, this will release him */
SDL_uikitopenglview *view = (SDL_uikitopenglview *)context; SDL_uikitopenglview *view = (SDL_uikitopenglview *)context;
/* this will also delete it */ /* this will also delete it */
[view removeFromSuperview]; [view removeFromSuperview];
return;
} }
...@@ -56,7 +56,7 @@ BOOL SDL_UIKit_supports_multiple_displays = NO; ...@@ -56,7 +56,7 @@ BOOL SDL_UIKit_supports_multiple_displays = NO;
static int static int
UIKit_Available(void) UIKit_Available(void)
{ {
return (1); return (1);
} }
static void UIKit_DeleteDevice(SDL_VideoDevice * device) static void UIKit_DeleteDevice(SDL_VideoDevice * device)
...@@ -85,22 +85,22 @@ UIKit_CreateDevice(int devindex) ...@@ -85,22 +85,22 @@ UIKit_CreateDevice(int devindex)
device->GetDisplayModes = UIKit_GetDisplayModes; device->GetDisplayModes = UIKit_GetDisplayModes;
device->SetDisplayMode = UIKit_SetDisplayMode; device->SetDisplayMode = UIKit_SetDisplayMode;
device->PumpEvents = UIKit_PumpEvents; device->PumpEvents = UIKit_PumpEvents;
device->CreateWindow = UIKit_CreateWindow; device->CreateWindow = UIKit_CreateWindow;
device->DestroyWindow = UIKit_DestroyWindow; device->DestroyWindow = UIKit_DestroyWindow;
device->GetWindowWMInfo = UIKit_GetWindowWMInfo; device->GetWindowWMInfo = UIKit_GetWindowWMInfo;
/* OpenGL (ES) functions */ /* OpenGL (ES) functions */
device->GL_MakeCurrent = UIKit_GL_MakeCurrent; device->GL_MakeCurrent = UIKit_GL_MakeCurrent;
device->GL_SwapWindow = UIKit_GL_SwapWindow; device->GL_SwapWindow = UIKit_GL_SwapWindow;
device->GL_CreateContext = UIKit_GL_CreateContext; device->GL_CreateContext = UIKit_GL_CreateContext;
device->GL_DeleteContext = UIKit_GL_DeleteContext; device->GL_DeleteContext = UIKit_GL_DeleteContext;
device->GL_GetProcAddress = UIKit_GL_GetProcAddress; device->GL_GetProcAddress = UIKit_GL_GetProcAddress;
device->GL_LoadLibrary = UIKit_GL_LoadLibrary; device->GL_LoadLibrary = UIKit_GL_LoadLibrary;
device->free = UIKit_DeleteDevice; device->free = UIKit_DeleteDevice;
device->gl_config.accelerated = 1; device->gl_config.accelerated = 1;
return device; return device;
} }
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment