diff 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
line wrap: on
line diff
--- a/src/video/win32/SDL_win32modes.c	Sun Dec 06 06:21:39 2009 +0000
+++ b/src/video/win32/SDL_win32modes.c	Sun Dec 06 08:03:38 2009 +0000
@@ -54,7 +54,7 @@
     mode->driverdata = data;
 #ifdef _WIN32_WCE
     /* In WinCE EnumDisplaySettings(ENUM_CURRENT_SETTINGS) doesn't take the user defined orientation
-       into account but GetSystemMetrixs does. */
+       into account but GetSystemMetrics does. */
     if (index == ENUM_CURRENT_SETTINGS) {
         mode->w = GetSystemMetrics(SM_CXSCREEN);
         mode->h = GetSystemMetrics(SM_CYSCREEN);
@@ -199,6 +199,18 @@
     return 0;
 }
 
+int
+WIN_GetDisplayBounds(_THIS, SDL_VideoDisplay * display, SDL_Rect * rect)
+{
+    SDL_DisplayModeData *data = (SDL_DisplayModeData *) display->desktop_mode.driverdata;
+
+    rect->x = (int)data->DeviceMode.dmPosition.x;
+    rect->y = (int)data->DeviceMode.dmPosition.y;
+    rect->w = data->DeviceMode.dmPelsWidth;
+    rect->h = data->DeviceMode.dmPelsHeight;
+    return 0;
+}
+
 void
 WIN_GetDisplayModes(_THIS, SDL_VideoDisplay * display)
 {