#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( const wxBitmap& bitmap = wxNullBitmap );
- wxMemoryDC(wxDC *dc); // create compatible DC
-
- virtual void SelectObject(const wxBitmap& bitmap);
-
- // implementation from now on:
-
- wxBitmap GetSelectedObject() const { return m_bmp; }
+ wxMemoryDCImpl(wxMemoryDC *owner)
+ : wxDFBDCImpl(owner)
+ {
+ Init();
+ }
+
+ wxMemoryDCImpl(wxMemoryDC *owner, wxBitmap& bitmap)
+ : wxDFBDCImpl(owner)
+ {
+ Init();
+ DoSelect(bitmap);
+ }
+
+ 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(wxMemoryDC)
+ DECLARE_DYNAMIC_CLASS(wxMemoryDCImpl)
};
#endif // _WX_DFB_DCMEMORY_H_