///////////////////////////////////////////////////////////////////////////////
-// Name: ole/droptgt.h
+// Name: wx/msw/ole/droptgt.h
// Purpose: declaration of the wxDropTarget class
// Author: Vadim Zeitlin
// Modified by:
// ----------------------------------------------------------------------------
class wxIDropTarget;
+struct wxIDropTargetHelper;
struct IDataObject;
// ----------------------------------------------------------------------------
// GetData() when it's called from inside OnData()
void MSWSetDataSource(IDataObject *pIDataSource);
+ // These functions take care of all things necessary to support native drag
+ // images.
+ //
+ // {Init,End}DragImageSupport() are called during Register/Revoke,
+ // UpdateDragImageOnXXX() functions are called on the corresponding drop
+ // target events.
+ void MSWInitDragImageSupport();
+ void MSWEndDragImageSupport();
+ void MSWUpdateDragImageOnData(wxCoord x, wxCoord y, wxDragResult res);
+ void MSWUpdateDragImageOnDragOver(wxCoord x, wxCoord y, wxDragResult res);
+ void MSWUpdateDragImageOnEnter(wxCoord x, wxCoord y, wxDragResult res);
+ void MSWUpdateDragImageOnLeave();
+
private:
// helper used by IsAcceptedData() and GetData()
wxDataFormat MSWGetSupportedFormat(IDataObject *pIDataSource) const;
- wxIDropTarget *m_pIDropTarget; // the pointer to our COM interface
- IDataObject *m_pIDataSource; // the pointer to the source data object
+ wxIDropTarget *m_pIDropTarget; // the pointer to our COM interface
+ IDataObject *m_pIDataSource; // the pointer to the source data object
+ wxIDropTargetHelper *m_dropTargetHelper; // the drop target helper
- DECLARE_NO_COPY_CLASS(wxDropTarget)
+ wxDECLARE_NO_COPY_CLASS(wxDropTarget);
};
#endif //wxUSE_DRAG_AND_DROP