]> git.saurik.com Git - wxWidgets.git/blob - src/os2/dcscreen.cpp
Make DoGetBestSize cache the value of GetSize() the first time it is called
[wxWidgets.git] / src / os2 / dcscreen.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: 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 #ifdef __GNUG__
13 #pragma implementation "dcscreen.h"
14 #endif
15
16 // For compilers that support precompilation, includes "wx.h".
17 #include "wx/wxprec.h"
18
19 #define INCL_DEV
20 #define INCL_GPI
21 #define INCL_PM
22 #include<os2.h>
23
24 #ifndef WX_PRECOMP
25 #include "wx/string.h"
26 #include "wx/window.h"
27 #endif
28
29 #include "wx/os2/private.h"
30
31 #include "wx/dcscreen.h"
32
33 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
34
35 // Create a DC representing the whole screen
36 wxScreenDC::wxScreenDC()
37 {
38 m_hDC = ::WinOpenWindowDC(HWND_DESKTOP);
39 m_hPS = ::WinGetScreenPS(HWND_DESKTOP);
40 ::GpiSetBackMix(m_hPS, BM_LEAVEALONE);
41 } // end of wxScreenDC::wxScreenDC()
42
43 void wxScreenDC::DoGetSize(
44 int* pnWidth
45 , int* pnHeight
46 ) const
47 {
48 //
49 // Skip wxWindowDC version because it doesn't work without a valid m_canvas
50 // (which we don't have)
51 //
52 wxDC::DoGetSize( pnWidth
53 ,pnHeight
54 );
55 } // end of wxScreenDC::DoGetSize
56