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
|
// name may be empty
|
||||||
virtual wxString GetName() const = 0;
|
virtual wxString GetName() const = 0;
|
||||||
|
|
||||||
// display 0 is always the primary display
|
// display 0 is usually the primary display
|
||||||
bool IsPrimary() const { return m_index == 0; }
|
virtual bool IsPrimary() const { return m_index == 0; }
|
||||||
|
|
||||||
|
|
||||||
// enumerate all video modes supported by this display matching the given
|
// enumerate all video modes supported by this display matching the given
|
||||||
|
@ -38,6 +38,8 @@ public:
|
|||||||
virtual wxVideoMode GetCurrentMode() const;
|
virtual wxVideoMode GetCurrentMode() const;
|
||||||
virtual bool ChangeMode(const wxVideoMode& mode = wxVideoMode());
|
virtual bool ChangeMode(const wxVideoMode& mode = wxVideoMode());
|
||||||
|
|
||||||
|
virtual bool IsPrimary() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// get the display name to use with EnumDisplaySettings()
|
// get the display name to use with EnumDisplaySettings()
|
||||||
wxString GetNameForEnumSettings() const;
|
wxString GetNameForEnumSettings() const;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: display.cpp
|
// Name: display.cpp
|
||||||
// Purpose: MSW Implementation of wxDisplay class
|
// Purpose: MSW Implementation of wxDisplay class
|
||||||
// Author: Royce Mitchell III
|
// Author: Royce Mitchell III, Ryan Norton
|
||||||
// Modified by: VZ (resolutions enumeration/change support, DirectDraw, ...)
|
// Modified by: VZ (resolutions enumeration/change support, DirectDraw, ...)
|
||||||
// Created: 06/21/02
|
// Created: 06/21/02
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
@ -544,6 +544,30 @@ wxString wxDisplay::GetNameForEnumSettings() const
|
|||||||
return name;
|
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
|
// video modes enumeration
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user