Mercurial > sdl-ios-xcode
comparison src/video/uikit/SDL_uikitopengles.m @ 5134:7b7da52e8775
Fixed spacing
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 01 Feb 2011 08:59:22 -0800 |
parents | 06c7423f8c60 |
children | 5f09cb749d75 |
comparison
equal
deleted
inserted
replaced
5133:ec13e48ee0d9 | 5134:7b7da52e8775 |
---|---|
33 | 33 |
34 static int UIKit_GL_Initialize(_THIS); | 34 static int UIKit_GL_Initialize(_THIS); |
35 | 35 |
36 void * | 36 void * |
37 UIKit_GL_GetProcAddress(_THIS, const char *proc) | 37 UIKit_GL_GetProcAddress(_THIS, const char *proc) |
38 { | 38 { |
39 /* Look through all SO's for the proc symbol. Here's why: | 39 /* Look through all SO's for the proc symbol. Here's why: |
40 -Looking for the path to the OpenGL Library seems not to work in the iPhone Simulator. | 40 -Looking for the path to the OpenGL Library seems not to work in the iPhone Simulator. |
41 -We don't know that the path won't change in the future. | 41 -We don't know that the path won't change in the future. |
42 */ | 42 */ |
43 return SDL_LoadFunction(RTLD_DEFAULT, proc); | 43 return SDL_LoadFunction(RTLD_DEFAULT, proc); |
44 } | 44 } |
45 | 45 |
46 /* | 46 /* |
47 note that SDL_GL_Delete context makes it current without passing the window | 47 note that SDL_GL_Delete context makes it current without passing the window |
48 */ | 48 */ |
49 int UIKit_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) | 49 int UIKit_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context) |
50 { | 50 { |
51 | 51 |
52 if (context) { | 52 if (context) { |
53 SDL_WindowData *data = (SDL_WindowData *)window->driverdata; | 53 SDL_WindowData *data = (SDL_WindowData *)window->driverdata; |
54 [data->view setCurrentContext]; | 54 [data->view setCurrentContext]; |
55 } | 55 } |
56 else { | 56 else { |
57 [EAGLContext setCurrentContext: nil]; | 57 [EAGLContext setCurrentContext: nil]; |
58 } | 58 } |
59 | 59 |
60 return 0; | 60 return 0; |
61 } | 61 } |
62 | 62 |
63 int | 63 int |
64 UIKit_GL_LoadLibrary(_THIS, const char *path) | 64 UIKit_GL_LoadLibrary(_THIS, const char *path) |
65 { | 65 { |
66 /* | 66 /* |
67 shouldn't be passing a path into this function | 67 shouldn't be passing a path into this function |
68 why? Because we've already loaded the library | 68 why? Because we've already loaded the library |
69 and because the SDK forbids loading an external SO | 69 and because the SDK forbids loading an external SO |
70 */ | 70 */ |
71 if (path != NULL) { | 71 if (path != NULL) { |
72 SDL_SetError("iPhone GL Load Library just here for compatibility"); | 72 SDL_SetError("iPhone GL Load Library just here for compatibility"); |
73 return -1; | 73 return -1; |
74 } | 74 } |
75 return 0; | 75 return 0; |
76 } | 76 } |
77 | 77 |
78 extern void SDL_UIKit_UpdateBatteryMonitoring(void); | 78 extern void SDL_UIKit_UpdateBatteryMonitoring(void); |
82 #ifdef SDL_POWER_UIKIT | 82 #ifdef SDL_POWER_UIKIT |
83 // Check once a frame to see if we should turn off the battery monitor. | 83 // Check once a frame to see if we should turn off the battery monitor. |
84 SDL_UIKit_UpdateBatteryMonitoring(); | 84 SDL_UIKit_UpdateBatteryMonitoring(); |
85 #endif | 85 #endif |
86 | 86 |
87 SDL_WindowData *data = (SDL_WindowData *)window->driverdata; | 87 SDL_WindowData *data = (SDL_WindowData *)window->driverdata; |
88 | 88 |
89 if (nil == data->view) { | 89 if (nil == data->view) { |
90 return; | 90 return; |
91 } | 91 } |
92 [data->view swapBuffers]; | 92 [data->view swapBuffers]; |
93 /* since now we've got something to draw | 93 /* since now we've got something to draw |
94 make the window visible */ | 94 make the window visible */ |
95 [data->uiwindow makeKeyAndVisible]; | 95 [data->uiwindow makeKeyAndVisible]; |
96 | 96 |
97 /* we need to let the event cycle run, or the OS won't update the OpenGL view! */ | 97 /* we need to let the event cycle run, or the OS won't update the OpenGL view! */ |
98 SDL_PumpEvents(); | 98 SDL_PumpEvents(); |
99 | 99 |
100 } | 100 } |
101 | 101 |
102 SDL_GLContext UIKit_GL_CreateContext(_THIS, SDL_Window * window) | 102 SDL_GLContext UIKit_GL_CreateContext(_THIS, SDL_Window * window) |
103 { | 103 { |
104 SDL_uikitopenglview *view; | 104 SDL_uikitopenglview *view; |
105 SDL_WindowData *data = (SDL_WindowData *) window->driverdata; | 105 SDL_WindowData *data = (SDL_WindowData *) window->driverdata; |
106 UIScreen *uiscreen = (UIScreen *) window->display->driverdata; | 106 UIScreen *uiscreen = (UIScreen *) window->display->driverdata; |
107 UIWindow *uiwindow = data->uiwindow; | 107 UIWindow *uiwindow = data->uiwindow; |
108 | 108 |
109 /* construct our view, passing in SDL's OpenGL configuration data */ | 109 /* construct our view, passing in SDL's OpenGL configuration data */ |
110 view = [[SDL_uikitopenglview alloc] initWithFrame: [uiwindow bounds] \ | 110 view = [[SDL_uikitopenglview alloc] initWithFrame: [uiwindow bounds] \ |
111 retainBacking: _this->gl_config.retained_backing \ | 111 retainBacking: _this->gl_config.retained_backing \ |
112 rBits: _this->gl_config.red_size \ | 112 rBits: _this->gl_config.red_size \ |
113 gBits: _this->gl_config.green_size \ | 113 gBits: _this->gl_config.green_size \ |
114 bBits: _this->gl_config.blue_size \ | 114 bBits: _this->gl_config.blue_size \ |
115 aBits: _this->gl_config.alpha_size \ | 115 aBits: _this->gl_config.alpha_size \ |
116 depthBits: _this->gl_config.depth_size]; | 116 depthBits: _this->gl_config.depth_size]; |
117 | 117 |
118 data->view = view; | 118 data->view = view; |
119 | 119 |
120 /* add the view to our window */ | 120 /* add the view to our window */ |
121 [uiwindow addSubview: view ]; | 121 [uiwindow addSubview: view ]; |
122 | 122 |
123 /* Don't worry, the window retained the view */ | 123 /* Don't worry, the window retained the view */ |
124 [view release]; | 124 [view release]; |
125 | 125 |
126 if ( UIKit_GL_MakeCurrent(_this, window, view) < 0 ) { | 126 if ( UIKit_GL_MakeCurrent(_this, window, view) < 0 ) { |
127 UIKit_GL_DeleteContext(_this, view); | 127 UIKit_GL_DeleteContext(_this, view); |
128 return NULL; | 128 return NULL; |
129 } | 129 } |
130 | 130 |
131 /* Make this window the current mouse focus for touch input */ | 131 /* Make this window the current mouse focus for touch input */ |
132 SDL_SetMouseFocus(window); | 132 SDL_SetMouseFocus(window); |
133 SDL_SetKeyboardFocus(window); | 133 SDL_SetKeyboardFocus(window); |
134 | 134 |
135 return view; | 135 return view; |
136 } | 136 } |
137 | 137 |
138 void UIKit_GL_DeleteContext(_THIS, SDL_GLContext context) | 138 void UIKit_GL_DeleteContext(_THIS, SDL_GLContext context) |
139 { | 139 { |
140 /* the delegate has retained the view, this will release him */ | 140 /* the delegate has retained the view, this will release him */ |
141 SDL_uikitopenglview *view = (SDL_uikitopenglview *)context; | 141 SDL_uikitopenglview *view = (SDL_uikitopenglview *)context; |
142 /* this will also delete it */ | 142 /* this will also delete it */ |
143 [view removeFromSuperview]; | 143 [view removeFromSuperview]; |
144 | |
145 return; | |
146 } | 144 } |
147 | 145 |
148 | 146 |