X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/920b9675d9e4ae7f721bd6eeb85c184a74434f7b..49e3e2c25f93dd8114b36155de1756139b7f18b9:/src/msw/display.cpp diff --git a/src/msw/display.cpp b/src/msw/display.cpp index 10012b320f..86f353b6d8 100644 --- a/src/msw/display.cpp +++ b/src/msw/display.cpp @@ -5,7 +5,7 @@ // Modified by: VZ (resolutions enumeration/change support, DirectDraw, ...) // Created: 06/21/02 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,7 +17,7 @@ // headers // --------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "display.h" #endif @@ -31,7 +31,9 @@ #if wxUSE_DISPLAY #ifndef WX_PRECOMP + #include "wx/app.h" #include "wx/dynarray.h" + #include "wx/frame.h" #endif #include "wx/dynload.h" @@ -166,10 +168,10 @@ static wxDisplayInfoArray *gs_displays = NULL; // ---------------------------------------------------------------------------- static BOOL CALLBACK wxmswMonitorEnumProc ( - HMONITOR hMonitor, // handle to display monitor - HDC hdcMonitor, // handle to monitor-appropriate device context (NULL) - LPRECT lprcMonitor, // pointer to monitor intersection rectangle - LPARAM dwData // data passed from EnumDisplayMonitors (unused) + HMONITOR hMonitor, // handle to display monitor + HDC WXUNUSED(hdcMonitor), // handle to monitor-appropriate device context + LPRECT lprcMonitor, // pointer to monitor intersection rectangle + LPARAM WXUNUSED(dwData) // data passed from EnumDisplayMonitors (unused) ) { wxDisplayInfo *info = new wxDisplayInfo(); @@ -193,9 +195,9 @@ static BOOL CALLBACK wxmswMonitorEnumProc ( BOOL PASCAL wxDDEnumExCallback(GUID *pGuid, - LPTSTR driverDescription, + LPTSTR WXUNUSED(driverDescription), LPTSTR driverName, - LPVOID lpContext, + LPVOID WXUNUSED(lpContext), HMONITOR hmon) { if ( pGuid ) @@ -218,7 +220,7 @@ HRESULT WINAPI wxDDEnumModesCallback(LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext) { // we need at least the mode size - static const int FLAGS_REQUIRED = DDSD_HEIGHT | DDSD_WIDTH; + static const DWORD FLAGS_REQUIRED = DDSD_HEIGHT | DDSD_WIDTH; if ( (lpDDSurfaceDesc->dwFlags & FLAGS_REQUIRED) == FLAGS_REQUIRED ) { wxArrayVideoModes * const modes = (wxArrayVideoModes *)lpContext; @@ -240,12 +242,16 @@ HRESULT WINAPI wxDDEnumModesCallback(LPDDSURFACEDESC lpDDSurfaceDesc, // initialize gs_displays using DirectX functions static bool DoInitDirectX() { +#if wxUSE_LOG // suppress the errors if ddraw.dll is not found wxLog::EnableLogging(false); +#endif wxDynamicLibrary dllDX(_T("ddraw.dll")); - wxLog::EnableLogging(true); +#if wxUSE_LOG + wxLog::EnableLogging(); +#endif if ( !dllDX.IsLoaded() ) return false; @@ -505,7 +511,11 @@ wxString wxDisplay::GetName() const wxZeroMemory(monInfo); monInfo.cbSize = sizeof(monInfo); - if ( !::GetMonitorInfo(dpyInfo.m_hmon, &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")); } @@ -539,7 +549,7 @@ wxString wxDisplay::GetNameForEnumSettings() const // ---------------------------------------------------------------------------- wxArrayVideoModes -wxDisplay::DoGetModesDirectX(const wxVideoMode& modeMatch) const +wxDisplay::DoGetModesDirectX(const wxVideoMode& WXUNUSED(modeMatch)) const { wxArrayVideoModes modes;