#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);
+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;
- // Create a DC corresponding to a canvas
- wxWindowDC(wxWindow *win);
+protected:
+ bool m_release;
+ int m_width;
+ int m_height;
- virtual ~wxWindowDC(void);
- wxWindow *GetWindow() const { return m_window; }
- protected :
- virtual void DoGetSize( int *width, int *height ) const;
- wxWindow *m_window;
-#if wxMAC_USE_CORE_GRAPHICS
- bool m_release;
- int m_width;
- int m_height;
-#endif
+ 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);
-
- virtual ~wxClientDC(void);
-
-protected:
-#if !wxMAC_USE_CORE_GRAPHICS
- virtual void DoGetSize( int *width, int *height ) const;
-#endif
+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);
-
- virtual ~wxPaintDC(void);
+class WXDLLEXPORT wxPaintDCImpl: public wxWindowDCImpl
+{
+public:
+ wxPaintDCImpl( wxDC *owner );
+ wxPaintDCImpl( wxDC *owner, wxWindow *win );
+ virtual ~wxPaintDCImpl();
protected:
-#if !wxMAC_USE_CORE_GRAPHICS
- virtual void DoGetSize( int *width, int *height ) const;
-#endif
+ DECLARE_CLASS(wxPaintDCImpl)
+ DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
};
+
#endif
// _WX_DCCLIENT_H_