X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a536e411022b21280532c9daadc806a437fbb4c6..54d73f3d7834d8f7b87c40ac337f4fa2f6212f7a:/include/wx/msw/display.h diff --git a/include/wx/msw/display.h b/include/wx/msw/display.h index 766e4e3401..a49805f463 100644 --- a/include/wx/msw/display.h +++ b/include/wx/msw/display.h @@ -9,19 +9,48 @@ // 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_