[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53925] trunk/blender/intern/ghost/intern/ GHOST_DisplayManagerWin32.cpp: More win32 multimon (r53923).
Jason Wilkins
Jason.A.Wilkins at gmail.com
Sun Jan 20 15:40:33 CET 2013
Revision: 53925
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53925
Author: jwilkins
Date: 2013-01-20 14:40:31 +0000 (Sun, 20 Jan 2013)
Log Message:
-----------
More win32 multimon (r53923). Changed getNumDisplays so that it will actually succeed.
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53923
Modified Paths:
--------------
trunk/blender/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
Modified: trunk/blender/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp 2013-01-20 14:10:10 UTC (rev 53924)
+++ trunk/blender/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp 2013-01-20 14:40:31 UTC (rev 53925)
@@ -52,11 +52,15 @@
GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplays(GHOST_TUns8& numDisplays) const
{
- // We do not support multiple monitors at the moment
numDisplays = ::GetSystemMetrics(SM_CMONITORS);
return numDisplays > 0 ? GHOST_kSuccess : GHOST_kFailure;
}
+static BOOL get_dd(DWORD d, DISPLAY_DEVICE* dd)
+{
+ dd->cb = sizeof(DISPLAY_DEVICE);
+ return ::EnumDisplayDevices(NULL, d, dd, 0);
+}
/*
* When you call EnumDisplaySettings with iModeNum set to zero, the operating system
@@ -68,8 +72,7 @@
GHOST_TSuccess GHOST_DisplayManagerWin32::getNumDisplaySettings(GHOST_TUns8 display, GHOST_TInt32& numSettings) const
{
DISPLAY_DEVICE display_device;
- display_device.cb = sizeof(DISPLAY_DEVICE);
- ::EnumDisplayDevices(NULL, display, &display_device, 0);
+ if (!get_dd(display, &display_device)) return GHOST_kFailure;
numSettings = 0;
DEVMODE dm;
@@ -83,8 +86,7 @@
GHOST_TSuccess GHOST_DisplayManagerWin32::getDisplaySetting(GHOST_TUns8 display, GHOST_TInt32 index, GHOST_DisplaySetting& setting) const
{
DISPLAY_DEVICE display_device;
- display_device.cb = sizeof(DISPLAY_DEVICE);
- ::EnumDisplayDevices(NULL, display, &display_device, 0);
+ if (!get_dd(display, &display_device)) return GHOST_kFailure;
GHOST_TSuccess success;
DEVMODE dm;
@@ -125,8 +127,7 @@
GHOST_TSuccess GHOST_DisplayManagerWin32::setCurrentDisplaySetting(GHOST_TUns8 display, const GHOST_DisplaySetting& setting)
{
DISPLAY_DEVICE display_device;
- display_device.cb = sizeof(DISPLAY_DEVICE);
- ::EnumDisplayDevices(NULL, display, &display_device, 0);
+ if (!get_dd(display, &display_device)) return GHOST_kFailure;
GHOST_DisplaySetting match;
findMatch(display, setting, match);
More information about the Bf-blender-cvs
mailing list