// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+ #pragma interface "display.h"
+#endif
+
#ifndef _WX_MSW_DISPLAY_H_
#define _WX_MSW_DISPLAY_H_
class WXDLLEXPORT wxDisplay : public wxDisplayBase
{
public:
- wxDisplay ( size_t index = 0 );
+ // this function may be called *before* using any other wxDisplay methods
+ // to tell it to use DirectX functions instead of the standard Windows ones
+ static void UseDirectX(bool useDX);
+
+ // create the display object for the given physical display
+ wxDisplay(size_t index = 0);
+ virtual ~wxDisplay();
+
+ // implement base class pure virtuals
+ virtual bool IsOk() const;
virtual wxRect GetGeometry() const;
- virtual int GetDepth() const;
virtual wxString GetName() const;
- DECLARE_NO_COPY_CLASS(wxDisplay);
+ virtual wxArrayVideoModes
+ GetModes(const wxVideoMode& mode = wxVideoMode()) const;
+ virtual wxVideoMode GetCurrentMode() const;
+ virtual bool ChangeMode(const wxVideoMode& mode = wxVideoMode());
+
+private:
+ // get the display name to use with EnumDisplaySettings()
+ wxString GetNameForEnumSettings() const;
+
+ // we have different implementations using DirectDraw and without it
+ wxArrayVideoModes DoGetModesDirectX(const wxVideoMode& modeMatch) const;
+ bool DoChangeModeDirectX(const wxVideoMode& mode);
+
+ wxArrayVideoModes DoGetModesWindows(const wxVideoMode& modeMatch) const;
+ bool DoChangeModeWindows(const wxVideoMode& mode);
+
+
+ DECLARE_NO_COPY_CLASS(wxDisplay)
};
#endif // _WX_MSW_DISPLAY_H_