]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/dcclient.h
avoid GCC warning about type-punned pointer breaking strict aliasing rules
[wxWidgets.git] / include / wx / mac / carbon / dcclient.h
index b3b42f4e2e2797a2f4013fb32335c7b112c06d42..a35e461720a755f1e6f44167c8d04a5ec6e26136 100644 (file)
@@ -13,6 +13,7 @@
 #define _WX_DCCLIENT_H_
 
 #include "wx/dc.h"
+#include "wx/dcgraph.h"
 
 //-----------------------------------------------------------------------------
 // classes
 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);
-
-  virtual ~wxWindowDC(void);
-  wxWindow *GetWindow() const { return m_window; }
-  protected :
+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; 
-    wxWindow     *m_window;
-#if wxMAC_USE_CORE_GRAPHICS
-       bool            m_release;
-       int                     m_width;
-       int                     m_height;
-#endif
-};
-
-
-class WXDLLEXPORT wxClientDC: public wxWindowDC
-{
-  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
+    bool m_release;
+    int         m_width;
+    int         m_height;
+
+    DECLARE_CLASS(wxWindowDCImpl)
+    DECLARE_NO_COPY_CLASS(wxWindowDCImpl)
 };
 
-class WXDLLEXPORT wxPaintDC: public wxWindowDC
-{
-  DECLARE_DYNAMIC_CLASS(wxPaintDC)
 
- public:
-  wxPaintDC(void);
+class WXDLLEXPORT wxClientDCImpl: public wxWindowDCImpl
+{
+public:
+    wxClientDCImpl( wxDC *owner );
+    wxClientDCImpl( wxDC *owner, wxWindow *window );
+    virtual ~wxClientDCImpl();
+    
+private:
+    DECLARE_CLASS(wxClientDCImpl)
+    DECLARE_NO_COPY_CLASS(wxClientDCImpl)
+};
 
-  // 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_