1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/dcmemory.h
3 // Purpose: wxMemoryDC class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_DCMEMORY_H_
13 #define _WX_DCMEMORY_H_
15 #include "wx/dcmemory.h"
16 #include "wx/msw/dc.h"
18 class WXDLLIMPEXP_CORE wxMemoryDCImpl
: public wxMSWDCImpl
21 wxMemoryDCImpl( wxMemoryDC
*owner
);
22 wxMemoryDCImpl( wxMemoryDC
*owner
, wxBitmap
& bitmap
);
23 wxMemoryDCImpl( wxMemoryDC
*owner
, wxDC
*dc
); // Create compatible DC
25 #if wxUSE_GRAPHICS_CONTEXT
26 virtual wxGraphicsContext
* CreateGraphicsContext();
29 // override some base class virtuals
30 virtual void DoDrawRectangle(wxCoord x
, wxCoord y
, wxCoord width
, wxCoord height
);
31 virtual void DoGetSize(int* width
, int* height
) const;
32 virtual void DoSelect(const wxBitmap
& bitmap
);
34 virtual wxBitmap
DoGetAsBitmap(const wxRect
* subrect
) const
35 { return subrect
== NULL
? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmapOfHDC(*subrect
, GetHDC() );}
38 // create DC compatible with the given one or screen if dc == NULL
39 bool CreateCompatible(wxDC
*dc
);
41 // initialize the newly created DC
44 DECLARE_CLASS(wxMemoryDCImpl
)
45 DECLARE_NO_COPY_CLASS(wxMemoryDCImpl
)