+wxClientDCImpl::~wxClientDCImpl()
+{
+}
+
+void wxClientDCImpl::DoGetSize(int *width, int *height) const
+{
+ wxCHECK_RET( m_window, wxT("wxClientDCImpl without a window?") );
+
+ m_window->GetClientSize(width, height);
+}
+
+// ----------------------------------------------------------------------------
+// wxPaintDCImpl
+// ----------------------------------------------------------------------------
+
+// VZ: initial implementation (by JACS) only remembered the last wxPaintDC
+// created and tried to reuse it - this was supposed to take care of a
+// situation when a derived class OnPaint() calls base class OnPaint()
+// because in this case ::BeginPaint() shouldn't be called second time.
+//
+// I'm not sure how useful this is, however we must remember the HWND
+// associated with the last HDC as well - otherwise we may (and will!) try
+// to reuse the HDC for another HWND which is a nice recipe for disaster.
+//
+// So we store a list of windows for which we already have the DC and not
+// just one single hDC. This seems to work, but I'm really not sure about
+// the usefullness of the whole idea - IMHO it's much better to not call
+// base class OnPaint() at all, or, if we really want to allow it, add a
+// "wxPaintDC *" parameter to wxPaintEvent which should be used if it's
+// !NULL instead of creating a new DC.
+
+IMPLEMENT_ABSTRACT_CLASS(wxPaintDCImpl, wxClientDCImpl)