]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/dcscreen.h
added copy ctor to wxCStrData to fix crashes when passing to vararg functions
[wxWidgets.git] / include / wx / msw / dcscreen.h
index 67a0cbd95e6203d32f4ac41341060d861653c767..f48275e41b9809f8cbf0471f7a9fd79403af59f8 100644 (file)
@@ -1,39 +1,40 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dcscreen.h
+// Name:        wx/msw/dcscreen.h
 // Purpose:     wxScreenDC class
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_DCSCREEN_H_
-#define _WX_DCSCREEN_H_
+#ifndef _WX_MSW_DCSCREEN_H_
+#define _WX_MSW_DCSCREEN_H_
 
-#ifdef __GNUG__
-#pragma interface "dcscreen.h"
-#endif
+#include "wx/dc.h"
 
-#include "wx/dcclient.h"
-
-class WXDLLEXPORT wxScreenDC: public wxWindowDC
+class WXDLLEXPORT wxScreenDC : public wxDC
 {
-  DECLARE_DYNAMIC_CLASS(wxScreenDC)
-
- public:
-  // Create a DC representing the whole screen
-  wxScreenDC(void);
-  ~wxScreenDC(void);
-
-  // Compatibility with X's requirements for
-  // drawing on top of all windows
-  static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return TRUE; }
-  static bool StartDrawingOnTop(wxRect* WXUNUSED(rect) = NULL) { return TRUE; }
-  static bool EndDrawingOnTop(void) { return TRUE; }
+public:
+    // Create a DC representing the whole screen
+    wxScreenDC();
+
+    // Compatibility with X's requirements for drawing on top of all windows:
+    // they don't do anything under MSW
+    static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return true; }
+    static bool StartDrawingOnTop(wxRect* WXUNUSED(rect) = NULL) { return true; }
+    static bool EndDrawingOnTop() { return true; }
+
+protected:
+    virtual void DoGetSize(int *w, int *h) const
+    {
+        GetDeviceSize(w, h);
+    }
+
+private:
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxScreenDC)
 };
 
-#endif
-    // _WX_DCSCREEN_H_
+#endif // _WX_MSW_DCSCREEN_H_