]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dcclient.cpp
corrected a crash in wxDialog::Show() which would happen if there was a
[wxWidgets.git] / src / msw / dcclient.cpp
index 8af9d2aad7bd1917c5c1b422430f65b4e69242ae..e1cd97a1ada06bf8ec37eef6bf7cb2734a342f6d 100644 (file)
 #include <windows.h>
 
 #if !USE_SHARED_LIBRARY
-IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxDC)
 IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC)
-IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxDC)
+IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC)
+IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxWindowDC)
 #endif
 
-wxClientDC::wxClientDC(void)
+/*
+ * wxWindowDC
+ */
+
+wxWindowDC::wxWindowDC(void)
 {
   m_canvas = NULL;
 }
 
-wxClientDC::wxClientDC(wxWindow *the_canvas)
+wxWindowDC::wxWindowDC(wxWindow *the_canvas)
 {
   m_canvas = the_canvas;
-//  BeginDrawing();
-  m_hDC = (WXHDC) ::GetDC((HWND) the_canvas->GetHWND());
+//  m_hDC = (WXHDC) ::GetDCEx((HWND) the_canvas->GetHWND(), NULL, DCX_WINDOW);
+  m_hDC = (WXHDC) ::GetWindowDC((HWND) the_canvas->GetHWND() );
+  m_hDCCount ++;
 }
 
-wxClientDC::~wxClientDC(void)
+wxWindowDC::~wxWindowDC(void)
 {
-//  EndDrawing();
-
-  if (m_canvas && (HDC) m_hDC)
+  if (m_canvas && m_hDC)
   {
     SelectOldObjects(m_hDC);
 
     ::ReleaseDC((HWND) m_canvas->GetHWND(), (HDC) m_hDC);
        m_hDC = 0;
   }
+  m_hDCCount --;
 }
 
-wxWindowDC::wxWindowDC(void)
+/*
+ * wxClientDC
+ */
+
+wxClientDC::wxClientDC(void)
 {
   m_canvas = NULL;
 }
 
-wxWindowDC::wxWindowDC(wxWindow *the_canvas)
+wxClientDC::wxClientDC(wxWindow *the_canvas)
 {
   m_canvas = the_canvas;
-//  m_hDC = (WXHDC) ::GetDCEx((HWND) the_canvas->GetHWND(), NULL, DCX_WINDOW);
-  m_hDC = (WXHDC) ::GetWindowDC((HWND) the_canvas->GetHWND() );
-  m_hDCCount ++;
+//  BeginDrawing();
+  m_hDC = (WXHDC) ::GetDC((HWND) the_canvas->GetHWND());
 }
 
-wxWindowDC::~wxWindowDC(void)
+wxClientDC::~wxClientDC(void)
 {
-  if (m_canvas && m_hDC)
+//  EndDrawing();
+
+  if (m_canvas && (HDC) m_hDC)
   {
     SelectOldObjects(m_hDC);
 
     ::ReleaseDC((HWND) m_canvas->GetHWND(), (HDC) m_hDC);
        m_hDC = 0;
   }
-  m_hDCCount --;
 }
 
+/*
+ * wxPaintDC
+ */
+
 wxPaintDC::wxPaintDC(void)
 {
   m_canvas = NULL;