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