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:
parent
4cd1ed991c
commit
24d2b4f5ba
@ -67,8 +67,8 @@ public:
|
||||
// name may be empty
|
||||
virtual wxString GetName() const = 0;
|
||||
|
||||
// display 0 is always the primary display
|
||||
bool IsPrimary() const { return m_index == 0; }
|
||||
// display 0 is usually the primary display
|
||||
virtual bool IsPrimary() const { return m_index == 0; }
|
||||
|
||||
|
||||
// enumerate all video modes supported by this display matching the given
|
||||
|
@ -38,6 +38,8 @@ public:
|
||||
virtual wxVideoMode GetCurrentMode() const;
|
||||
virtual bool ChangeMode(const wxVideoMode& mode = wxVideoMode());
|
||||
|
||||
virtual bool IsPrimary() const;
|
||||
|
||||
private:
|
||||
// get the display name to use with EnumDisplaySettings()
|
||||
wxString GetNameForEnumSettings() const;
|
||||
|
@ -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
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user