]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/dragimgg.h
streamlining slider, scroller, spinbutton for osx carbon and cocoa
[wxWidgets.git] / include / wx / generic / dragimgg.h
index 72dde38d4d8cf92e56fbbc888d0f6536bd64f6da..819128fd04ad83cde0652ae9e386ad9c29b21ffe 100644 (file)
@@ -19,6 +19,7 @@
 #include "wx/treectrl.h"
 #include "wx/listctrl.h"
 #include "wx/log.h"
+#include "wx/overlay.h"
 
 /*
   To use this class, create a wxDragImage when you start dragging, for example:
@@ -87,7 +88,7 @@
  * wxGenericDragImage
  */
 
-class WXDLLEXPORT wxGenericDragImage: public wxObject
+class WXDLLIMPEXP_CORE wxGenericDragImage: public wxObject
 {
 public:
 
@@ -151,14 +152,19 @@ public:
     }
 #endif
 
-    ~wxGenericDragImage();
+    virtual ~wxGenericDragImage();
 
     // Attributes
     ////////////////////////////////////////////////////////////////////////////
 
+#ifdef wxHAS_NATIVE_OVERLAY
+    // backing store is not used when native overlays are
+    void SetBackingBitmap(wxBitmap* WXUNUSED(bitmap)) { }
+#else
     // For efficiency, tell wxGenericDragImage to use a bitmap that's already
     // created (e.g. from last drag)
     void SetBackingBitmap(wxBitmap* bitmap) { m_pBackingBitmap = bitmap; }
+#endif // wxHAS_NATIVE_OVERLAY/!wxHAS_NATIVE_OVERLAY
 
     // Operations
     ////////////////////////////////////////////////////////////////////////////
@@ -187,7 +193,7 @@ public:
 
     // Begin drag. hotspot is the location of the drag position relative to the upper-left
     // corner of the image.
-    bool BeginDrag(const wxPoint& hotspot, wxWindow* window, bool fullScreen = false, wxRect* rect = (wxRect*) NULL);
+    bool BeginDrag(const wxPoint& hotspot, wxWindow* window, bool fullScreen = false, wxRect* rect = NULL);
 
     // Begin drag. hotspot is the location of the drag position relative to the upper-left
     // corner of the image. This is full screen only. fullScreenRect gives the
@@ -242,12 +248,17 @@ protected:
     wxWindow*       m_window;
     wxDC*           m_windowDC;
 
+#ifdef wxHAS_NATIVE_OVERLAY
+    wxOverlay       m_overlay;
+    wxDCOverlay*     m_dcOverlay;
+#else
     // Stores the window contents while we're dragging the image around
     wxBitmap        m_backingBitmap;
     wxBitmap*       m_pBackingBitmap; // Pointer to existing backing bitmap
                                       // (pass to wxGenericDragImage as an efficiency measure)
     // A temporary bitmap for repairing/redrawing
     wxBitmap        m_repairBitmap;
+#endif // !wxHAS_NATIVE_OVERLAY
 
     wxRect          m_boundingRect;
     bool            m_fullScreen;