Mercurial > sdl-ios-xcode
comparison src/video/uikit/SDL_uikitwindow.m @ 3400:4ec48602f1db
iPhone interruption patch / SDL 1.3
Eric Wing to Sam
I've been sitting on this too long. I need to push.
It's untested because of the unrelated crashing bug I've been experiencing.
Also have a fix for SIZEOF_VOIDP in the config for both iPhone and Mac.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 17 Oct 2009 07:36:45 +0000 |
parents | 99210400e8b9 |
children | 64ce267332c6 |
comparison
equal
deleted
inserted
replaced
3399:f96615051c8c | 3400:4ec48602f1db |
---|---|
80 | 80 |
81 } | 81 } |
82 | 82 |
83 int UIKit_CreateWindow(_THIS, SDL_Window *window) { | 83 int UIKit_CreateWindow(_THIS, SDL_Window *window) { |
84 | 84 |
85 /* iPhone applications are single window only */ | 85 /* We currently only handle single window applications on iPhone */ |
86 if (nil != [SDLUIKitDelegate sharedAppDelegate].window) { | 86 if (nil != [SDLUIKitDelegate sharedAppDelegate].window) { |
87 SDL_SetError("Window already exists, no multi-window support."); | 87 SDL_SetError("Window already exists, no multi-window support."); |
88 return -1; | 88 return -1; |
89 } | 89 } |
90 | 90 |
94 if (SetupWindowData(_this, window, uiwindow, SDL_TRUE) < 0) { | 94 if (SetupWindowData(_this, window, uiwindow, SDL_TRUE) < 0) { |
95 [uiwindow release]; | 95 [uiwindow release]; |
96 return -1; | 96 return -1; |
97 } | 97 } |
98 | 98 |
99 // This saves the main window in the app delegate so event callbacks can do stuff on the window. | |
100 // This assumes a single window application design and needs to be fixed for multiple windows. | |
99 [SDLUIKitDelegate sharedAppDelegate].window = uiwindow; | 101 [SDLUIKitDelegate sharedAppDelegate].window = uiwindow; |
102 [SDLUIKitDelegate sharedAppDelegate].windowID = window->id; | |
100 [uiwindow release]; /* release the window (the app delegate has retained it) */ | 103 [uiwindow release]; /* release the window (the app delegate has retained it) */ |
101 | 104 |
102 return 1; | 105 return 1; |
103 | 106 |
104 } | 107 } |
111 SDL_free( window->driverdata ); | 114 SDL_free( window->driverdata ); |
112 } | 115 } |
113 | 116 |
114 /* this will also destroy the window */ | 117 /* this will also destroy the window */ |
115 [SDLUIKitDelegate sharedAppDelegate].window = nil; | 118 [SDLUIKitDelegate sharedAppDelegate].window = nil; |
119 [SDLUIKitDelegate sharedAppDelegate].windowID = 0; | |
116 | 120 |
117 } | 121 } |
118 | 122 |
119 /* vi: set ts=4 sw=4 expandtab: */ | 123 /* vi: set ts=4 sw=4 expandtab: */ |