Mercurial > sdl-ios-xcode
comparison src/video/quartz/SDL_QuartzVideo.m @ 1756:eed7a3f396ce
Using the SDL C runtime functions
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 01 May 2006 11:07:04 +0000 |
parents | ef4a796e7f24 |
children | c121d94672cb 81f66f258d77 |
comparison
equal
deleted
inserted
replaced
1755:91063c450171 | 1756:eed7a3f396ce |
---|---|
115 #pragma unused (device_index) | 115 #pragma unused (device_index) |
116 | 116 |
117 SDL_VideoDevice *device; | 117 SDL_VideoDevice *device; |
118 SDL_PrivateVideoData *hidden; | 118 SDL_PrivateVideoData *hidden; |
119 | 119 |
120 device = (SDL_VideoDevice*) malloc (sizeof (*device) ); | 120 device = (SDL_VideoDevice*) SDL_malloc (sizeof (*device) ); |
121 hidden = (SDL_PrivateVideoData*) malloc (sizeof (*hidden) ); | 121 hidden = (SDL_PrivateVideoData*) SDL_malloc (sizeof (*hidden) ); |
122 | 122 |
123 if (device == NULL || hidden == NULL) | 123 if (device == NULL || hidden == NULL) |
124 SDL_OutOfMemory (); | 124 SDL_OutOfMemory (); |
125 | 125 |
126 memset (device, 0, sizeof (*device) ); | 126 SDL_memset (device, 0, sizeof (*device) ); |
127 memset (hidden, 0, sizeof (*hidden) ); | 127 SDL_memset (hidden, 0, sizeof (*hidden) ); |
128 | 128 |
129 device->hidden = hidden; | 129 device->hidden = hidden; |
130 | 130 |
131 device->VideoInit = QZ_VideoInit; | 131 device->VideoInit = QZ_VideoInit; |
132 device->ListModes = QZ_ListModes; | 132 device->ListModes = QZ_ListModes; |
176 return device; | 176 return device; |
177 } | 177 } |
178 | 178 |
179 static void QZ_DeleteDevice (SDL_VideoDevice *device) { | 179 static void QZ_DeleteDevice (SDL_VideoDevice *device) { |
180 | 180 |
181 free (device->hidden); | 181 SDL_free (device->hidden); |
182 free (device); | 182 SDL_free (device); |
183 } | 183 } |
184 | 184 |
185 static int QZ_VideoInit (_THIS, SDL_PixelFormat *video_format) { | 185 static int QZ_VideoInit (_THIS, SDL_PixelFormat *video_format) { |
186 | 186 |
187 /* Initialize the video settings; this data persists between mode switches */ | 187 /* Initialize the video settings; this data persists between mode switches */ |
240 if ( client_mode_list != NULL ) { | 240 if ( client_mode_list != NULL ) { |
241 | 241 |
242 int i; | 242 int i; |
243 | 243 |
244 for (i = 0; client_mode_list[i] != NULL; i++) | 244 for (i = 0; client_mode_list[i] != NULL; i++) |
245 free (client_mode_list[i]); | 245 SDL_free (client_mode_list[i]); |
246 | 246 |
247 free (client_mode_list); | 247 SDL_free (client_mode_list); |
248 client_mode_list = NULL; | 248 client_mode_list = NULL; |
249 } | 249 } |
250 | 250 |
251 num_modes = CFArrayGetCount (mode_list); | 251 num_modes = CFArrayGetCount (mode_list); |
252 | 252 |
295 | 295 |
296 list_size++; | 296 list_size++; |
297 | 297 |
298 if (client_mode_list == NULL) | 298 if (client_mode_list == NULL) |
299 client_mode_list = (SDL_Rect**) | 299 client_mode_list = (SDL_Rect**) |
300 malloc (sizeof(*client_mode_list) * (list_size+1) ); | 300 SDL_malloc (sizeof(*client_mode_list) * (list_size+1) ); |
301 else | 301 else |
302 client_mode_list = (SDL_Rect**) | 302 client_mode_list = (SDL_Rect**) |
303 realloc (client_mode_list, sizeof(*client_mode_list) * (list_size+1)); | 303 SDL_realloc (client_mode_list, sizeof(*client_mode_list) * (list_size+1)); |
304 | 304 |
305 rect = (SDL_Rect*) malloc (sizeof(**client_mode_list)); | 305 rect = (SDL_Rect*) SDL_malloc (sizeof(**client_mode_list)); |
306 | 306 |
307 if (client_mode_list == NULL || rect == NULL) { | 307 if (client_mode_list == NULL || rect == NULL) { |
308 SDL_OutOfMemory (); | 308 SDL_OutOfMemory (); |
309 return NULL; | 309 return NULL; |
310 } | 310 } |
370 quit_thread = YES; | 370 quit_thread = YES; |
371 SDL_SemPost (sem1); | 371 SDL_SemPost (sem1); |
372 SDL_WaitThread (thread, NULL); | 372 SDL_WaitThread (thread, NULL); |
373 SDL_DestroySemaphore (sem1); | 373 SDL_DestroySemaphore (sem1); |
374 SDL_DestroySemaphore (sem2); | 374 SDL_DestroySemaphore (sem2); |
375 free (sw_buffers[0]); | 375 SDL_free (sw_buffers[0]); |
376 } | 376 } |
377 | 377 |
378 /* | 378 /* |
379 Release the OpenGL context | 379 Release the OpenGL context |
380 Do this first to avoid trash on the display before fade | 380 Do this first to avoid trash on the display before fade |
491 this->UpdateRects = QZ_DoubleBufferUpdate; | 491 this->UpdateRects = QZ_DoubleBufferUpdate; |
492 this->LockHWSurface = QZ_LockDoubleBuffer; | 492 this->LockHWSurface = QZ_LockDoubleBuffer; |
493 this->UnlockHWSurface = QZ_UnlockDoubleBuffer; | 493 this->UnlockHWSurface = QZ_UnlockDoubleBuffer; |
494 this->FlipHWSurface = QZ_FlipDoubleBuffer; | 494 this->FlipHWSurface = QZ_FlipDoubleBuffer; |
495 | 495 |
496 current->pixels = malloc (current->pitch * current->h * 2); | 496 current->pixels = SDL_malloc (current->pitch * current->h * 2); |
497 if (current->pixels == NULL) { | 497 if (current->pixels == NULL) { |
498 SDL_OutOfMemory (); | 498 SDL_OutOfMemory (); |
499 goto ERR_DOUBLEBUF; | 499 goto ERR_DOUBLEBUF; |
500 } | 500 } |
501 | 501 |
982 /* On error, skip VBL delay */ | 982 /* On error, skip VBL delay */ |
983 ERROR: | 983 ERROR: |
984 | 984 |
985 while ( h-- ) { | 985 while ( h-- ) { |
986 | 986 |
987 memcpy (dst, src, len); | 987 SDL_memcpy (dst, src, len); |
988 src += skip; | 988 src += skip; |
989 dst += skip; | 989 dst += skip; |
990 } | 990 } |
991 | 991 |
992 /* signal flip completion */ | 992 /* signal flip completion */ |
1209 /* Create dock icon cache */ | 1209 /* Create dock icon cache */ |
1210 if (numCachedDockIcons != (i-firstDockIcon) || | 1210 if (numCachedDockIcons != (i-firstDockIcon) || |
1211 dockIconCacheMiss) { | 1211 dockIconCacheMiss) { |
1212 | 1212 |
1213 numCachedDockIcons = i - firstDockIcon; | 1213 numCachedDockIcons = i - firstDockIcon; |
1214 memcpy (dockIcons, &(windows[firstDockIcon]), | 1214 SDL_memcpy (dockIcons, &(windows[firstDockIcon]), |
1215 numCachedDockIcons * sizeof(*windows)); | 1215 numCachedDockIcons * sizeof(*windows)); |
1216 } | 1216 } |
1217 | 1217 |
1218 /* no shadow */ | 1218 /* no shadow */ |
1219 shadowSide = 0; | 1219 shadowSide = 0; |