#ifndef _WX_DFB_DCMEMORY_H_
#define _WX_DFB_DCMEMORY_H_
-#include "wx/dc.h"
+#include "wx/dfb/dc.h"
#include "wx/bitmap.h"
-class WXDLLIMPEXP_CORE wxMemoryDC : public wxDC
+class WXDLLIMPEXP_CORE wxMemoryDCImpl : public wxDFBDCImpl
{
public:
- wxMemoryDC();
- wxMemoryDC(wxDC *dc); // create compatible DC
+ wxMemoryDCImpl(wxMemoryDC *owner)
+ : wxDFBDCImpl(owner)
+ {
+ Init();
+ }
- virtual void SelectObject(const wxBitmap& bitmap);
+ wxMemoryDCImpl(wxMemoryDC *owner, wxBitmap& bitmap)
+ : wxDFBDCImpl(owner)
+ {
+ Init();
+ DoSelect(bitmap);
+ }
- DECLARE_DYNAMIC_CLASS(wxMemoryDC)
+ wxMemoryDCImpl(wxMemoryDC *owner, wxDC *dc); // create compatible DC
+
+ // override wxMemoryDC-specific base class virtual methods
+ virtual const wxBitmap& GetSelectedBitmap() const { return m_bmp; }
+ virtual wxBitmap& GetSelectedBitmap() { return m_bmp; }
+ virtual void DoSelect(const wxBitmap& bitmap);
+
+private:
+ void Init();
+
+ wxBitmap m_bmp;
+
+ DECLARE_DYNAMIC_CLASS(wxMemoryDCImpl)
};
#endif // _WX_DFB_DCMEMORY_H_