#if wxUSE_DISPLAY
#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/display.h"
#include "wx/display_impl.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__
// is only defined in winuser.h if WINVER >= 0x0500
#if !defined(HMONITOR_DECLARED) && !defined(MNS_NOCHECK)
DECLARE_HANDLE(HMONITOR);
+ typedef BOOL(CALLBACK * MONITORENUMPROC )(HMONITOR, HDC, LPRECT, LPARAM);
+ typedef struct tagMONITORINFO
+ {
+ DWORD cbSize;
+ RECT rcMonitor;
+ RECT rcWork;
+ DWORD dwFlags;
+ } MONITORINFO, *LPMONITORINFO;
+ typedef struct tagMONITORINFOEX : public tagMONITORINFO
+ {
+ TCHAR szDevice[CCHDEVICENAME];
+ } MONITORINFOEX, *LPMONITORINFOEX;
+ #define MONITOR_DEFAULTTONULL 0x00000000
+ #define MONITOR_DEFAULTTOPRIMARY 0x00000001
+ #define MONITOR_DEFAULTTONEAREST 0x00000002
+ #define MONITORINFOF_PRIMARY 0x00000001
#define HMONITOR_DECLARED
#endif
#endif // !__WXWINCE__
-#ifdef wxUSE_DIRECTDRAW
-#include <ddraw.h>
+#if wxUSE_DIRECTDRAW
+ #include <ddraw.h>
-// 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
// ----------------------------------------------------------------------------
DWORD dwFlags,
LPVOID lParam);
-#ifdef wxUSE_DIRECTDRAW
+#if wxUSE_DIRECTDRAW
typedef BOOL (PASCAL *DDEnumExCallback_t)(GUID *pGuid,
LPTSTR driverDescription,
LPTSTR driverName,
DECLARE_NO_COPY_CLASS(wxDisplayImplMultimon)
};
-class WXDLLEXPORT wxDisplayFactoryMultimon : public wxDisplayFactoryWin32Base
+class wxDisplayFactoryMultimon : public wxDisplayFactoryWin32Base
{
public:
wxDisplayFactoryMultimon();
// wxDisplay implementation using DirectDraw
// ----------------------------------------------------------------------------
-#ifdef wxUSE_DIRECTDRAW
+#if wxUSE_DIRECTDRAW
struct wxDisplayInfoDirectDraw : wxDisplayInfo
{
DECLARE_NO_COPY_CLASS(wxDisplayImplDirectDraw)
};
-class WXDLLEXPORT wxDisplayFactoryDirectDraw : public wxDisplayFactoryWin32Base
+class wxDisplayFactoryDirectDraw : public wxDisplayFactoryWin32Base
{
public:
wxDisplayFactoryDirectDraw();
// 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;