#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:
* wxGenericDragImage
*/
-class WXDLLEXPORT wxGenericDragImage: public wxObject
+class WXDLLIMPEXP_CORE wxGenericDragImage: public wxObject
{
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
////////////////////////////////////////////////////////////////////////////
// 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
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