fix for [ 1020924 ] wx.Display.IsPrimary is wrong

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ryan Norton
2004-11-07 00:48:37 +00:00
parent 4cd1ed991c
commit 24d2b4f5ba
3 changed files with 29 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
/////////////////////////////////////////////////////////////////////////////
// Name: display.cpp
// Purpose: MSW Implementation of wxDisplay class
// Author: Royce Mitchell III
// Author: Royce Mitchell III, Ryan Norton
// Modified by: VZ (resolutions enumeration/change support, DirectDraw, ...)
// Created: 06/21/02
// RCS-ID: $Id$
@@ -544,6 +544,30 @@ wxString wxDisplay::GetNameForEnumSettings() const
return name;
}
// ----------------------------------------------------------------------------
// determine if this is the primary display
// ----------------------------------------------------------------------------
bool wxDisplay::IsPrimary() const
{
wxDisplayInfo& dpyInfo = (*gs_displays)[m_index];
MONITORINFOEX monInfo;
wxZeroMemory(monInfo);
monInfo.cbSize = sizeof(monInfo);
// NB: Cast from MONITORINFOEX* to MONITORINFO* is done because
// Mingw headers - unlike the ones from Microsoft's Platform SDK -
// don't derive the former from the latter in C++ mode and so
// the pointer's type is not converted implicitly.
if ( !::GetMonitorInfo(dpyInfo.m_hmon, (LPMONITORINFO)&monInfo) )
{
wxLogLastError(_T("GetMonitorInfo"));
}
return (monInfo.dwFlags & MONITORINFOF_PRIMARY) == MONITORINFOF_PRIMARY;
}
// ----------------------------------------------------------------------------
// video modes enumeration
// ----------------------------------------------------------------------------