]> git.saurik.com Git - wxWidgets.git/blob - src/os2/dcscreen.cpp
fix crash which happened if you called SetAttr(NULL) followed by SetAttr(attr) (...
[wxWidgets.git] / src / os2 / dcscreen.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/os2/dcscreen.cpp
3 // Purpose: wxScreenDC class
4 // Author: David Webster
5 // Modified by:
6 // Created: 10/14/99
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 // For compilers that support precompilation, includes "wx.h".
13 #include "wx/wxprec.h"
14
15 #define INCL_DEV
16 #define INCL_GPI
17 #define INCL_PM
18 #include<os2.h>
19
20 #include "wx/os2/dcscreen.h"
21
22 #ifndef WX_PRECOMP
23 #include "wx/string.h"
24 #include "wx/window.h"
25 #endif
26
27 #include "wx/os2/private.h"
28
29 IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl, wxPMDCImpl)
30
31 // Create a DC representing the whole screen
32 wxScreenDCImpl::wxScreenDCImpl( wxScreenDC *owner ) :
33 wxPMDCImpl( owner )
34 {
35 m_hDC = ::WinOpenWindowDC(HWND_DESKTOP);
36 m_hPS = ::WinGetScreenPS(HWND_DESKTOP);
37 ::GpiSetBackMix(m_hPS, BM_LEAVEALONE);
38 } // end of wxScreenDC::wxScreenDC()
39
40 void wxScreenDCImpl::DoGetSize( int* pnWidth,
41 int* pnHeight ) const
42 {
43 //
44 // Skip wxWindowDC version because it doesn't work without a valid m_canvas
45 // (which we don't have)
46 //
47 wxPMDCImpl::DoGetSize( pnWidth, pnHeight );
48
49 } // end of wxScreenDC::DoGetSize