Mercurial > sdl-ios-xcode
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) |