]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dcscreen.cpp
wxNO_FULL_REPAINT_ON_RESIZE logic for wxMSW
[wxWidgets.git] / src / msw / dcscreen.cpp
index 71d61dd7d9aa1b3f9e0d390f07116806014a55a1..65f897ccf38dd4fbdadd3e91c2da715272f15f70 100644 (file)
 #endif
 
 #ifndef WX_PRECOMP
+   #include "wx/string.h"
+   #include "wx/window.h"
 #endif
 
+#include "wx/msw/private.h"
+
 #include "wx/dcscreen.h"
 
-#include <windows.h>
 
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
@@ -34,14 +37,19 @@ IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
 // Create a DC representing the whole screen
 wxScreenDC::wxScreenDC(void)
 {
-  m_hDC = (WXHDC) ::GetDC(NULL);
+  m_hDC = (WXHDC) ::GetDC((HWND) NULL);
   m_hDCCount ++;
+
+  // the background mode is only used for text background
+  // and is set in DrawText() to OPAQUE as required, other-
+  // wise always TRANSPARENT, RR
+  ::SetBkMode( GetHdc(), TRANSPARENT );
 }
 
 wxScreenDC::~wxScreenDC(void)
 {
   SelectOldObjects(m_hDC);
-  ::ReleaseDC(NULL, (HDC) m_hDC);
+  ::ReleaseDC((HWND) NULL, (HDC) m_hDC);
   m_hDC = 0;
   m_hDCCount --;
 }