]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/display.h
wxUniversal compilation fix.
[wxWidgets.git] / include / wx / msw / display.h
index 766e4e34016a26912aae133e0573740632315133..a49805f4632bf4545f17e95aae4698b38937ecaa 100644 (file)
@@ -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_