X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aa21388719bc324227895bd2f1328d533dc130e2..73b51ea4364c84af8b4cc4c5c79b4a9c41c1cf7d:/src/os2/dcscreen.cpp

diff --git a/src/os2/dcscreen.cpp b/src/os2/dcscreen.cpp
index 34a7a8c2a7..ce428ed8cd 100644
--- a/src/os2/dcscreen.cpp
+++ b/src/os2/dcscreen.cpp
@@ -1,18 +1,14 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dcscreen.cpp
+// Name:        src/os2/dcscreen.cpp
 // Purpose:     wxScreenDC class
 // Author:      David Webster
 // Modified by:
 // Created:     10/14/99
 // RCS-ID:      $Id$
 // Copyright:   (c) David Webster
-// Licence:   	wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "dcscreen.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -21,25 +17,33 @@
 #define INCL_PM
 #include<os2.h>
 
+#include "wx/os2/dcscreen.h"
+
 #ifndef WX_PRECOMP
-   #include "wx/string.h"
-   #include "wx/window.h"
+    #include "wx/string.h"
+    #include "wx/window.h"
 #endif
 
 #include "wx/os2/private.h"
 
-#include "wx/dcscreen.h"
-
-IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
+IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl, wxPMDCImpl)
 
 // Create a DC representing the whole screen
-wxScreenDC::wxScreenDC()
+wxScreenDCImpl::wxScreenDCImpl( wxScreenDC *owner ) :
+    wxPMDCImpl( owner )
 {
-    // TODO
-}
+    m_hDC = ::WinOpenWindowDC(HWND_DESKTOP);
+    m_hPS = ::WinGetScreenPS(HWND_DESKTOP);
+    ::GpiSetBackMix(m_hPS, BM_LEAVEALONE);
+} // end of wxScreenDC::wxScreenDC()
 
-wxScreenDC::~wxScreenDC()
+void wxScreenDCImpl::DoGetSize( int* pnWidth,
+                                int* pnHeight ) const
 {
-    // TODO
-}
+    //
+    // Skip wxWindowDC version because it doesn't work without a valid m_canvas
+    // (which we don't have)
+    //
+    wxPMDCImpl::DoGetSize( pnWidth, pnHeight );
 
+} // end of wxScreenDC::DoGetSize