X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5ea4780630b335a1b8b2d3a94c0b82e46f4c56f6..abd474ea63667f727940a009cc3e0b23ba9f418f:/src/msw/dcscreen.cpp?ds=sidebyside diff --git a/src/msw/dcscreen.cpp b/src/msw/dcscreen.cpp index 65f897ccf3..f55eddd5a0 100644 --- a/src/msw/dcscreen.cpp +++ b/src/msw/dcscreen.cpp @@ -1,25 +1,23 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dcscreen.cpp +// Name: src/msw/dcscreen.cpp // Purpose: wxScreenDC class // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows licence +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "dcscreen.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif +#include "wx/msw/dcscreen.h" + #ifndef WX_PRECOMP #include "wx/string.h" #include "wx/window.h" @@ -27,30 +25,16 @@ #include "wx/msw/private.h" -#include "wx/dcscreen.h" - - -#if !USE_SHARED_LIBRARY -IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC) -#endif +IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl, wxMSWDCImpl) // Create a DC representing the whole screen -wxScreenDC::wxScreenDC(void) +wxScreenDCImpl::wxScreenDCImpl( wxScreenDC *owner ) : + wxMSWDCImpl( owner ) { - 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 ); -} + m_hDC = (WXHDC) ::GetDC((HWND) NULL); -wxScreenDC::~wxScreenDC(void) -{ - SelectOldObjects(m_hDC); - ::ReleaseDC((HWND) NULL, (HDC) m_hDC); - m_hDC = 0; - m_hDCCount --; + // the background mode is only used for text background and is set in + // DrawText() to OPAQUE as required, otherwise always TRANSPARENT + ::SetBkMode( GetHdc(), TRANSPARENT ); }