#define _WX_DCCLIENT_H_
#include "wx/dc.h"
+#include "wx/dcgraph.h"
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxPaintDC;
-class WXDLLEXPORT wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxPaintDC;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
-class WXDLLEXPORT wxWindowDC: public wxDC
+class WXDLLEXPORT wxWindowDCImpl: public wxGCDCImpl
{
- DECLARE_DYNAMIC_CLASS(wxWindowDC)
-
- public:
- wxWindowDC(void);
-
- // Create a DC corresponding to a canvas
- wxWindowDC(wxWindow *win);
-
- ~wxWindowDC(void);
- virtual void DoGetSize( int *width, int *height ) const;
- protected :
- wxWindow *m_window;
+public:
+ wxWindowDCImpl( wxDC *owner );
+ wxWindowDCImpl( wxDC *owner, wxWindow *window );
+ virtual ~wxWindowDCImpl();
+
+ virtual void DoGetSize( int *width, int *height ) const;
+ virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const;
+
+protected:
+ bool m_release;
+ int m_width;
+ int m_height;
+
+ DECLARE_CLASS(wxWindowDCImpl)
+ DECLARE_NO_COPY_CLASS(wxWindowDCImpl)
};
-class WXDLLEXPORT wxClientDC: public wxWindowDC
+class WXDLLEXPORT wxClientDCImpl: public wxWindowDCImpl
{
- DECLARE_DYNAMIC_CLASS(wxClientDC)
-
- public:
- wxClientDC(void);
-
- // Create a DC corresponding to a canvas
- wxClientDC(wxWindow *win);
-
- ~wxClientDC(void);
- virtual void DoGetSize( int *width, int *height ) const;
+public:
+ wxClientDCImpl( wxDC *owner );
+ wxClientDCImpl( wxDC *owner, wxWindow *window );
+ virtual ~wxClientDCImpl();
+
+private:
+ DECLARE_CLASS(wxClientDCImpl)
+ DECLARE_NO_COPY_CLASS(wxClientDCImpl)
};
-class WXDLLEXPORT wxPaintDC: public wxWindowDC
-{
- DECLARE_DYNAMIC_CLASS(wxPaintDC)
-
- public:
- wxPaintDC(void);
-
- // Create a DC corresponding to a canvas
- wxPaintDC(wxWindow *win);
- ~wxPaintDC(void);
- virtual void DoGetSize( int *width, int *height ) const;
+class WXDLLEXPORT wxPaintDCImpl: public wxWindowDCImpl
+{
+public:
+ wxPaintDCImpl( wxDC *owner );
+ wxPaintDCImpl( wxDC *owner, wxWindow *win );
+ virtual ~wxPaintDCImpl();
+
+protected:
+ DECLARE_CLASS(wxPaintDCImpl)
+ DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
};
+
#endif
// _WX_DCCLIENT_H_