Mercurial > sdl-ios-xcode
diff src/video/macdsp/SDL_dspvideo.c @ 1545:8d9bb0cf2c2a
Added current_w and current_h to the SDL_VideoInfo structure, which is set to the desktop resolution during video intialization, and then set to the current resolution when a video mode is set.
SDL_SetVideoMode() now accepts 0 for width or height and will use the current video mode (or the desktop mode if no mode has been set.)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 15 Mar 2006 17:46:41 +0000 |
parents | 7a610f25c12f |
children | e49147870aac e6de7e5fd451 |
line wrap: on
line diff
--- a/src/video/macdsp/SDL_dspvideo.c Wed Mar 15 15:47:49 2006 +0000 +++ b/src/video/macdsp/SDL_dspvideo.c Wed Mar 15 17:46:41 2006 +0000 @@ -329,7 +329,7 @@ }; /* Use DSp/Display Manager to build mode list for given screen */ -static SDL_Rect** DSp_BuildModeList (const GDHandle gDevice) +static SDL_Rect** DSp_BuildModeList (const GDHandle gDevice, int *displayWidth, int *displayHeight) { DSpContextAttributes attributes; DSpContextReference context; @@ -355,6 +355,9 @@ if ( DSpContext_GetAttributes (context, &attributes) != noErr ) return NULL; + + *displayWidth = attributes.displayWidth; + *displayHeight = attributes.displayHeight; for ( i = 0; i < SDL_arraysize(temp_list); i++ ) { width = attributes.displayWidth; @@ -556,14 +559,14 @@ break; } - if ( DSp_CreatePalette (this) < 0 ) { - - SDL_SetError ("Could not create palette"); - return (-1); - } + if ( DSp_CreatePalette (this) < 0 ) { + SDL_SetError ("Could not create palette"); + return (-1); + } /* Get a list of available fullscreen modes */ - SDL_modelist = DSp_BuildModeList (SDL_Display); + SDL_modelist = DSp_BuildModeList (SDL_Display, + &this->info.current_w, &this->info.current_h); if (SDL_modelist == NULL) { SDL_SetError ("DrawSprocket could not build a mode list"); return (-1);