comparison src/video/win32/SDL_win32modes.c @ 3528:59ff7a2beb57

Added an API function to query geometry of multiple monitors: SDL_GetDisplayBounds() Implemented multi-monitor window positions on Windows
author Sam Lantinga <slouken@libsdl.org>
date Sun, 06 Dec 2009 08:03:38 +0000
parents 76f9b76ddf0f
children f7b03b6838cb
comparison
equal deleted inserted replaced
3527:444cb12cadb6 3528:59ff7a2beb57
52 mode->h = devmode.dmPelsHeight; 52 mode->h = devmode.dmPelsHeight;
53 mode->refresh_rate = devmode.dmDisplayFrequency; 53 mode->refresh_rate = devmode.dmDisplayFrequency;
54 mode->driverdata = data; 54 mode->driverdata = data;
55 #ifdef _WIN32_WCE 55 #ifdef _WIN32_WCE
56 /* In WinCE EnumDisplaySettings(ENUM_CURRENT_SETTINGS) doesn't take the user defined orientation 56 /* In WinCE EnumDisplaySettings(ENUM_CURRENT_SETTINGS) doesn't take the user defined orientation
57 into account but GetSystemMetrixs does. */ 57 into account but GetSystemMetrics does. */
58 if (index == ENUM_CURRENT_SETTINGS) { 58 if (index == ENUM_CURRENT_SETTINGS) {
59 mode->w = GetSystemMetrics(SM_CXSCREEN); 59 mode->w = GetSystemMetrics(SM_CXSCREEN);
60 mode->h = GetSystemMetrics(SM_CYSCREEN); 60 mode->h = GetSystemMetrics(SM_CYSCREEN);
61 } 61 }
62 #endif 62 #endif
194 } 194 }
195 if (_this->num_displays == 0) { 195 if (_this->num_displays == 0) {
196 SDL_SetError("No displays available"); 196 SDL_SetError("No displays available");
197 return -1; 197 return -1;
198 } 198 }
199 return 0;
200 }
201
202 int
203 WIN_GetDisplayBounds(_THIS, SDL_VideoDisplay * display, SDL_Rect * rect)
204 {
205 SDL_DisplayModeData *data = (SDL_DisplayModeData *) display->desktop_mode.driverdata;
206
207 rect->x = (int)data->DeviceMode.dmPosition.x;
208 rect->y = (int)data->DeviceMode.dmPosition.y;
209 rect->w = data->DeviceMode.dmPelsWidth;
210 rect->h = data->DeviceMode.dmPelsHeight;
199 return 0; 211 return 0;
200 } 212 }
201 213
202 void 214 void
203 WIN_GetDisplayModes(_THIS, SDL_VideoDisplay * display) 215 WIN_GetDisplayModes(_THIS, SDL_VideoDisplay * display)