X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e557031896b65ff2052d8836028b19a7faa36f10..f5766910b6731eb03e82371416e9778203396ce7:/src/msw/display.cpp diff --git a/src/msw/display.cpp b/src/msw/display.cpp index 29755857c4..3e87a50557 100644 --- a/src/msw/display.cpp +++ b/src/msw/display.cpp @@ -27,30 +27,26 @@ #if wxUSE_DISPLAY +#include "wx/display.h" + #ifndef WX_PRECOMP - #include "wx/app.h" - #include "wx/dynarray.h" - #include "wx/frame.h" + #include "wx/dynarray.h" + #include "wx/app.h" + #include "wx/frame.h" #endif #include "wx/dynload.h" #include "wx/sysopt.h" -#include "wx/display.h" #include "wx/display_impl.h" +#include "wx/msw/missing.h" -// Mingw's w32api headers don't include ddraw.h, though the user may have -// installed it. If using configure, we actually probe for ddraw.h there -// and set wxUSE_DIRECTDRAW. Otherwise, assume we don't have it if using -// the w32api headers, and that we do otherwise. -#if !defined HAVE_W32API_H && !defined HAVE_DDRAW_H - #define HAVE_DDRAW_H -#endif +// define this to use DirectDraw for display mode switching: this is disabled +// by default because ddraw.h is now always available and also it's not really +// clear what are the benefits of using DirectDraw compared to the standard API -// user may disable compilation of DirectDraw code by setting -// wxUSE_DIRECTDRAW to 0 in the makefile/project settings -#if defined(HAVE_DDRAW_H) && !defined(wxUSE_DIRECTDRAW) - #define wxUSE_DIRECTDRAW 1 +#if !defined(wxUSE_DIRECTDRAW) + #define wxUSE_DIRECTDRAW 0 #endif #ifndef __WXWINCE__ @@ -75,18 +71,18 @@ #define MONITOR_DEFAULTTONULL 0x00000000 #define MONITOR_DEFAULTTOPRIMARY 0x00000001 #define MONITOR_DEFAULTTONEAREST 0x00000002 - #define MONITORINFOF_PRIMARY 0x00000001 + #define MONITORINFOF_PRIMARY 0x00000001 #define HMONITOR_DECLARED #endif #endif // !__WXWINCE__ -#ifdef wxUSE_DIRECTDRAW -#include +#if wxUSE_DIRECTDRAW + #include -// we don't want to link with ddraw.lib which contains the real -// IID_IDirectDraw2 definition -const GUID wxIID_IDirectDraw2 = - { 0xB3A6F3E0, 0x2B43, 0x11CF, { 0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 } }; + // we don't want to link with ddraw.lib which contains the real + // IID_IDirectDraw2 definition + const GUID wxIID_IDirectDraw2 = + { 0xB3A6F3E0, 0x2B43, 0x11CF, { 0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 } }; #endif // wxUSE_DIRECTDRAW // ---------------------------------------------------------------------------- @@ -99,7 +95,7 @@ typedef LONG (WINAPI *ChangeDisplaySettingsEx_t)(LPCTSTR lpszDeviceName, DWORD dwFlags, LPVOID lParam); -#ifdef wxUSE_DIRECTDRAW +#if wxUSE_DIRECTDRAW typedef BOOL (PASCAL *DDEnumExCallback_t)(GUID *pGuid, LPTSTR driverDescription, LPTSTR driverName, @@ -179,7 +175,7 @@ WX_DEFINE_ARRAY_PTR(wxDisplayInfo *, wxDisplayInfoArray); class wxDisplayImplWin32Base : public wxDisplayImpl { public: - wxDisplayImplWin32Base(size_t n, wxDisplayInfo& info) + wxDisplayImplWin32Base(unsigned n, wxDisplayInfo& info) : wxDisplayImpl(n), m_info(info) { @@ -224,7 +220,7 @@ public: bool IsOk() const { return !m_displays.empty(); } - virtual size_t GetCount() { return m_displays.size(); } + virtual unsigned GetCount() { return unsigned(m_displays.size()); } virtual int GetFromPoint(const wxPoint& pt); virtual int GetFromWindow(wxWindow *window); @@ -262,7 +258,7 @@ protected: class wxDisplayImplMultimon : public wxDisplayImplWin32Base { public: - wxDisplayImplMultimon(size_t n, wxDisplayInfo& info) + wxDisplayImplMultimon(unsigned n, wxDisplayInfo& info) : wxDisplayImplWin32Base(n, info) { } @@ -279,7 +275,7 @@ class wxDisplayFactoryMultimon : public wxDisplayFactoryWin32Base public: wxDisplayFactoryMultimon(); - virtual wxDisplayImpl *CreateDisplay(size_t n); + virtual wxDisplayImpl *CreateDisplay(unsigned n); private: // EnumDisplayMonitors() callback @@ -297,7 +293,7 @@ private: // wxDisplay implementation using DirectDraw // ---------------------------------------------------------------------------- -#ifdef wxUSE_DIRECTDRAW +#if wxUSE_DIRECTDRAW struct wxDisplayInfoDirectDraw : wxDisplayInfo { @@ -329,7 +325,7 @@ struct wxDisplayInfoDirectDraw : wxDisplayInfo class wxDisplayImplDirectDraw : public wxDisplayImplWin32Base { public: - wxDisplayImplDirectDraw(size_t n, wxDisplayInfo& info, IDirectDraw2 *pDD2) + wxDisplayImplDirectDraw(unsigned n, wxDisplayInfo& info, IDirectDraw2 *pDD2) : wxDisplayImplWin32Base(n, info), m_pDD2(pDD2) { @@ -356,7 +352,7 @@ public: wxDisplayFactoryDirectDraw(); virtual ~wxDisplayFactoryDirectDraw(); - virtual wxDisplayImpl *CreateDisplay(size_t n); + virtual wxDisplayImpl *CreateDisplay(unsigned n); private: // callback used with DirectDrawEnumerateEx() @@ -396,7 +392,7 @@ private: // and another using DirectDraw, the choice between them is done using a // system option -#ifdef wxUSE_DIRECTDRAW +#if wxUSE_DIRECTDRAW if ( wxSystemOptions::GetOptionInt(_T("msw.display.directdraw")) ) { wxDisplayFactoryDirectDraw *factoryDD = new wxDisplayFactoryDirectDraw; @@ -463,7 +459,7 @@ wxRect wxDisplayImplWin32Base::GetClientArea() const wxString wxDisplayImplWin32Base::GetName() const { - if ( m_info.m_devName.IsEmpty() ) + if ( m_info.m_devName.empty() ) m_info.Initialize(); return m_info.m_devName; @@ -652,7 +648,7 @@ void wxDisplayFactoryMultimon::AddDisplay(HMONITOR hMonitor, LPRECT lprcMonitor) // wxDisplayFactoryMultimon inherited pure virtuals implementation // ---------------------------------------------------------------------------- -wxDisplayImpl *wxDisplayFactoryMultimon::CreateDisplay(size_t n) +wxDisplayImpl *wxDisplayFactoryMultimon::CreateDisplay(unsigned n) { wxCHECK_MSG( n < m_displays.size(), NULL, _T("invalid display index") ); @@ -893,7 +889,7 @@ void wxDisplayFactoryDirectDraw::AddDisplay(const GUID& guid, // wxDisplayFactoryDirectDraw inherited pure virtuals implementation // ---------------------------------------------------------------------------- -wxDisplayImpl *wxDisplayFactoryDirectDraw::CreateDisplay(size_t n) +wxDisplayImpl *wxDisplayFactoryDirectDraw::CreateDisplay(unsigned n) { wxCHECK_MSG( n < m_displays.size(), NULL, _T("invalid display index") );