]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/display.h
disallow creation of wxDC objects and made wxDC an ABC; use wxDCTemp instead of wxDC...
[wxWidgets.git] / include / wx / msw / display.h
index 1508887ee7ef91adcf6bab1bd3801aaf2226ef94..a001fda4aec7221920bdb6b82d346cff589ea7ac 100644 (file)
@@ -2,26 +2,30 @@
 // 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
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(__APPLE__)
-    #pragma interface "display.h"
-#endif
-
 #ifndef _WX_MSW_DISPLAY_H_
 #define _WX_MSW_DISPLAY_H_
 
 class WXDLLEXPORT wxDisplay : public wxDisplayBase
 {
 public:
+    // 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 wxString GetName() const;
 
@@ -30,11 +34,21 @@ public:
     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;
 
-    DECLARE_NO_COPY_CLASS(wxDisplay);
+    // 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_