]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dfb/dcmemory.h
added wxWeakRef<T> (slightly modified patch 1860953)
[wxWidgets.git] / include / wx / dfb / dcmemory.h
index dbb0e955c8b56cc2a197497bb8ee19508d3a0dc6..b7dd9c2d816c6889b00281a3c258560c48d5a094 100644 (file)
 #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
-
-    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_