X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..cb41a69b152026d6c586d21148e34913291cd733:/src/dfb/dcmemory.cpp

diff --git a/src/dfb/dcmemory.cpp b/src/dfb/dcmemory.cpp
index 435667e3cd..9be66d9460 100644
--- a/src/dfb/dcmemory.cpp
+++ b/src/dfb/dcmemory.cpp
@@ -1,9 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/dfb/dcmemory.cpp
-// Purpose:     wxMemoryDC implementation
+// Purpose:     wxMemoryDCImpl implementation
 // Author:      Vaclav Slavik
 // Created:     2006-08-16
-// RCS-ID:      $Id$
 // Copyright:   (c) 2006 REA Elektronik GmbH
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -19,12 +18,12 @@
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/dcmemory.h"
-
 #ifndef WX_PRECOMP
     #include "wx/bitmap.h"
 #endif
 
+#include "wx/dcmemory.h"
+#include "wx/dfb/dcmemory.h"
 #include "wx/dfb/private.h"
 
 // ===========================================================================
@@ -32,24 +31,40 @@
 // ===========================================================================
 
 //-----------------------------------------------------------------------------
-// wxMemoryDC
+// wxMemoryDCImpl
 //-----------------------------------------------------------------------------
 
-#warning "FIXME: verify/fix that wxMemoryDC works correctly with mono bitmaps"
+#warning "FIXME: verify/fix that wxMemoryDCImpl works correctly with mono bitmaps"
+
+IMPLEMENT_ABSTRACT_CLASS(wxMemoryDCImpl, wxDFBDCImpl)
+
+void wxMemoryDCImpl::Init()
+{
+}
 
-IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
+wxMemoryDCImpl::wxMemoryDCImpl(wxMemoryDC *owner)
+              : wxDFBDCImpl(owner)
+{
+    Init();
+}
 
-wxMemoryDC::wxMemoryDC()
+wxMemoryDCImpl::wxMemoryDCImpl(wxMemoryDC *owner, wxBitmap& bitmap)
+              : wxDFBDCImpl(owner)
 {
+    Init();
+    DoSelect(bitmap);
 }
 
-wxMemoryDC::wxMemoryDC(wxDC *WXUNUSED(dc))
+wxMemoryDCImpl::wxMemoryDCImpl(wxMemoryDC *owner, wxDC *WXUNUSED(dc))
+              : wxDFBDCImpl(owner)
 {
 }
 
-void wxMemoryDC::SelectObject(const wxBitmap& bitmap)
+void wxMemoryDCImpl::DoSelect(const wxBitmap& bitmap)
 {
-    if ( !bitmap.Ok() )
+    m_bmp = bitmap;
+
+    if ( !bitmap.IsOk() )
     {
         // select the bitmap out of the DC
         m_surface = NULL;
@@ -57,5 +72,5 @@ void wxMemoryDC::SelectObject(const wxBitmap& bitmap)
     }
 
     // init the DC for drawing to this bitmap
-    Init(bitmap.GetDirectFBSurface());
+    DFBInit(bitmap.GetDirectFBSurface());
 }