]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/dragimgg.h
Applied rowspan patch #15276 (dghart)
[wxWidgets.git] / include / wx / generic / dragimgg.h
index 9ea4a543249e40a33c48c348ca7441a24c0a3173..f37a9abcc16370596661c872ea174ca834b7c9f6 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:
 
@@ -156,9 +157,14 @@ public:
     // 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,19 +248,24 @@ 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;
 
 private:
     DECLARE_DYNAMIC_CLASS(wxGenericDragImage)
-    DECLARE_NO_COPY_CLASS(wxGenericDragImage)
+    wxDECLARE_NO_COPY_CLASS(wxGenericDragImage);
 };
 
 #endif