+wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner )
+ : wxPMDCImpl( owner )
+{
+ CreateCompatible(NULL);
+ Init();
+}
+
+wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap )
+ : wxPMDCImpl( owner )
+{
+ CreateCompatible(NULL);
+ Init();
+ DoSelect(bitmap);
+}
+
+wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxDC *pOldDC)
+ : wxPMDCImpl( owner )
+{
+ wxCHECK_RET( pOldDC, _T("NULL dc in wxMemoryDC ctor") );
+
+ CreateCompatible(pOldDC);
+ Init();
+} // end of wxMemoryDC::wxMemoryDC
+
+void wxMemoryDCImpl::Init()
+{
+ if (m_ok)
+ {
+ SetBrush(*wxWHITE_BRUSH);
+ SetPen(*wxBLACK_PEN);
+
+ // the background mode is only used for text background and is set in
+ // DrawText() to OPAQUE as required, otherwise always TRANSPARENT
+ ::GpiSetBackMix( GetHPS(), BM_LEAVEALONE );
+ }
+ memset(&m_vRclPaint, 0, sizeof(m_vRclPaint));
+} // end of wxMemoryDC::Init
+
+bool wxMemoryDCImpl::CreateCompatible( wxDC* WXUNUSED(pDC) )