]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/display.h
added wx/object.h include (bug 1398517)
[wxWidgets.git] / include / wx / msw / display.h
index 766e4e34016a26912aae133e0573740632315133..a001fda4aec7221920bdb6b82d346cff589ea7ac 100644 (file)
@@ -2,10 +2,10 @@
 // Name:        display.h
 // Purpose:     wxDisplay class customization for WXMSW
 // Author:      Royce Mitchell III
-// Modified by: 
+// Modified by:
 // Created:     06/21/02
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
+// Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 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());
+
+    virtual bool IsPrimary() const;
+
+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_