X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3825734fcccc6c20b990481e9d0ccd5fe5bcbe1..c782096417f0fd9de6c6d47b23174233ec6bcf57:/src/msw/display.cpp diff --git a/src/msw/display.cpp b/src/msw/display.cpp index 2dd19b26f2..f5e9e84d51 100644 --- a/src/msw/display.cpp +++ b/src/msw/display.cpp @@ -27,17 +27,20 @@ #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/wrapwin.h" +#include "wx/msw/missing.h" // 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 @@ -69,7 +72,7 @@ #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__ @@ -173,7 +176,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) { @@ -218,9 +221,9 @@ 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); + virtual int GetFromWindow(const wxWindow *window); protected: // ctor checks if the current system supports multimon API and dynamically @@ -256,7 +259,7 @@ protected: class wxDisplayImplMultimon : public wxDisplayImplWin32Base { public: - wxDisplayImplMultimon(size_t n, wxDisplayInfo& info) + wxDisplayImplMultimon(unsigned n, wxDisplayInfo& info) : wxDisplayImplWin32Base(n, info) { } @@ -273,7 +276,7 @@ class wxDisplayFactoryMultimon : public wxDisplayFactoryWin32Base public: wxDisplayFactoryMultimon(); - virtual wxDisplayImpl *CreateDisplay(size_t n); + virtual wxDisplayImpl *CreateDisplay(unsigned n); private: // EnumDisplayMonitors() callback @@ -323,7 +326,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) { @@ -350,7 +353,7 @@ public: wxDisplayFactoryDirectDraw(); virtual ~wxDisplayFactoryDirectDraw(); - virtual wxDisplayImpl *CreateDisplay(size_t n); + virtual wxDisplayImpl *CreateDisplay(unsigned n); private: // callback used with DirectDrawEnumerateEx() @@ -457,7 +460,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; @@ -479,7 +482,9 @@ wxVideoMode wxDisplayImplWin32Base::GetCurrentMode() const // according to MSDN. The version of GetName() we implement for Win95 // returns an empty string. const wxString name = GetName(); - const wxChar * const deviceName = name.empty() ? NULL : name.c_str(); + const wxChar * const deviceName = name.empty() + ? (const wxChar*)NULL + : (const wxChar*)name.c_str(); DEVMODE dm; dm.dmSize = sizeof(dm); @@ -570,7 +575,7 @@ int wxDisplayFactoryWin32Base::GetFromPoint(const wxPoint& pt) MONITOR_DEFAULTTONULL)); } -int wxDisplayFactoryWin32Base::GetFromWindow(wxWindow *window) +int wxDisplayFactoryWin32Base::GetFromWindow(const wxWindow *window) { return FindDisplayFromHMONITOR(gs_MonitorFromWindow(GetHwndOf(window), MONITOR_DEFAULTTONULL)); @@ -646,7 +651,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") ); @@ -666,7 +671,9 @@ wxDisplayImplMultimon::GetModes(const wxVideoMode& modeMatch) const // according to MSDN. The version of GetName() we implement for Win95 // returns an empty string. const wxString name = GetName(); - const wxChar * const deviceName = name.empty() ? NULL : name.c_str(); + const wxChar * const deviceName = name.empty() + ? (const wxChar*)NULL + : (const wxChar*)name.c_str(); DEVMODE dm; dm.dmSize = sizeof(dm); @@ -761,11 +768,11 @@ bool wxDisplayImplMultimon::ChangeMode(const wxVideoMode& mode) // do change the mode switch ( pfnChangeDisplaySettingsEx ( - GetName(), // display name - pDevMode, // dev mode or NULL to reset - NULL, // reserved + GetName().wx_str(), // display name + pDevMode, // dev mode or NULL to reset + NULL, // reserved flags, - NULL // pointer to video parameters (not used) + NULL // pointer to video parameters (not used) ) ) { case DISP_CHANGE_SUCCESSFUL: @@ -887,7 +894,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") );