]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/dcmemory.h
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/dcclient.h"
17 class WXDLLEXPORT wxMemoryDC
: public wxDC
, public wxMemoryDCBase
20 wxMemoryDC() { CreateCompatible(NULL
); Init(); }
21 wxMemoryDC(wxBitmap
& bitmap
) { CreateCompatible(NULL
); Init(); SelectObject(bitmap
); }
22 wxMemoryDC(wxDC
*dc
); // Create compatible DC
26 // override some base class virtuals
27 virtual void DoDrawRectangle(wxCoord x
, wxCoord y
, wxCoord width
, wxCoord height
);
28 virtual void DoGetSize(int* width
, int* height
) const;
29 virtual void DoSelect(const wxBitmap
& bitmap
);
31 virtual wxBitmap
DoGetAsBitmap(const wxRect
* subrect
) const
32 { return subrect
== NULL
? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmapOfHDC(*subrect
, GetHDC() );}
34 // create DC compatible with the given one or screen if dc == NULL
35 bool CreateCompatible(wxDC
*dc
);
37 // initialize the newly created DC
41 DECLARE_DYNAMIC_CLASS_NO_COPY(wxMemoryDC
)