]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/dcmemory.h
fix wxBitmapComboBox Gtk-CRITICAL assertion `GTK_IS_ENTRY (entry)' failed
[wxWidgets.git] / include / wx / cocoa / dcmemory.h
index 0c5943a18fa075d24e9e307882bbeb62752fe520..577eee0480ab877e93fe53a16d43fbc29c8d1a97 100644 (file)
@@ -1,28 +1,55 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        wx/cocoa/dcmemory.h
 /////////////////////////////////////////////////////////////////////////////
 // Name:        wx/cocoa/dcmemory.h
-// Purpose:     wxMemoryDC class
+// Purpose:     wxMemoryDCImpl class
 // Author:      David Elliott
 // Modified by:
 // Created:     2003/03/16
 // Author:      David Elliott
 // Modified by:
 // Created:     2003/03/16
-// RCS-ID:      $Id:
+// RCS-ID:      $Id$
 // Copyright:   (c) 2003 David Elliott
 // Copyright:   (c) 2003 David Elliott
-// Licence:    wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __WX_COCOA_DCMEMORY_H__
 #define __WX_COCOA_DCMEMORY_H__
 
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __WX_COCOA_DCMEMORY_H__
 #define __WX_COCOA_DCMEMORY_H__
 
-#include "wx/dcclient.h"
+#include "wx/cocoa/dc.h"
 
 
-class WXDLLEXPORT wxMemoryDC: public wxDC
+#include "wx/dcmemory.h"
+
+class WXDLLIMPEXP_CORE wxMemoryDCImpl: public wxCocoaDCImpl
 {
 {
-    DECLARE_DYNAMIC_CLASS(wxMemoryDC)
+    DECLARE_DYNAMIC_CLASS(wxMemoryDCImpl)
+
 public:
 public:
-    wxMemoryDC(void);
-    wxMemoryDC( wxDC *dc ); // Create compatible DC
-    ~wxMemoryDC(void);
-    virtual void SelectObject(const wxBitmap& bitmap);
+    wxMemoryDCImpl(wxMemoryDC *owner)
+    :   wxCocoaDCImpl(owner)
+    {   Init(); }
+    wxMemoryDCImpl(wxMemoryDC *owner, wxBitmap& bitmap)
+    :   wxCocoaDCImpl(owner)
+    {   Init();
+        owner->SelectObject(bitmap);
+    }
+    wxMemoryDCImpl(wxMemoryDC *owner, wxDC *dc ); // Create compatible DC
+    virtual ~wxMemoryDCImpl(void);
+
     virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetSize(int *width, int *height) const;
+    virtual void DoSelect(const wxBitmap& bitmap);
+
+protected:
+    wxBitmap m_selectedBitmap;
+    WX_NSImage m_cocoaNSImage;
+// DC stack
+    virtual bool CocoaLockFocus();
+    virtual bool CocoaUnlockFocus();
+    virtual bool CocoaGetBounds(void *rectData);
+// Blitting
+    virtual bool CocoaDoBlitOnFocusedDC(wxCoord xdest, wxCoord ydest,
+        wxCoord width, wxCoord height, wxCoord xsrc, wxCoord ysrc,
+        wxRasterOperationMode logicalFunc, bool useMask, wxCoord xsrcMask, wxCoord ysrcMask);
+
+private:
+    void Init();
 };
 
 };
 
-#endif // __WX_COCOA_DCMEMORY_H__
+#endif
+    // __WX_COCOA_DCMEMORY_H__