]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/dcclient.h
Clear columns on destruction
[wxWidgets.git] / include / wx / mac / carbon / dcclient.h
index def0ad4cc3e410c97fd1676eeba07eed5d381670..fa518275f1080b082fac8c6baf27826e5ce6e0b2 100644 (file)
 #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 WXDLLIMPEXP_CORE 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;
+    DECLARE_CLASS(wxWindowDCImpl)
+    DECLARE_NO_COPY_CLASS(wxWindowDCImpl)
 };
 
 
-class WXDLLEXPORT wxClientDC: public wxWindowDC
+class WXDLLIMPEXP_CORE wxClientDCImpl: public wxWindowDCImpl
 {
-  DECLARE_DYNAMIC_CLASS(wxClientDC)
-
- public:
-  wxClientDC(void);
-
-  // Create a DC corresponding to a canvas
-  wxClientDC(wxWindow *win);
-
-  virtual ~wxClientDC(void);
-
-protected:
-  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);
-
-  virtual ~wxPaintDC(void);
+class WXDLLIMPEXP_CORE wxPaintDCImpl: public wxWindowDCImpl
+{
+public:
+    wxPaintDCImpl( wxDC *owner );
+    wxPaintDCImpl( wxDC *owner, wxWindow *win );
+    virtual ~wxPaintDCImpl();
 
 protected:
-  virtual void DoGetSize( int *width, int *height ) const;
+    DECLARE_CLASS(wxPaintDCImpl)
+    DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
 };
 
+
 #endif
     // _WX_DCCLIENT_H_